My team’s Arduino robot with a unique spring-push-plate mechanism for propelling cubes away.

My team’s Arduino robot with a unique spring-push-plate mechanism for propelling cubes away.

Mechatronics
”Cube Craze”

MAE 3780 Mechatronics
Cornell University, Fall 2017

MAE 3780 is the core mechatronics course of the B.S. mechanical engineer curriculum at Cornell University. The course culminates in a head-to-head student robot competition. For my year, the competition was “Cube Craze”; students’ robots would have the task of moving as many 1 inch cubes off of their own side of a playing field onto their opponent’s in 1 minute. I was joined by Cora Peterson and Elizabeth Brandt for this effort.

Each team was given a standard Arduino Uno board, a QTI (infrared) sensor, RGB color sensor, fixed voltage battery pack (4 AAA batteries), DC motors, and a breadboard. All other components were purchased from McMaster-Carr, provided by the teaching team, and/or manufactured in the metal shop or with a plastic laser cutter.

 

The uniqueness of our design

Many of the other teams attached large arms to their robot that would passively sweep blocks as their robot patrolled the field. While this is an effective and simple enough to implement, my team very much wanted a more unique mechanism for moving the cubes. And so we developed a spring loaded, continuous motion mechanism that would punch blocks away from our robot. While this would make our robot very unique from all of the other teams, we believed it could work to push blocks deep into the other team’s side of the field.

Special cam wheel with a flat edge. This wheel connects to a third DC motor and rotates continuously while the robot is running. It interfaces with the push plate beneath and compresses the springs on the Delrin pins. The flat edge causes an abrupt release of the push plate to punch cubes away from the robot.

Special cam wheel with a flat edge. This wheel connects to a third DC motor and rotates continuously while the robot is running. It interfaces with the push plate beneath and compresses the springs on the Delrin pins. The flat edge causes an abrupt release of the push plate to punch cubes away from the robot.

Springs posterior to the push plate. When the cam wheel pushes on the acrylic push plate, the plate compresses these springs and slides down the Delrin pins. Once the cam wheel slips off of the push plate, the springs release the elastic force and generate the punching power of the robot.

Springs posterior to the push plate. When the cam wheel pushes on the acrylic push plate, the plate compresses these springs and slides down the Delrin pins. Once the cam wheel slips off of the push plate, the springs release the elastic force and generate the punching power of the robot.

Cartoon of the cam wheel interfacing with the push plate (1), compressing the springs (2), and then releasing the elastic force in the springs (3, 4).

Cartoon of the cam wheel interfacing with the push plate (1), compressing the springs (2), and then releasing the elastic force in the springs (3, 4).

Demo of pushing / punching power of the mechanism during in-lab testing.

Demo of pushing / punching power of the mechanism during in-lab testing.

 

In the competition

In the video, our robot's side of the field is blue and the opponent’s side is yellow. After 1 minute, whichever robot has fewer cubes on their side of the field moves on to the next round. The QTI sensor detects the black border and tells the robot to reverse its direction. The RGB sensor detects which side of the field is the home field and keeps the robot bound to it.

While our robot does manage to punch a few cubes off of the blue side, it barely misses the few cubes stuck in the corner between the black border and the yellow side. This slight miss costs us the win; however, we were still very happy with how the mechanism was able to punch cubes away from our robot.

 

Code Flowchart

Flowchart for main() function in the Arduino code

Flowchart for main() function in the Arduino code

Flowchart for QTI interrupt

Flowchart for QTI interrupt

When the robot is turned on, the main loop continually iterates and the QTI sensor causes an interrupt when the robot sees the black border of the field. The main loop is responsible for patrolling the home field after identifying which color of the ground on which the robot turns on - either blue or yellow. Since the robot is unlikely able to return to the field if it drives off of the edge, an interrupt is used to ensure that the robot always backs up once the black border is detected.

Previous
Previous

"Drehknopfe" Fastening Dial

Next
Next

Soft Robots (PneuNets)