ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
The computeCartesianPath
interface of MoveIt is sadly not implemented as a Planner
(in moveIt's terminology) and thus you can't use it with the MoveGroup
action server, which uses these scaling factors.
Thoughts to change this or expose the factors to the cartesian interface too have been around for a while, but nobody implemented it yet - As always, users are strongly encouraged to provide patches.
The easiest way to go for you is probably to rescale the timing of the trajectory after you computed the plan.
So increase the time_from_start
, reduce velocity, adjust acceleration to match (squared velocity).
We will hopefully soon have function interfaces for this around too, but at this point in time you probably have to do it by hand.
2 | No.2 Revision |
The computeCartesianPath
interface of MoveIt is sadly not implemented as a Planner
(in moveIt's terminology) and thus you can't use it with the MoveGroup
action server, which uses these scaling factors.
Thoughts to change this or expose the factors to the cartesian interface too have been around for a while, but nobody implemented it yet - As always, users are strongly encouraged to provide patches.
The As noted in the comments below, the easiest way to get a different time scaling is to create a new time parameterization for your trajectory.
In C++ you can use trajectory_processing::IterativeParabolicTimeParameterization::computeTimeStamps
.
In Python, there exists a retimeTrajectory
method in the MoveGroupInterface
that does the same.
Keep in mind though, that lately there have been alternative time parameterization methods proposed, one is merged upstream but not yet released at the time of writing. Both interfaces currently only make use of the "old" method and you might consider using a different one.
Another way to go for you is probably is to rescale the timing of the trajectory after you computed the plan.
plan (and the system already added a parameterization for you).
So increase the time_from_start
, reduce velocity, adjust acceleration to match (squared velocity).
We will hopefully soon have function interfaces for this around too, but at this point in time you probably have to do it by hand.