Arm CAN Setup
Scope¶
This page targets:
- AgileX Piper robotic arm
- The official USB-to-CAN module shipped for the arm
piper_rossingle-arm control workflows
Install Dependencies¶
Find the CAN Module¶
Typical output:
Record the USB port ID. It is the safest way to distinguish the arm adapter from chassis CAN adapters on the same machine.
Recommended Single-Arm Naming¶
To avoid conflicts with chassis CAN, the project recommends naming the arm interface can_piper:
If you explicitly want the default interface name, use:
Arm and Chassis on the Same Machine¶
Recommended naming:
- Chassis:
can0 - Piper arm:
can_piper
If multiple CAN devices are present, use the USB port ID to activate the correct one:
Multiple Arm CAN Modules¶
The repository also includes:
Edit the USB_PORTS mapping in that script, for example:
Then run:
Check the Interface¶
Basic Debugging¶
If the arm is powered and the link is healthy, you should normally see CAN traffic.
Launch the Arm Node¶
cd ~/venom_ws
source install/setup.bash
ros2 launch piper start_single_piper.launch.py can_port:=can_piper
With RViz:
cd ~/venom_ws
source install/setup.bash
ros2 launch piper start_single_piper_rviz.launch.py can_port:=can_piper