GuidingWithCollAvoidance.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
7 
9 #include <armarx/control/skills/aron/GuidingWithCollAvoidanceParams.aron.generated.h>
11 
13 {
14 
15  /**
16  * @class GuidingWithCollAvoidance
17  * @brief GuidingWithCollAvoidance-skill to enable guiding mode with collision avoidance
18  *
19  * create a zero-torque controller (potentially with drifting) and collision avoidance.
20  */
22  public ::armarx::skills::SimpleSpecializedSkill<arondto::GuidingWithCollAvoidanceParams>
23  {
24 
25  public:
26  struct Services
27  {
29  //armarx::manipulation::Robot& robot;
30  /*::armarx::KinematicUnitInterfacePrx kinematicUnit;
31  ::armarx::armem::robot_state::VirtualRobotReader virtualRobotReader;
32  std::string robotName;*/
33  };
34 
35  static ::armarx::skills::SkillDescription
37  {
38  ParamType defaultParams;
39  defaultParams.mode = arondto::GuidingMode::left_arm;
40  return ::armarx::skills::SkillDescription{
42  .description = "Enable guiding mode with collision avoidance feature.",
43  .rootProfileDefaults = defaultParams.toAron(),
44  .timeout = ::armarx::Duration::Minutes(1),
45  .parametersType = ParamType::ToAronType()};
46  }
47 
48  GuidingWithCollAvoidance(const Services&);
49 
50 
51  private:
52  using Base::exit;
53  using Base::main;
54 
55  ::armarx::skills::Skill::MainResult main(const SpecializedMainInput& in) override;
56  ::armarx::skills::Skill::ExitResult exit(const SpecializedExitInput& in) override;
57 
58 
59  private:
60  Services srv_;
61  };
62 
63 } // namespace armarx::control::skills::skills
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::ParamType
arondto::GuidingWithCollAvoidanceParams ParamType
Definition: SimpleSpecializedSkill.h:14
armarx::control::skills::constants::GUIDING_COLL_AVOIDANCE_SKILL_NAME
std::string GUIDING_COLL_AVOIDANCE_SKILL_NAME
Definition: constants.cpp:19
armarx::skills::SkillID::skillName
std::string skillName
Definition: SkillID.h:41
armarx::control::skills::skills::GuidingWithCollAvoidance::GetSkillDescription
::armarx::skills::SkillDescription GetSkillDescription()
Definition: GuidingWithCollAvoidance.h:36
SimpleSpecializedSkill.h
armarx::control::skills::skills::GuidingWithCollAvoidance::GuidingWithCollAvoidance
GuidingWithCollAvoidance(const Services &)
Definition: GuidingWithCollAvoidance.cpp:12
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::exit
Skill::ExitResult exit() final
Definition: SimpleSpecializedSkill.h:81
constants.h
armarx::control::client::ComponentPlugin
Definition: ComponentPlugin.h:68
armarx::control::skills::skills::GuidingWithCollAvoidance
GuidingWithCollAvoidance-skill to enable guiding mode with collision avoidance.
Definition: GuidingWithCollAvoidance.h:21
armarx::skills::SkillDescription::skillId
SkillID skillId
Definition: SkillDescription.h:19
armarx::skills::SimpleSpecializedSkill
Definition: SimpleSpecializedSkill.h:10
armarx::control::skills::skills::GuidingWithCollAvoidance::Services
Definition: GuidingWithCollAvoidance.h:26
VirtualRobotReader.h
armarx::core::time::Duration::Minutes
static Duration Minutes(std::int64_t minutes)
Constructs a duration in minutes.
Definition: Duration.cpp:96
armarx::skills::Skill::MainResult
A result struct for th main method of a skill.
Definition: Skill.h:39
armarx::skills::Skill::ExitResult
A result struct for skill exit function.
Definition: Skill.h:46
armarx::skills::Skill::exit
virtual ExitResult exit()
Override this method with the actual implementation.
Definition: Skill.cpp:451
armarx::skills::SimpleSpecializedSkill< arondto::GuidingWithCollAvoidanceParams >::main
Skill::MainResult main() final
Definition: SimpleSpecializedSkill.h:71
armarx::control::skills::skills
Definition: ExecuteTrajectory.cpp:18
armarx::skills::Skill::main
virtual MainResult main()
Override this method with the actual implementation. The callback is for status updates to the callin...
Definition: Skill.cpp:458
ComponentPlugin.h
MemoryNameSystem.h
armarx::control::skills::skills::GuidingWithCollAvoidance::Services::controlComponentPluginUser
::armarx::control::client::ComponentPlugin * controlComponentPluginUser
Definition: GuidingWithCollAvoidance.h:28