2015 ARTSI Robotics Competition at Tapia, Sponsored by iAAMCS

Click for results and photos from the competition.

Date: Saturday, Feb. 21, 2015
Location: Boston, MA, at the ACM Richard Tapia Celebration of Diversity in Computing
Team Registration Deadline: November 30, 2014
Click for Frequently Asked Questions

Updates:

  • January 29, 2015: Sample code for picking up and moving dominoes has been released. See below for details.
  • January 21, 2015: The robot task has been released: domino manipulation. See below for details.
  • January 14, 2015: The second challenge task has been released: domino sum. You will need to do a software update to pick up important changes to Tekkotsu needed to work on this task.
  • January 8, 2015: The simulator event has been released: Shakey the Robot. See below.
  • iAAMCS travel scholarships to Tapia: apply here by December 5, 2014.
  • Team registration deadline pushed back to November 30.
  • Tapia 2015 travel scholarship applications are due September 15, 2014.
  • Please see the 2014 ARTSI Robotics Competition web page for information about last year's competition.


Competition Overview: Do I Need a Robot?
Some events can be done in simulation. The main event must be done on a real robot, but loaner robots will be sent out to schools that need them. The competition uses the Tekkotsu software framework, a free, open source platform developed at Carnegie Mellon. The robot is the Calliope2SP, co-developed by RoPro Design and Carnegie Mellon, and based on the iRobot Create.


Challenge Tasks

Challenge Task 1: Square8
The robot must execute the trajectory shown at right. The path consists of two 0.5 meter squares connected by diagonal lines. The total dimensions of the figure are: width 0.5 meters, height 2.0 meters. The robot starts out facing north, as shown; it must end up in the same position again. If you would like to use Mirage to develop your solution, you may use the Mirage world Square8.mirage.

Here is a similar challenge task from the 2013 competition, along with the solution:
Example problem. The robot starts out facing north and must execute a trajectory that makes a five-pointed star, with a leg length of 1 meter. The world source file is Star5.ian and the Mirage file is Star5.mirage. The solution code is Star5.cc.fsm.


Challenge Task 2: Domino Sum
The robot must find all the dominoes that surround it, and report the number of dominoes and the sum of all their dots. For example, in the figure at right there are three dominoes, and their dots sum to 21. This example world is DominoChallenge.mirage, built from DominoChallenge.ian. Click on the image for a larger version.

The file FindDominoes.cc.fsm contains sample code you can use for finding dominoes. It moves the head a little bit to scan the area in front of the robot. But is it using the best possible scan pattern? You can probably design something better. Also, there can be dominoes behind the robot that it can't see by turning the head, so you'll need to turn the robot's body as well.

To make things easier, you can assume that all the dominoes will be roughly 600 millimeters from the robot, as in the example world. But they can lie in any direction, and there will be anywhere from 2 to 4 of them, so the robot must search carefully. To test your code, you can make several Mirage worlds with different domino arrangements, or you can use physical dominoes with your actual robot.

Each team is being shipped a set of foam dominoes for use in the competition. To print the sample domino faces, see the file domino-faces.pdf, and to make your own dominoes, use the file domino-faces.pptx.

Remember that the robot must report both the total number of dominoes found and the sum of all their dots. You will want to examine the file Tekkotsu/DualCoding/DominoData.h to see how dominoes are represented.


Simulator Event

2015 marks the 50th anniversary of the Shakey the Robot project. Shakey was one of the first autonomous mobile robots to use artificial intelligence. Shakey was developed at the Stanford Research Institute in Palo Alto, CA. A video demonstration of Shakey can be viewed here. Watch it now.

In the video, Shakey is told to "use box 1 to block door 4 from room 2". Your task is to reproduce Shakey's environment by building a Mirage world with the necessary walls, door openings, and blocks. Then, write a Tekkotsu behavior to make a simulated Calliope2SP robot move through your world to perform the specific task that Shakey was given.


This is not difficult because you do not need to implement Shakey's natural language input, planning functions, or vision system. Nor do you need to reproduce the "gremlin" shown in the video. Since you are building the world, you know exactly where everything is laid out, so you can use a fixed, predetermined sequence of actions to make the robot solve the task.

Contestants will be judged on the creativity of their Mirage world and the effectiveness of their robot's solving the door-blocking problem.

To learn how to run Mirage, see the Mirage lab exercise.

Hints: visit the Mirage Tips page to learn how to make a maze environment. Unfortunately, Mirage does not presently provide an easy way to make movable wedge-shaped blocks as shown in the video, so use square or cylindrical blocks.


Robot Event

The main robot event also involves the use of dominoes, but the robot will have to work harder to find them, and it will also have to move them using its gripper.

