As both an engineer and a designer, prototyping is for me one of the
most rewarding forms of art. In spring 2017, I took a class at UC Berkeley's Jacobs Institute for Design Innovation on
prototyping and fabrication where my final project was to design, engineer, build, and program a Bluetooth-controlled
robot vehicle from scratch with the ultimate goal of navigating hands-free through a mystery obstacle course.
I worked with the Arduino IDE, Arduino Uno microcontrollers, Adafruit Bluefruit modules,
neopixels, and other electronics to motorize
and control a chassis-based robot constructed from scratch using 3D modeling, laser cutting, and other prototyping
equipment.
Below, I have created a walk-through of my creative engineering process that went behind the creation of Mo, along with some
videos of Mo in action!
Since I created Mo completely from scratch, I designed, engineered, and printed all non-electronic parts of Mo in
Autodesk Fusion 360, a 3D CAD program that
allows for desiging, engineering, and simulating. I went through many iterations of designing in order to get the chassis of the robot
just right. Factors to consider included properly designating internal space for the electronics, engineering the motor compartments and
accompanying fasteners, and designing for the inclusion of magnets to solidfy the encasing structure while also allowing for easy access to
the internal electronics.
Below are some different views of the Fusion file I created for Mo's chassis.
The finalized, full-poly version of the chassis and hinged door took almost 12 hours to print on the
Ultimaker 2+, a wonderful and
user-friendly 3D printer. All of my tweaking, precise measuring, and iterating paid off when I ended up with the
compact and flush chassis shown below.
Since one of the main challeneges in the final exam obstacle course was a steeply-inclined ramp
that needed to be both ascended and descended, I decided to engineer Mo as a tread-based robot in order to be able to face the
challenge of simultaneously having the capacity to ascend surely and descend without slipping. I 3D-printed dozens of treads that
I hooked together using fine metal rods, which ultimately encased two laser-cut acrylic faces that enclosed the three gears
composing the triangular-shaped tread hold.
Designing the files to be sent to the laser-cutter required just as many iterations as did the 3D chassis files. I made 2D laser cut
files in Illustrator with appropriately placed and sized holes for gears I 3D printed to match with the tread cable.
Once everything was cut and printed, I sandwiched the gears between the acrylic walls and held everything together with nuts and bolts
and appropriate spacers. This made for an easy way to fit the cable tread over the gears while allowing for future iterations.
I designed the lead gears to attach to the motors that nested in Mo's chassis, so the treads were firmly connected to the chassis body
while also being easily adjustable as shown below.
One of my goals throughout the process of constructing the robot was to make all of the parts structurally reliable while allowing for
flexibility. As such, I compartamentalized Mo's design in order to allow for an easy take-apart process to facilitate debugging, electronic
access, updates, and maintenance. In addition to the treads being easily removed from the chassis body, and the treads being easily
deconstructed, I also engineered a flushed mangentized door that enabled a quick take-apart process with very little structural interference.
In the video below I have provided a quick demo of Mo's sturdy decomposability.
Mo is controllable completely via Bluetooth thanks to an Adafruit Bluefruit module
that I programmed into Mo's circuit board. I coded the controls into an app for both iOS and Android devices.
After programming Mo's controls, I decided to add a ring of neopixels
to each of Mo's tread wheels that make chasing patterns to correspond with different actions. All of Mo's code was written in the
Arduino IDE. Check out my code for this project on GitHub.
Special thanks to the team and resources at the CITRIS Invention Lab for the support and assistance that
made this project possible and for giving me a lab to call home for the semester!