ZeroPose.cpp
Go to the documentation of this file.
1#include "ZeroPose.h"
2
5
6#include <armarx/control/skills/aron/MoveJointsToNamedConfigurationParams.aron.generated.h>
9
11{
12
13 ZeroPose::ZeroPose() : SimpleSpecializedSkill(GetSkillDescription())
14 {
15 }
16
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
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
38 ZeroPose::main(const SpecializedMainInput& in)
39 {
40
42 .providerId = getSkillId().providerId,
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
56 {
57 return MakeFailedResult();
58 }
59
60 return MakeSucceededResult();
61 }
62
63
64} // namespace armarx::control::skills::skills::meta
static Duration Seconds(std::int64_t seconds)
Constructs a duration in seconds.
Definition Duration.cpp:72
::armarx::skills::SkillDescription GetSkillDescription()
Definition ZeroPose.cpp:18
std::optional< ProviderID > providerId
Definition SkillID.h:40
std::optional< TerminatedSkillStatusUpdate > callSubskill(const SkillID &skillId)
Call a subskill with the given ID and its default parameters.
Definition Skill.cpp:119
static MainResult MakeSucceededResult(aron::data::DictPtr data=nullptr)
Definition Skill.cpp:413
virtual MainResult main()
Override this method with the actual implementation.
Definition Skill.cpp:542
SkillID getSkillId() const
Get the id of the skill.
Definition Skill.cpp:587
static MainResult MakeFailedResult(aron::data::DictPtr data=nullptr)
Definition Skill.cpp:422
std::string MOVE_JOINTS_TO_NAMED_CONFIGURATION_SKILL_NAME
Definition constants.cpp:10
void copy_params(const arondto::MoveJointsParams &from, arondto::MoveJointsToPositionParams &to)
bool skillExecutionFailed(const std::optional< armarx::skills::TerminatedSkillStatusUpdate > &update)
A result struct for th main method of a skill.
Definition Skill.h:62