| 2011 Robotics Competition |
|
|
|
|
March 17, 2011 at Florida A&M University Latest updates: Team makeup and registration: Teams may contain up to four members, at most one of whom can be a graduate student. All teams must register with the competition organizer, Professor This e-mail address is being protected from spam bots, you need JavaScript enabled to view it , by March 10, 2011. Please supply the following information: school name, team name, names and years of all team members (up to four persons), and the event(s) in which the team will compete. Schools may have more than one team. Teans may enter more than one event. The competition will consist of three events: Basic Skills EventThis event consists of three tasks demonstrating basic robot programming skills. Any team that successfully completes all three tasks will earn a certificate.
You can download a PDF file containing ready-to-print instruction tags here . You can tape these in pairs to cardboard boxes (see image below) to put an instruction sequence together. Use the AprilTest demo (in the ControllerGUI, go to Root Control > Framework Demos > Vision Demos > AprilTest) to make sure your robot can see your tags. You can ignore the distances reported by AprilTest; only the tag ids matter.
Room construction: use four wooden yardsticks (61 cents each at Home Depot). Tape a sheet of paper from an easel pad to each yardstick. Tape one of these escape tags to each sheet. Suspend the yardsticks from four chairs, as shown above. Place a large wastebasket on the outside of three of the four wals to block the robot from exiting in that direction. Maze Search EventThis event will use the same E-shaped maze as last year , except with AprilTags in the 16h5 family instead of bicolor markers. Tags 0 through 19 will be used as navigation markers, as shown in the diagram below. The robot will start out in a random position and orientation. It must visit each of the three alcoves and record which object it found in each. The objects will be cubes with an AprilTag attached. Tags 20 through 29 will be used to mark objects; one tag per object, and one object per alcove. The objects will be changed from one run to the next. After visiting all three alcoves the robot must navigate to the reporting point (the center of the main corridor) and announce the object tags it found in the north, central, and south alcoves, in that order.
Maze layout: The maze is 78 by 96 inches. The alcoves are 30 inches wide and 46 inches deep. The main corridor is 32 inches wide. All the walls are 20-24 inches high. The walls between the alcoves are 3 inches thick. See the diagram above for full dimension information. Also see the wiki article on Maze Construction . Construction tip: to make the two 46-inch interior walls, start with an 8 foot (96 inch) sheet of Plasticor. Make a deep cut at 46 inches and another deep cut at 49 inches, then bend the cuts at right angles to form a wall section. Cut off the excess 1 inch at the end, and attach the interior wall to the east wall of the maze using velcro. AprilTag placement: The centers of the navigation markers (AprilTags) must be exactly 7 inches above the floor. Tags 0 and 4 are 8 x8 inches; all other tags are 6x6 inches. The tags on the cubes are also 6x6 inches. The sequence of the tags is shown above. Maze definition files: A Mirage world for the maze is available, and was used to generate the first two images above. You will find it in /usr/local/Tekkotsu/tools/mirage/worlds/Emaze.mirage. There is also a Tekkotsu demo program that sets up a map of the maze in the world shape space for use by the Pilot; see Root Control > Framework Demos > Navigation Demos > Emaze. The Emaze demo is built on the PilotDemo class; see the PilotDemo documentation in the Tekkotsu wiki for information on how to use it to drive the robot around. Using Mirage and the Emaze demo will make it easier to debug your code, but final testing shuold be done using a real robot running in a real maze. Tutorial information: If you're new to Tekkotsu programming, go through the labs on the Mirage simulator, the Pilot and odometry,the Pilot and localization, and AprilTags. For communication between state nodes you will want to use the $provide/$reference state machine directives; see the articles on state machine programming on the Tekkotsu wiki. Start and duration of the run: Each robot will be deposited at a random location and orientation in the main corridor. Once the run starts, there may be no operator contact with the robot. The run ends when the robot has reported its results, or when 5 minutes have passed. Scoring:
Simulator EventThis event will be done in simulation, using Mirage. The task is to solve the 3-puzzle, a simpler version of the famous 8 or 15 puzzles used to teach heuristic search in AI. The 15 puzzle uses tiles with the digits 1 through 15 randomly arranged on a 4x4 grid with one empty space. Each legal move consists of sliding a tile either vertically or horizontally into the empty space, which leaves a new empty space behind. The goal is to arrange all the digits in sequence. For the competition, we will use cubes bearing the AprilTags 1 through 3, and a 2x2 grid.. Each cube must occupy a unique square all to itself, and one square must always be empty. The robot must push cubes from square to square until it has them arranged in the proper sequence, i.e., cube 1 must be in square 1, cube 2 in square 2, cube 3 in square 3, and nothing in square 4. The Mirage world for the puzzle can be found in /usr/local/Tekkotsu/tools/mirage/worlds/ThreePuzzle.mirage. If you zoom in one of the cubes you will see that there is a tiny number 1-3 written on each one, matching its AprilTag. Instead of the Create/ASUS robot, you will use the CalliopeNoArm robot (a Calliope without an arm) for this task. The robot has a pan/tilt, and the camera is mounted higher than on the Create/ASUS robot, making it easier to see the game board and the cubes. This simulated CalliopeNoArm has been configured with a pusher bar to make it easy to push cubes around.
A demo program called ThreePuzzle.cc.fsm is provided to help you get started. This program makes an illegal move (pushing a cube into a square that is already occupied), and then makes a legal move. For your solution, you should only make legal moves. To compile for the CalliopeNoArm robot, say "make tekkotsu-CALLIOPENOARM", or edit your project/Environment.conf file to change the default target architecture to TGT_CALLLIOPENOARM. Note: the starting state of the puzzle is fixed. So the easy way to solve this puzzle is to figure out the correct moves yourself, then write a state machine to make exactly those moves. If you do this, the team with the fastest correct solution will win first place. However, if any team manages to produce a solution that works for any starting state, they will automatically win first place. This is a much harder problem, and probably won't be solved this year, but by next year it will be easy to solve. For technical questions about the competition, contact This e-mail address is being protected from spam bots, you need JavaScript enabled to view it . |
|||||
























