The FollowJointTrajectory action server in ros_control (joint_trajectory_controller) allows clients to request trajectory execution to start at a specific time in the future instead of immediately upon reception of the goal.
This is done by setting trajectory.header.stamp to something other than 0.
See wiki/joint_trajectory_controller/UnderstandingTrajectoryReplacement for a (terse) discussion of this functionality (note: that page is mostly about how the joint_trajectory_controller performs trajectory replacement or blending, that's not what I link it for here).
As MotoROS2 and the ROS 2 host PC sync their clocks, we could consider supporting this.
The 'dwell' time this results in can be calculated as goal.trajectory.header.stamp - current_controller_time.
The
FollowJointTrajectory
action server inros_control
(joint_trajectory_controller) allows clients to request trajectory execution to start at a specific time in the future instead of immediately upon reception of the goal.This is done by setting
trajectory.header.stamp
to something other than0
.See wiki/joint_trajectory_controller/UnderstandingTrajectoryReplacement for a (terse) discussion of this functionality (note: that page is mostly about how the
joint_trajectory_controller
performs trajectory replacement or blending, that's not what I link it for here).As MotoROS2 and the ROS 2 host PC sync their clocks, we could consider supporting this.
The 'dwell' time this results in can be calculated as
goal.trajectory.header.stamp - current_controller_time
.