Go to file
Yue Yin 5bbe23cf28
refactor: separate robot and control xacros (#22)
# Summary
The previous URDF directory structure used has a chained call from
**openarm.urdf.xacro** -> **openarm.xacro** ->
**openarm.ros2_control.xacro**.
**openarm.xacro** takes both robot hardware description and
control/communication configuration arguments but the file content is
only about robot description.

# Changes Made
- Renamed **openarm.xacro** to **openarm.robot.xacro**. This file now
contains only the robot's hardware description, including links, joints,
visuals, and inertial properties.
- **openarm.control.xacro** handles all ROS 2 control configurations,
including hardware interfaces, joint interfaces, and CAN device setup.
- Updated openarm.urdf.xacro (entry point)Calls both
**openarm.robot.xacro** and **openarm.control.xacro**.

This change should separates responsibilities and arguments for each
subsystem.
Have tested with bringup scripts for both single-arm and bimanual
configurations.
2025-06-08 21:21:10 +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 lint: add autopep8 to pre-commit hook for Python formatting (#21) 2025-06-02 17:00:35 +09:00
openarm_bimanual_description refactor: separate robot and control xacros (#22) 2025-06-08 21:21:10 +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 openarm_hardware: add ros2_control_test_assets as a test dependency (#15) 2025-05-25 20:30:31 +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 Add Contributor Covenant Code of Conduct (#18) 2025-05-28 11:59:34 +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.

Code of Conduct

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