73 virtual public armarx::control::ConfigurableNJointControllerInterface
76 using ConfigPtrT = control::ConfigurableNJointControllerConfigPtr;
79 const NJointControllerConfigPtr& config,
84 void updateConfig(const ::armarx::aron::data::dto::DictPtr& dto,
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;
101 void rtRun(
const IceUtil::Time& sensorValuesTimestamp,
102 const IceUtil::Time& timeSinceLastIteration)
override;
116 void additionalTask();
123 std::vector<float> jointValues;
125 Eigen::Matrix4f globalRobotPose;
131 VirtualRobot::RobotNodePrismaticPtr _virtualPrismaticJoint;
132 VirtualRobot::RobotNodeSetPtr _headNodeSet;
133 std::unique_ptr<VirtualRobot::GazeIK> _gazeIK;
135 std::vector<VirtualRobot::RobotNodePtr> _rtRobotNodes;
138 std::vector<std::string> _additionalTaskRobotNodeNames;
140 std::vector<armarx::ControlTarget1DoFActuatorPosition*> _rtCtrlTargets;
144 _gazeTarget_rtRunToPublishing;
148 GazeControllerStatusListenerPrx _statusTopic;
150 std::atomic<float> _publishAngularError = 0.0;
151 std::atomic<float> _publishLateralError = 0.0;
153 std::atomic<float> _publishCurrentPitchAngle = 0.0;
154 std::atomic<float> _publishCurrentYawAngle = 0.0;
155 std::atomic<float> _publishTargetPitchAngle = 0.0;
156 std::atomic<float> _publishTargetYawAngle = 0.0;
158 std::atomic_bool rtReady =
false;