76 virtual public RobotUnitSelfCollisionCheckerInterface
96 void _preOnInitRobotUnit();
98 void _postFinishControlThreadInitialization();
100 void _preFinishRunning();
102 void _componentPropertiesUpdated(
const std::set<std::string>& changed);
112 const Ice::Current& = Ice::emptyCurrent)
override;
118 const Ice::Current& = Ice::emptyCurrent)
override;
142 void selfCollisionAvoidanceTask();
148 std::thread selfCollisionAvoidanceThread;
154 std::set<std::pair<std::string, std::string>> namePairsToCheck;
156 std::atomic<float> checkFrequency{0};
162 std::mutex selfCollisionDataMutex;
164 std::atomic<float> minSelfDistance{0};
166 std::vector<std::pair<VirtualRobot::SceneObjectPtr, VirtualRobot::SceneObjectPtr>>
171 std::vector<VirtualRobot::RobotNodePtr> selfCollisionAvoidanceRobotNodes;
173 VirtualRobot::SceneObjectSetPtr floor;
175 std::atomic_size_t lastCollisionPairIndex{std::numeric_limits<std::size_t>::max()};