Go to file
takuya kodama 44bca7ba3a
fix: move xml-model declaration above license header (#14)
## Problem

When we launch openarm_bringup, the following error are raised.

```console
$ ros2 launch openarm_bringup openarm.launch.py
[INFO] [launch]: All log files can be found below /home/otegami/.ros/log/2025-05-23-15-07-52-834283-otegami-2239551
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [2239568]
[INFO] [robot_state_publisher-2]: process started with pid [2239569]
[INFO] [rviz2-3]: process started with pid [2239570]
[robot_state_publisher-2] [INFO] [1747984073.330768599] [robot_state_publisher]: Robot initialized
[ros2_control_node-1] [INFO] [1747984073.346291338] [controller_manager]: Using Steady (Monotonic) clock for triggering controller manager cycles.
[ros2_control_node-1] [ERROR] [1747984073.346957366] [pluginlib.ClassLoader]: Could not find a root element for package manifest at /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/package.xml.
[ros2_control_node-1] [ERROR] [1747984073.347001329] [pluginlib.ClassLoader]: Could not find package manifest (neither package.xml or deprecated manifest.xml) at same directory level as the plugin XML file /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/openarm_hardware.xml. Plugins will likely not be exported properly.
[ros2_control_node-1] )
[ros2_control_node-1] [ERROR] [1747984073.347237704] [pluginlib.ClassLoader]: Could not find a root element for package manifest at /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/package.xml.
[ros2_control_node-1] [ERROR] [1747984073.347246277] [pluginlib.ClassLoader]: Could not find package manifest (neither package.xml or deprecated manifest.xml) at same directory level as the plugin XML file /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/openarm_hardware.xml. Plugins will likely not be exported properly.
[ros2_control_node-1] )
[ros2_control_node-1] [ERROR] [1747984073.347465709] [pluginlib.ClassLoader]: Could not find a root element for package manifest at /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/package.xml.
[ros2_control_node-1] [ERROR] [1747984073.347471103] [pluginlib.ClassLoader]: Could not find package manifest (neither package.xml or deprecated manifest.xml) at same directory level as the plugin XML file /home/otegami/work/cpp/ros2_ws/install/openarm_hardware/share/openarm_hardware/openarm_hardware.xml. Plugins will likely not be exported properly.
```

## Cause

when the license comments appeared before the
xml-model instruction, it happedned.

## Solution

This PR changes places the xml-model declaration
immediately after the XML prolog and ahead of the
license block to resolve the issue.
2025-05-23 16:56:14 +09:00
.github Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +09:00
openarm fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_bimanual_bringup fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_bimanual_description fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_bimanual_moveit_config fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_bringup fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_description fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_hardware fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +09:00
openarm_moveit_config fix: move xml-model declaration above license header (#14) 2025-05-23 16:56:14 +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 Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +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 Relicense to Apache License 2.0 from BSD 3-Clause License (#13) 2025-05-22 16:22:55 +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 ROS2 distro
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
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

License

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