Competitive Sheep Herding Robot

A mobile robot designed to navigate a game field and collect balls (sheep) faster than a robot opponent.

The Project:


The behavior of this robot is determined by a state machine, running on a Teency-LC, that receives inputs from multiple IR photosensors. Designed to have sufficient power, this bot can ascend the gameboard slope where it then identifies and gathers a large foam ball, and tracks a line of tape leading to the scoring zone, where it then deposits the ball. This robot was created as part of Stanford course ME210.

Skills:

  • electro-mechanical system design

    • event-driven programming

    • circuit design

    • mechanism design

  • digital fabrication

  • CAD

Software Design

This is the first draft of our team’s software state machine. Our goal was to shoot for a “minimum viable product” before adding additional functionality.

Our robot must respond to IR sensors, timers, and buttons. Hardcoded, non-blocking timers dictate the time it takes the robot to descend the ramp and to make a 120-degree turn towards the tape path. Sensor responses are used to confirm the collection of the foam ball, track the tape, successfully maneuver through a fork in the tape path, and determine the robot's arrival in the scoring zone.

Two different start buttons were implemented, dictating whether the robot should play the game on the “red” start side or the “blue” start side.

Tape Following Strategy

Lower Platform

In order to follow the tape of the gameboard, our robot’s lower platform is equipped with five IR sensors. The three central sensors are for tape following, and the front two sensors are for detecting a fork in the tape path and for recognizing the scoring zone.

The IR sensors “see” the tape and respond accordingly. Ideally, our robot drives centered along the tape. To achieve this we placed the Left IR and Right IR sensors directly outside the width of the tape. If the robot veers off the tape, one of these sensors will immediately trigger, telling the robot to correct itself by spinning its opposite wheel faster than the triggered side’s wheel. If the robot just sees the Center IR, it charges full steam ahead.

Intake System

In order to intake the foam ball, we used an acrylic ramp, intake wheels, and an IR sensor. The IR sensor at the top of the ramp reports that the ball has indeed been collected.

Even if our bot strays off from a straight path, the acyclic ramp guides the ball into the robot.

When the ball is sensed, the intake wheels stop rotating. After the ball is collected, the robot continues driving forward running into the walls of the arena effectively straightening itself out.

Once the scoring zone is reached the intake wheels rotate in the opposite direction and the ball is released from the robot.

Previous
Previous

Baby Yoda Robot

Next
Next

beats by Rae