ANDY – The Multi‑Purpose Humanoid Robot
How the Software Works
Below is a concise overview of Andy’s operating cycle, from boot to shutdown. The entire codebase is open‑source and can be examined here. A simplified flowchart illustrates the process.
Step One: Startup Andy
Activate Andy by flipping the rear power switch. Power flows from an 11.1 V 1300 mAh Li‑Po battery through a UBEC to the L298N motor drivers and the Raspberry Pi. Once the Pi boots, it automatically runs boot.sh, which launches the main application. The script then loads two configuration files—checking whether the server should start, whether client logins are permitted, and any future‑mode flags. Finally, Andy calibrates the microphone to a defined silence threshold.
Step Two: Get Command
With the system running, Andy operates as a state machine. It continuously listens for commands from the built‑in microphone and, if the server is active, from the network. Recognized speech is transcribed to text and passed to the command handler.
Step Three: Execute Command
The appropriate routine in cmds.py is invoked. A shutdown request terminates both software and hardware safely; all other commands are executed before returning to the listening state.
Conclusion
Andy’s software spans over 1,600 lines, encompassing motor control, speech recognition, and networking. For a deeper look, watch the Demo video of Prototype #1. The code remains fully transparent, inviting contributions and review.
The Brain
The Raspberry Pi acts as Andy’s central processor, handling everything from motor drivers to voice processing. All logic is encapsulated in the open‑source repository linked above.
Power
Andy is powered by an 11.1 V 1300 mAh Li‑Po battery. A UBEC steps the voltage down to 5 V for the Pi, ensuring stable operation.
Motor Driving
Three L298N H‑bridge drivers control a total of six DC motors—two per driver—allowing Andy to perform complex locomotion patterns.
GPIO Expansion
To overcome the Pi’s limited GPIO pins, an MCP23017 I²C expander adds additional outputs. Currently, it powers a status LED but can be expanded for future peripherals.
Future Iterations – Version 2
Andy’s next prototype will feature a fully articulated body with ten degrees of freedom (10 DOF) compared to the original six. Below is an outline of the planned hardware enhancements.
Schematic and New Features
- Battery voltage monitoring with automatic low‑voltage shutdown to protect the SD card and battery life.
- Power‑on LED indicating Raspberry Pi startup.
- 10‑segment LED bar graph for real‑time battery status, ambient decibel levels, and error signaling.
- Ten servos: four for the legs (4 DOF) and six for the arms (6 DOF).
Battery Monitoring
The built‑in circuit continuously checks the battery’s voltage. If the level drops below a safe threshold, Andy will power down gracefully, preventing data corruption and extending battery longevity. The remaining charge is visualized on the LED bar.
Power‑On Indicator
A green LED, driven by the Pi’s 3.3 V rail, illuminates immediately upon boot, providing a quick visual cue that Andy is online.
5‑Segment LED Output
Although a dedicated 5‑segment display is not yet available, a custom LED bar will display battery voltage, ambient noise, and blink to signal errors.
10 Servo Motors
With 10 servos, Andy achieves 4 DOF in each leg and 6 DOF in each arm, enabling more natural walking and precise manipulation.
Project Outlook
Parts for the bipedal legs are expected by August, after which a walking demo will be filmed. Additional features—including full arm articulation—will roll out over the fall and winter, pending component availability. Contributions and feature suggestions are welcome in the comments section.
For a comprehensive technical deep dive, refer to the full project documentation titled “ANDY – A Multi‑Purpose Humanoid Robot.”
Manufacturing process
- Industrial Robots: Design, Manufacturing, and Future Trends
- DIY Wall‑E Inspired Raspberry Pi CD‑Box Robot
- Rolling Alarm Robot: A Smart, Mobile Wake‑Up System Powered by Raspberry Pi and Google Calendar
- Build a Motorized Minecraft Creeper Robot with Arduino
- Archimedes: The Emotion‑Sensing AI Robot Owl
- Build a Speech-Driven Computer Vision Robot on Windows 10 IoT Core
- ROS Robot: Terminal‑Controlled Navigation on Raspberry Pi
- Simple Pi Robot – Build a 2‑WD Autonomous Rover with Raspberry Pi
- Advanced Snow Plow Robot for Efficient Winter Clearing
- Understanding Beverage Robots: Technology, Automation, and Their Role in the Beverage Industry