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;