ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Currently, you cannot execute two trajectories at the same time with MoveIt. This is a known limitation and related to the way MoveIt does trajectory execution monitoring. Here is a Github issue with more in-depth discussion (and how you could contribute to improving this part of the codebase).
At the moment, the main workarounds are:
- Combine your two robots into one planning group, e.g. both_arms
, and set multiple goals (e.g. one pose goal for each end effector) for your plan. This way, the plan will contain both robots' trajectory and avoid collisions between the robots.
- If you need to move the robots asynchronously, and you are absolutely certain (!) that the two independent robot trajectories will not cause a collision, you can obtain your two robot trajectories with the plan()
function and then send them to the robot controllers to be executed. Note that there will be no collision monitoring, and if the two trajectories move the robots are moving into the same area, they will collide.
- Alternatively to calling the robot controllers' follow_joint_trajectory
action, you can merge the two robot trajectories into a single trajectory containing the joints of both robots an execute it with MoveGroupCommander
or move_group_interface
. But the risks regarding collision are the same, because the plan for each robot was calculated without considering the other robot's motion.
To reiterate: Do not attempt the two latter options unless there is no risk of collision between the robots, and be aware that this is dangerous and that you can absolutely break your robots if you are not careful.
2 | No.2 Revision |
Currently, you cannot execute two trajectories at the same time with MoveIt. This is a known limitation and related to the way MoveIt does trajectory execution monitoring. Here is a Github issue with more in-depth discussion (and how you could contribute to improving this part of the codebase).
At the moment, the main workarounds are:
- are:
both_arms
, and set multiple goals (e.g. one pose goal for each end effector) for your plan. This way, the plan will contain both robots' trajectory and avoid collisions between the plan()
function and then send them to the robot controllers to be executed. Note that there will be no collision monitoring, and if the two trajectories move the robots are moving into the same area, they will follow_joint_trajectory
action, you can merge the two robot trajectories into a single trajectory containing the joints of both robots an execute it with MoveGroupCommander
or move_group_interface
. But the risks regarding collision are the same, because the plan for each robot was calculated without considering the other robot's To reiterate: Do not attempt the two latter options unless there is no risk of collision between the robots, and be aware that this is dangerous and that you can absolutely break your robots if you are not careful.
3 | No.3 Revision |
Currently, you cannot execute two trajectories at the same time with MoveIt. This is a known limitation and related to the way MoveIt does trajectory execution monitoring. Here is a Github issue with more in-depth discussion (and how you could contribute to improving this part of the codebase).
At the moment, the main workarounds are:
both_arms
, and set multiple goals (e.g. one pose goal for each end effector) for your plan. This way, the plan will contain both robots' plan()
function and then send them to the robot controllers to be executed. follow_joint_trajectory
action, you can merge the two robot trajectories into a single trajectory containing the joints of both robots an execute it with MoveGroupCommander
or move_group_interface
. But the risks regarding collision are the same, because the plan for each robot was calculated without considering the other robot's motion. To reiterate: Do not attempt the two latter options unless there is no risk of collision between the robots, and be aware that this is dangerous and that you can absolutely break your robots if you are not careful.
4 | No.4 Revision |
Currently, you cannot execute two trajectories at the same time with MoveIt. This is a known limitation and related to the way MoveIt does trajectory execution monitoring. Here is a Github issue with more in-depth discussion (and how you could contribute to improving this part of the codebase).
At the moment, the main workarounds are:
both_arms
, and set multiple goals (e.g. one pose goal for each end effector) for your plan. This way, the plan will contain both robots' trajectories and avoid collisions between the robots. This is the safe and sane option. plan()
function and then send them to the robot controllers to be executed. However, there will be no collision monitoring, and if the two trajectories move the robots are moving into the same area, they will collide. Only do this if are absolutely certain (!) that the two independent robot trajectories will not result in a collision.follow_joint_trajectory
action, you can merge the two robot trajectories into a single trajectory containing the joints of both robots MoveGroupCommander
or move_group_interface
. But the risks regarding collision are the same, because the plan for each robot was calculated without considering the other robot's motion. To reiterate: Do not attempt the two latter options unless there is no risk of collision between the robots, and be aware that this is dangerous and that you can absolutely break your robots if you are not careful.