Go to file
2025-07-02 08:33:34 -07:00
.github Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +09:00
openarm Remove openarm_moveit_config from metapackage (#25) 2025-07-02 08:33:34 -07:00
openarm_bimanual_bringup lint: add autopep8 to pre-commit hook for Python formatting (#21) 2025-06-02 17:00:35 +09:00
openarm_bimanual_description Revert "Kirigirisu merge feature added" (#24) 2025-07-01 15:10:37 +09:00
openarm_bimanual_moveit_config lint: add autopep8 to pre-commit hook for Python formatting (#21) 2025-06-02 17:00:35 +09:00
openarm_bringup lint: add autopep8 to pre-commit hook for Python formatting (#21) 2025-06-02 17:00:35 +09:00
openarm_description refactor: separate robot and control xacros (#22) 2025-06-08 21:21:10 +09:00
openarm_hardware Revert "Kirigirisu merge feature added" (#24) 2025-07-01 15:10:37 +09:00
.clang-format Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +09:00
.gitignore Add '*.swp' to .gitignore (#8) 2025-05-19 11:13:05 +09:00
.pre-commit-config.yaml lint: add autopep8 to pre-commit hook for Python formatting (#21) 2025-06-02 17:00:35 +09:00
CODE_OF_CONDUCT.md Add Contributor Covenant Code of Conduct (#18) 2025-05-28 11:59:34 +09:00
LICENSE Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +09:00
README.md Updated README.md for jazzy patch part 2025-06-24 17:41:42 +09:00

ROS2 packages for OpenArm robots

Quickstart

https://github.com/user-attachments/assets/90b44ef4-5cdc-4bf5-b56f-be2a5ff264b4

  • openarm_bimanual_description: dual arm urdf with torso and realsense head camera
  • openarm_bimanual_moveit_config: bimanual motion planning with OctoMap occupancy grid mapping
  • openarm_bimanual_bringup: setup scripts for bimanual openarm
  • openarm_bringup: setup scripts for single physical openarm
  • openarm_description: single arm urdf
  • openarm_hardware: hardware interface for ros2_control
  • openarm_moveit_config: motion planning with moveit2

Description Packages

Each link has a visual mesh and a collision mesh, as shown in the figures below:

visual meshes of openarm_bimanual_description urdf in rviz2 collision meshes of openarm_bimanual_description urdf in rviz2

MoveIt2 Support

https://github.com/user-attachments/assets/a0f962e5-6150-49ce-b18e-9914bcb322ef


Installation

  1. Install ROS2 and ros-dev-tools (tested on Humble with Ubuntu 22.04)
  2. Create a ROS2 workspace and source the overlay
source /opt/ros/humble/setup.bash # Change "humble" to your ROS 2 distro, ie:
                                  # source /opt/ros/jazzy/setup.bash 
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/reazon-research/openarm_ros2.git
  1. Install dependencies with rosdep and build the packages with colcon
cd ~/ros2_ws
sudo rosdep init
rosdep update
rosdep install --from-paths src -y --ignore-src -r

sudo apt install -y python3-colcon-common-extensions

#⚠️ If you're using ROS2 Iron or Jazzy, apply the patch below before building:

colcon build
  1. In a new terminal, source the workspace setup script
cd ~/ros2_ws
source install/setup.bash
  1. Test the installation by launching a demo. It may be necessary to restart your computer once.
ros2 launch openarm_bimanual_moveit_config demo.launch.py

ROS2 Jazzy patch

Edit the test source file:

nano ~/ros2_ws/src/openarm_ros2/openarm_hardware/test/test_openarm_hardware.cpp

Find the line near the bottom:

  ASSERT_NO_THROW(hardware_interface::ResourceManager rm(urdf));

Replace it with:

  ASSERT_NO_THROW({
    auto logger = rclcpp::get_logger("test_logger");
    auto clock = std::make_shared<rclcpp::Clock>(RCL_ROS_TIME);
    hardware_interface::ResourceManager rm(urdf, clock, logger, true, 0);
  });

Continue with the build.


License

All packages of openarm_ros2 are licensed under the Apache License 2.0.

Code of Conduct

All participation in the ROS2 packages for OpenArm project is governed by our Code of Conduct.