Component.cpp
Go to the documentation of this file.
1 #include "Component.h"
2 
4 
10 
12 {
13 
16  {
18  new ::armarx::ComponentPropertyDefinitions(getConfigIdentifier());
19 
20  def->component(remote.kinematicUnit);
21  def->component(remote.leftHandUnit, "LeftHandUnit", "LeftHandUnit");
22  def->component(remote.rightHandUnit, "RightHandUnit", "RightHandUnit");
23 
24  def->required(properties.robotName, "RobotName", "Name of the robot.");
25 
26  return def;
27  }
28 
29  void
31  {
32  {
33  armarx::control::skills::config::ZeroTorque skillConfig;
34  skillConfig.robotName = properties.robotName;
35  skillBlueprints.zeroTorque = std::experimental::make_observer(
38  }
39  }
40 
41  void
43  {
45  robotStateReader.connect(memoryNameSystem());
46 
47  {
48  {
50  remote.kinematicUnit, robotStateReader, properties.robotName};
51  addSkillFactory<armarx::control::skills::skills::MoveJointsToPosition>(srv);
52  }
53  {
55  remote.kinematicUnit};
56  addSkillFactory<armarx::control::skills::skills::MoveJointsWithVelocity>(srv);
57  }
58  {
59  armarx::control::skills::HandUnitServices srv{remote.leftHandUnit,
60  remote.rightHandUnit};
61  addSkillFactory<armarx::control::skills::skills::RelaxHand>(srv);
62  }
63  {
64  armarx::control::skills::HandUnitServices srv{remote.leftHandUnit,
65  remote.rightHandUnit};
66  addSkillFactory<armarx::control::skills::skills::ShapeHand>(srv);
67  }
68  {
69  addSkillFactory<armarx::control::skills::skills::OpenHand>();
70  }
71  {
72  addSkillFactory<armarx::control::skills::skills::CloseHand>();
73  }
74  {
76  .localRobot_ = remote.robotReaderPlugin->get().getRobot(properties.robotName),
77  .robotUnitPlugin_ = remote.robotUnitPlugin};
78  skillBlueprints.zeroTorque->connectTo(context);
79  }
80  }
81  }
82 
83  void
85  {
86  }
87 
88  void
90  {
91  }
92 
93  const std::string Component::defaultName = skills::constants::CONTROL_SKILL_PROVIDER_NAME;
94 
95  std::string
97  {
98  return Component::defaultName;
99  }
100 
101  std::string
103  {
104  return Component::defaultName;
105  }
106 
108  {
109  addPlugin(remote.robotUnitPlugin);
110  addPlugin(remote.robotReaderPlugin);
111  }
112 
114 
115 } // namespace armarx::control::components::control_skill_provider
ZeroTorque.h
armarx::armem::robot_state::VirtualRobotReader
The VirtualRobotReader class.
Definition: VirtualRobotReader.h:40
armarx::control::components::control_skill_provider::Component::onExitComponent
void onExitComponent() override
Definition: Component.cpp:89
armarx::control::components::control_skill_provider::ARMARX_REGISTER_COMPONENT_EXECUTABLE
ARMARX_REGISTER_COMPONENT_EXECUTABLE(Component, Component::GetDefaultName())
armarx::control::skills::HandUnitServices
Definition: HandUnitServices.h:17
armarx::control::skills::skills::MoveJointsWithVelocity::Services
Definition: MoveJointsWithVelocity.h:27
armarx::armem::client::plugins::PluginUser::memoryNameSystem
MemoryNameSystem & memoryNameSystem()
Definition: PluginUser.cpp:22
armarx::control::skills::skills::ZeroTorque
Definition: ZeroTorque.h:16
Component.h
armarx::control::components::control_skill_provider::Component::getDefaultName
std::string getDefaultName() const override
Definition: Component.cpp:96
armarx::control::components::control_skill_provider::Component::onDisconnectComponent
void onDisconnectComponent() override
Definition: Component.cpp:84
std::experimental::fundamentals_v2::make_observer
observer_ptr< _Tp > make_observer(_Tp *__p) noexcept
armarx::armem::robot_state::RobotReader::connect
virtual void connect(armem::client::MemoryNameSystem &memoryNameSystem)
Definition: RobotReader.cpp:49
armarx::ManagedIceObject::addPlugin
PluginT * addPlugin(const std::string prefix="", ParamsT &&...params)
Definition: ManagedIceObject.h:182
armarx::control::skills::skills::ZeroTorque::Context::localRobot_
VirtualRobot::RobotPtr localRobot_
Definition: ZeroTorque.h:24
armarx::skills::SkillWithContextBlueprint
Definition: SkillWithContextBlueprint.h:38
armarx::control::components::control_skill_provider::Component::onConnectComponent
void onConnectComponent() override
Definition: Component.cpp:42
armarx::control::components::control_skill_provider
Definition: Component.cpp:11
armarx::control::components::control_skill_provider::Component::Component
Component()
Definition: Component.cpp:107
armarx::control::components::control_skill_provider::Component
Definition: Component.h:19
MoveJointsWithVelocity.h
RelaxHand.h
armarx::control::components::control_skill_provider::Component::GetDefaultName
static std::string GetDefaultName()
Get the component's default name.
Definition: Component.cpp:102
armarx::SkillProviderComponentPluginUser::addCustomSkillFactory
requires skills::isSkillBlueprint< FacT > FacT * addCustomSkillFactory(Args &&... args)
Definition: SkillProviderComponentPlugin.h:190
ShapeHand.h
armarx::Component::getConfigIdentifier
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
Definition: Component.cpp:74
Decoupled.h
armarx::control::skills::constants::CONTROL_SKILL_PROVIDER_NAME
std::string CONTROL_SKILL_PROVIDER_NAME
Definition: constants.cpp:6
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::control::skills::skills::ZeroTorque::Context
Definition: ZeroTorque.h:21
armarx::control::skills::skills::MoveJointsToPosition::Services
Definition: MoveJointsToPosition.h:27
armarx::control::components::control_skill_provider::Component::createPropertyDefinitions
::armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: Component.cpp:15
MoveJointsToPosition.h
armarx::control::components::control_skill_provider::Component::onInitComponent
void onInitComponent() override
Definition: Component.cpp:30