Robotics Engineering 1001


RBE 1001 is the first class in the comprehensive five part sequence of primary robotics courses in the Robotics Engineering program at WPI.

For the final project you work in teams of 3 to design and program a robot to complete a modified version of the years Savage Soccer competition in only 2 weeks.


DESIGN


Our teams goal was to quickly collect and dump large quantities of eggs into the NEST, the highest point value location. Here is a Video of our robots autonomous mode.



4-Bar Linkake


4-bar linkage arm to collect EGGS on the ground and be able to dump them backwards for quick scoring.

Dual-Poistion Scoring Deflector


Center cut out and movable deflector to be able to raise arm and deflect EGGS into the proper goal for which color you’re playing on.


Game Reveal



Game Field

PROGRAMMING


Autonomous Mode


The autonomous portion of the match was one of the most important aspects of the project. In the autonomous modes we were required to push a scoring GOAL to get to the EGGS we needed to score.

To make sure our odometry was correct when pushing this heavy object we had passive encoder wheels that weren’t driven by our motors, so even if our drive wheels lost traction our encoder readings would be accurate.

Here is a Video of our robots autonomous mode.


Code Pre-compiler


To quickly create new autonomous modes we developed a Python script to parse a plain text file and generate a C++ switch statement. Each state runs a specific robot feature using the functions in our robot code and moves on to the next state when a certain condition is met.

The program also automatically adds statements to reverse turns depending on which side of the field the robot starts on. This method was used because it’s non blocking, allowing for control of other parts of the robot and reading inputs from sensors.

Checkout the code and examples on GitHub.

TECHNICAL DOCUMENTATION


For more details check out the full Project Report complete with decision making rationale, mechanical analysis, and code documentation.


To view the full code visit the projects GitHub.


Here is a Video of the robot in action.