ZeroPose.cpp
Go to the documentation of this file.
1
#include "
ZeroPose.h
"
2
3
#include <
RobotAPI/libraries/skills/core/SkillStatusUpdate.h
>
4
#include <
RobotAPI/libraries/skills/provider/SpecializedSkillProxy.h
>
5
6
#include <armarx/control/skills/aron/MoveJointsToNamedConfigurationParams.aron.generated.h>
7
#include <
armarx/control/skills/constants/constants.h
>
8
#include <
armarx/control/skills/skills/param_conversions.h
>
9
10
namespace
armarx::control::skills::skills::meta
11
{
12
13
ZeroPose::ZeroPose
() : SimpleSpecializedSkill(
GetSkillDescription
())
14
{
15
}
16
17
armarx::skills::SkillDescription
18
ZeroPose::GetSkillDescription
()
19
{
20
ParamType
defaultParams;
21
22
std::stringstream desc;
23
desc <<
"Move all joints to zero (except joints which would cause a self collision)."
24
<<
"\n\n"
25
<<
"The `enable*` parameters can be used to enable/disable movement for different "
26
"body parts of the robot."
;
27
28
return
armarx::skills::SkillDescription
{
29
.skillId = {.skillName =
constants::ZERO_POSE_SKILL_NAME
},
30
.description = desc.str(),
31
.rootProfileDefaults = defaultParams.toAron(),
32
.timeout =
::armarx::Duration::Seconds
(30),
33
.parametersType = ParamType::ToAronType(),
34
};
35
}
36
37
::armarx::skills::Skill::MainResult
38
ZeroPose::main
(
const
SpecializedMainInput& in)
39
{
40
41
::armarx::skills::SkillID
skillId{
42
.providerId =
getSkillId
().
providerId
,
43
.skillName =
constants::MOVE_JOINTS_TO_NAMED_CONFIGURATION_SKILL_NAME
,
44
};
45
46
using
Parameters = arondto::MoveJointsToNamedConfigurationParams;
47
48
auto
status
=
callSubskill<Parameters>
(skillId,
49
[&](Parameters& params)
50
{
51
params.configuration =
"Zero"
;
52
copy_params
(in.parameters, params);
53
});
54
55
if
(
armarx::skills::skillExecutionFailed
(
status
))
56
{
57
return
MakeFailedResult
();
58
}
59
60
return
MakeSucceededResult
();
61
}
62
63
64
}
// namespace armarx::control::skills::skills::meta
SkillStatusUpdate.h
SpecializedSkillProxy.h
ZeroPose.h
armarx::Duration::Seconds
static Duration Seconds(std::int64_t seconds)
Constructs a duration in seconds.
Definition
Duration.cpp:72
armarx::control::skills::skills::meta::ZeroPose::GetSkillDescription
::armarx::skills::SkillDescription GetSkillDescription()
Definition
ZeroPose.cpp:18
armarx::control::skills::skills::meta::ZeroPose::ZeroPose
ZeroPose()
Definition
ZeroPose.cpp:13
armarx::skills::SimpleSpecializedSkill< arondto::NamedConfigurationParams >::ParamType
arondto::NamedConfigurationParams ParamType
Definition
SimpleSpecializedSkill.h:22
armarx::skills::SkillID
Definition
SkillID.h:15
armarx::skills::SkillID::providerId
std::optional< ProviderID > providerId
Definition
SkillID.h:40
armarx::skills::Skill::callSubskill
std::optional< TerminatedSkillStatusUpdate > callSubskill(const SkillID &skillId)
Call a subskill with the given ID and its default parameters.
Definition
Skill.cpp:119
armarx::skills::Skill::MakeSucceededResult
static MainResult MakeSucceededResult(aron::data::DictPtr data=nullptr)
Definition
Skill.cpp:413
armarx::skills::Skill::main
virtual MainResult main()
Override this method with the actual implementation.
Definition
Skill.cpp:542
armarx::skills::Skill::getSkillId
SkillID getSkillId() const
Get the id of the skill.
Definition
Skill.cpp:587
armarx::skills::Skill::MakeFailedResult
static MainResult MakeFailedResult(aron::data::DictPtr data=nullptr)
Definition
Skill.cpp:422
armarx::control::skills::constants::ZERO_POSE_SKILL_NAME
std::string ZERO_POSE_SKILL_NAME
Definition
constants.cpp:17
armarx::control::skills::constants::MOVE_JOINTS_TO_NAMED_CONFIGURATION_SKILL_NAME
std::string MOVE_JOINTS_TO_NAMED_CONFIGURATION_SKILL_NAME
Definition
constants.cpp:10
armarx::control::skills::skills::meta
Definition
HomePose.cpp:27
armarx::control::skills::skills::copy_params
void copy_params(const arondto::MoveJointsParams &from, arondto::MoveJointsToPositionParams &to)
Definition
param_conversions.h:12
armarx::skills::skillExecutionFailed
bool skillExecutionFailed(const std::optional< armarx::skills::TerminatedSkillStatusUpdate > &update)
Definition
SkillStatusUpdate.cpp:510
armarx::status
status
Definition
FiniteStateMachine.h:245
param_conversions.h
constants.h
armarx::skills::SkillDescription
Definition
SkillDescription.h:18
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition
Skill.h:62
armarx
control
skills
skills
meta
ZeroPose.cpp
Generated by
1.13.2