The challenge
Two robots are placed in a 64 square foot arena, subdivided into 16 colored zones. When the wireless system sends the “Permits Issued” command to the onboard serial communications boards (SPUDs), the robots must compete to move MINERs (cylindrical IR beacons) to designated mining squares. Each robot has two eligible MINERs, distinguished by their IR frequency, and one exclusive mining location. There are also two shared mining locations, but each location may only be occupied by a single miner at a time. As the robots query the SPUDs to learn their eligible mining locations and the locations of the MINERs, they must navigate autonomously to move their MINERs and score points. Mining locations change throughout the game. Each robot must be built entirely from the ground up by the team, and operate without human assistance.
A pdf of the game can be downloaded to the right:
|
|
The robot
Sensing:
We use an IR photodiode with a signal conditioning circuit to allow us to detect the miners and measure their period from up to six feet away (and roam the arena to detect any that are originally further than that).
We use an onboard accelerometer to measure the angle of our robot when stationary. Based on a known incline of the arena, we are able to calculate our heading within a range of approximately 15 degrees based on low-pass filtered readings. By monitoring the stream of accelerometer data in our direction of travel, we’re able to detect bumps and collisions while we’re moving. We’re able to catch collisions even when the front of our robot is blocked by a miner being carried.
We do not have an onboard color sensor, and instead only rely on the color sensing capabilities of the miners. When we are pushing a miner, we periodically query its location to understand the location of our robot.
Motion:
We use two geared DC motors, powered at 14.4V with two NiMH batteries and H-bridge drivers. The motors drive rollerblade wheels through a shaft protected with spider couplings. Each motor has an encoder used to ensure the robot drives straight, as well as to allow for precise distance travel and angular rotation.
Moving MINERs:
We have two onboard electromagnets powered at 7V through a buck converter and transistor circuit. These lock onto the ferrous rim of the miner flange, and a tape sensor confirms that the MINER stays attached.
Strategy:
Our robot focuses on quickly and reliably moving both of our miners to unoccupied mining locations. It queries all information available on the SPUD at a fast rate, and updates an internal game struct that represents all known game data. When the game begins, the robot rotates and measures detected IR signals, comparing them against eligible miners. The robot heads toward the first eligible MINER it sees, and stops when the tape sensor detects that the electromagnets have engaged the MINER. Our robot uses a path planner file in order to determine where to place the MINER in order to accrue points as quickly as possible. The planner software compares the current location of our attached miner with the closest eligible destination, and plans a path. The robot rotates to its desired heading, moves forward, and updates its route with each new color (location) detected by the onboard MINER. When the MINER's location matches its intended destination, the electromagnet releases and the robot begins rotating to look for the next eligible MINER not currently mining.
We use an IR photodiode with a signal conditioning circuit to allow us to detect the miners and measure their period from up to six feet away (and roam the arena to detect any that are originally further than that).
We use an onboard accelerometer to measure the angle of our robot when stationary. Based on a known incline of the arena, we are able to calculate our heading within a range of approximately 15 degrees based on low-pass filtered readings. By monitoring the stream of accelerometer data in our direction of travel, we’re able to detect bumps and collisions while we’re moving. We’re able to catch collisions even when the front of our robot is blocked by a miner being carried.
We do not have an onboard color sensor, and instead only rely on the color sensing capabilities of the miners. When we are pushing a miner, we periodically query its location to understand the location of our robot.
Motion:
We use two geared DC motors, powered at 14.4V with two NiMH batteries and H-bridge drivers. The motors drive rollerblade wheels through a shaft protected with spider couplings. Each motor has an encoder used to ensure the robot drives straight, as well as to allow for precise distance travel and angular rotation.
Moving MINERs:
We have two onboard electromagnets powered at 7V through a buck converter and transistor circuit. These lock onto the ferrous rim of the miner flange, and a tape sensor confirms that the MINER stays attached.
Strategy:
Our robot focuses on quickly and reliably moving both of our miners to unoccupied mining locations. It queries all information available on the SPUD at a fast rate, and updates an internal game struct that represents all known game data. When the game begins, the robot rotates and measures detected IR signals, comparing them against eligible miners. The robot heads toward the first eligible MINER it sees, and stops when the tape sensor detects that the electromagnets have engaged the MINER. Our robot uses a path planner file in order to determine where to place the MINER in order to accrue points as quickly as possible. The planner software compares the current location of our attached miner with the closest eligible destination, and plans a path. The robot rotates to its desired heading, moves forward, and updates its route with each new color (location) detected by the onboard MINER. When the MINER's location matches its intended destination, the electromagnet releases and the robot begins rotating to look for the next eligible MINER not currently mining.