28 #include <VirtualRobot/VirtualRobot.h>
33 #include <armarx/control/interface/ConfigurableNJointControllerInterface.h>
34 #include <armarx/view_selection/gaze_controller/hemisphere/aron/ControllerConfig.aron.generated.h>
40 class ControlTarget1DoFActuatorPosition;
57 std::optional<armarx::view_selection::gaze_controller::Target>
target;
73 virtual public armarx::control::ConfigurableNJointControllerInterface
76 using ConfigPtrT = control::ConfigurableNJointControllerConfigPtr;
79 const NJointControllerConfigPtr& config,
85 const Ice::Current& iceCurrent = Ice::emptyCurrent)
override;
88 getConfig(const ::Ice::Current& = ::Ice::emptyCurrent)
override;
98 std::string
getClassName(
const Ice::Current& = Ice::emptyCurrent)
const override;
118 VirtualRobot::RobotNodePtr _rtYawNode;
119 VirtualRobot::RobotNodePtr _rtPitchNode;
120 VirtualRobot::RobotNodePtr _rtCameraNode;
123 armarx::ControlTarget1DoFActuatorPosition* _rtPitchCtrlTarget;
124 armarx::ControlTarget1DoFActuatorPosition* _rtYawCtrlTarget;
125 float* _rtPitchCtrlPos;
126 float* _rtYawCtrlPos;
129 mutable std::recursive_mutex _tripRt2NonRtMutex;
132 std::atomic<float> _publishCurrentPitchAngle = 0.0;
133 std::atomic<float> _publishCurrentYawAngle = 0.0;
134 std::atomic<float> _publishTargetPitchAngle = 0.0;
135 std::atomic<float> _publishTargetYawAngle = 0.0;