Skip to content

Commit

Permalink
Removed exclamation marks
Browse files Browse the repository at this point in the history
  • Loading branch information
simonGoldstein authored and davetcoleman committed Jun 12, 2019
1 parent 1f68792 commit fcd8c45
Show file tree
Hide file tree
Showing 46 changed files with 161 additions and 161 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Test build the MoveIt! tutorials. Author: Dave Coleman
# Test build the MoveIt tutorials. Author: Dave Coleman
sudo: required
dist: xenial
language: ruby
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# MoveIt! Tutorials
# MoveIt Tutorials

[https://ros-planning.github.io/moveit_tutorials/](https://ros-planning.github.io/moveit_tutorials/)

This is the primary documentation for the MoveIt! project. We strongly encourage you to help improve MoveIt!'s documentation. Please consider reading the guidelines below for writing the best documentation and tutorials. However, if you are uncomfortable with any of the approaches, simply adding documentation text to your pull requests is better than nothing.
This is the primary documentation for the MoveIt project. We strongly encourage you to help improve MoveIt's documentation. Please consider reading the guidelines below for writing the best documentation and tutorials. However, if you are uncomfortable with any of the approaches, simply adding documentation text to your pull requests is better than nothing.

These tutorials use the [reStructuredText](http://www.sphinx-doc.org/en/stable/rest.html) format commonly used in the Sphinx "Python Documentation Generator". This unfortunately differs from the common Markdown format, but its advantage is that it supports embedding code directly from source files for inline code tutorials.

Expand Down Expand Up @@ -44,8 +44,8 @@ We rely on the community to keep these tutorials up to date and bug free. If you

**Code Formatting**

* These tutorials use the same [style guidelines](http://moveit.ros.org/documentation/contributing/code/) as the MoveIt! project. When modifying or adding to these tutorials, it is required that code is auto formatted using [clang-format](http://moveit.ros.org/documentation/contributing/code/).
* Tutorials should exemplify best coding practices. If a contribution wouldn't pass review in the MoveIt! project, then it shouldn't pass review in the tutorials.
* These tutorials use the same [style guidelines](http://moveit.ros.org/documentation/contributing/code/) as the MoveIt project. When modifying or adding to these tutorials, it is required that code is auto formatted using [clang-format](http://moveit.ros.org/documentation/contributing/code/).
* Tutorials should exemplify best coding practices. If a contribution wouldn't pass review in the MoveIt project, then it shouldn't pass review in the tutorials.
* Relevant code should be included and explained using the ``.. tutorial-formatter::`` tag.
* Irrelevant code should be excluded from the generated html using the ``BEGIN_TUTORIAL``, ``END_TUTORIAL``, ``BEGIN_SUB_TUTORIAL``, and ``END_SUB_TUTORIAL`` tags.
* Whenever possible, links should be created using the ``extlinks`` dictionary defined in ``conf.py``.
Expand All @@ -54,7 +54,7 @@ We rely on the community to keep these tutorials up to date and bug free. If you

**Style**

* Each tutorial should be focused on teaching the user one feature or interface within MoveIt!.
* Each tutorial should be focused on teaching the user one feature or interface within MoveIt.
* Tutorials should flow from show to tell with videos and demos at the beginning followed by explanations.
* New tutorials should match the formatting, style and flow of existing tutorials whenever possible.

Expand Down
2 changes: 1 addition & 1 deletion _themes/sphinx_rtd_theme/layout.html
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
<div class="wy-nav-content">
<div class="header-override">
<p>
<a href="http://moveit.ros.org">MoveIt! Website</a><br/>
<a href="http://moveit.ros.org">MoveIt Website</a><br/>
</p>
</div>
<div class="rst-content">
Expand Down
2 changes: 1 addition & 1 deletion doc/benchmarking/benchmarking_tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The example below demonstrates how the benchmarking can be run for a Panda robot

Example
-------
An example is provided in the ``examples`` folder. The launch file requires a MoveIt! configuration package
An example is provided in the ``examples`` folder. The launch file requires a MoveIt configuration package
for the Panda robot arm available from `here <https://github.com/ros-planning/panda_moveit_config>`_.

To run:
Expand Down
20 changes: 10 additions & 10 deletions doc/chomp_planner/chomp_planner_tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,31 @@ CHOMP Planner
.. image:: chomp.png
:width: 700px

Covariant Hamiltonian optimization for motion planning (CHOMP) is a gradient-based trajectory optimization procedure that makes many everyday motion planning problems both simple and trainable (Ratliff et al., 2009c). While most high-dimensional motion planners separate trajectory generation into distinct planning and optimization stages, this algorithm capitalizes on covariant gradient and functional gradient approaches to the optimization stage to design a motion planning algorithm based entirely on trajectory optimization. Given an infeasible naive trajectory, CHOMP reacts to the surrounding environment to quickly pull the trajectory out of collision while simultaneously optimizing dynamical quantities such as joint velocities and accelerations. It rapidly converges to a smooth collision-free trajectory that can be executed efficiently on the robot. Integration into latest version of MoveIt! is `work in progress <https://github.com/ros-planning/moveit/issues/702>`_. `More info <http://www.nathanratliff.com/thesis-research/chomp>`_
Covariant Hamiltonian optimization for motion planning (CHOMP) is a gradient-based trajectory optimization procedure that makes many everyday motion planning problems both simple and trainable (Ratliff et al., 2009c). While most high-dimensional motion planners separate trajectory generation into distinct planning and optimization stages, this algorithm capitalizes on covariant gradient and functional gradient approaches to the optimization stage to design a motion planning algorithm based entirely on trajectory optimization. Given an infeasible naive trajectory, CHOMP reacts to the surrounding environment to quickly pull the trajectory out of collision while simultaneously optimizing dynamical quantities such as joint velocities and accelerations. It rapidly converges to a smooth collision-free trajectory that can be executed efficiently on the robot. Integration into latest version of MoveIt is `work in progress <https://github.com/ros-planning/moveit/issues/702>`_. `More info <http://www.nathanratliff.com/thesis-research/chomp>`_

Getting Started
---------------
If you haven't already done so, make sure you've completed the steps in `Getting Started <../getting_started/getting_started.html>`_.

You should also have gone through the steps in `Visualization with MoveIt! RViz Plugin <../quickstart_in_rviz/quickstart_in_rviz_tutorial.html>`_
You should also have gone through the steps in `Visualization with MoveIt RViz Plugin <../quickstart_in_rviz/quickstart_in_rviz_tutorial.html>`_

Prerequisites
--------------
#. On ROS Melodic you do not need to build MoveIt! from source, but for older versions of MoveIt! you do (see previous tutorial versions).
#. To use CHOMP with your robot you must already have a MoveIt! configuration package for your robot already. For example, if you have a Panda robot, it's called ``panda_moveit_config``. This is typically configured using the `MoveIt! Setup Assistant <../setup_assistant/setup_assistant_tutorial.html>`_.
#. On ROS Melodic you do not need to build MoveIt from source, but for older versions of MoveIt you do (see previous tutorial versions).
#. To use CHOMP with your robot you must already have a MoveIt configuration package for your robot already. For example, if you have a Panda robot, it's called ``panda_moveit_config``. This is typically configured using the `MoveIt Setup Assistant <../setup_assistant/setup_assistant_tutorial.html>`_.

Using CHOMP with Your Robot
---------------------------
**Note:** if you are following this demo using the ``panda_moveit_config`` from the `ros-planning/panda_moveit_config <https://github.com/ros-planning/panda_moveit_config>`_ repository, these steps are already done for you and you can skip this section.

#. Simply download :panda_codedir:`chomp_planning_pipeline.launch.xml<launch/chomp_planning_pipeline.launch.xml>` file into the launch directory of your MoveIt! config package. In our case, we will save this file in the ``panda_moveit_config/launch`` directory.
#. Adjust the line ``<rosparam command="load" file="$(find panda_moveit_config)/config/chomp_planning.yaml" />`` to ``<rosparam command="load" file="$(find <robot_moveit_config>)/config/chomp_planning.yaml" />`` replacing ``<robot_moveit_config>`` with the name of your MoveIt! configuration package.
#. Download :panda_codedir:`chomp_planning.yaml <config/chomp_planning.yaml>` file into the config directory of your MoveIt! config package. In our case, we will save this file in the ``panda_moveit_config/config`` directory.
#. Simply download :panda_codedir:`chomp_planning_pipeline.launch.xml<launch/chomp_planning_pipeline.launch.xml>` file into the launch directory of your MoveIt config package. In our case, we will save this file in the ``panda_moveit_config/launch`` directory.
#. Adjust the line ``<rosparam command="load" file="$(find panda_moveit_config)/config/chomp_planning.yaml" />`` to ``<rosparam command="load" file="$(find <robot_moveit_config>)/config/chomp_planning.yaml" />`` replacing ``<robot_moveit_config>`` with the name of your MoveIt configuration package.
#. Download :panda_codedir:`chomp_planning.yaml <config/chomp_planning.yaml>` file into the config directory of your MoveIt config package. In our case, we will save this file in the ``panda_moveit_config/config`` directory.
#. Open ``chomp_planning.yaml`` in your favorite editor and change ``animate_endeffector_segment: "panda_rightfinger"`` to the appropriate link for your robot.
#. Copy the ``demo.launch`` file to ``demo_chomp.launch``. Note that this file is also in the launch directory of your MoveIt! config package. In our case, the ``panda_moveit_config/launch`` directory.
#. Copy the ``demo.launch`` file to ``demo_chomp.launch``. Note that this file is also in the launch directory of your MoveIt config package. In our case, the ``panda_moveit_config/launch`` directory.
#. Find the lines where ``move_group.launch`` is included and change it to: ::

<!-- Replace <robot_moveit_config> with the name of your MoveIt! configuration package -->
<!-- Replace <robot_moveit_config> with the name of your MoveIt configuration package -->
<include file="$(find <robot_moveit_config>)/launch/move_group.launch">
<arg name="allow_trajectory_execution" value="true"/>
<arg name="fake_execution" value="true"/>
Expand Down Expand Up @@ -116,7 +116,7 @@ Difference between plans obtained by CHOMP and OMPL
---------------------------------------------------
Optimizing planners optimize a cost function that may sometimes lead to surprising results: moving through a thin obstacle might be lower cost than a long, winding trajectory that avoids all collisions. In this section we make a distinction between paths obtained from CHOMP and contrast it to those obtained from OMPL.

OMPL is a open source library for sampling based / randomized motion planning algorithms. Sampling based algorithms are probabilistically complete: a solution would be eventually found if one exists, however non-existence of a solution cannot be reported. These algorithms are efficient and usually find a solution quickly. OMPL does not contain any code related to collision checking or visualization as the designers of OMPL did not want to tie it to a any particular collision checker or visualization front end. The library is designed so it can be easily integrated into systems that provide the additional components. MoveIt! integrates directly with OMPL and uses the motion planners from OMPL as its default set of planners. The planners in OMPL are abstract; i.e. OMPL has no concept of a robot. Instead, MoveIt! configures OMPL and provides the back-end for OMPL to work with problems in Robotics.
OMPL is a open source library for sampling based / randomized motion planning algorithms. Sampling based algorithms are probabilistically complete: a solution would be eventually found if one exists, however non-existence of a solution cannot be reported. These algorithms are efficient and usually find a solution quickly. OMPL does not contain any code related to collision checking or visualization as the designers of OMPL did not want to tie it to a any particular collision checker or visualization front end. The library is designed so it can be easily integrated into systems that provide the additional components. MoveIt integrates directly with OMPL and uses the motion planners from OMPL as its default set of planners. The planners in OMPL are abstract; i.e. OMPL has no concept of a robot. Instead, MoveIt configures OMPL and provides the back-end for OMPL to work with problems in Robotics.

CHOMP: While most high-dimensional motion planners separate trajectory generation into distinct planning and optimization stages, CHOMP capitalizes on covariant gradient and functional gradient approaches to the optimization stage to design a motion planning algorithm based entirely on trajectory optimization. Given an infeasible naive trajectory, CHOMP reacts to the surrounding environment to quickly pull the trajectory out of collision while simultaneously optimizing dynamical quantities such as joint velocities and accelerations. It rapidly converges to a smooth collision-free trajectory that can be executed efficiently on the robot. A covariant update rule ensures that CHOMP quickly converges to a locally optimal trajectory.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Low Level Controllers
=====================
In this section, we will walk through configuring MoveIt! with the controllers on your robot. We will assume that your robot offers a ``FollowJointTrajectory`` action service for the arms on your robot and (optionally) a ``GripperCommand`` service for your gripper. If your robot does not offer this we recommend the `ROS control <http://wiki.ros.org/ros_control>`_ framework for easily adding this functionality around your hardware communication layer.
In this section, we will walk through configuring MoveIt with the controllers on your robot. We will assume that your robot offers a ``FollowJointTrajectory`` action service for the arms on your robot and (optionally) a ``GripperCommand`` service for your gripper. If your robot does not offer this we recommend the `ROS control <http://wiki.ros.org/ros_control>`_ framework for easily adding this functionality around your hardware communication layer.

YAML Configuration
------------------
The first file to create is a YAML configuration file (call it ``controllers.yaml`` and place it in the ``robot_moveit_config/config`` directory of your MoveIt! robot config package). This will specify the controller configuration for your robot. Here's an example file for configuring a ``FollowJointTrajectory`` action controller for the ``panda_arm`` and a ``GripperCommand`` gripper controller for its ``hand``: ::
The first file to create is a YAML configuration file (call it ``controllers.yaml`` and place it in the ``robot_moveit_config/config`` directory of your MoveIt robot config package). This will specify the controller configuration for your robot. Here's an example file for configuring a ``FollowJointTrajectory`` action controller for the ``panda_arm`` and a ``GripperCommand`` gripper controller for its ``hand``: ::

controller_list:
- name: panda_arm_controller
Expand Down Expand Up @@ -36,7 +36,7 @@ The parameters are:
* *name*: The name of the controller. (See debugging information below for important notes).
* *action_ns*: The action namespace for the controller. (See debugging information below for important notes).
* *type*: The type of action being used (here FollowJointTrajectory).
* *default*: The default controller is the primary controller chosen by MoveIt! for communicating with a particular set of joints.
* *default*: The default controller is the primary controller chosen by MoveIt for communicating with a particular set of joints.
* *joints*: Names of all the joints that are being addressed by this interface.

GripperCommand Controller Interface
Expand All @@ -45,7 +45,7 @@ The parameters are:
* *name*: The name of the controller. (See debugging information below for important notes).
* *action_ns*: The action namespace for the controller. (See debugging information below for important notes).
* *type*: The type of action being used (here GripperCommand).
* *default*: The default controller is the primary controller chosen by MoveIt! for communicating with a particular set of joints.
* *default*: The default controller is the primary controller chosen by MoveIt for communicating with a particular set of joints.
* *joints*: Names of all the joints that are being addressed by this interface.
* *parallel*: When this is set, *joints* should be of size 2, and the command will be the sum of the two joints.

Expand All @@ -63,7 +63,7 @@ For each controller it is optionally possible to set the *allowed_execution_dura

Create the Controller launch file
---------------------------------
Now, create the controller launch file (call it ``robot_moveit_controller_manager.launch.xml`` where ``robot`` is the name of your robot as specified when you created your MoveIt! robot config package).
Now, create the controller launch file (call it ``robot_moveit_controller_manager.launch.xml`` where ``robot`` is the name of your robot as specified when you created your MoveIt robot config package).

Add the following lines to this file: ::

Expand All @@ -75,9 +75,9 @@ Add the following lines to this file: ::
<rosparam file="$(find robot_moveit_config)/config/controllers.yaml"/>
</launch>

MAKE SURE to replace ``robot_moveit_config`` with the correct name of your MoveIt! robot config package.
MAKE SURE to replace ``robot_moveit_config`` with the correct name of your MoveIt robot config package.

Now, you should be ready to have MoveIt! talk to your robot.
Now, you should be ready to have MoveIt talk to your robot.

Debugging Information
---------------------
Expand All @@ -95,7 +95,7 @@ You should also be able to see (using ``rostopic info topic_name``) that the top
Remapping /joint_states topic
-----------------------------

When you run a `move group node <../move_group_interface/move_group_interface_tutorial.html>`_, you may need to remap the topic /joint_states to /robot/joint_states, otherwise MoveIt! won't have feedback from the joints. To do this remapping you could make a simple launch file for your node as follows: ::
When you run a `move group node <../move_group_interface/move_group_interface_tutorial.html>`_, you may need to remap the topic /joint_states to /robot/joint_states, otherwise MoveIt won't have feedback from the joints. To do this remapping you could make a simple launch file for your node as follows: ::

<node pkg="moveit_ros_move_group" type="move_group" name="any_name" output="screen">
<remap from="joint_states" to="robot/joint_states"/>
Expand All @@ -106,7 +106,7 @@ Or you can make a subscriber with the correct topic name and then ensure that th
Trajectory Execution Manager Options
------------------------------------

There are several options for tuning the behavior and safety checks of the execution pipeline in MoveIt!. In your ``moveit_config`` package edit the ``trajectory_execution.launch.xml`` file to change the following parameters:
There are several options for tuning the behavior and safety checks of the execution pipeline in MoveIt. In your ``moveit_config`` package edit the ``trajectory_execution.launch.xml`` file to change the following parameters:

- ``execution_duration_monitoring``: when false, will not throw error is trajectory takes longer than expected to complete at the low-level controller side
- ``allowed_goal_duration_margin``: Allow more than the expected execution time before triggering a trajectory cancel (applied after scaling)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Overview
Some planning problems require more complex or custom constraint
samplers for more difficult planning problems. This document explains
how to create a custom motion planning constraint sampler for use
with MoveIt!.
with MoveIt.

Getting Started
---------------
Expand Down
Loading

0 comments on commit fcd8c45

Please sign in to comment.