ros-controls / ros2_controllers

Generic robotic controllers to accompany ros2_control
https://control.ros.org
Apache License 2.0
350 stars 315 forks source link

1000hz JTC issue #755

Open bmagyar opened 1 year ago

bmagyar commented 1 year ago
          Hi @gwalck :

I am facing a robot jerky problem when using JCT with Moveit in ROS2 Foxy. But, the problem did not appear in ROS1 Noetic. So, I also dug deeper in sample methods between ros_control and ros2_control. As you mentioned above, ros2_control implementation samples at current time. So, I set the loop rate of ros2_control_node at frequency 1000hz and print the sample time out like this:

image

When I tried to plan and excute with Moveit, the sample time was shown in my terminal. image

It is clear that, although the trajectory carried out by spline is smooth, the different sample interpolation may cause a jerky robot. And, I am afraid that the rate limit in ros2_control_node will not work due to that the sample interpolation is longer than 1ms in my situation.

Do I miss something causing my jerky robot? Have you met the same problem like me? If it possible, could you please show me some solutions to handle this jerky problem?

platform: ubuntu 20.04 ROS Version: Foxy

_Originally posted by @zengxuhe in https://github.com/ros-controls/ros2_controllers/issues/697#issuecomment-1683449512_

gwalck commented 1 year ago

@bmagyar did you forget to move my post ?

destogl commented 1 year ago

@zengxuhe your output times look quite irregular. Are you using RT Kernel? Without it you will not get 1000 Hz stable.