The Robo-Sundae experiment in detail
Making a sundae involves multiple ingredients, which we saw as an opportunity to split our project into manageable sections. After brainstorming the core ingredients of any good sundae (chocolate syrup, whipped cream, sprinkles, and cherries), we planned our project. We wanted the grand scheme of the process to be as simple and convenient as possible: put in ice cream, get out a sundae. Knowing this, we broke down the project into five categories: one for each topping, and one for transportation.
Our group went through each of the sections of our project and brainstormed what exactly would make them difficult to accomplish. Two of our toppings (whipped cream and chocolate syrup) were very heavy, and difficult to separate into smaller portions without defeating the purpose of having a reusable machine. Because of their weight, we needed to design structures that could support them while still being able to carry out their desired function. They chocolate syrup turned out to be easier to support than we first imagined, since we found a small craft bottle that could hold a moderate amount of syrup. Using this bottle, we made a manoeuvrable robot that could both dispense syrup and store the bottle in a safe position. Unfortunately, we did not have this luxury with the whipped cream can. We had to use everything at our disposal, from weighted blocks to rubber bands, to compensate for the massiveness of a whipped cream can.
The challenge with the other two toppings would be more about the application as opposed to the containment. Small, sticky cherries and minuscule sprinkles would be difficult to manage in a repeatable and effective way. On the bright side, since both toppings are very light and compact, we were able to combine both into one “station” along our sundae assembly line. Once we had controlled (to some extent) the flow of sprinkles by covering some of the holes in the sprinkles’ container, we focused primarily on the cherries. This station proved to be the most challenging of all, and required multiple design attempts and failed ideas. Finally we settled upon an impromptu water wheel that would hold multiple cherries and control their application.
Lastly, the transportation robot would need some way of communicating with the topping robots. How would it do this? How would it carry the ice cream? Our first concern was that the LEGO Mindstorms motors are notorious for their inability to follow a straight line. Our fix for this was to have our transportation robot follow a dark line on a white track, made by us, as it traveled by each station. This way accuracy would be guaranteed.
Next, we had to decide between two methods of communication between the transportation robot and the stations: sensors and Bluetooth. Initially we tried ultrasonic sensors, but their lack of sensitivity and precision made the tasks we needed to accomplish difficult. Next we turned to wireless communication, through the built in Bluetooth devices in the NXTs. Neither of us had used this technology before, but we knew it was a challenge we had to tackle. This would also allow us to have each user customize their sundae using an elegant front panel display (seen in our blog: sites.tufts.edu/robosundae).
Basically, when our transportation robot reached each station (stopping on the dark line in front of it using a light sensor) it sent a message via Bluetooth to that station. Using Bluetooth turned out to be pretty frustrating and temperamental, but thankfully ultimately successful. The Bluetooth platform for Lego Mindstorms can be difficult to use, so we wouldn’t recommend it to any beginning programmers or builders. For classroom purposes, we would recommend working around Bluetooth. Elaborate timing of programs can be used, or a creative combination of different sensors—both light and sound work well.
All in all, we conquered some difficult design challenges, and had a very fun and rewarding learning experience. And we have a robot that makes ice cream sundaes.