79 static const std::string defaultName;
83 std::string roomsProviderName;
84 std::string skillProviderName =
"navigation_skill_provider";
85 float failureTimeoutSeconds = 5.0F;
88 Properties properties;
91 ::armarx::skills::manager::dti::SkillManagerInterfacePrxPtr manager;
94 std::unique_ptr<armarx::skills::SpecializedSkillProxy<skills::arondto::NavigateToParams>>
99 roomsReaderPlugin =
nullptr;
105 mutable std::mt19937 randomGenerator;
108 std::atomic<bool> running{
false};
109 std::atomic<bool> stopRequested{
false};
110 std::atomic<std::uint64_t> successCount{0};
111 std::atomic<std::uint64_t> totalAttempts{0};
112 std::atomic<std::uint64_t> failureCount{0};
114 mutable std::mutex settingsMutex;
115 std::string selectedRoomName;
116 skills::arondto::GlobalPlanningAlgorithm::ImplEnum selectedAlgorithm =
117 skills::arondto::GlobalPlanningAlgorithm::SPFA;
137 std::vector<algorithms::Room> queryRooms()
const;
138 std::optional<algorithms::Room> findRoom(
const std::string& name)
const;
139 std::optional<Eigen::Isometry3f> samplePoseInRoom(
const algorithms::Room& room)
const;
140 skills::arondto::GlobalPlanningAlgorithm::ImplEnum algorithmFromString(
141 const std::string& name)
const;
142 std::string algorithmToString(
143 skills::arondto::GlobalPlanningAlgorithm::ImplEnum
algorithm)
const;
144 bool executeSingleNavigation(
145 const Eigen::Isometry3f& targetPose,
146 skills::arondto::GlobalPlanningAlgorithm::ImplEnum
algorithm);
148 void updateGuiCounters();