BringObjectToHuman.cpp
Go to the documentation of this file.
1
#include "
BringObjectToHuman.h
"
2
3
namespace
armarx::skills
4
{
5
const
SkillDescription
BringObjectToHumanDesc
=
SkillDescription
{
6
.skillId = {.skillName =
"BringObjectToHuman"
},
7
.description =
"Bring an object to some location"
,
8
.timeout =
armarx::Duration::MilliSeconds
(60000),
9
};
10
11
/*BringObjectToHuman::BringObjectToHuman(armem::client::MemoryNameSystem& mns, armarx::viz::Client& arviz, GraspControlSkillContext& context) :
12
Skill(BringObjectToHumanDesc),
13
mns(mns),
14
arviz(arviz),
15
context(context),
16
graspObject(mns, arviz, context),
17
handoverObject(mns, arviz, context),
18
movePlatformToLandmark(mns, arviz, context.platformControlSkillContext)
19
{
20
}
21
22
void BringObjectToHuman::_reset()
23
{
24
graspObject.reset();
25
handoverObject.reset();
26
movePlatformToLandmark.reset();
27
Skill::_reset();
28
}
29
30
void BringObjectToHuman::_notifyStopped()
31
{
32
graspObject.notifyStopped();
33
handoverObject.notifyStopped();
34
movePlatformToLandmark.notifyStopped();
35
Skill::_notifyStopped();
36
}
37
38
void BringObjectToHuman::_notifyTimeoutReached()
39
{
40
graspObject.notifyTimeoutReached();
41
handoverObject.notifyTimeoutReached();
42
movePlatformToLandmark.notifyTimeoutReached();
43
Skill::_notifyTimeoutReached();
44
}
45
46
Skill::Status BringObjectToHuman::_execute(const aron::data::DictPtr& in, const CallbackT& callback)
47
{
48
std::string objName = "Kitchen/green-cup/0";
49
std::string objLandmarkName = "sideboard";
50
std::string targetLandmarkName = "delivernode";
51
std::string graspSetName = "TCP L";
52
std::string kinematicChainName = "LeftArm";
53
std::string otherKinematicChainName = "RightArm";
54
std::string robot = "Armar3";
55
56
Skill::Status ret = Skill::Status::Succeeded;
57
58
// move to landmark1
59
{
60
platform_control::arondto::MovePlatformToLandmarkAcceptedType args;
61
args.landmark = objLandmarkName;
62
args.orientationalAccuracy = 0.1;
63
args.positionalAccuracy = 20;
64
65
ret = movePlatformToLandmark._execute(args, callback);
66
}
67
68
if (ret != Skill::Status::Succeeded)
69
{
70
return ret;
71
}
72
73
// grasp Object
74
{
75
grasp_object::arondto::GraspObjectAcceptedType args;
76
args.graspSetName = graspSetName;
77
args.kinematicChainNames = "LeftArm";
78
args.objectEntityId = objName;
79
args.orientationalAccuracy = 0.1;
80
args.positionalAccuracy = 20;
81
args.robot = robot;
82
83
ret = graspObject._execute(args, callback);
84
}
85
86
if (ret != Skill::Status::Succeeded)
87
{
88
return ret;
89
}
90
91
// Move to target landmark
92
{
93
platform_control::arondto::MovePlatformToLandmarkAcceptedType args;
94
args.landmark = targetLandmarkName;
95
args.orientationalAccuracy = 0.1;
96
args.positionalAccuracy = 20;
97
98
ret = movePlatformToLandmark._execute(args, callback);
99
}
100
101
if (ret != Skill::Status::Succeeded)
102
{
103
return ret;
104
}
105
106
// putdown object
107
{
108
grasp_object::arondto::PutdownObjectAcceptedType args;
109
args.kinematicChainName = kinematicChainName;
110
args.objectEntityId = objName;
111
args.orientationalAccuracy = 0.1;
112
args.otherArmKinematicChainName = otherKinematicChainName;
113
args.positionalAccuracy = 20;
114
args.robot = robot;
115
116
ret = handoverObject._execute(args, callback);
117
}
118
119
return ret;
120
}*/
121
}
// namespace armarx::skills
BringObjectToHuman.h
armarx::Duration::MilliSeconds
static Duration MilliSeconds(std::int64_t milliSeconds)
Constructs a duration in milliseconds.
Definition
Duration.cpp:48
armarx::skills
This file is part of ArmarX.
Definition
PeriodicUpdateWidget.cpp:12
armarx::skills::BringObjectToHumanDesc
const SkillDescription BringObjectToHumanDesc
Definition
BringObjectToHuman.cpp:5
armarx::skills::SkillDescription
Definition
SkillDescription.h:18
RobotSkillTemplates
libraries
skill_bring_object
BringObjectToHuman.cpp
Generated by
1.13.2