I am trying to sending trajectories quite big (magnitudes of 300.000 points) in order to have a continuous path quite long (lasts hours at 10mm/s). The issue that I get is when I am trying to send the whole trajectory (all the points together) the robot is like stopped and moves very discontinuously. It seems that the abb::egm::wrapper::trajectory::TrajectoryGoal object can't contain so many goal points.
Hence, I thought to creates buffers of the whole trajectory to append (i.e., using an object std::vector<abb::egm::wrapper::trajectory::TrajectoryGoal>). This seems solves the problem, the issue is that when I am trying to append the trajectory to the robot queue with:
int count{0};
wait = true;
bool flag_traj = true;
abb::egm::wrapper::trajectory::ExecutionProgress execution_progress;
spdlog::info("2: Add a pose trajectory to the execution queue");
while (wait)
{
if (flag_traj)
{
for (const auto &tji : traj_vec)
{
count++;
bool traj_ok = egm_interface.addTrajectory(tji);
while (!traj_ok)
{
spdlog::debug("waiting ok...");
}
// Start extrusion
rws_interface.setIOSignal(extrud_sig, "500");
// FIXME: surely here is not ok...
spdlog::debug("Counter: {}", count);
boost::this_thread::sleep_for(boost::chrono::milliseconds(1000));
}
flag_traj = false;
}
if (egm_interface.retrieveExecutionProgress(&execution_progress))
{
wait = execution_progress.goal_active();
}
}
I get two possible problems:
If the pause is too short I got the problem of before (like overflow of the queue)
If it is in the middle I get that robot moves and stops for few instants.
Have you ever get this issue? There are alternatives?
Dear community,
I am trying to sending trajectories quite big (magnitudes of 300.000 points) in order to have a continuous path quite long (lasts hours at 10mm/s). The issue that I get is when I am trying to send the whole trajectory (all the points together) the robot is like stopped and moves very discontinuously. It seems that the
abb::egm::wrapper::trajectory::TrajectoryGoal
object can't contain so many goal points. Hence, I thought to creates buffers of the whole trajectory to append (i.e., using an objectstd::vector<abb::egm::wrapper::trajectory::TrajectoryGoal>
). This seems solves the problem, the issue is that when I am trying to append the trajectory to the robot queue with:I get two possible problems:
Have you ever get this issue? There are alternatives?
Thank you