Part I: The ROS 2 stack · §2 of 43
In openarm_ros2 (this repo, main)
| Package | Purpose |
|---|---|
openarm | Metapackage. |
openarm_bringup | openarm.bimanual.launch.py plus controller YAMLs (config/controllers/). This is the “robot without MoveIt” entry point. |
openarm_hardware | The ros2_control plugin openarm_hardware/OpenArmHW that talks to the real motors through openarm_can. Hard-coded for the v1.0 motor layout (works for v2.0 arms too, which share the layout). |
openarm_bimanual_moveit_config | MoveIt 2 config: SRDF, kinematics, joint limits, MoveIt controller mapping, for both openarm_v1.0 and openarm_v2.0 (subfolders in config/). demo.launch.py starts the full stack plus MoveIt and RViz. |
There is no single-arm launch file on main (openarm.launch.py from the v1.0 docs is gone). The only bringup is bimanual.
Dependencies (cloned separately)
| Package | Purpose |
|---|---|
openarm_description | URDF/xacro, meshes, per-version config (joint limits, gains, inertials). Layout: assets/robot/openarm_v1.0/… and assets/robot/openarm_v2.0/…. Not listed in openarm.repos, so you must clone it yourself. |
openarm_can | C++ library (libopenarm_can) for Damiao motors over SocketCAN, plus CLI tools (openarm-can-cli, calibration scripts, demos). Pulled in by vcs import < openarm_ros2/openarm.repos. |
Tools from openarm_can built into the workspace (/root/ros2_ws/install/openarm_can/bin/):
| Tool | What it does |
|---|---|
openarm-can-cli | Configure CAN, discover motors, enable/disable, monitor, set zero, change IDs/baud, read/write motor params, diagnose. |
openarm-can-zero-position-calibration | Automatic zero calibration by bumping into mechanical stops. Python, needs the openarm_can Python module, which is not built in the container yet. |
openarm-can-calibration-in-cell | Same, for arms mounted in an OpenArm “cell” with a lifter. Not relevant for you. |
openarm-can-configure-socketcan-4-arms | Configures can0–can3 in one go. It fails if any of the four is missing, so for two arms use openarm-can-cli can_configure per interface instead. |
openarm-can-health, openarm-can-demo, openarm-can-motor-sampling-check | Diagnostics and demo programs. |