← All projects

Petbot

A cable-driven parallel robot that hangs a camera and a claw from four ceiling corners and flies them anywhere in a pet room.

  • Arduino
  • Raspberry Pi
  • ESP32
  • Computer vision

hardware2026

The platform hanging from its four lines: a black printed box with a small OLED showing a smiling face, and a two-jaw claw on a stalk beneath it.

Problem

I wanted to keep an eye on my pets while I’m gone for college, and feel like I could still interact with them despite being across the country. However, robots are really expensive, and most cannot deliver treats or do any actions in the physical space besides observation. So I made my own.

How it was solved

Cable Driven Parallel Robot Using a Cable Driven Parallel Robot (CDPR) architecture allows for simple, yet adaptable structure for a variety of room geometries. By setting the pulleys near the ceiling, but using winches (NEMA 17 stepper motors) at floor level, range is optimized and maintenance is simplified. Fishing line was an inexpensive, yet reliable cable material, and was looped around a 3D printed spool with an eyelet to feed to the pulleys above. These pulleys were set on a swivel to maximum workspace volume and avoid the cable jumping out of the depths of the bearings. A simple platform with cat ears and enough room for an ESP 32, a 12864 OLED display, and a usb-c charger was utilized. A small hole was left for the SG90 servo motor wires to route to the gripper. The gripper was inspired/modeled after a design I found online, which can be found here

Controls The total euclidean distance from the current point of the platform to the desired position of the platform was calculated for each of the stepper motors then passed to the MultiStepper library to scale each motor’s speed so all four finish together, allowing the platform to move in a straight line and level manner rather than a curve.

System Design A Raspberry Pi 5 runs YOLOv8n on an ArduCam V3 feed and serves a Flask browser page with the live video. It sends coordinates to the Uno over serial and claw commands to an ESP32 on the platform over WiFi.

Results

A full delivery run on video, driven from the browser: park, treat bowl, grab, lift, crate, release, park, with the platform tracking straight between waypoints across a 3.6 by 4.3 m room.

Position uncertainty is about ±70 mm at 2 m of paid-out cable, almost all of it from spool radius variation; anchors are tape-measured and the steppers are open loop.

The claw did not close far enough to pick up the treat in the recorded run, so the motion side is proven and the grip is not. The platform also cannot run from its LiPo: the servo’s current surge collapses the unregulated rail and resets the ESP32, so the demo ran from a USB power bank. Both are written up in the repo with the fix that would resolve them.

Three weeks, about $350 in parts. Unfortunately, I could not resolve the grip issue in the time I had before leaving for school. Fortunately, there are pretty good opportunities left to improve the inverse kinematics controls by accounting for the true length of the cables using magnetic accounting systems, implementing homography vision to allow for real time pet treat delivery, improved claw design, or custom pcb design for the locomotion hardware!