In between studying and writing, I've begun working on a new robot affectionately named the Coffeemecha. This cute little guy, adapted from what I think is the best coffee machine to have graced this planet thus far (the now discontinued red Starbucks Barista), is equipped with a robust control system, a cute pair of treads and my all-new cross-platform robotics framework.
Where did "Coffeemecha" come from?
The Coffeemecha sprung from the idea of converting an old Starbucks Barista coffeemaker into a shining beacon of robotic and caffeinated excellence. The name is a simple combination of, you guessed it, Coffee and Mecha (robot)! Naturally, when finished, She / He / it will make regular appearances at the competitions, conferences and outreach events that I attend throughout the year.
The prepping of a chassis - Cables, hoses, compressors, oh my!
When I first got my hands on the untamed Barista, it was still somewhat functional. After an hour or so with a screwdriver and a pipe wrench (because we always need pipe wrenches), it was now merely a chassis to which my robotic hardware and electrical components were to be mounted. I epicly failed at getting pictures of this process due to the excitement of having a new project, so I will leave you with a picture (below) of some of what...remained...when I was done.
The making of a chassis - Oh, the burrs!
After removing component after component of cables, hoses, compressors and power supplies from the insides of the now-hollow Barista, I turned my attention to the base of the machine, which would house the drivetrain (I.E., that thing that makes robots move).
Of course, the question came up as to what kind of drivetrain to use. After a few hours of internal debate (in my head), I settled on modifying the structure to accommodate a treaded drivetrain...because treads are cute, right?
For the Coffeemecha project, I decided to use mostly TETRIX hardware for a change since it's easy to mount and looks relatively classy once you're done. To begin installing the treaded drivetrain, I drilled a multitude of holes in
random carefully calculated locations.
I then proceeded to get the motor mounts installed. For this project, since it isn't a high-performance or competition robot, I opted to use the cheap but trusty TETRIX motors.
Not shown is the drilling of the giant hole that the motor heads poke through (as seen below). That was done at the "FRC Shop" using a giant hole saw - there was much screaming on my end as I tried to avoid damaging the paint job while taking what is effectively a 1" drill bit to the frame.
And then, of course, I proceeded to mount the treads. Best not to forget the arduous process that was installing the rubber inserts on the tread links...
The wiring - Would you like some Pi with that?
The Coffeemecha boasts an over-the-top internal control system that would probably be good enough even for a high-level competition robot, comprised of a Raspberry Pi Model B running Arch Linux ARM, a SSC-32 Servo Controller, two Victor Motor Controllers and a Blinky Light™ for good measure.
The whole system is (or at least, will be) powered by a pair of 12-Volt 3000-milliamp TETRIX batteries *and a healthy amount of *Anderson Power Poles. Why two batteries, you ask? One for the logic (computers, etc.) and one for the motors. Sometimes if you have the logic share a battery with the motors, the spike in power consumption when the motors become active is enough to shut down the logic boards...that is not a good thing.
Finally, communications with off-board computers and Android devices (so that the Coffeemecha can be driven around) are handled via an as-of-yet undetermined router. From a software perspective, in contrast to my past systems, all communications will be handled via network sockets instead of point-to-point radios (like XBees).
The programming - Powered by Java.
Warning: The following text is not suitable for those that are allergic to A) Java B) Jargon or C) Programming.
The Coffeemecha is my first non-competition robot to boast an entirely custom control system - the Gaia Robotics Framework. This framework, written entirely in Java (befitting a coffeemaker robot), allows the Coffeemecha to not only integrate with any Windows, Linux, Mac or Android powered devices but also to communicate and work with other robots running Gaia.
Being written over the course of several robotics seasons, Gaia incorporates a slew of features that emphasize simplicity and compatibility; entirely new communications protocols, hardware interfaces and even methods for user interaction can be added at runtime to allow for integration with a particular system or robotics platform while maintaining a minimal amount of required customization.
Unfortunately, there's not a whole lot for me to say about the software side of things right now, as I've yet to fully finish the electronics on the Coffeemecha. Think of this as a sneak preview of what's to come!
To be continued...
Pictured above is the Coffeemecha in its current state today. Over the next few weeks, I will continue to work on it until it is fully operational. Stay tuned!