ATRIAS
c. 2009 ~ 2011
Assume The Robot Is A Sphere.
In 2008 I was wrapping up my second senior year at Oregon State University and dreading moving onto the next step. I had built some cool things (OSWALD, RDRL) and had a great experience working for the university as a circuit designer and TA in the Tekbots program but my academic record was… subpar. My dream since high school was to learn how to build robots - machines that moved and operated in the world alone with their own simple desires. And the best place at the time to study that was at Carnegie Mellon or Massachusetts Institute of Technology. Either of those places were probably out of reach without some serious connections but luckily OSU just hired Jonathan Hurst - a freshly minted PhD from Carnegie Mellon - to start a formal robotics program in the mechanical engineering department.
So I started working in his new lab along with fellow undergrad Devin Koepl. We were Dr. Hurst’s first students so we helped convert the new lab space, set up workbenches and get the right tools. Slowly we established the lab and over the summer Devin and I wrote our first papers on mechanism design for optimal actuator torque/force control. I also needed to actually get into grad school. So I took the GRE (doing poorly) and needed to get a special letter from the department head to waive the minimum grade requirements but I was in.
Dr. Hurst was part of a newer school of thinking in robotics that wanted to understand how the details of mechanism design can influence the performance of a robotic system. Specifically we focused on how to apply this thinking to force control, maximizing efficiency and legged locomotion - walking and running robots. Dr. Hurst had built a successful walking robot MABEL using wire ropes (e.g. steel cables) and fiberglass plate springs to create a complex transmission that coupled knee and hip motion so that one motor controlled the leg length (distance between the foot and hip axis) and another motor controlled the leg angle independently. The idea was to create a robot that traded some mechanical complexity to simplify the control and present the robot to software as an idealized Spring Loaded Inverted Pendulum (SLIP) model.
While MABEL was a successful robot (fastest walking speed of its time) the tradeoff of mechanical complexity for control simplicity wasn’t quite worth the trouble. It didn’t quite strike the right balance between software and hardware and the transmission was just too complex to maintain. We took a step back and attempted to focus specifically on building a machine that embodied the SLIP model as simply as possible without worrying about being anthropomorphic. A play on the humorous metaphor of the “spherical cow” we dubbed this new robot ATRIAS - Assume The Robot Is A Sphere.
ATRIAS had two motors that pushed through large fiberglass plate springs onto linkages that made up the legs of the machine. The first prototype leg still used a cable-based transmissions for each motor but in a more conventional setup rather than as a complex differential like MABEL. Dr. Hurst, with the help of a few talented undergraduates in the lab, fleshed out the mechanical details while I developed the nervous system.
At the time, most robot platforms revolved around centralized control built using PC104 stacks as the main computer and CAN buses communicating to sensors and motor drivers. While compact, these PC104 platforms were often expensive and low performance. CAN bus was also starting to show its limitations with many platforms using several CAN networks to ensure enough bandwidth. I can’t remember how I came across it but once I discovered the EtherCAT protocol it became clear this would be a game changer as a realtime network for robotics. It also didn’t require any special hardware for the master device so we could develop with just about any computer with an ethernet port.
So I designed a small EtherCAT based circuit board dubbed the Medulla that used an Atmel microcontroller to read in sensors and translate commands to the motor controller. Each motor/degree-of-freedom had one Medulla that was networked initially to a desktop computer that I set up to run the realtime micro-kernel RTAI on linux. We set up a basic hopping controller to test the hardware which you can see in the embedded video.
Developing this architecture would lay the groundwork for how I approach designing new robotic platforms from humanoids to exoskeletons. It was a great experience and I really believe in the philosophy of trying to simplify in hardware. Don’t just over build things but look at the problem critically, think about simplifying observations into a model and then actually make hardware that tries to embody that model. It is risky. The model could be wrong but it gives you the best and fastest way to know one way or the other.