Skip to content

Commit 74de841

Browse files
mlautmanMichael Lautman
authored andcommitted
removing hardcoded urls with conf variables (#292)
1 parent b71de04 commit 74de841

8 files changed

Lines changed: 31 additions & 28 deletions

File tree

conf.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,24 +46,23 @@
4646
# "logo": "logo.png"
4747
}
4848

49-
# Experimental
50-
51-
52-
5349
# Add any paths that contain custom themes here, relative to this directory.
5450

5551
# Links
52+
ros_distro = 'melodic'
5653
extlinks = {'codedir': ('https://github.com/' + html_context["github_user"] + '/moveit_tutorials/tree/' + html_context["github_version"] + '/doc/%s', ''),
5754
'moveit_codedir': ('https://github.com/' + html_context["github_user"] + '/moveit/blob/' + html_context["github_version"] + '/%s', ''),
58-
'moveit_core': ('http://docs.ros.org/melodic/api/moveit_core/html/classmoveit_1_1core_1_1%s.html', ''),
59-
'planning_scene': ('http://docs.ros.org/melodic/api/moveit_core/html/classplanning__scene_1_1%s.html', ''),
60-
'planning_scene_interface': ('http://docs.ros.org/melodic/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1%s.html', ''),
61-
'planning_scene_monitor': ('http://docs.ros.org/melodic/api/moveit_ros_planning/html/classplanning__scene__monitor_1_1%s.html', ''),
62-
'collision_detection_struct': ('http://docs.ros.org/melodic/api/moveit_core/html/structcollision__detection_1_1%s.html', ''),
63-
'collision_detection_class': ('http://docs.ros.org/melodic/api/moveit_core/html/classcollision__detection_1_1%s.html', ''),
64-
'kinematic_constraints': ('http://docs.ros.org/melodic/api/moveit_core/html/classkinematic__constraints_1_1%s.html', ''),
65-
'moveit_core_files': ('http://docs.ros.org/melodic/api/moveit_core/html/%s.html', ''),
66-
'move_group_interface': ('http://docs.ros.org/melodic/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1%s.html', ''),
55+
'panda_codedir': ('https://github.com/' + html_context["github_user"] + '/panda_moveit_config/blob/' + ros_distro + '-devel' + '/%s', ''),
56+
'rosdocs': ('http://docs.ros.org/' + ros_distro + '/api/%s', ''),
57+
'moveit_core': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/classmoveit_1_1core_1_1%s.html', ''),
58+
'planning_scene': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/classplanning__scene_1_1%s.html', ''),
59+
'planning_scene_interface': ('http://docs.ros.org/' + ros_distro + '/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1%s.html', ''),
60+
'planning_scene_monitor': ('http://docs.ros.org/' + ros_distro + '/api/moveit_ros_planning/html/classplanning__scene__monitor_1_1%s.html', ''),
61+
'collision_detection_struct': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/structcollision__detection_1_1%s.html', ''),
62+
'collision_detection_class': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/classcollision__detection_1_1%s.html', ''),
63+
'kinematic_constraints': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/classkinematic__constraints_1_1%s.html', ''),
64+
'moveit_core_files': ('http://docs.ros.org/' + ros_distro + '/api/moveit_core/html/%s.html', ''),
65+
'move_group_interface': ('http://docs.ros.org/' + ros_distro + '/api/moveit_ros_planning_interface/html/classmoveit_1_1planning__interface_1_1%s.html', ''),
6766
'moveit_website': ('http://moveit.ros.org/%s/', '')}
6867

6968
# Output file base name for HTML help builder.

doc/benchmarking/benchmarking_tutorial.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
2+
3+
14
Benchmarking
25
=====================
36

@@ -9,7 +12,7 @@ Getting Started
912
---------------
1013
If you haven't already done so, make sure you've completed the steps in `Getting Started <../getting_started/getting_started.html>`_.
1114

