Skip to content

All projects

Tools

Humanoid Robot

A humanoid robot built from scratch: teleoperation, vision and voice.

Role
One of the project’s two named authors
Platforms
Android
Year
2022
Status
Archived
Stack
PythonROSOpenCVYOLORaspberry PiArduinoAndroidFirebase
Links
GitHub

What it was

A graduation project: a humanoid robot built from parts rather than bought. A Raspberry Pi for the body, an Arduino for the base, ROS holding the pieces together, and a Linux machine behind it all.

What it did

Four things, and they are four different problems. It could be driven by a person — a depth camera read the operator's skeleton and a VR headset tracked where their head turned, and the robot copied both. It could see: object detection, face recognition and text recognition, running live rather than on saved frames. It could be spoken to, through Google Assistant. And it could move through a room on its own, off its sensors.

Decisions

Open-source vision, not a trained model. YOLO for objects, an off-the-shelf face recogniser, OpenCV for skeleton tracking. A graduation year is not long enough to both collect a dataset and build a robot, and the interesting half was the robot.

ROS as the seam. Nodes over SSH meant the heavy vision work could run on a laptop while the Pi drove the servos, and either side could be replaced without touching the other.

Teleoperation and autonomy from the same body. The same actuators answer to a person in a headset and to the navigation loop, which is what made it demonstrable — you can drive it when the autonomy is not ready yet.