Jerky movements of UR10 robot with ur_modern_driver and MoveIt
We have a problem with sometimes jerky moves of UR10 (and UR3 before).
We are controlling our UR10 robot via MoveIt + ur_modern_driver combination. All works generally well, trajectories are planned and moves are smoothly executed. We have however problem that quite often the move has some "jerky" slow-downs/pauses. Robot slows down for a brief moment and then catches up - the moves are then not smooth. It does not happen continuously - generally move is smooth, but with longer moves it can happen once/twice during path execution.
It seems that the modern driver uses 125Hz interface and generates quite a lot of traffic, which we suspect might be the cause. Seems that jerkyness increses if we run some CPU-intensive/rostopic intensive ROS nodes (like gazebo). We are running the whole ROS environment in a docker container with --network=host and --privileged on fairly fast 8 core machine with plenty of RAM. We had similar problems with UR3 before.
We have not yet deeply investigated (we are going to) - but before we do, maybe someone had similar problems and know possible reasons ?
Have you checked the ur_modern_driver/issue tracker?
It might be a known issue. The driver closes the loop with the robot controller over the network, so dropped/late pkts can cause what you are describing.
Thanks! I spent some time reviewing the issues and the pull requests/discussions and have some things to explore (the comments from @v4hn below reflected my findings pretty accurately. This week we are going to test the refactored branch, TCP socket options mentioned there.