29 #include "../ControlModes.h"
30 #include "../JointControllers/JointController.h"
41 using namespace DeviceTags;
42 const static std::string PeriodicPosition =
"ControlDeviceTag_PeriodicPosition";
43 const static std::string CreateNoDefaultController =
44 "ControlDeviceTag_CreateNoDefaultController";
45 const static std::string ForcePositionThroughVelocity =
46 "ControlDeviceTag_ForcePositionThroughVelocity";
76 JointController* rtGetJointEmergencyStopController();
78 JointController* getJointEmergencyStopController();
80 JointController* rtGetJointStopMovementController();
82 JointController* getJointStopMovementController();
84 JointController* rtGetActiveJointController();
86 const std::vector<JointController*>& rtGetJointControllers();
87 std::vector<const JointController*> getJointControllers()
const;
89 JointController* getJointController(
const std::string& mode);
90 const JointController* getJointController(
const std::string& mode)
const;
91 JointController* getJointController(std::size_t i);
92 const JointController* getJointController(std::size_t i)
const;
93 bool hasJointController(
const std::string& mode)
const;
94 const std::vector<std::string>& getControlModes()
const;
99 virtual void rtSetActiveJointController(JointController* jointCtrl);
122 std::map<std::string, std::string> getJointControllerToTargetTypeNameMap()
const;
141 std::atomic<RobotUnitModule::Devices*> owner{
nullptr};
147 JointController* jointEmergencyStopController{
nullptr};
149 JointController* jointStopMovementController{
nullptr};
156 inline JointController*
159 return jointEmergencyStopController;
165 return jointStopMovementController;
171 return activeJointController;
174 inline const std::vector<JointController*>&
177 return jointControllers.values();
180 inline std::vector<const JointController*>
183 return {jointControllers.values().begin(), jointControllers.values().end()};
189 return jointControllers.at(mode,
nullptr);
195 return jointControllers.at(mode,
nullptr);
201 return jointControllers.at(i);
207 return jointControllers.at(i);
213 return jointControllers.has(mode);
216 inline const std::vector<std::string>&
219 return jointControllers.keys();