118 void _icePropertiesInitialized();
120 void _componentPropertiesUpdated(
const std::set<std::string>& changedProperties);
123 void _preOnInitRobotUnit();
125 void _preOnConnectRobotUnit();
127 void _postFinishControlThreadInitialization();
129 void _preFinishRunning();
189 const RobotUnitObserverPtr&
190 getRobotUnitObserver()
const
193 return robotUnitObserver;
221 const JointAndNJointControllers& activatedControllers);
234 bool haveSensorAndControlValsChanged,
235 bool publishToObserver,
236 const JointAndNJointControllers& activatedControllers,
237 const std::vector<JointController*>& requestedJointControllers);
250 static constexpr int spamdelay = 30;
255 std::string robotUnitListenerTopicName;
257 std::string debugDrawerUpdatesTopicName;
259 std::string debugObserverTopicName;
267 std::uint64_t publishIterationCount{0};
270 IceUtil::Time publishNewSensorDataTime;
274 std::set<std::string> lastReportedClasses;
277 std::atomic_bool observerPublishSensorValues;
279 std::atomic_bool observerEnablePublishing;
281 std::atomic_bool observerPublishControlTargets;
283 std::atomic_bool observerPublishTimingInformation;
285 std::atomic_bool observerPublishAdditionalInformation;
288 std::atomic<std::uint64_t> debugObserverSkipIterations;
292 IceUtil::Time lastPublishLoop;
295 RobotUnitObserverPtr robotUnitObserver;
298 std::size_t publishPeriodMs{1};
301 RobotUnitListenerPrx robotUnitListenerPrx;
304 RobotUnitListenerPrx robotUnitListenerBatchPrx;
307 IceUtil::Time lastControlThreadTimestamp;