The setup: the robot will start in the center of a 2 meter by 2 meter square (roughly 6x6 feet). There will be four dominoes spread around the square in random positions, but well-separated. The robot has to pick up the domino with the largest value (greatest number of dots) and place it next to the domino with the smallest value (least number of dots). Then it has to pick up one of the intermediate value dominoes and place it next to the other intermediate value domino, so that we end up with the dominoes grouped into two pairs.

Scoring: The robot can take up to 5 minutes to complete the task. Points will be deducted for running into a domino, dropping a domino, or failing to place a domino where it's supposed to go. If the task is performed without error, a faster robot will get a better score than a slower robot.

Vision: In order to see the dominoes properly, you will have to tweak the camera parameters. An initial set of parameters has been created specifically for this task. Download the file domino.plist and place it in /home/user/project on the robot. Use this file when you run Tekkotsu on the robot:

./tekkotsu-CALLIOPE2SP -c domino.plist
Manipulation: New! The Grasper can be used to pick up and transport dominoes. Here is a sample behavior FetchOneDomino.cc.fsm that uses the Grasper to pick up a domino and transport it back to the robot's starting point. You will need to do a cvs update before compiling this code.

Simulation: The files DominoEvent.ian and DimonoEvent.mirage can be used with the Mirage simulator to debug your domino-finding code. However, you will not be able to use them to simulate picking up the dominoes. For that you must use the real robot. Note: the green lines in the simulated world are there to show you the size of the region where dominoes may be placed. You will not have these lines in the actual competition, and there is no penalty if your robot wanders outside the square.


Frequently Asked Questions
  1. How do I install the Tekkotsu software?
  2. How can I learn Tekkotsu robot programming?
  3. How do I obtain a loaner robot?
  4. What constitutes a "team"?
  5. How do I register for the competition?
  6. Can I purchase my own Calliope2SP robots?
1. How do I install the Tekkotsu software?
You will need a workstation that runs Ubuntu Linux 14.04 LTS. Simply go to the Tekkotsu Wiki and follow the Ubuntu install instructions and then the Tekkotsu install instructions. For the Mirage simulator, follow the Mirage install instructions.

2. How can I learn Tekkotsu robot programming?

The labs on the Tekkotsu wiki are the best introduction. There is additional material on the tutorials page. For greater depth, see the lecture notes from Dave Touretzky's Cognitive Robotics course.

3. How do I obtain a loaner robot?

Loaner robots will be supplied on a first come, first served basis to schools that demonstrate proficiency in basic Tekkotsu programming using the Mirage simulator. Any of the three Challenge Tasks can be used to demonstrate proficiency; simply send in the source code for your solution along with your team registration information.

4. What constitutes a "team"?

A team consists of one to four students who work together to solve a task. At most one team member can be a graduate student; all others must be undergraduates.

5. How do I register for the competition?

Teams must qualify at time of registration by demonstrating mastery of basic robot programming. The reasons for this are (1) to ensure that teams don't wait until the last minute to start working with Tekkotsu, and (2) to allow us to accurately estimate the amount of time, space, and judging resources required for the competition. Any of the three Challenge Tasks can be used as a qualification task; simply send in the source code for your solution along with your team registration info.

To register, email Dave Touretzky at dst@cs.cmu.edu no later than November 1, 2014 (preferably earlier) with the following information:

  • School name
  • Team name and contact info (email and phone)
  • Name of each team member, and the faculty advisor's name
  • Source code for your qualification entry
  • Competition event(s) in which you expect to participate
  • Travel assistance received: have any members received Tapia scholarships?
  • Travel assistance requested: some travel funding may be available from iAAMCS
6. Can I purchase my own Calliope2SP robots?
Calliope2SP robots used to be available from RoPro Design, but they are no longer in business. Also, iRobot no longer sells the Create. A new Calliope robot design, based on the new Create2 from iRobot, is presently under development.

Competition Organizers
The ARTSI Robotics Competitions are created by David Touretzky of Carnegie Mellon, and administered by him and Tamara Rogers of Tennessee State University.

About ARTSI and iAAMCS
ARTSI (Advancing Robotics Technology for Societal Impact) is a consortium of computer science educators working to develop an active African American robotics community and recruit underrepresented students to pursue graduate training and careers in research. ARTSI is led by Chutima Boonthum-Denecke of Hampton University, and David Touretzky of Carnegie Mellon. ARTSI was formerly funded by the National Science Foundation's BPC (Broadening Participation in Computing) program, which now funds iAAMCS, the Institute for African-American Mentoring in Computing Sciences. iAAMCS is the sponsor of (and provides some funding for) the ARTSI robotics competition at Tapia. iAAMCS is led by Juan Gilbert of the University of Florida.