12-
The `benchmarking package <https://github.com/ros-planning/moveit/tree/melodic-devel/moveit_ros/benchmarks>`_ provides methods to benchmark motion planning algorithms and aggregate/plot statistics using the OMPL Planner Arena.
15+
The :moveit_codedir:`benchmarking package <moveit_ros/benchmarks>` provides methods to benchmark motion planning algorithms and aggregate/plot statistics using the OMPL Planner Arena.
1316
The example below demonstrates how the benchmarking can be run for a Panda robot arm.
1417

1518
Example

doc/chomp_planner/chomp_planner_tutorial.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ Using CHOMP with Your Robot
2121
---------------------------
2222
**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.
2323

24-
#. Simply download `chomp_planning_pipeline.launch.xml <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/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.
24+
#. 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.
2525
#. 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.
26-
#. Download `chomp_planning.yaml <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/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.
26+
#. 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.
2727
#. Open ``chomp_planning.yaml`` in your favorite editor and change ``animate_endeffector_segment: "panda_rightfinger"`` to the appropriate link for your robot.
2828
#. 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.
2929
#. Find the lines where ``move_group.launch`` is included and change it to: ::
@@ -72,7 +72,7 @@ Next, in RViz, select CHOMP in the MotionPlanning pannel under the Context tab.
7272

7373
Tweaking some of the parameters for CHOMP
7474
-----------------------------------------
75-
CHOMP has some optimization parameters associated with it. These can be modified for the given environment/robot you are working with and is normally present in the `chomp_planning.yaml <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/config/chomp_planning.yaml>`_ file in config folder of the robot you are working with. If this file does not exist for your robot, you can create it and set the parameter values as you want. The following are some of the insights to set up these parameter values for some of them:
75+
CHOMP has some optimization parameters associated with it. These can be modified for the given environment/robot you are working with and is normally present in the :panda_codedir:`chomp_planning.yaml <config/chomp_planning.yaml>` file in config folder of the robot you are working with. If this file does not exist for your robot, you can create it and set the parameter values as you want. The following are some of the insights to set up these parameter values for some of them:
7676

7777
- *planning_time_limit*: the maximum time the optimizer can take to find a solution before terminating
7878

@@ -127,7 +127,7 @@ Using OMPL as a pre-processor for CHOMP
127127
Here, it is demonstrated that CHOMP can also be used as a post-processing optimization technique for plans obtained by other planning algorithms. The intuition behind this is that some randomized planning algorithm produces an initial guess for CHOMP. CHOMP then takes this initial guess and further optimizes the trajectory.
128128
To achieve this, follow the steps:
129129

130-
#. Open the ``ompl_planning_pipeline.launch`` file in the ``<robot_moveit_config>/launch`` folder of your robot. For the Panda robot it is `this <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/launch/ompl_planning_pipeline.launch.xml>`_ file. Edit this launch file, find the lines where ``<arg name="planning_adapters">`` is mentioned and change it to: ::
130+
#. Open the ``ompl_planning_pipeline.launch`` file in the ``<robot_moveit_config>/launch`` folder of your robot. For the Panda robot it is :panda_codedir:`this <launch/ompl_planning_pipeline.launch.xml>` file. Edit this launch file, find the lines where ``<arg name="planning_adapters">`` is mentioned and change it to: ::
131131

132132
<arg name="planning_adapters"
133133
value="default_planner_request_adapters/FixWorkspaceBounds

doc/kinematics_configuration/kinematics_configuration_tutorial.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ In this section, we will examine some of the parameters for configuring kinemati
66
The kinematics.yaml file
77
------------------------
88

9-
The kinematics.yaml file generated by the MoveIt! Setup Assistant is the primary configuration file for kinematics for MoveIt!. You can see an entire example file for the Panda robot in the `panda_moveit_config GitHub project <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/config/kinematics.yaml>`_: ::
9+
The kinematics.yaml file generated by the MoveIt! Setup Assistant is the primary configuration file for kinematics for MoveIt!. You can see an entire example file for the Panda robot in the :panda_codedir:`panda_moveit_config GitHub project <config/kinematics.yaml>`: ::
1010

1111
panda_arm:
1212
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin

