Skip to content

With joint_trajectory_controller, sending a new command causes the torque to momentarily relax #77

@daipom

Description

@daipom

Describe the problem you got

With joint_trajectory_controller, sending a new command causes the torque to momentarily relax.
As a result, the arm briefly drops.
It seems to drop more when the gain is small.

#72 (comment)

i have the same problem i am using humble didn't change anything in the code or config when next command goes it drops and suddenly tries to go to the position

WhatsApp.Video.2026-01-04.at.6.02.46.PM.mp4

Cause

This is caused by poor compatibility with the joint_trajectory_controller.
It does not occur when using the forward_position_controller in openarm_bringup.

The exact root cause is unknown, but this seems to be triggered when the next action is close to the current position.
joint_trajectory_controller interpolates the trajectory, so the first point is always very close to the current position.
This likely causes this behavior.

Reproduce

  1. ros2 launch openarm_bimanual_moveit_config demo.launch.py
  2. In RViz, set -30 to openarm_left_joint1 in MotionPlanning - Joints, and run Plan & Execute in MotionPlanning - Planning.
  3. In RViz, set -45 to openarm_left_joint1 in MotionPlanning - Joints, and run Plan & Execute in MotionPlanning - Planning.
  4. You can confirm the left arm briefly drops.
trim.D3054492-B45B-4DD2-A8ED-B904E5509334.MOV

forward_position_controller

This does not occur with forward_position_controller.

  1. ros2 launch openarm_bringup openarm.launch.py robot_controller:=forward_position_controller
  2. ros2 topic pub /forward_position_controller/commands std_msgs/msg/Float64MultiArray '{data: [-0.10, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}'
  3. ros2 topic pub /forward_position_controller/commands std_msgs/msg/Float64MultiArray '{data: [-0.20, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}'
  4. ros2 topic pub /forward_position_controller/commands std_msgs/msg/Float64MultiArray '{data: [-0.30, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions