moveit_tutorials package from moveit_tutorials repomoveit_tutorials |
|
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-planning/moveit_tutorials.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2023-01-19 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Dave Coleman
Authors
- Sachin Chitta
- Dave Coleman
- Mike Lautman
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.
These tutorials use the reStructuredText 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.
This repository is currently built automatically by two systems. Travis builds the documentation for Melodic and ROS Build Farm builds the documentation for older versions:
Versions
-
kinetic-devel
usage is discouraged -
melodic-devel
stable -
noetic-devel
latest, changes should target this branch
Build Locally
If you want to test the tutorials by generating the html pages locally on your machine, use the following helper script. It has been tested on Ubuntu 18.04 with ROS Melodic pre-installed. Run in the root of the moveit_tutorials package:
source /opt/ros/melodic/setup.bash
./build_locally.sh
The local website LOCAL_PACKAGE_PATH/build/html/index.html
should automatically open in your web browser.
ROS Build Farm Deployment
For deploying documentation changes to the web, Section 3 of rosdoc_lite wiki says that “rosdoc_lite is automatically run for packages in repositories that have rosinstall files listed in the rosdistro repository.” This is done about once every 24 hours, overnight.
Contributing
We rely on the community to keep these tutorials up to date and bug free. If you find an issue with the tutorials please open an issue on GitHub or open a PR with proposed changes.
Formatting and Style
Code Formatting
- These tutorials use the same style guidelines as the MoveIt! project. When modifying or adding to these tutorials, it is required that code is auto formatted using clang-format.
- 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
, andEND_SUB_TUTORIAL
tags. - Whenever possible, links should be created using the
extlinks
dictionary defined inconf.py
. - All demo code should be runnable from within the
moveit_tutorials
package. - Python code should be run using
rosrun
.
Style
- 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.
Directory Structure
- Each tutorial should live in its own subdirectory within the
./doc/ <>
directory. - Add your tutorial to
index.rst
in the root directory. - Tutorials should use the following directory structure omitting unnecessary files and subdirectories:
moveit_tutorials/doc/
└── <tutorial_name>/
├── <tutorial_name>_tutorial.rst
├── CMakeLists.txt
├── package.xml
├── setup.py
├── images/
│ └── <tutorial_name>_<image_description>.png
├── include/
│ └── <tutorial_name>/
│ └── <include_header>.h # Any custom C++ library header files
├── launch/
│ └── <tutorial_name>_tutorial.launch
├── src/
│ ├── <tutorial_name>_tutorial.cpp # Main C++ executable
│ ├── <include_source>.cpp # Custom C++ library source files
│ └── <tutorial_name>/
│ ├── __init__.py
│ ├── <tutorial_name>_tutorial.py # Main Python executable
│ └── <python_library>.py # Custom Python libraries
└── test/ # Ideally tutorials have their own integration tests
├── <tutorial_name>_tutorial.test # Launch file for tests
├── <tutorial_name>_tutorial_test.py # Python tests for tutorial
└── <tutorial_name>_tutorial_test.cpp # C++ tests for tutorial
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
eigen |
Dependant Packages
Launch files
- doc/state_display/launch/state_display_tutorial.launch
- doc/motion_planning_api/launch/motion_planning_api_tutorial.launch
- doc/move_group_python_interface/launch/move_group_python_interface_tutorial.launch
- doc/planning_scene/launch/planning_scene_tutorial.launch
- doc/interactivity/launch/attached_body_tutorial.launch
- doc/interactivity/launch/interactivity_tutorial.launch
- doc/planning_scene_ros_api/launch/planning_scene_ros_api_tutorial.launch
- doc/perception_pipeline/launch/obstacle_avoidance_demo.launch
- doc/perception_pipeline/launch/detect_and_add_cylinder_collision_object_demo.launch
- doc/motion_planning_pipeline/launch/motion_planning_pipeline_tutorial.launch
-
- debug [default: false]
- doc/kinematics/launch/ros_api_tutorial.launch
- doc/robot_model_and_robot_state/launch/robot_model_and_robot_state_tutorial.launch
- doc/visualizing_collisions/launch/visualizing_collisions_tutorial.launch
- doc/move_group_interface/launch/move_group_interface_tutorial.launch