finds.dev← search

// the find

moveit/moveit2

★ 2,047 · C++ · BSD-3-Clause · updated Sep 2026

:robot: MoveIt for ROS 2

MoveIt 2 is the motion planning framework for ROS 2 manipulators. It covers collision checking, kinematics, trajectory planning (OMPL, CHOMP, STOMP, Pilz), controller execution, and setup tooling for new arms. It is aimed at engineers building arm-based robot applications, from research prototypes to products, and PickNik sells a commercially supported version on top.

The core pieces are pluginlib plugins: collision backends (FCL, Bullet, distance fields), planners, and kinematics solvers can each be swapped without forking the stack. The branch policy is explicit. main takes breaking changes, while humble, jazzy, and kilted receive only backported fixes and each targets exactly one distro, so pinning a release is a sensible choice. CI runs on Rolling, Jazzy, and Humble with coverage reporting and a separate pre-commit formatting workflow. moveit_setup_assistant and moveit_configs_utils remove a lot of hand-written SRDF and launch boilerplate for a new arm.

Getting it building is the main cost. It is a large multi-package C++ tree that pulls in most of ROS 2, and the README gives install and tutorial links to two separate sites (moveit.ai and moveit.picknik.ai) with no inline quickstart. The buildfarm table has empty Humble cells for moveit_py, moveit_planners_stomp, moveit_ros_tests, and moveit_ros_trajectory_cache, so the Python bindings and some planners are not binary-installable on that distro. Breaking changes land on main at any time, and the migration status from MoveIt 1 is tracked in an external spreadsheet rather than in the repo. Anyone following main should expect to rework code between releases.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →