Student Robotics Competition
October 14, 2007
Orlando, FL

Home | Rules   Qualification   On-Site Competition  
Tapia World


The document that follows gives background on the qualification procedures and use of the Player/Stage/Gazebo simulation environment.


Overview

Figure 1: View from the robot's
camera
Figure 2: Robot approaches marker
The qualification task involves writing a robot client that searches for and visits survivors in a simulated world. The simulated world exists in Gazebo with some unknown number of survivors in a unknown locations. Survivors are represented as a cylindrical marker with three colors arranged vertically. The arrangement of the colors uniquely identifies each survivor. A survivor will be considered visited when the robot is within the survivors proximity (indicated by the green circle underneath each marker) and announces the visit. The announcement can be a simple print statement followed by a new line that identifies the colors of the marker. For instance, in Figure 1, the robot would print (Yellow, Purple, Blue is here).

An example layout for the qualification arena is shown in Figure 3. The map of the world will remain the same as shown. However, the locations of the survivor markers will change for each test trial.

Figure 3:Sample Placement of Markers

Using Player and Gazebo

The qualification materials include several files (in tapia_qual.tgz) that enable you to get up and running. Assuming Player/Stage has been installed correctly or you have the Tapia Robotics DVD working, you can follow these quick start instructions for using each file:

Figure 4: Screenshot of simulator in action
  • tapia.world, tapia.gzb: the Gazebo world and terrain files. You can execute the command wxgazebo tapia.world to see the Gazebo qualification world in action with 2 robots. This will bring up a command GUI that can be used open windows for directly viewing the robot's sensor values and controlling the robot without using Player.

    Figure 5: Screenshot of interactive graphical server (wxgazebo)

  • tapia.cfg, colors.txt: the Player configuration file and color calibration file. You can execute player tapia.cfg to start the server for both robots at port 6665 on the local computer. The server can then be accessed through a variety of methods. You can run playercam to view images coming from the robots cameras. The playerv command will spawn a GUI that allows you to view other robot proxy information, such as color blobs and laser range information. You will need to subscribe to each proxy using through the Devices menu as shown in Figure 6. You can also subscribe and command the robot using the position proxy for each robot. The blobfinder used by Player will look for colors specified in the colors.txt file. This file is currently calibrated to find green, red, and blue. You will need to add additional calibration for the yellow and purple colors, which is done by determining the proper YUV (an alternative color space to RGB) values for these colors and adding entries in colors.txt.

    Figure 6: playerv: sensor data visualization from player server

  • client.c, Makefile: a simple Player robot client and makefile. You can build this example client using the make command. The client can then be run with the command ./client 6665 0 3. This command tells the client to connect to the robot server at port 6665 with device (robot) index 0, running with a speed multiplier of 3. The robot server will provide access to two robots with indexes 0 and 1. You can the same client to drive the other robot with the command ./client 6665 1 3. client.c is not very smart, but you can tinker with it to improve it and maybe use it as the starting point for your code.
The basic information provided above should allow you to get started. If you want to get fancy, you can play with the other files in the qualification materials:

Feedback

Please refer to the Wiki or send mail to robotics@richardtapia.org with questions, corrections, and concerns. We will post instructions on how to submit your code for qualification closer in late July.

Good luck and happy hacking!

Last updated Fri Nov 02 19:46:10 EDT 2007