openarm_ros2/README.md
takuya kodama 56f98bd226
Relicense to Apache License 2.0 from BSD 3-Clause License (#13)
We are standardizing our software under Apache License 2.0. This PR
replaces existing BSD 3-Clause License with Apache 2.0 in this
repository.

## About Copyright

All commits in this repository are made by Reazon Holdings, Inc.
members, so the copyright has been added as follows.
- `Copyright 2025 Reazon Holdings, Inc.`
```console
$ git shortlog -sn
    55	Thomason Zhou
    14	thomason
     5	takuya kodama
     1	Fujimoto Seiji
     1	edwin-giang
     1	toki
```

## How it was done

We added the new license header directory by directory, with each commit
covering a single directory to make review easier.
To ensure there are no missing files, we ran the following commands.

```
$ grep -RIL --exclude-dir='.git' --exclude='*.stl' "Apache License, Version 2.0" .
./openarm_bringup/README.md
./openarm_bimanual_moveit_config/README.md
./openarm_bimanual_description/urdf/openarm_bimanual.urdf
./.gitignore
./README.md
./openarm_description/urdf/openarm.urdf
./openarm_description/resource/openarm_description
```

The following files are auto-generated. 
- openarm_bimanual_description/urdf/openarm_bimanual.urdf
- openarm_description/urdf/openarm.urdf
2025-05-22 16:22:55 +09:00

80 lines
2.8 KiB
Markdown

# ROS2 packages for OpenArm robots
<p>
<a href="https://build.ros2.org/job/Hdev__openarm__ubuntu_jammy_amd64/" alt="alt="ROS2 build status">
<img src="https://build.ros2.org/buildStatus/icon?job=Hdev__openarm__ubuntu_jammy_amd64"/>
</a>
<a href="https://github.com/reazon-research/openarm_ros2/tree/main/LICENSE" alt="Apache License 2.0">
<img src="https://img.shields.io/github/license/reazon-research/openarm_ros2"/>
</a>
</p>
[Quickstart](#installation)
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](https://github.com/moveit/moveit2)
### Description Packages
Each link has a visual mesh and a collision mesh, as shown in the figures below:
<img width="412" alt="visual meshes of openarm_bimanual_description urdf in rviz2" src="https://github.com/user-attachments/assets/9020efc3-69bc-420d-93a1-305885925638" />
<img width="383" alt="collision meshes of openarm_bimanual_description urdf in rviz2" src="https://github.com/user-attachments/assets/6f62184e-ccea-4859-9364-7c7d1b8def86" />
### MoveIt2 Support
https://github.com/user-attachments/assets/a0f962e5-6150-49ce-b18e-9914bcb322ef
## Installation
1. [Install ROS2 and ros-dev-tools](https://docs.ros.org/en/humble/Installation.html) (tested on Humble with Ubuntu 22.04)
2. [Create a ROS2 workspace and source the overlay](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Creating-A-Workspace/Creating-A-Workspace.html)
```sh
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
```
3. [Install dependencies with rosdep](https://docs.ros.org/en/humble/Tutorials/Intermediate/Rosdep.html) and [build the packages with colcon](https://docs.ros.org/en/humble/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html)
```sh
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
```
4. *In a new terminal*, source the workspace setup script
```sh
cd ~/ros2_ws
source install/setup.bash
```
5. Test the installation by launching a demo. It may be necessary to restart your computer once.
```sh
ros2 launch openarm_bimanual_moveit_config demo.launch.py
```
## License
All packages of `openarm_ros2` are licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).