cake frosting robot
Project Description
Background
For our final project in ME35: Robotics, our whole class embarked on a team challenge: to build a robot that could bake a cake and frost an image onto it. Our goals were to
Mix the batter
Load the cake into an oven
Load the cake into a machine that could frost it
Frost an image onto the cake, without knowing what the image was beforehand
We all split into teams with different roles, after doing extensive planning to develop a system diagram. You can see the diagram at the bottom of this page.
I joined the Frosting Mechanism team as the project manager. This meant that I was in charge of organizing the design and building of the hardware that would frost the cake. I leveraged my background in additive manufacturing to help the team design a machine that could go around and “extrude” a vector image onto the cake.
Design
We had two design teams running in parallel: mechanical and software. The mechanical design team came up with a 2D cartesian plotting machine driven by two stepper motors and a design for an extruder that would push frosting out of a syringe with a DC motor.
I was on the software design team, which was in charge of writing the motor controllers and route-planning algorithms. I wrote objects to leverage the Adafruit Raspberry Pi motor hat to control stepper motors at the step-level and do route planning between coordinates. I also wrote a simulator script that would simulate the steppers movements and plot them so the user could debug the motor controller. Our programmer wrote code to interpret the coordinates from the image processing team and help plan routes between vectors. The full codebase is linked here.
Testing
We began to assemble and test our robot, two weeks before the final project showcase. We quickly realized that while the plotting worked, we needed to improve the frosting extruders. Pushing even the lightest frosting through the syringes required a huge effort, which meant we had to increase our power supply to 5A, strengthen the extruders, and most importantly, liquify the frosting.
We tested many different frosting consistencies and motor parameters and were finally able to settle on a configuration that worked reasonably well. Our robot successfully drew a tree on a cake at our full robot test the night before the demo.
Final Demo
During the demo, our robot frosted an image of an elephant onto the cake successfully. Our whole classes’ system worked together to mix the batter, bake the cake, and frost it. This required cooperation with other teams to ensure that our systems integrated into theirs without issue. The result was a resounding success that we are all proud of, especially for a three week project. A full video of the robot is below, as well as a gif of the frosting section.
Looking back, we would have liked to spend more time tinkering with different methods of frosting in order to perfect a method with a thicker consistency.