Finally, they need to be able to avoid obstacles. That can be pretty tricky when the room is filled with people, chairs, and other robots. Remember, the robots can't "see" and they don't have map of the room. They can only sense obstacles a few inches in front of them. One good way to do that is to use a bump sensor. Building a nice bump sensor can be quite a mechanical design challenge. The robots are programmed in C using something called a behavior based architecture -- the same framework used in the Roomba vacum cleaner.
I leave you with a video taken by a camera strapped to the top of one of the robots. From the robot's prespective turns out the world is an ugly place filled with black shoes, tan uniformed legs and rolling chairs.
(After about 1 minute in there is some cool picture in picture editing thanks to Midn Ihlan!)