NIMBY
Game Overview
Squrling Field Diagram
Squrling is a game where each robot SQRL (System for Quick Removal of Litter) resides in their YARD (Yet Another Region for Dumping), whether Ed's or Karl's, as determined by IR beacons on TREEs (Tubular Repository of Excess Eject-ables) E and D versus TREEs K and A, respectively. Lines of tape run between TREEs in each YARD and down the center of each YARD in a cross.
Before the start of the match, an ACORN (A Cylindrical Object Representing a Nut) is placed by a team member anywhere in their YARD. In addition, five ACORNs are placed in each TREE, which are accessible through a gap at the bottom of each TREE. Removal of ACORNs will cause subsequent ACORNs to fall into the space in the gap previously occupied until no ACORNs remain in the TREE.
Robots begin the match in the starting area and must identify which YARD they are in using the beacons on the TREEs before scoring any ACORN. Following YARD identification and indication, SQRLs may acquire and score ACORNs to the other YARD from under the FENCE (Fortification Ensuring No Crossing, ExceptforACORNs), but cannot cross to or extend into the other YARD themselves.
At the end of the match, ACORNs in each YARD are scored based on the colored zones they reside in, where white is 1 point, green and pink are both 2 points, and yellow is 4 points. The SQRL with the lowest number of points in their YARD at the end of the match wins!
Robot Overview
NIMBY (Nuts in My BackYard) is a robot SQRL capable of beacon identification, tape following, intaking ACORNs both from TREEs and in the open YARD, and scoring ACORNs at a rapid pace. Notable features include:
Two-wheel traction drive with 12V DC motors, silicone-treaded tires, and rear caster wheel
Dual Quadrature encoders mounted on drivetrain motors for PI closed-loop control
Quad compliant wheel intake and ejection system, timing belt driven with 12V DC motors
Low-friction ramp and drawbridge ACORN storage capable of storing up to 5 ACORNS
Superstructure with YARD indicator servo, beacon IR phototransistor, and multi-mode button
Tape following with three opto-reflective sensors integrated below ramp body
Open field ACORN sensing with IR LED and IR phototransistor integrated into ramp body
Multi-level hierarchical state machine for complex gameplay, including line following, TREE logic, ACORN search, aim and shoot, and more
Multiple game mode switching capabilities, including Idle, Main Game, and Sudden Death
Tournament Winner of the Stanford ME 218B Winter 2024 Squrling Championship
Highlighted Match
Match Strategy
Match Strategy Showcase: Adversarial Testing Run
NIMBY's match strategy consists of the following phases: ACORN/YARD identification, TREE interaction, and free field ACORN search. ACORN/YARD identification takes an average of 6 seconds, TREE interaction takes an average of 40 seconds, and free field ACORN search runs for the rest of the match time.
At the start of the match, NIMBY rotates CCW until it locates the initial ACORN at the predetermined location, which allows it to determine it's orientation on the field. It then drives foward until the tape while intaking the ACORN, then turns CW to look for a beacon. If it identifies beacon K or E, it indicates it is on Ed's YARD, while if it identifies beacon D or A, it indicates it is on Karl's YARD. This allows NIMBY to forego multiple time-consuming rotations to identify the YARD with a more complex beacon counting/timing algorithm. It then turns towards the other YARD's closest yellow 4 point zone and ejects the initial ACORN.
Upon ejection, NIMBY transitions into the TREE interaction phase, where it turns to identify the right side beacon and executes tape following while ejecting to knock loose ACORNS away until it reaches the cross tape in front of the TREE. It then turns on the intake while performing a forward and backwards "jostling" motion to intake all ACORNs from the TREE, upon which it drives backwards, turns towards the center of the opposite YARD, and ejects all its ACORNS. NIMBY then identifies the left beacon, turns slightly CW, and drives forward a set distance to bypass the center tape cross before turning back towards the tape and following it to the left beacon. Upon reaching the TREE, it performs the same intaking and shooting routine. This TREE interaction routine is performed as fast as possible to allow maximum time for the free field ACORN search routine to deny opponents as many point scoring opportunities as possible.
After finishing TREE interaction, NIMBY enters a free field ACORN search routine, where it patrols four different locations on the field along the tape running between the two TREEs. It periodically sweeps +/- 120 degrees at each location away from the nearest tape cross while looking for ACORNs with the puck sensor, mostly ignoring ACORNS already residing in the 1 point white zones. Upon ACORN discovery, it will drive forwards a set distance calculated to keep NIMBY from trespassing across the FENCE in the worst case perpendicular scenario while intaking. After a certain number of intake attempts or if match time is almost over, NIMBY will eject the ACORNs currently stored. This allows NIMBY to not only deny opponents of high scoring ACORNs, but also allows NIMBY to score additional ACORNs to high scoring zones near the end of the match with no chance of counterplay.Â