![]() |
manymove repositorymanymove_bringup manymove_cpp_trees manymove_hmi manymove_msgs manymove_object_manager manymove_planner manymove_py_trees manymove_signals |
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 (-) |
Packages
Name | Version |
---|---|
manymove_bringup | 0.1.0 |
manymove_cpp_trees | 0.1.0 |
manymove_hmi | 0.0.0 |
manymove_msgs | 0.1.0 |
manymove_object_manager | 0.1.0 |
manymove_planner | 0.1.0 |
manymove_py_trees | 0.1.0 |
manymove_signals | 0.1.0 |
README
ManyMove project - ROS2 humble
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