Skip to content
Demonstrator applications for using MoveIt with full robotic setups
Python Dockerfile Shell CMake
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.docker/random_pick Add random pick code (#5) Nov 12, 2019
.rosinstall/random_pick
.travis/random_pick Add random pick code (#5) Nov 12, 2019
examples/random_pick Add random pick code (#5) Nov 12, 2019
tutorials Add random pick code (#5) Nov 12, 2019
.clang-format Add random pick code (#5) Nov 12, 2019
.gitignore Add random_pick application's moveit config (#2) Nov 4, 2019
.travis.yml Add random pick code (#5) Nov 12, 2019
CHANGELOG.rst Add random_pick application's moveit config (#2) Nov 4, 2019
LICENSE Add random_pick application's moveit config (#2) Nov 4, 2019
README.md Add random pick code (#5) Nov 12, 2019
moveit_example_apps.rosinstall Add random_pick application's moveit config (#2) Nov 4, 2019

README.md

moveit_example_apps

This project demonstrates advanced applications for using MoveIt with full robotic setups. For each listed application, there is a tutorial introducing how to replicate and run the application either in simulation or with real robot. If you are interested in the technique details, you can visit MoveIt Tutorials for further information.

Applications

Application Name Documentation Docker
Random Pick random_pick_tutorial moveit/moveit_example_apps:random_pick

Continuous Integration

Build Status

Contributing

There are many diverse application examples of what you can use MoveIt for. Your contribution is encouraged, no matter the application is developed for some usages, competitions or research topics, or to demonstrate the newly developed MoveIt feature.

If you are interested in adding a new MoveIt application in this project, please consider following the below instructions.

Directory Structure

For each example application, it should contain two parts: example codes and tutorials.

  • The example codes of each application should live in its own subdirectory in the ./examples/<app_name> directory.
  • Under ./examples/<app_name> directory, there should be two packages: <app_name> and <app_moveit_config_package>.
  • Refer to the example below for how the structure of ./examples/<app_name> directory would look like:
moveit_example_apps/examples/
└── <app_name>/
    ├── <app_name>/
    |   ├── control/                             # Launch and config files of controllers
    |   ├── gazebo/                              # Gazebo launch files
    |   ├── launch/                              # Demo launch files
    |   ├── rviz/                                # Rviz config files
    |   ├── scripts/                             # Python files
    |   ├── data/                                # Custom simulation data
    |   |   └── <app_name>.pcd
    |   ├── include/                             # Header files
    |   |   └── <app_name>.h
    |   ├── src/                                 # Source files
    |   |   └── <app_name>.cpp
    |   ├── urdf/                                # URDF and mesh files
    |   ├── CMakeLists.txt
    |   ├── package.xml
    |   └── README.md
    └── <app_moveit_config_package>/             # Custom moveit_config package
  • The tutorials build with rosdoc_lite and Sphinx builder. Each tutorial should live in its own subdirectory under the ./tutorials/doc/<app_name> directory.
  • Each tutorial should use the reStructuredText format and follow the structure of ./tutorials/doc/template.rst.
  • Add your tutorial file name to ./tutorials/index.rst.
  • Refer to the example below for how the structure of ./tutorials directory would look like:
moveit_example_apps/tutorials/
├── _static/
├── doc/
|   ├── <app_name>/
|   |   ├── images/                              # Screen shots of app outputs
|   |   └── <app_name>.rst                       # Custom app tutorial
|   └── template.rst                             # App tutorial template
├── index.rst                                    # Entry file of moveit_example_apps' tutorials
├── conf.py
├── build_locally.sh
├── rosdoc.yaml
├── README.md
├── CMakeLists.txt
└── package.xml

CI Test

In order to guarantee a successful compilation and running at others' side, it is necessary to make the application continuously tested. The application contributor can consider providing the following components as what random_pick did to enable moveit_ci to the application:

  • .docker/random_pick/Dockerfile: for setting up the dependencies of external libraries, which overlay on moveit/moveit:master-source.
  • .rosinstall/random_pick/random_pick.rosinstall: for the source dependencies required to be built in the catkin workspace.
  • .travis/random_pick/before_script.sh: for setting up the environment variables and directory path of dependencies in the docker container.
  • A custom docker image, built from the docker file. Perhaps this image can be tagged as moveit/moveit_example_apps:random_pick.
You can’t perform that action at this time.