Docker is an open-source project that automates the deployment of Linux applications inside software containers. See https://www.docker.com/.
Docker can help you easily evaluate someone else’s code changes without breaking your local setup, as well as test on versions of Linux other than your local installed version. MoveIt! has an official MoveIt! Docker build that lets you quickly get a MoveIt! setup in a local container.
Before starting this tutorial please complete installation as described in Docker’s installation instructions. Installation instructions are available for multiple operating systems.
Note that for recent Linux distros, the installation is basically just a single wget command. You may also want add your user to the docker group to avoid having to use sudo permissions when you use the docker command.
If you are running a recent version of Ubuntu (e.g. 14.04, 16.04) it can be as simple as:
sudo apt-get install curl curl -sSL https://get.docker.com/ | sh sudo usermod -aG docker $(whoami)
And you will likely need to log out and back into your user account for the changes to take affect.
Now that you have Docker installed, pull down a MoveIt! container image:
docker pull moveit/moveit
This will pull the latest tagged image of MoveIt! from Docker Hub onto your local host machine.
Within the MoveIt! Dockerhub page you’ll find additional tag names you can use to help specify what exact ROS version you’d like to use. For example:
docker pull moveit/moveit:indigo-source
For a debian-installed container of MoveIt:
docker run -it moveit/moveit:kinetic-release
For a built-by-source container of MoveIt:
docker run -it moveit/moveit:kinetic-source
Any of the three current distros work: [indigo, jade, kinetic]
To make the source container more useful for developing and testing code, we recommend you install the following extra dependencies because the docker container is very bare-bones:
apt-get install less ssh bash-completion tree nano emacs
MoveIt!’s docker containers are built automatically on dockerhub.com, but you can modify and build locally if desired with the following command:
cd kinetic/source docker build -t moveit/moveit:kinetic-source .
These instructions are currently experiemental. For more details see the ROS tutorial:
# This is not the safest way however, as you then compromise the access control to X server on your host xhost +local:root # for the lazy and reckless docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" moveit/moveit:kinetic-source export containerId=$(docker ps -l -q) # Close security hole: xhost -local:root
First update for Indigo since 6 months ago including many features.
MoveIt! is now released into ROS Kinetic LTS (Long Term Support)! Kinetic is now the recommended ROS version that comes with the newest capabilities and bug fixes for MoveIt!.
Watch video of the second MoveIt! Community Meeting in case you missed it.
The second MoveIt! community meeting will be on October 27th at 8am Pacific to discuss the latest developments and uses of MoveIt! around the world.
If you’re running your robot packages with ROS Jade, and/or if you want to try the newest MoveIt!, start at moveit.ros.org/install