Repo symbol

manymove repository

Repo symbol

manymove repository

Repo symbol

manymove repository

Repo symbol

manymove repository

Repository Summary

Description To plan and execute moves with manipulators in ROS2
Checkout URI https://github.com/pastoriomarco/manymove.git
VCS Type git
VCS Version humble
Last Updated 2025-09-26
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

ManyMove project - ROS2 humble

ManyMove example

DISCLAIMER

This software is released under the BSD-3-Clause license (see LICENSE for details).

Safety notice: The package does not implement functional safety. You must integrate appropriate safety measures compliant with local regulations before deploying on real hardware.


Description

The manymove project is meant for roboticists to ease the transition to ROS2 coming from the classic frameworks of major manufacturers.
It provides a simplified, generalized framework for building robotic manipulator control logic using ROS 2 and MoveIt 2.
This series of packages was created around Ufactory Lite6 and UF850 cobots, but it is structured in a way that can extend to other robots. Also included is an example using Franka Emika Panda, which is the default demo model for Moveit in ROS2 Humble.


Prerequisites

  • Install ROS2 Humble
  • You’ll need MoveIt2 and Gazebo, but their installation will be taken care of through rosdesp intallation.
  • If you prefer to install manually, you can follow the instructions on the humble branch of my fork of xarm_ros2 on github.

Quick start (Humble)

Define your MANYMOVE_ROS_WS environment variable. If you want to change the workspace folder, edit the following line before running the command:

export MANYMOVE_ROS_WS=~/workspaces/dev_ws

Prepare the necessary folders’ structure (skip it if you already created the folders):

cd ~
mkdir -p ${MANYMOVE_ROS_WS}/src

Source ROS2 Humble (skip if already sourced, modify this if you need to source from another dir):

source /opt/ros/humble/setup.bash

Clone ManyMove and xarm_ros2 (skip if you just need to update):

  • DO NOT omit “–recursive”,or the source code of dependent submodule will not be downloaded.
  • Pay attention to the use of the -b parameter command branch, $ROS_DISTRO indicates the currently activated ROS version, if the ROS environment is not activated, you need to customize the specified branch (humble/jazzy)
cd ${MANYMOVE_ROS_WS}/src
git clone https://github.com/pastoriomarco/xarm_ros2.git --recursive -b $ROS_DISTRO
git clone https://github.com/pastoriomarco/manymove.git -b $ROS_DISTRO 

Update repos:

cd ${MANYMOVE_ROS_WS}/src/xarm_ros2
git submodule update --init --recursive
git pull --recurse-submodules
cd ${MANYMOVE_ROS_WS}/src/manymove
git pull

Install the dependencies:

cd ${MANYMOVE_ROS_WS}
rosdep update
rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

Optional: install Groot for visualizing behavior trees:

cd ${MANYMOVE_ROS_WS}/src/
git clone --recurse-submodules https://github.com/pastoriomarco/Groot.git
cd Groot
cmake -S . -B build
cmake --build build
cd ${MANYMOVE_ROS_WS}
rosdep update
rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

Build the packages from <workspace_dir>:

cd ${MANYMOVE_ROS_WS} && colcon build

Don’t forget to source!

source ${MANYMOVE_ROS_WS}/install/setup.bash


Bring your own robot

If you want to create a new application in ManyMove, once you have a working moveit config package you just need the following information:

  • Base frame/link of the robot
  • TCP (end effector) frame/link
  • traj_controller action server name
  • Robot’s name/model
  • Planner type: moveitcpp or movegroup

When using an actuated gripper you also need:

  • The name of the action server to control the gripper
  • The list of the gripper’s links to exclude from collision checking

File truncated at 100 lines see the full file

Repo symbol

manymove repository

Repo symbol

manymove repository

Repo symbol

manymove repository

Repo symbol

manymove repository