Overview
The Desktop Arm is a complete ROS2-based robotic arm system featuring the BCN3D Moveo, a medium-sized fully 3D-printable 6-axis arm. Similar in aesthetics to industrial arms like the KUKA Agilus or Fanuc LR Mate, it’s designed for personal use, research, and education at an affordable price.
Key Features
- Raspberry Pi 4 Model B - Main processing unit for motion planning
- Arduino Mega + RAMPS 1.4 - Motor control interface
- ROS2 Humble - Modern robotics middleware
- MoveIt2 - Advanced motion planning and manipulation
- All 3D Printable - Only fasteners and motors needed
- Under $1,000 - Complete B.O.M. available
- DDNS Support - Control over the internet
System Architecture
┌──────────────────┐
│ Xbox Controller │
└────────┬─────────┘
│ USB / Network
▼
┌──────────────────┐ ┌──────────────────┐
│ Raspberry Pi 4 │───▶│ Arduino Mega │
│ ROS2 Humble │ │ RAMPS 1.4 │
│ MoveIt2 │ │ Stepper Drivers │
└──────────────────┘ └────────┬─────────┘
│
▼
┌──────────────────┐
│ 6-DOF Arm │
│ (BCN3D Moveo) │
└──────────────────┘
Teleoperation Modes
Local Control
ros2 launch desktop_arm teleop.launch.py
Remote Control (Internet)
# On robot
ros2 launch desktop_arm teleop.launch.py start_server:=true manual:=false
# On client
python client-controller.py
Available Commands
| Command | Description |
|---|---|
enablemotor MOTOR |
Enable stepper driver |
movemotor MOTOR VALUE |
Move to position (deg) |
gripper VALUE |
Open (1) or close (0) |
robotinfo |
Print system status |
setmotorspeed MOTOR VALUE |
Adjust speed |
Installation
- Flash Ubuntu 22.04 LTS on Raspberry Pi 4
- Clone repository to
~/ros2_ws/src - Run
./install.shfor ROS2, MoveIt2, dependencies - Flash Arduino firmware
- Configure DDNS (optional)
Demos
- Dancing Demo - Random joint movements showcase
- Xbox Teleop - Real-time joystick control
- Simulated Model - RViz2 visualization