This repository contains ROS2 Humble package for dual arm manipulation with the sampling based planner.
- Ubuntu 24.04.2 LTS
- ROS2 Humble
- UR5e robots
- NVIDIA GeForce RTX™ 3090
- data/: Folder to which the setup info and trajectory are saved.
- ur5e_hande_mjx/: The MuJoCo model description.
- sampling_based_planner/: Sampling based planner.
- launch/ : Launch files for dual_arm_demo and visualizer.
- config/ : Config files with parameters for dual_arm_demo and visualizer.
- dual_arm_demo.py : The code for online planning using Model Predictive Control strategy (has both hardware and non-hardware).
- visualizer.py : The code for visualizing current MuJoCo environment and/or recorded trajectory from /data folder.
Create colcon workspace and clone the repository:
$ mkdir -p ~/colcon_ws/src
$ cd ~/colcon_ws/src
$ git clone -b {TASK_NAME} https://github.com/AKS-Lab-Univertsity-of-Tartu/bimanual_manipulation.gitIn the main branch, the task is set to tray_multiple_targets. To use a different task, switch to the corresponding branch.
Pull submodules and build workspace:
$ cd ~/colcon_ws/src/manipulator_mujoco
$ git submodule update --init --recursive
$ cd ~/colcon_ws
$ colcon buildCreate virtual python environment and install requirements:
$ python3 -m venv ~/{name}_env
$ source ~/{name}_env/bin/activate
$ cd ~/colcon_ws/src/manipulator_mujoco
$ pip install -r requirements.txt
$ deactivateSource the workspace and export virtual environment path (has to be done each time a new terminal is opened):
$ cd ~/colcon_ws
$ source install/setup.bash
$ export PYTHONPATH=/path/to/env/{name}/lib/python3.12/site-packages:$PYTHONPATHTo check what arguments are available to set from command line:
ros2 launch real_demo dual_arm_demo.launch.py --show-argumentsRun planner:
$ ros2 launch real_demo dual_arm_demo.launch.py [arg_name:=arg_value]