ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
In your case, as @gvdhoorn noted, you have a compatibility problem between your robot and driver. If the problem persists after you update to the new driver, there are other reasons for jerky motions in ROS/MoveIt.
The most common one is network or CPU load spikes. When you are controlling a robot with ROS, most controller implementations send joint commands to the robot at high frequency through the ROS network. If the network experiences a sudden heavy load, or your PC runs a costly process while moving the robot, the next step in the trajectory may be sent with a significant delay, and the robot may stop for a short time, and then suddenly move quickly to catch up with where it is supposed to be according to the trajectory.
The easiest ways to work around this are, from my experience:
ROS2 also gives more options to make network loads more reliable.
2 | No.2 Revision |
In your case, as @gvdhoorn noted, you have a compatibility problem between your robot and driver. If the problem persists after you update to the new UR driver, there are other reasons for jerky motions in ROS/MoveIt.
The most common one is network or CPU load spikes. When you are controlling a robot with ROS, most controller implementations send joint commands to the robot at high frequency through the ROS network. If the network experiences a sudden heavy load, or your PC runs a costly process while moving the robot, the next step in the trajectory may be sent with a significant delay, and the robot may stop for a short time, and then suddenly move quickly to catch up with where it is supposed to be according to the trajectory.
The easiest ways to work around this are, from my experience:
Other reasons might be your joint velocity/acceleration limits not being set up correctly for your robot, or insufficient resolution in the trajectory (e.g. eef_step
too large when using compute_cartesian_path
).
ROS2 also gives more options to make network loads more reliable.