To demonstrate how the interface can be used, we consider a navigation task in which the robot is to follow the shortest possible path to get from any room of the grid world, below, to any destination room.
This movie shows the robot approaching the Orange color dot, which can be used to mark a certain door (through which we would like to robot to go through). To approach the dot, the robot first performs the action searchBall(), which causes its head to scan around searching for the dot. If searchBall() fails, the robot will simply turn 90 degrees, and do searchBall() again. Otherwise, depending on the angle the dot makes with its body, the robot will either turn or walk toward the dot. This process is repeated until the robot's nose (camera) is close enough (within 55 mm) from the dot.
This movie shows the robot going from location (1,1), the top right room in the video, to the location (3,3), the bottom left room in the video, by repeatedly approaching the appropriate doors marked by appropriate color dots.
model.ecl, control.ecl, execution.ecl, init.ecl