Skip to content

Commit

Permalink
Default to Cyclone DDS, remove deprecated time-param algorithms (move…
Browse files Browse the repository at this point in the history
…it#519)

* Recommend Cyclone DDS

* Remove mentions of deprecated time-param algorithms

Co-authored-by: Jafar <cafer.abdi@gmail.com>
  • Loading branch information
2 people authored and AndyZe committed Dec 29, 2022
1 parent 2bf3e23 commit 7ea8371
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,11 @@ The speed of a parameterized kinematic trajectory can also be modified during ru

Time Parameterization Algorithms
--------------------------------
MoveIt can support different algorithms for post-processing a kinematic trajectory to add timestamps and velocity/acceleration values. Currently there are three available by default in MoveIt:
MoveIt can support different algorithms for post-processing a kinematic trajectory to add timestamps and velocity/acceleration values. Currently there is only one option in MoveIt:

* :moveit_codedir:`Iterative Parabolic Time Parameterization<moveit_core/trajectory_processing/src/iterative_time_parameterization.cpp>`
* :moveit_codedir:`Iterative Spline Parameterization<moveit_core/trajectory_processing/src/iterative_spline_parameterization.cpp>`
* :moveit_codedir:`Time-optimal Trajectory Generation<moveit_core/trajectory_processing/src/time_optimal_trajectory_generation.cpp>`

Iterative Parabolic Time Parameterization (IPTP) was MoveIt's initial time parameterization algorithm. However, there is a known `bug with it <https://github.com/ros-planning/moveit/issues/160>`_.

The Iterative Spline Time Parameterization (ISTP) algorithm was merged with `PR 382 <https://github.com/ros-planning/moveit/pull/382>`_.

Time-optimal Trajectory Generation (TOTG) 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. It is the default everywhere in MoveIt2.
Time-optimal Trajectory Generation (TOTG) was introduced in PRs `#809 <https://github.com/ros-planning/moveit/pull/809>`_ and `#1365 <https://github.com/ros-planning/moveit/pull/1365>`_. It 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. It is the default everywhere in MoveIt2.

Usage of a time parameterization algorithm as a Planning Request Adapter is documented in `this tutorial <../motion_planning_pipeline/motion_planning_pipeline_tutorial.html#using-a-planning-request-adapter>`_.

Expand Down
9 changes: 9 additions & 0 deletions doc/tutorials/getting_started/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,15 @@ Optional: add the previous command to your ``.bashrc``: ::
not required and often skipped by advanced users who use more than one
Colcon workspace at a time, but we recommend it for simplicity.

Switch to Cyclone DDS
^^^^^^^^^^^^^^^^^^^^^

As of Sep 26, 2022, the default ROS2 DDS has an issue. As a workaround, switch to Cyclone. (Note: this makes all nodes started using this RMW incompatible with any other nodes not using Cyclone DDS.)

sudo apt install ros-rolling-rmw-cyclonedds-cpp
# You may want to add this to ~/.bashrc to source it automatically
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

Next Step
^^^^^^^^^
Nice job! Next we will :doc:`Visualize a robot with the interactive motion planning plugin for RViz </doc/tutorials/quickstart_in_rviz/quickstart_in_rviz_tutorial>`
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ This tutorial will teach you how to create motion plans in MoveIt using RViz and

Getting Started
---------------
If you haven't already done so, make sure you've completed the steps in :doc:`Getting Started </doc/tutorials/getting_started/getting_started>`.
If you haven't already done so, make sure you've completed the steps in :doc:`Getting Started </doc/tutorials/getting_started/getting_started>` or our :doc:`Docker Guide </doc/how_to_guides/how_to_setup_docker_containers_in_ubuntu>`. As of Sep 26, 2022, ensure you have enabled Cyclone DDS as described there.

Step 1: Launch the Demo and Configure the Plugin
------------------------------------------------
Expand Down

0 comments on commit 7ea8371

Please sign in to comment.