Skip to content

CamBot

A 6-DOF camera arm with a ZED Mini stereo camera that streams video to a WebXR VR headset and follows head tracking for teleoperation.

  • Robot arm
  • Open source
  • 3D model (URDF)
  • 3D printable

Suggested by Robotheca, created by @open-thought (opens in a new tab), from github.com/open-thought/cambot (opens in a new tab). Pinned to commit cd5d4c4 (opens in a new tab).

Photo and 3D model

CamBot, photo from its repository
Photo:@open-thought (opens in a new tab)Apache-2.0source file (opens in a new tab)
Try it in the browser

3D preview converted from github.com/open-thought/cambot at cd5d4c4, under Apache-2.0. View the original files from GitHub (2.2 MB) (opens in a new tab)

Degrees of freedom
6

What it can do

Written by Robotheca from the project's documents.

  • Positions a 6-DOF camera arm for stereo vision using a ZED Mini stereo camera
  • Streams stereo video to a WebXR VR headset and follows head tracking in real time
  • Supports robot-only, camera-only, or combined teleop modes
  • Offers orientation-only or full 6-DOF position tracking with safety limits (position sphere, workspace box, pose watchdog)
  • Returns to home or resting pose on pause, watchdog timeout, or quit
  • Provides diagnostic tools for servo ID assignment, register dump, PID setting, debug TUI, and PID auto-tuning

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Print the 7 PLA body parts from the STL files in 3dprint/
  2. 2Assemble the arm with 6x Feetech STS3215 servos as described in the build guide
  3. 3Mount the StereoLabs ZED Mini stereo camera on the camera_roll joint
  4. 4Install the Python package with uv and set up the ZED SDK for camera support
  5. 5Assign servo IDs, set PID parameters, and calibrate the home position
  6. 6Run the VR teleop server and connect a WebXR headset

The guide appears here as you scroll.

Guide by @open-thought (README.md), under Apache-2.0.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Waveshare Bus Servo Adapter (A) as USB serial bus controller
  • 5V 4A power supply powering the servo bus through the adapter
  • StereoLabs ZED Mini USB 3.1 stereo camera with 63mm baseline
  • Fallback USB camera option when the ZED SDK is not used
  • Host PC running the teleop server, with a VR headset browser as client

Connections

  • All six servos are daisy-chained on a single serial bus
  • The bus is connected to the host PC over USB through the Waveshare bus servo adapter
  • The adapter is powered by the 5V 4A supply
  • The ZED Mini camera connects to the host PC over USB 3.1
  • Each servo is assigned a unique ID from 1 to 6, one motor connected at a time during ID setup