JTC using velocity as command state interface yields to vibration due to sudden deceleration
Affected ROS2 Driver version(s)
2.2.10
Used ROS distribution.
Humble
Which combination of platform is the ROS driver running on.
Ubuntu Linux with standard kernel
How is the UR ROS2 Driver installed.
Build the driver from source and using the UR Client Library from binary
Which robot platform is the driver connected to.
UR E-series robot
Robot SW / URSim version(s)
ur10e
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
Summary
I am looking to use the UR10e using a joint trajectory controller with velocity as a command interface instead of position.
Issue details
when i send velocity commands to it the movements are extremely choppy and often lead to the robot doing invalid moves and stopping.
Steps to Reproduce
change joint trajectory controller in ur_controllers.yaml in ur_robot_driver to
joint_trajectory_controller: ros__parameters: joints: - $(var tf_prefix)shoulder_pan_joint - $(var tf_prefix)shoulder_lift_joint - $(var tf_prefix)elbow_joint - $(var tf_prefix)wrist_1_joint - $(var tf_prefix)wrist_2_joint - $(var tf_prefix)wrist_3_joint command_interfaces: - velocity state_interfaces: - velocity - position state_publish_rate: 100.0 action_monitor_rate: 20.0 open_loop_control: true
Without open_loop_control: true the robot would not move at all.
Expected Behavior
Smooth movements similar to JTC using position as a command interface
Actual Behavior
choppy erratic movements. no sudden deceleration
Relevant log output
No response
Accept Public visibility
- [X] I agree to make this context public
Thank you for reporting this. I would have assumed that this is actually working, but apparently, it does not. Using open_loop control doesn't seem like a proper solution to the problem, but we should check this, anyway.
I tried running this, and cannot reproduce the choppiness that you mention. I changed the command interface to velocity for the JTC (also tried the scaled jtc for good measure), and with open loop control it seems to run smoothly. I used the example_move script for the test. Could you provide the trajectory that is choppy when executed in open loop mode?