4 #include <Eigen/Geometry>
18 Base(skillDescription), srv_(services), stateModFn(stateModFn)
33 const std::string frame = in.parameters.frame;
34 const std::string agent = in.parameters.agent;
37 const auto previousTarget = srv_->viewSelectionClient.readGazeTarget(
"LookDirection");
38 const Eigen::Vector3f directionRead = previousTarget.position.toEigen();
42 state = stateModFn(state);
47 in.parameters.priority};
49 const gaze_targets::GazeTarget
target{
50 "LookDirection", targetPos, priority, duration,
false};
51 gazeTarget.emplace(
target);
53 return ::armarx::skills::Skill::InitResult{
54 .status = ::armarx::skills::TerminatedSkillStatus::Succeeded};
62 ARMARX_INFO <<
"Committing gaze target " << gazeTarget.value();
63 srv_->viewSelectionClient.commitGazeTarget(gazeTarget.value());
65 return ::armarx::skills::Skill::MainResult{
66 .status = ::armarx::skills::TerminatedSkillStatus::Succeeded};
70 LookDirection::onStopRequested()
72 if (gazeTarget.has_value())
74 srv_->viewSelectionClient.commitGazeTarget(gazeTarget.value());
82 defaultParameters.frame =
"root";
83 defaultParameters.agent =
"Armar7";
84 defaultParameters.priority = 1;
87 .description =
"Let the robot look " + directionText +
88 ". Multiple directions can be combined but stacking the same direction "
89 "does not move the head further.",
90 .rootProfileDefaults = defaultParameters.toAron(),
92 .parametersType = Params::ToAronType(),
101 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
102 LookDirection(services, direction::state::
up, DefaultSkillDescription())
117 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
127 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
150 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
166 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
182 arondto::LookDirectionParams>::SimpleSpecializedSkill(DefaultSkillDescription()),
199 float epsilon = 10.0;
227 ARMARX_INFO <<
"setting position to " << targetPosition;
229 return targetPosition;