Go to file
toki d6cc80c17e
fix: compatible with canfd (#7)
## Summary

This PR updates the C++ hardware interface to support **CANFD** and confirms successful operation with **MoveIt** on the actual robot hardware.

---

##  Changes Made

- Migrated from classic CAN to **CANFD** in the motor control interface.
- Updated the following modules:
  - `openarm_hardware/include/openarm_hardware/canbus.hpp`
  - `openarm_hardware/src/canbus.cpp`
  - `openarm_hardware/src/motor_control.cpp`
  - `openarm_hardware/include/openarm_hardware/motor_control.hpp`
  - `openarm_hardware/src/openarm_hardware.cpp`
- Improved CAN socket handling and data frame structure.
- Refactored internal motor communication logic for robustness.

---

##  Verification

-  Confirmed joint control and motion execution with real hardware using **MoveIt**.
-  Controllers were properly loaded and executed planned trajectories without error.
-  CANFD communication is now functional and stable during runtime.
2025-05-19 11:32:09 +09:00
openarm Remove openarm_bimanual_teleop from openarm metapackage 2025-05-07 00:56:06 +09:00
openarm_bimanual_bringup Add openarm metapackage 2025-04-25 18:36:27 +09:00
openarm_bimanual_description Add openarm metapackage 2025-04-25 18:36:27 +09:00
openarm_bimanual_moveit_config Update generated urdfs 2025-04-25 18:04:06 +09:00
openarm_bringup Add openarm metapackage 2025-04-25 18:36:27 +09:00
openarm_description Update package.xml with description and maintainer info 2025-05-09 22:53:26 -06:00
openarm_hardware fix: compatible with canfd (#7) 2025-05-19 11:32:09 +09:00
openarm_moveit_config Remove unused dep 'warehouse_ros_mongo' from package.xml 2025-05-07 08:57:58 +09:00
.gitignore Add '*.swp' to .gitignore (#8) 2025-05-19 11:13:05 +09:00
LICENSE Add openarm_grip_description and openarm_moveit_config 2025-02-07 18:28:53 +09:00
README.md Update README.md with build status badge 2025-05-07 09:44:46 +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 BSD-3-Clause.