24 params(params), arviz(arviz)
40 std::lock_guard g{paramsMutex};
47 if (trajectory.
poses().size() < 2)
49 ARMARX_WARNING <<
"Unable to visualize path with less than two segments";
69 visualizeTrajectory(trajectory);
84 robotLayer.
add(robotVis);
86 const auto resampledTrajectory = trajectory.
resample(10);
89 const float speedup = 1.0;
93 const auto points = resampledTrajectory.points();
94 for (
size_t i = 0; i < (points.size() - 1); i++)
96 const auto& wp = points.at(i);
97 robotVis.
pose(wp.waypoint.pose.matrix());
99 std::lock_guard<std::mutex> lock(mutex);
100 arviz.
commit({robotLayer});
103 (wp.waypoint.pose.translation() - points.at(i + 1).waypoint.pose.translation())
107 const float velocity = 200;
108 const int dt =
static_cast<int>(speedup *
distance / velocity);
110 std::this_thread::sleep_for(std::chrono::milliseconds(
dt));
117 std::lock_guard<std::mutex> lock(mutex);
118 arviz.
commit({robotLayer});
122 Visualization::asyncHideDelayed()
129 std::lock_guard<std::mutex> lock(mutex);
146 std::lock_guard g{paramsMutex};
155 std::lock_guard<std::mutex> lock(mutex);
165 std::lock_guard g{paramsMutex};
173 std::lock_guard<std::mutex> lock(mutex);
184 std::lock_guard g{paramsMutex};
193 robotVis.
pose(m.matrix());
195 std::lock_guard<std::mutex> lock(mutex);