Skip to content

Understanding of scaled joint trajectory controller #1326

@a1ibekov

Description

@a1ibekov

Hello,

Let's say we want to control a UR10e robot using the scaled_joint_trajectory_controller in ROS2 Humble. Here's an outline of how it should work:

  • Generate a trajectory that includes position, velocity, acceleration, and time_from_start values.

  • Store these values in a goal trajectory variable, which is then sent to the robot via the scaled_joint_trajectory_controller.

  • Since the robot operates at a high frequency (500 Hz), the scaled_joint_trajectory_controller interpolates the trajectory into smaller increments, creating position commands approximately 0.002 seconds apart that are then sent to the robot.

  • At any given moment, the robot receives one position value along with the corresponding time by which it should reach that position.

  • The robot's internal controller calculates the appropriate torque and acceleration commands to smoothly move the joints to the target position.

My question is: How does the robot know not to stop at each given position? I have seen examples where we only send position commands to the robot. So we don't send an explicit velocity command and therefore I'm a bit confused about how continuous motion is maintained. Also, please let me know if I've misunderstood any of the points above. Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions