moveit / moveit2

:robot: MoveIt for ROS 2
https://moveit.ai/
BSD 3-Clause "New" or "Revised" License
983 stars 493 forks source link

Fix trajectory display. #2828

Open kpwelsh opened 1 month ago

kpwelsh commented 1 month ago

Description

The RViz plugin for displaying planned trajectories handles elapsed time incorrectly. Probably sometime in the last few years the dt passed to Update was switched from "s" to "ns," and this plugin wasn't updated.

Also, the plugin doesn't show the last pose in the trajectory. When we are on the last pose in the trajectory, we call displaying_trajectory_message_->getWayPointDurationFromPrevious(current_state_ + 1); to determine how long to display the pose for. This returns 0 and we accordingly display it for 0s.

Instead, I chose to put in a constant 1s display time (scaled by the user's trajectory playback rate) at the end of each trajectory so it will pause at the end briefly before looping back to the start, or disappearing.

Checklist