doc/move_group_python_interface/scripts/move_group_python_interface_tutorial.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,7 @@
3838
##
3939
## To use the Python MoveIt! interfaces, we will import the `moveit_commander`_ namespace.
4040
## This namespace provides us with a `MoveGroupCommander`_ class, a `PlanningSceneInterface`_ class,
41-
## and a `RobotCommander`_ class. (More on these below)
42-
##
43-
## We also import `rospy`_ and some messages that we will use:
41+
## and a `RobotCommander`_ class. More on these below. We also import `rospy`_ and some messages that we will use:
4442
##
4543

4644
import sys

doc/ompl_interface/ompl_interface_tutorial.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ The ``longest_valid_segment_fraction`` defines the discretization of robot motio
1515

1616
Specifically, ``longest_valid_segment_fraction`` is the fraction of the robot's state space that, given the robot isn't currently in collision, we assume the robot can travel while remaining collision free. For example, if ``longest_valid_segment_fraction = 0.01``, then we assume that if an edge between two nodes is less than 1/100th of the state space, then we don't need to explicity check any sub-states along that edge, just the two nodes it connects.
1717

18-
In addition to the ``longest_valid_segment_fraction`` parameter in the ``ompl_planning.yaml`` file, there is also the ``maximum_waypoint_distance``, found in the `dynamic reconfigure file <https://github.com/ros-planning/moveit/blob/melodic-devel/moveit_planners/ompl/ompl_interface/cfg/OMPLDynamicReconfigure.cfg#L9>`_. ``maximum_waypoint_distance`` defines the same discretization of robot motions for collision checking, but it does so at an absolute level instead of using fractions of the state space. For example, if ``maximum_waypoint_distance = 0.1``, then if an edge is shorter than ``0.1`` in state space distance, then we don't explicitly check any sub-states along that edge.
18+
In addition to the ``longest_valid_segment_fraction`` parameter in the ``ompl_planning.yaml`` file, there is also the ``maximum_waypoint_distance``, found in the :moveit_codedir:`dynamic reconfigure file <moveit_planners/ompl/ompl_interface/cfg/OMPLDynamicReconfigure.cfg#L9>`. ``maximum_waypoint_distance`` defines the same discretization of robot motions for collision checking, but it does so at an absolute level instead of using fractions of the state space. For example, if ``maximum_waypoint_distance = 0.1``, then if an edge is shorter than ``0.1`` in state space distance, then we don't explicitly check any sub-states along that edge.
1919

2020
If both ``longest_valid_segment_fraction`` and ``maximum_waypoint_distance`` are set, then the variable that produces the most conservative discretization (the one that would generate the most states to collision check on a given edge) is chosen.
2121

doc/perception_pipeline/perception_pipeline_tutorial.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ In this section, we will walk through configuring the 3D sensors on your robot w
2323
YAML Configuration file (Point Cloud)
2424
+++++++++++++++++++++++++++++++++++++
2525

26-
We will have to generate a YAML configuration file for configuring the 3D sensors. Please see `this example file <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/config/sensors_kinect_pointcloud.yaml>`_ for processing point clouds, located in the `panda_moveit_config repository for Melodic <https://github.com/ros-planning/panda_moveit_config>`_.
26+
We will have to generate a YAML configuration file for configuring the 3D sensors. Please see :panda_codedir:`this example file<config/sensors_kinect_pointcloud.yaml>` for processing point clouds.
27+
2728
Save this file in the config folder in the robot's moveit_config package with name "sensors_kinect_pointcloud.yaml": ::
2829

2930
sensors:
@@ -59,7 +60,7 @@ Save this file in the config folder in the robot's moveit_config package with na
5960
YAML Configuration file (Depth Map)
6061
+++++++++++++++++++++++++++++++++++
6162

62-
We will have to generate a YAML configuration file for configuring the 3D sensors. An `example file for processing depth images <https://github.com/ros-planning/panda_moveit_config/blob/melodic-devel/config/sensors_kinect_depthmap.yaml>`_ can be found in the `panda_moveit_config repository <https://github.com/ros-planning/panda_moveit_config>`_ as well.
63+
We will have to generate a YAML configuration file for configuring the 3D sensors. An :panda_codedir:`example file for processing depth images <config/sensors_kinect_depthmap.yaml>` can be found in the panda_moveit_config repository as well.
6364
Save this file in the config folder in the robot's moveit_config package with name "sensors_kinect_depthmap.yaml": ::
6465

