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

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

  1. Flash Ubuntu 22.04 LTS on Raspberry Pi 4
  2. Clone repository to ~/ros2_ws/src
  3. Run ./install.sh for ROS2, MoveIt2, dependencies
  4. Flash Arduino firmware
  5. Configure DDNS (optional)

Demos