Skip to content

Commit be5dc9f

Browse files
author
AndyZe
authored
Add documentation for the Ruckig planning request adapter (#764)
1 parent 8f3086b commit be5dc9f

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

doc/time_parameterization/time_parameterization_tutorial.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,16 @@ The Iterative Parabolic Time Parameterization algorithm is used by default in th
2727
The Iterative Spline Parameterization algorithm was merged with `PR 382 <https://github.com/ros-planning/moveit/pull/382>`_ as an approach to deal with these issues. While preliminary experiments are very promising, we are waiting for more feedback from the community before replacing the Iterative Parabolic Time Parameterization algorithm completely.
2828

2929
Time-optimal Trajectory Generation introduced in PRs `#809 <https://github.com/ros-planning/moveit/pull/809>`_ and `#1365 <https://github.com/ros-planning/moveit/pull/1365>`_ produces trajectories with very smooth and continuous velocity profiles. The method is based on fitting path segments to the original trajectory and then sampling new waypoints from the optimized path. This is different from strict time parameterization methods as resulting waypoints may divert from the original trajectory within a certain tolerance. As a consequence, additional collision checks might be required when using this method.
30+
31+
Jerk-Limited Trajectory Smoothing
32+
---------------------------------
33+
A time parameterization algorithm such as TOTG calculates velocities and accelerations for a trajectory, but none of the time parameterization algorithms support jerk limits. This is not ideal -- large jerks along a trajectory can cause jerky motion or damage hardware. As a further post-processing step, the Ruckig jerk-limited smoothing algorithm can be appliied to limit joint jerks over the trajectories.
34+
35+
To apply the Ruckig smoothing algorithm, a jerk limit parameter should be defined for every joint. It can go in a launch file and the parameter name is ``ruckig/YOUR_JOINT_NAME/jerk_limit``. If you do not specify a jerk limit for any joint, a reasonable default will be applied and a warning printed.
36+
37+
Finally, add the Ruckig smoothing algorithm to the list of planning request adapters (typically in ``ompl_planning_pipeline.launch.xml`` or ``ompl_planning.yaml``). The Ruckig smoothing algorithm should run last, so put it at the top of list:
38+
39+
<arg name="planning_adapters"
40+
default="default_planner_request_adapters/AddRuckigTrajectorySmoothing
41+
default_planner_request_adapters/AddTimeParameterization
42+
default_planner_request_adapters/ResolveConstraintFrames

0 commit comments

Comments
 (0)