Building
Robotics

Autonomous Humanoid Robot

A two-foot AiNex humanoid that finds, walks to, grabs, and throws a ball entirely on its own — on-device vision, a self-trained YOLOv8 detector, embedding-based memory, ROS 2 motion, and a YouTube show.

A fully autonomous humanoid robot

This is a roughly two-foot-tall bipedal humanoid robot (built on an AiNex platform) that finds a ball, walks to it, grabs it, and throws it entirely on its own, no cloud, no remote control. Every bit of perception and control runs on-device on a Raspberry Pi. What began as a late-night “can it grab a ball?” experiment has grown into an ongoing research build with its own three-layer vision system, a self-trained neural detector, a learned visual memory, and even a YouTube show.

Watch the build series: ROBOTICS ADVENTURES on YouTube

What it can do

  • A fully autonomous find → walk → grab → throw loop, start to finish, with no human input
  • A two-handed grab with a “grab gate” that refuses bad shots
  • Gyro-closed-loop walking that keeps it balanced, and gets it back up after a fall
  • Speech-timed hand gestures, it talks with its hands
  • Learns new objects and skills by being shown them (learning by demonstration)
  • Dances to the beat of a track, one move per beat

Perception & on-device machine learning

  • Three-layer vision: a fast classic-CV tracker, a learned visual memory, and a neural object detector working together
  • Visual memory built on neural embeddings with pgvector similarity search
  • A YOLOv8 detector trained from the robot’s own auto-labeled camera footage (self-supervised), a replacement “eye” that had to earn its job
  • Governed online learning with memory sanity-checks, so it learns from experience without corrupting itself
  • All inference runs on-device, no cloud connection required

Hardware

  • AiNex bipedal humanoid platform, two legs, articulated arms, and a head
  • Raspberry Pi on-board controller (all compute happens here)
  • Serial-bus servos driving the limbs
  • Onboard camera, plus a custom-designed bracket for an upgraded “eye”
  • IMU / gyro for balance and fall recovery

Software & motion stack

  • Motion stack migrated from ROS 1 to ROS 2, with a dependency-free motion daemon and a ROS-agnostic mission layer
  • A Gazebo digital twin for testing behaviors in simulation before running them on the real robot
  • Python control, inverse kinematics, and computer vision throughout

The build log

The whole project is documented post by post, in order:

  1. Teaching a Humanoid to Grab a Ball: A Late-Night Robotics Log
  2. My Robot Picked Up the Ball, Threw It, and Did a Victory Dance, All By Himself
  3. He Fell. He Got Up. He Threw It Anyway.
  4. My Robot Learned to Say No (and Talk With His Hands)
  5. How My Robot Learned to See (and Trained His Own Replacement Eye)
  6. Porting My Robot from ROS 1 to ROS 2 (and His First Throw on the New Stack)
  7. A New Eye, and a Bracket I Made for It
  8. My Robot Learns Things by Being Shown Them
  9. I Taught My Robot to Dance to the Beat
  10. My Robot Has a YouTube Show Now: ROBOTICS ADVENTURES

Go deeper

☕ Support the Build
Help fund robot parts & robotics education on the path to becoming a robotics engineer.
💳  Support with Card ☕  Buy Me a Coffee ◎  Patreon 💚  GoFundMe — soon