Commit Graph

79 Commits

Author SHA1 Message Date
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
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
takuya kodama
421e70a318
remove Vim's swap files (#12)
GitHub: GH-8
2025-05-19 16:40:35 +09:00
takuya kodama
d109f32963
clang-format: apply clang-format suggestions (#10)
Executed the following command and accept suggestions.

```console
$ nice pre-commit run --show-diff-on-failure --color=always --all-files
```
2025-05-19 16:36:06 +09:00
takuya kodama
30d11b4d28
ci: Enable Dependabot for GitHub Actions (#11) 2025-05-19 13:58:46 +09:00
takuya kodama
c9fbd8aada
ci: add pre-commit and CI lint workflow (#9)
We introduce pre-commit hook with clang-format to
enforce a unified code style across the project,
reducing style discussions and speeding up cod
reviews.

ref: https://pre-commit.com/
2025-05-19 12:25:56 +09:00
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
takuya kodama
de9eb17e86
Add '*.swp' to .gitignore (#8)
Vim swap files (*.swp) are not needed in version
control.
2025-05-19 11:13:05 +09:00
thomason
a8778090a7
Update package.xml with description and maintainer info 2025-05-09 22:53:26 -06:00
thomason
ea2e25e8f9
Update README.md with build status badge 2025-05-07 09:44:46 +09:00
thomason
e9365f0f26
Update openarm_hardware package.xml to include hardware_interface and pluginlib 2025-05-07 09:17:01 +09:00
thomason
e4afcbf11d
Remove unused dep 'warehouse_ros_mongo' from package.xml 2025-05-07 08:57:58 +09:00
thomason
7d4eaf9729
Remove openarm_bimanual_teleop from openarm metapackage 2025-05-07 00:56:06 +09:00
thomason
1d881bb5a1
Update package.xml with BSD-3-Clause License 2025-05-06 18:14:32 +09:00
Thomason Zhou
d9a2a6d0c0 Add openarm metapackage 2025-04-25 18:36:27 +09:00
Thomason Zhou
e24c9e37e6 Update generated urdfs 2025-04-25 18:04:06 +09:00
thomason
fcd1a10291
Correct URDF to true joint limits + Add and update documentation (#6)
* Rename openarm_bimanual_teleop to openarm_bimanual_bringup

* Update package descriptions

* Add quickstart link

* Add note to source overlay

* Add test installation step

* Add poses and update default rviz config

* Fix rev1 to match hardware

* Align rev3 with hardware joint limits

* Match hardware joint limits

* Complete with more poses

* Update README.md with moveit2 video

* Add new READMEs in openarm_bringup and openarm_bimanual_moveit_config

* Add octomap note
2025-04-25 17:57:10 +09:00
Thomason Zhou
f7ca1fe7b7 Add updated urdfs 2025-04-23 18:33:41 +09:00
thomason
1a1084c627
Add moveit2 package with dual arm/gripper (#5)
* Create mujoco_ros2_control package

* Enable Mujoco hardware interface for OpenArm

* Verify connection with ros2_control

* Update actuators to pos/vel

* Add motor after creation

* Tune KD for smoother motion

* Restore realsense camera

* Change camera to be 10 tilt from vertical to match physical model

* Repair urdf to match physical robot

* Checkpoint moveit2_configuration

* Remove collision between camera and pedestal and remove additional ros2_control interfaces for mock

* Enable octomap perception

* Fix base_link to world transform

* Update openarm to support moveit2 bimanual planning with end effectors

* Improve safety of openarm_hardware zero position autocalibration

* Remove openarm_mujoco_ros2_control from moveit2 branch

* Restore sensor functionality
2025-04-22 18:46:27 +09:00
Thomason Zhou
ce06ea14c1 Add URDFs 2025-04-15 15:38:11 +09:00
Thomason Zhou
65baa02f54 Resolve merge conflict 2025-04-15 15:32:09 +09:00
Thomason Zhou
9618e107a5 Remove default disable_torque_ in openarm 2025-04-10 18:34:54 +09:00
thomason
596c498598
Add openarm_bimanual_moveit_config and deploy to physical openarm (#3)
See https://github.com/reazon-research/openarm_ros2/pull/3 for video
2025-04-10 18:31:15 +09:00
Thomason Zhou
42935bb3b1 Clean up openarm_bimanual_description 2025-04-01 13:47:32 +09:00
Thomason Zhou
b50556cb83 Refactor openarm urdf 2025-04-01 13:46:52 +09:00
Thomason Zhou
8168442d4e Add library install for openarm_hardware 2025-04-01 13:46:10 +09:00
thomason
d743016402
Update README.md with installation instructions 2025-03-28 19:09:46 +09:00
Thomason Zhou
0246fc63ca Reorder packages in alphabetical order in README.md 2025-03-28 18:06:57 +09:00
thomason
595fbe7745
Implement openarm ros2_control support with openarm_hardware and openarm_bringup (#2)
- openarm_bringup: ros2_control bringup
- openarm_hardware: hardware interface for ros2_control
2025-03-28 18:05:38 +09:00
Thomason Zhou
52f39010d7 Update package.xml description for openarm_bimanual_description 2025-03-11 14:24:38 +09:00
thomason
8cfbde64a6
Update README.md with pictures of completed openarm_bimanual_description urdf 2025-03-11 14:22:47 +09:00
Thomason Zhou
d5a93222a5 Add openarm_bimanual_description to the readme 2025-03-11 14:13:26 +09:00
Thomason Zhou
5839d05ffa Update default zero to be up, with option for arm zero position (bend shoulder) 2025-03-11 13:35:34 +09:00
Thomason Zhou
73eea36fde Update urdf 2025-03-11 13:17:59 +09:00
Thomason Zhou
bb8bff1b63 Refactor openarm_description into separate package 2025-03-11 13:16:12 +09:00
Thomason Zhou
17b99f5342 Cleanup bimanual_description 2025-03-11 13:06:46 +09:00
Thomason Zhou
3b8f12da9c Use stl over dae 2025-03-11 12:49:23 +09:00
Thomason Zhou
db10d87545 Remove redundant dae files 2025-03-11 12:26:40 +09:00
Thomason Zhou
4dddd2b958 Rename dae to more readable names 2025-03-11 12:23:32 +09:00
Thomason Zhou
c5f8cfb248 Update rom of gripper to 4.51cm 2025-03-11 12:08:14 +09:00
Thomason Zhou
289ed48c69 Generate updated urdf 2025-03-11 00:56:48 +09:00
Thomason Zhou
62b6e3afe1 Align left gripper visual mesh 2025-03-10 23:37:26 +09:00
Thomason Zhou
f88e62e6fb Align left arm mesh 2025-03-10 23:25:32 +09:00
Thomason Zhou
44667562ed Complete mesh alignment for left arm 2025-03-10 23:13:04 +09:00
Thomason Zhou
2a0ef59929 Close 2025-03-10 22:52:04 +09:00
Thomason Zhou
e00fa98f7b Add rotate mesh for actuator motor 2025-03-10 22:51:20 +09:00
Thomason Zhou
90f859b54a Add left wrist 2025-03-10 22:37:42 +09:00
Thomason Zhou
fdf02a7284 Add arm mirrors 2025-03-10 21:40:29 +09:00
Thomason Zhou
d630ecb127 Checkpoint: left arm up to link4 2025-03-10 21:24:14 +09:00
Thomason Zhou
749a893c80 Revert side 2025-03-10 19:27:48 +09:00