top of page

Ice Baby

MIT 2.12 Intro to Robotics Fall 2015

After the record-setting winter of 2014, the theme for my class's 2.12 Intro to Robotics competition was Snow Rescue. We were tasked with designing a robot to autonomously plow 'snow' (adhesive plastic pellets) from the streets of a gameboard, clean off a car, and remove a tree from the driveway. Each team was given $200, four Dynamixel servos, and a robot with an onboard Arduino and computer.

Our team of five, I.C.E (I Can Engineer), focused on making a versatile robot that could accomplish all of the tasks. We developed a 4-bar linkage plow mechanism to push the snow into a trough, clear off space in front of the car, and lift the tree. We used a 2-degree-of-freedom manipulator arm with a rotating brush end-effector to clean off the car. 

Navigation was a particular challenge. The artificial snow tended to clump together in the same way as real snow, so our original wheels would skid and encoder measurements would be inaccurate. Therefore, we bought new rubber tires and built our own wheel hubs to allow some 'give' for driving over the snow. We also made adjustable fenders for the new wheels so they had an extra layer of protection. Finally, we improved our navigation by using dead reckoning with corrections from an image processing "GPS" system provided by the competition. At the end of the competition, we were the only team that had been able to successfully incorporate the GPS and accomplish the tasks completely autonomously.

I worked on nearly all aspects of the robot throughout the term. As our team Software Leader, I wrote most of the code for task management, navigation, task execution, and serial communications. I helped design the plow linkage and fabricated the parts for it, along with designing and fabricating the wheel hubs and caster mounts for the vehicle's drive train.

This project blended everything I'd learned about mechanical design, fabrication, and microcontroller programming. By taking point on the software from the beginning, I had the opportunity to help lead our team and make sure we were moving in the right direction as a group at all times. We had to be very resourceful in finding materials and getting access to the necessary machining tools. 

We used the waterjet, laser cutter, 3D printer, mill, lathe, bandsaw, cold saw, shear, break, punch, and various other small tools to build our robot. On the software side, we implemented all of our functionality in Arduino and MATLAB.
 

bottom of page