Singapore Robotics Grand Challenge 2008

The TechX Grand Challenge is a robotic competition held in Singapore. It is organized by Singapore's Defense Science and Technology Agency (DSTA). I was part of the team for the National University of Singapore (team X1) for the first edition (2008). Robots were given one hour to enter and explore a building, search for targets designated by pictures and come back.

More specifically, the robot had to:

  • navigate toward the entrance of the building, avoiding obstacles along the way. The terrain was supposed to be rough, i.e. include pebbles, low level obstacles, etc. In short, the robot was to demonstrate outdoor navigation capability. Before the competition, we were given the GPS coordinates of the start point and of the entrance of the building.

  • after entering the building, the robot had to climb a flight of stairs and search for the elevator. Two orange cones were placed at the top of the stairs. Coordinates of the elevator with respect to the top of the stairs were given.

  • the robot then had to call the elevator, enter it and press the button to go to an upper floor. A picture of the button panels was provided 30 minutes before the start of the competition.

  • upon reaching the target floor, the robot was to explore it and search for the designated targets. Targets were identified by pictures given to us long before the competition.

  • Finally the robot had to come back to its starting point.

Everything was to be done autonomously, in less than one hour.

Our platform

Our robot (X1) was based on the Packbot robot from iRobot. We added numerous sensors (gyro, sonars, lasers, cameras, etc.), and two PC104 CPUs. The whole code was written from scratch in C++ (40,000 lines). We chose to write our own code rather than use some third party software (e.g. Player) so as to have maximum control other the code. It turned out to be a lot of initial effort, but eventually led to a very fast development pace: we could fix bugs very quickly, and we could very easily add new functionalities.

In less than 9 months we developed a multi threaded component framework (a sort of mini operating system for the robot) to integrate all the sensors and actuators, as well as all the high level modules. We developed navigation algorithms (both local and global), strategies for each one of the stages of the competition (find the stairs, climb the stairs, find the lift, press the lift buttons, etc...)

We made extensive use of USARSim, a robot simulator based on the Unreal Tournament game engine, to develop our navigation algorithms.

Achievement

Out of the 30 teams that initially registered, we were one of the six teams who passed the qualifications.

During the last few weeks, we had managed to run tests in which our robot completed the initial stages of the competition scenario: outdoor navigation, enter the building, find the stairs and climb them, navigate to the elevator, call the elevator, enter, press the buttons, explore the target floor. However we were not able to identify the targets...

On the day of the competition however, our robot failed miserably, not event being able to enter the building. Post analysis revealed that our initial compass measurement (on which the whole localization was based) was wrong by 18 degrees, probably due to some on-site electromagnetic noise.

We failed to foresee this problem, and we should not have relied so much on only one compass measurement. We had decided to do so, because the compass was adversely affected by the magnetic noise of the motors.

Publications

  • S.S. Ge, Q. Zhang, A.T. Abraham, B. Rebsamen, Simultaneous Path Planning and Topological Mapping (SP2ATM) for environment exploration and goal oriented navigation, Robotics and Autonomous Systems,Vol. 59, No. 3-4, pp. 228-242, 2011. DOI: 10.1016/j.robot.2010.12.003