Motion Capture Calibration Robot

Automating OptiTrack calibration with a cable-suspended parallel robot

Abstract

This project implements precise path planning and real-time control for a custom CSPR to calibrate a 6×9 m motion-capture space. Leveraging NEMA 17 motors, AS5600 encoders, Dyneema SK99 cables, and an ESP32S3-based controller, the system executes closed-loop trajectories while avoiding obstacles via RRT*. Full methodology is detailed in the technical report.

Mechanical Design

Drum & Cable Interface

PLA “squircle” drums with acrylic endplates and nylon standoffs enabled slippage-free winding.

Drum and Motor Assembly

Cable Selection

Dyneema SK99 (1.3 mm) showed <0.5% elongation under 10 N. Datasheet

Deviation heatmap

Drum Slot Evolution

Groove profiles iterated through square, round, and squircle to optimally cradle the rope.

Drum slot evolution

Room Corner Setup

Room corner

Electronics & Firmware

AS5600 Interface

Custom PCB with pull-ups, PH-4 headers, and stable 1 kHz I²C sampling.

Main Control Board

  • ESP32S3 (dual-core, FreeRTOS)
  • TB6600 stepper drivers (1.5 A RMS)
  • Web dashboard with real-time telemetry
Control PCB

Interactive PCB Viewer

Rotate, zoom, and inspect the PCB in-browser.

Control & Kinematics

Inverse Kinematics & PID

NatNet streaming feeds 3D position to an IK module that computes target cable lengths. PIDF control loop (50 ms) ensures accurate tracking.

RRT* Path Planning

RRT* finds obstacle-free paths that respect workspace constraints and convergence goals.

Simulation & Validation

Custom MATLAB-based simulator helps visualize planned vs executed paths and MoCap data.

Simulator

Experimental Results

Square path (2 m) yielded <35 mm RMS error under dynamic loading.

Path Error

Future Work

References

  1. Mehta, A. (2025). Design and Path Planning for a Cable-Suspended Parallel Robot. PDF
  2. Dyneema SK99 Datasheet
  3. Pott & Bruckmann. (2013). Cable-driven parallel robots. Springer.
  4. Zi & Qian. (2017). Cable-driven parallel manipulators. Springer.