-
Notifications
You must be signed in to change notification settings - Fork 314
Description
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!