AX03, or Android Experiment number 3, is part of a childhood dream for me. Starting in about the 3rd grade, I kept one book checked out from my elementary school library titled, "How to Build a Robot". It wasn't really an instruction manual or true "how-to" book about building robots, but it was something to stuck with me. When it was time to return it to the library, I would just check it out again. Movies like Star Wars and Short Circuit fueled my desire as a kid to build a robot friend of my own. In the 1980's and 90's, building a robot was a much more complicated tasks. There were no cheap computers and micro controllers, no cheap sensors, and no existing software libraries. There were no 3D printers or DIY CNC mills and laser cutters. Over just the past 10 years, all of that has changed. Arduino microcontrollers costs as little as $5 and are tied to massive communities that have written software libraries for just about every type of motor, sensor, lighting, and sound design. A 3D printer can easily create custom parts and mounts for electronics in your home workshop. So, a year or so ago I decided instead of fixing up a vintage Ford Bronco or taking on another typical hobby, I would try to finally build my own robot after hours. 

AX01 (aka "Tony")
The first attempt at my own C3PO was pretty basic and crude, but it wasn't my first robot. Not long after the first Ironman movie came out in 2008, I taught myself how to build simple electronics using Arduino's by building my own Jarvis system in my garage workshop. I will cover that system at some point in the future when I rebuild and update it. So keep an eye out for the Jarvis 2.0 posts. The current (yet dated) Jarvis system has a lot of pieces that also work for a robot like the speech system, so I used it as a starting point. I didn't have a personal 3D printer at the time, so I used PVC pipe and pipe fittings to mount some off the shelf plastic storage boxes that housed the electronics. Once you added a layer of metallic spray paint to the pipe fittings and storage boxes, it actually looked like custom metal components. The first robot, AX01, was named "Tony" after Tony Stark by my kids and it worked OK. The arm design was pretty awful as the servos could barely lift and move the arms. I justified the build of Tony (AX01) by purpose building it to serve as a receptionist for my startup at the time, Reaction. Tony was never officially deployed as the receptionist at Reaction, because I didn't have time while running a company to debug and deploy it. Tony eventually came back home to my garage based lab to be debugged and finished. Occasionally my kids would request a demo for their friends who came over to play, but mostly Tony just sat there collecting dust because of my lack of time to tinker with it.

The original AX01 frame sized to mount a plastic storage bin in the center for a body cavity.

AX01 build in progress. Yes, that is a child's Star Lord mask for a face.

Tony (AX01) finished and functioning at Reaction's second office before NASA's SLS initial flight.

In the Fall of 2015, I needed to find an avenue to blow of some steam after hours and decided to carve out a few hours each weekend to rebuild Tony into a new android. We took a family vacation to Disney World about a year before, and the animatronics that the Disney Imgineers created for rides like Star Tours really stuck with me. Sick of burned out servo motors (and still without a 3D printer), I decided to use pneumatics or "air muscles" for AX02. Mainly because I wanted to learn how to control pneumatics with micro controllers, plus air muscles are very flexible. The flexibility was interesting to me because that meant mechanics have to be less precise and would provide a more human like movement to the droid.  I rebuilt and modified AX01's body to account for movement with air muscles. I experimented a lot with air muscles, but in the end was disappointed with the lack of precise control with them. Basically they are either relaxed or pressurized. In addition, my air muscles moved at one speed and required an air compressor to charge up the pressure tank. With some time I could have worked out the major movement kinks, but the arm design was proving to be tricky again.

AX02 body mounted with a new air muscle powered right arm. The shoulder uses a small furniture caster for the joint.

Recently, I have found a lot more spare time to tinker on things, so of course my past robotic experiments jumped back to the front of my mind. The biggest change with this 3rd android attempt was the fact that I had purchased my own personal 3D printer. Now with a 3D printer on hand and lots more time on my hands, I am going to document the ongoing build of AX03. To short circuit the arm design, I have been building arms from the open source, Inmoov 3D printed robot to serve as a baseline. The Inmoov has a good hand design but I don't care for the $60-$90 giant servos required to move the biceps and shoulders. I am redesigning the Inmoov arms to run on NEMA 17 stepper motors which are much cheaper, but outside of those modified Inmoov arms, the rest of AX03 will be custom designed and built. I am starting with the custom head and neck assembly, speech, and motion tracking. Then I will move into arm builds and finally bring it all back together on the original AX01 body. I will keep build posts going here as I have time to write, but I imagine it will be a long development process.

Designing 3D printed parts for AX03. This is version 7 of neck assembly.

AX03 face plate for 3D printing. The trusty Star Lord mask mounts to this face plate which then mounts to the neck assembly.

AX03's head evolution. 1 servo turns the head left and right while another servo allows the head to look up and down. A 3rd micro servo adjusts the volume on the audio amplifier to control how loud AX03's voice is. The latest design uses ultrasonic sensors for basic motion tracking.

The almost complete Inmoov hand and forearm. The Inmoov's design uses 5 servos to control each finger and 2 more servos to rotate the wrist and hand. All those servos mean a lot of weight. Perhaps future versions I will convert these back to air muscles to save weight.