Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clipped/overshoot in velocity profiles when sending trajectories with Scaled_joint_trajectory_controller #1180

Open
1 task done
Yazan-Soliman opened this issue Nov 9, 2024 · 0 comments

Comments

@Yazan-Soliman
Copy link

Yazan-Soliman commented Nov 9, 2024

Affected ROS2 Driver version(s)

ros-humble-ur/jammy,now 2.2.16-5jammy.20241029.212959 amd64

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.

From binary packets

Which robot platform is the driver connected to.

UR E-series robot

Robot SW / URSim version(s)

5.16.0

How is the ROS driver used.

Through the robot teach pendant using External Control URCap

Issue details

Summary

UR10e experiences clipping motion when controlled with scaled_joint_trajectory_controller.

Issue details

I am conducting research for my master's thesis with a UR10e robot, where I need to send trajectories over the scaled_JTC.
on the Teach Pendant the safety limits are set to least restrictive settings.
Trajectories are computed with Ruckig trajectory planner from point A to point B and within the robot hardware limitations i.e velocities and accelerations.

our initial thoughts that the tracking error is experiencing some lag so we plotted the error from the controller state as below.
error

controller Feedback
feedback

as seen the controller state error does not indicate any unexpected deviations. To address the issue, we reduced acceleration limits to 8. rad/s² for all joints which should be within the capabilities of a robot like UR10e. However the behavior remained unchanged.

another example is shown below.

5_ruckig_qd_noise
5_ruckig_q_noise
5_trajectory_plot

ps: what was also unclear why does controller_state/error/positions shows a velocity error as seen from the first plot ?

below are relevant controller parameters.

scaled_joint_trajectory_controller:
  ros__parameters:
    joints:
      - shoulder_pan_joint
      - shoulder_lift_joint
      - elbow_joint
      - wrist_1_joint
      - wrist_2_joint
      - wrist_3_joint
    command_interfaces:
      - position
    state_interfaces:
      - position
      - velocity
    state_publish_rate: 100.0
    action_monitor_rate: 20.0
    allow_partial_joints_goal: false
    allow_nonzero_velocity_at_trajectory_end: false
    constraints:
      stopped_velocity_tolerance: 0.2
      goal_time: 0.0
      shoulder_pan_joint: { trajectory: 0.2, goal: 0.1 }
      shoulder_lift_joint: { trajectory: 0.2, goal: 0.1 }
      elbow_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_1_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_2_joint: { trajectory: 0.2, goal: 0.1 }
      wrist_3_joint: { trajectory: 0.2, goal: 0.1 }
    speed_scaling_interface_name: speed_scaling/speed_scaling_factor

Workaround Suggestion

The issue could be mitigated when sending trajectories with a longer duration.

Relevant log output

No response

Accept Public visibility

  • I agree to make this context public
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant