25 #include <VirtualRobot/VirtualRobot.h>
30 #include <armarx/control/interface/ConfigurableNJointControllerInterface.h>
31 #include <armarx/view_selection/gaze_controller/hemisphere/aron/ControllerConfig.aron.generated.h>
37 class ControlTarget1DoFActuatorPosition;
56 std::optional<armarx::view_selection::gaze_controller::Target>
target;
74 virtual public armarx::control::ConfigurableNJointControllerInterface
77 using ConfigPtrT = control::ConfigurableNJointControllerConfigPtr;
80 const NJointControllerConfigPtr& config,
86 const Ice::Current& iceCurrent = Ice::emptyCurrent)
override;
89 getConfig(const ::Ice::Current& = ::Ice::emptyCurrent)
override;
100 std::string
getClassName(
const Ice::Current& = Ice::emptyCurrent)
const override;
118 void additionalTask();
125 std::vector<float> jointValues;
133 VirtualRobot::RobotNodePrismaticPtr _virtualPrismaticJoint;
134 VirtualRobot::RobotNodeSetPtr _headNodeSet;
135 std::unique_ptr<VirtualRobot::GazeIK> _gazeIK;
137 std::vector<VirtualRobot::RobotNodePtr> _rtRobotNodes;
140 std::vector<std::string> _additionalTaskRobotNodeNames;
143 std::vector<armarx::ControlTarget1DoFActuatorPosition*> _rtCtrlTargets;
147 _gazeTarget_rtRunToPublishing;
149 std::atomic<float> _publishCurrentPitchAngle = 0.0;
150 std::atomic<float> _publishCurrentYawAngle = 0.0;
151 std::atomic<float> _publishTargetPitchAngle = 0.0;
152 std::atomic<float> _publishTargetYawAngle = 0.0;
154 std::atomic_bool rtReady =
false;