-
Notifications
You must be signed in to change notification settings - Fork 304
Description
Affected ROS2 Driver version(s)
2.8.1-1jammy.20250915.231359
Used ROS distribution.
Humble
Which combination of platform is the ROS driver running on.
Docker
How is the UR ROS2 Driver installed.
From binary packets
Which robot platform is the driver connected to.
UR E-series robot
Robot SW / URSim version(s)
5.17.3
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
Summary
When doing long movements, the UR overshoots the final position and then corrects it back. This entails a serious risk for collisions.
WhatsApp.Video.2025-10-14.at.16.13.35.mp4
Issue details
We are running the software stack within a docker container, in a Ubuntu 22.04 with realtime kernel installed.
uname -a
Linux rout0-240626aa 5.15.0-1032-realtime #35-Ubuntu SMP PREEMPT_RT Tue Jan 24 11:45:03 UTC 2023 x86_64 x86_64 x86_64 GNU/LinuxI am not 100% sure whether the code inside the docker is using the realtime feature but it's not complaining in the launch (it did before the realtime kernel was installed)
We are controlling the UR20 using external control URCap, generating the motion plan using MoveIt and MTC. It looks like the controller detects that the UR has reached the position and returns (process keeps going on, see the light turning on in the video), but the robot is actually moving a little further and then it corrects back.
We are using a copy of ur_control.launch.py, running the ur_ros2_control node and the scaled_joint_trajectory_controller. These are the settings we have:
update_rate.yaml
controller_manager:
ros__parameters:
update_rate: 500 # Hzros2_control_configuration.yaml
scaled_joint_trajectory_controller:
ros__parameters:
joints:
- ur_shoulder_pan_joint
- ur_shoulder_lift_joint
- ur_elbow_joint
- ur_wrist_1_joint
- ur_wrist_2_joint
- ur_wrist_3_joint
command_interfaces:
- position
state_interfaces:
- position
- velocity
state_publish_rate: 200.0
action_monitor_rate: 100.0
allow_partial_joints_goal: false
constraints:
stopped_velocity_tolerance: 0.2
goal_time: 0.0
ur_shoulder_pan_joint: { trajectory: 0.05, goal: 0.03 }
ur_shoulder_lift_joint: { trajectory: 0.05, goal: 0.03 }
ur_elbow_joint: { trajectory: 0.05, goal: 0.03 }
ur_wrist_1_joint: { trajectory: 0.05, goal: 0.03 }
ur_wrist_2_joint: { trajectory: 0.05, goal: 0.03 }
ur_wrist_3_joint: { trajectory: 0.05, goal: 0.03 }
speed_scaling_interface_name: ur_speed_scaling/speed_scaling_factorExpected Behavior
The robot should follow accurately the planned trajectory
Relevant log output
Accept Public visibility
- I agree to make this context public