## Problem
When building openarm_ros2, the hardware interface tests fail because
the components_urdfs.hpp header from ros2_control_test_assets cannot be
found as
follows.
```console
$ colcon build
...
/home/otegami/work/cpp/ros2_ws/src/openarm_ros2/openarm_hardware/test/test_openarm_hardware.cpp:21:10: fatal error: ros2_control_test_assets/components_urdfs.hpp: No such file or directory
21 | #include "ros2_control_test_assets/components_urdfs.hpp"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/test_openarm_hardware.dir/build.make:79: CMakeFiles/test_openarm_hardware.dir/test/test_openarm_hardware.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:237: CMakeFiles/test_openarm_hardware.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed <<< openarm_hardware [14.9s, exited with code 2]
Summary: 6 packages finished [15.1s]
1 package failed: openarm_hardware
5 packages had stderr output: openarm_bimanual_bringup openarm_bimanual_description openarm_bringup openarm_description openarm_hardware
1 package not processed
```
## Cause
Although ros2_control_test_assets was installed, it wasn’t declared as a
dependency of the GMock test
target.
## Solution
Add ros2_control_test_assets as a test dependency in both the
CMakeLists.txt and in the package.xml,
ensuring the test can locate its headers.
|
||
|---|---|---|
| .github | ||
| openarm | ||
| openarm_bimanual_bringup | ||
| openarm_bimanual_description | ||
| openarm_bimanual_moveit_config | ||
| openarm_bringup | ||
| openarm_description | ||
| openarm_hardware | ||
| openarm_moveit_config | ||
| .clang-format | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| LICENSE | ||
| README.md | ||
ROS2 packages for OpenArm robots
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:
MoveIt2 Support
https://github.com/user-attachments/assets/a0f962e5-6150-49ce-b18e-9914bcb322ef
Installation
- Install ROS2 and ros-dev-tools (tested on Humble with Ubuntu 22.04)
- 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
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
- In a new terminal, source the workspace setup script
cd ~/ros2_ws
source install/setup.bash
- 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.