Skip to content
The MoveIt 2 Motion Planning Framework for ROS 2.0
Branch: master
Clone or download
Pull request Compare This branch is 727 commits ahead, 19 commits behind ros-planning:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.docker Update Dockerfile May 6, 2019
.github Improve wording of probot for first pull request merged (#1232) Nov 27, 2018
.logo Update logos and gitignore Apr 7, 2019
moveit colcon ignore moveit Mar 28, 2019
moveit_commander colcon ignore moveit Mar 28, 2019
moveit_core Merge branch 'master' of https://github.com/acutronicrobotics/moveit2 May 21, 2019
moveit_experimental Minimal proof of concept (#71) May 15, 2019
moveit_kinematics Change timeout return type May 17, 2019
moveit_planners Minimal proof of concept (#71) May 15, 2019
moveit_plugins moveit_fake_controller_manager - Adding initialize method and clean May 16, 2019
moveit_ros Merge branch 'master' of https://github.com/acutronicrobotics/moveit2 May 21, 2019
moveit_runtime colcon ignore moveit Mar 28, 2019
moveit_setup_assistant colcon ignore moveit Mar 28, 2019
.clang-format improve clang-format settings Nov 20, 2018
.clang-tidy Apply clang tidy fix to entire code base (Part 2) (#1394) Mar 14, 2019
.gitignore Update logos and gitignore Apr 7, 2019
.travis.linux.env Re-enable Travis in OS X (#54) Apr 21, 2019
.travis.osx.env Re-enable Travis in OS X (#54) Apr 21, 2019
.travis.yml Re-enable Travis in OS X (#54) Apr 21, 2019
CONTRIBUTING.md Add CONTRIBUTING.md file, set pull request expectations (#557) Jul 23, 2017
LICENSE.txt Add license file to root of project (#349) Nov 14, 2016
MIGRATION.md moveit_commander.MoveGroupInterface.plan() to better align with C++ M… Mar 16, 2019
README.md Update README with additional step May 21, 2019
mara-ros2.repos Create mara-ros2.repos Mar 25, 2019
moveit.rosinstall fixing rosinstall branch (#70) Apr 1, 2019
moveit2.repos Update moveit2.repos May 20, 2019
osx-compile-moveit2.sh Restore moveit2.repos and remove it from OSX May 7, 2019
osx-dependencies.sh Added dependency: Mar 9, 2019
osx-install-ros2-binary.sh resource retriever from sources May 7, 2019
osx-install-ros2-source.sh Re-enable Travis in OS X (#54) Apr 21, 2019
ubuntu-install.sh Update ubuntu-install.sh Apr 5, 2019

README.md

MoveIt 2 Logo

Build Status

The MoveIt! Motion Planning Framework for ROS 2.0

Milestones

  1. Official announcement, commitment from Acutronic Robotics to allocate PMs and fund PickNik
  2. Why MoveIt 2 and approach
  3. Porting and understanding moveit_core

Progress

Install instructions (DEPRECATED, see below)
Update/setup infrastructure for development
  • Upgrade continuous integration for ROS 2.0
  • Convert all headers and link it to HRIM (contributed by @ibaiape)
  • Update/setup infrastructure for development
    • Delete metapackages
    • Upgrade continuous integration for ROS 2.0
    • Refactor/cleanup folder hierarchy
Dependencies on other packages
Convert moveit_core packages to ROS 2.0
  • Convert moveit_core packages to ROS 2.0
    • version
    • macros
    • backtrace
    • exceptions
    • profiler
    • logging
    • background_processing
    • kinematics_base
    • controller_manager
    • sensor_manager
    • robot_model
    • transforms
    • robot_state
    • robot_trajectory
    • collision_detection
    • collision_detection_fcl
    • kinematic_constraints
    • planning_scene
    • constraint_samplers
    • planning_interface
    • planning_request_adapter
    • trajectory_processing
    • distance_field
    • collision_distance_field
    • kinematics_metrics
    • dynamics_solver
    • utils
Other moveit packages (e.g. moveit_ros, ...)
Necessary for a Minimal Working Example
  • Necessary for a Minimal Working Example
    • moveit_core
    • moveit_ros_perception
      • occupancy_map_monitor
    • move_group
    • moveit_ros_planning
      • rdf_loader
      • collision_plugin_loader
      • kinematics_plugin_loader
      • robot_model_loader
      • constraint_sampler_manager_loader
      • planning_request_adapter_plugins
      • planning_pipeline
      • planning_scene_monitor
      • trajectory_execution_manager
      • plan_execution
    • planning_interface
      • common_planning_interface_objects
      • planning_scene_interface
      • move_group_interface (partially)
      • test
    • moveit_planner
      • ompl
    • moveit_kinematics
      • kdl_kinematics_plugin
    • moveit_plugins
      • moveit_fake_cotroller_manager
      • moveit_simple_controller_manager
New features in ROS 2.0 (not started)
  • New features in ROS 2.0
    • Migrate plugin architecture to ROS2 nodelets
Documentation (not started)
  • Documentation
    • Tutorials for MoveIt2
    • Create tutorial on using ros1/ros2 bridge to support ros1 hardware drivers
    • Move install instructions to moveit.ros.org
    • [ ]
Major refactoring and divergence from moveit2 (not started)
  • Major refactoring and divergence from moveit2
    • Run ROS2 C++ and python linters
    • Delete excesses packages that are left over from rosbuild stacks: moveit_runtime, moveit_plugins, moveit_ros
    • Rename non-package folders:
      • rename moveit_planners to planners
      • rename moveit_plugins to controller_interfaces
    • Restructure folder layout of moveit repo:
      • flatten moveit_ros folder to root of repo
      • rename all moveit_ros folders with moveit_ros prefix
    • Rename major classes
      • ControllerManagers become ControllerInterfaces
      • Rename related packages
    • Merge repos:
      • moveit 9.6 MB
      • moveit_task_constructor
      • moveit_tutorials 28.6 MB
      • moveit_msgs
      • moveit_resources 61 MB
      • moveit_visual_tools
      • moveit_advanced?
      • DELETE: moveit_kinematics_tests
    • Remove large binaries from moveit repo
    • Add gitlfs?

Install and test MoveIt 2

Note that moveit2 is a work in progress. Limited effort has been allocated to provide instructions on how to reproduce the available work.

Install and test options

From sources

Ubuntu 18.04

Install ros2 dashing pre-release

Follow this to install ros2 dashing pre-release

NOTE: Remove tf2 if you installed it from sources

sudo apt-get purge ros-dashing-tf2*

Install additional dependencies

sudo apt-get install python-vcstool python3-colcon-*
Compile moveit2 and dependencies:
mkdir -p ~/moveit2_ws/src
cd ~/moveit2_ws/src
git clone https://github.com/AcutronicRobotics/moveit2 -b master_compile
cd ~/moveit2_ws
vcs import src < src/moveit2/moveit2.repos
colcon build --merge-install --cmake-args -DBUILD_TESTING=FALSE

OS X 10.14 (DEPRECATED)

Refer to https://acutronicrobotics.com/docs/products/robots/mara/moveit2/install/osx (outdated)

Using the CI infrastructure

Moveit uses a Docker-based CI infrastructure to run tests and validate commits. Such infrastructure adapted for MoveIt 2 is available at https://github.com/acutronicrobotics/moveit_ci.git.

Using the CI infrastructure, one can get access to MoveIt 2 current status and test its capabilities

Using the CI infrastructure in Ubuntu

Note: You need to have docker installed on your system.

cd ~ && git clone https://github.com/AcutronicRobotics/moveit2
cd ~/moveit2
git clone -q -b ros2 --depth=1 https://github.com/acutronicrobotics/moveit_ci.git .moveit_ci
export MOVEIT_CI_TRAVIS_TIMEOUT=85  # Travis grants us 90 min, but we add a safety margin of 5 min
export ROS_DISTRO=crystal
export ROS_REPO=acutronicrobotics
export UPSTREAM_WORKSPACE=moveit.rosinstall
export TEST_BLACKLIST="moveit_ros_perception tf2_ros"  # mesh_filter_test fails due to broken Mesa OpenGL
export CXXFLAGS="-Wall -Wextra -Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-unused-function"
.moveit_ci/travis.sh

Using the CI infrastructure in OS X

TODO

Using a Docker container (DEPRECATED)

An attempt to provide an environment whereto build the existing moveit2 repository is available at https://github.com/AcutronicRobotics/moveit2/tree/local-build/.docker/local-build.

# from https://github.com/AcutronicRobotics/moveit2/tree/local-build/.docker/local-build
# Build it
docker build -t local-build --build-arg=<branch> .
# or docker build -t local-build .

# Run it
docker run -it local-build
# inside of the container, compile the moveit2 code
colcon build --merge-install #Inside of the docker container

Continuous Integration

Build Status

Refer to https://github.com/AcutronicRobotics/moveit_ci. Docker containers (containing the appropriate ROS 2 release with the right dependencies) are created for the purpose of CI and available at https://cloud.docker.com/u/acutronicrobotics/repository/docker/acutronicrobotics/moveit2.

ROS 2 Buildfarm

Releases of MoveIt 2 aren't planned for now.

You can’t perform that action at this time.