Yaskawa-Global / motoros2

ROS 2 (rcl, rclc & micro-ROS) node for MotoPlus-compatible Yaskawa Motoman robot controllers
96 stars 20 forks source link

Consider supporting trajectory blending (FJT action server) #51

Open gavanderhoorn opened 1 year ago

gavanderhoorn commented 1 year ago

MotoROS2 currently does not support replacing an already executing trajectory with another. All trajectories must start from a full stop and must end with one.

The joint_trajectory_controller of ros_control allows clients to submit a new goal while one is already executing. If enabled, it will attempt to smoothly blend the old trajectory with the new one:

Similar behaviour could be supported by MotoROS2.


Note that in addition to the FollowJointTrajectory action server which MotoROS1 also supports, MotoROS2 supports a point queuing mode, which allows to submit individual trajectory points, one after the other which essentially allows for an "infinite" trajectory to be executed.

Trajectory replacement however would use trajectories as the smallest unit, not points. If trajectories are submitted at appropriate times however, it would also allow for an "infinite" motion to be executed, with the robot never stopping between trajectories, only transitioning.

gavanderhoorn commented 1 year ago

Previous discussions about a related topic (supporting back-to-back execution of trajectories) can be found in https://github.com/ros-industrial/motoman/issues/324#issuecomment-624895636 (and subsequent comments).