6566
sensors:
@@ -168,7 +169,9 @@ You can follow its status in the `issue tracker <https://github.com/ros-planning
168169

169170
Relevant Code
170171
+++++++++++++
171-
The entire code can be seen :codedir:`here <perception_pipeline>` in the moveit_tutorials GitHub project. The details regarding the implementation of each of the perception pipeline function have been omitted in this tutorial as they are well documented `here. <http://wiki.ros.org/pcl/Tutorials>`_
172+
The entire code can be seen :codedir:`here<perception_pipeline>` in the moveit_tutorials GitHub project.
173+
174+
The details regarding the implementation of each of the perception pipeline function have been omitted in this tutorial as they are well documented `here <http://wiki.ros.org/pcl/Tutorials>`_.
172175

173176
.. |br| raw:: html
174177

doc/time_parameterization/time_parameterization_tutorial.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ By default MoveIt! sets the velocity and acceleration of a joint trajectory to t
1212

1313
During Runtime
1414
^^^^^^^^^^^^^^
15-
The speed of a parameterized kinematic trajectory can also be modified during runtime as a fraction of the max velocity and acceleration set in the configuration values, as a value between 0-1. To change the speed on a per-motion plan basis, you can set the two scaling factors as described in `MotionPlanRequest.msg <http://docs.ros.org/melodic/api/moveit_msgs/html/msg/MotionPlanRequest.html>`_. Spinboxes for setting both of those factors are also available in the `MoveIt! MotionPlanning RViz plugin <../quickstart_in_rviz/quickstart_in_rviz_tutorial.html>`_.
15+
The speed of a parameterized kinematic trajectory can also be modified during runtime as a fraction of the max velocity and acceleration set in the configuration values, as a value between 0-1. To change the speed on a per-motion plan basis, you can set the two scaling factors as described in :rosdocs:`MotionPlanRequest.msg </moveit_msgs/html/msg/MotionPlanRequest.html>`. Spinboxes for setting both of those factors are also available in the `MoveIt! MotionPlanning RViz plugin <../quickstart_in_rviz/quickstart_in_rviz_tutorial.html>`_.
1616

1717
Time Parameterization Algorithms
1818
--------------------------------
19-
MoveIt! can support different algorithms for post-processing a kinematic trajectory to add timestamps and velocity/acceleration values. Currently two are available by default in MoveIt!: `Iterative Parabolic Time Parameterization <https://github.com/ros-planning/moveit/blob/melodic-devel/moveit_core/trajectory_processing/src/iterative_time_parameterization.cpp>`_, and `Iterative Spline Parameterization <https://github.com/ros-planning/moveit/blob/melodic-devel/moveit_core/trajectory_processing/src/iterative_spline_parameterization.cpp>`_.
19+
MoveIt! can support different algorithms for post-processing a kinematic trajectory to add timestamps and velocity/acceleration values. Currently two are available by default in MoveIt!: :moveit_codedir:`Iterative Parabolic Time Parameterization<moveit_core/trajectory_processing/src/iterative_time_parameterization.cpp>`, and :moveit_codedir:`Iterative Spline Parameterization<moveit_core/trajectory_processing/src/iterative_spline_parameterization.cpp>`.
2020

2121
The Iterative Parabolic Time Parameterization algorithm is used by default in the `Motion Planning Pipeline <../motion_planning_pipeline/motion_planning_pipeline_tutorial.html>`_ as a Planning Request Adapter as documented in `this tutorial <../motion_planning_pipeline/motion_planning_pipeline_tutorial.html#using-a-planning-request-adapter>`_. Although the Iterative Parabolic Time Parameterization algorithm MoveIt! uses has been used by hundreds of robots over the years, there is known `bug with it <https://github.com/ros-planning/moveit/issues/160>`_.
2222

0 commit comments

Comments
 (0)