site search  
 
 

OBSTACLE AVOIDANCE

 
 
 








[+QUICK INFO+]
TEAM MEMBERS :   Kenny Teng
Sabine Shauer
ASSIGNMENT :   Program a pair of AIBO's to simultaneously navigate through two identical mazes while communicating and avoiding obstacles along the way. The goal is for both of them to reach a ball pit and then collectively empty it.
SPECIFICATIONS :   The robots are programmed using the CMRoboBits source code where everything is implemented in c++.
RESULT:   Got an A in the class
   
If you thought my project was helpful to you,

[+OVERVIEW+]

The Sony AIBO® are remarkable pieces of hardware. They are considered as 'complete' robots that have everything incorporated into it. Below is a general idea of how complete these robots are.


Perception
- The ability to sense and model the world in which they evolve.

Cognition
- Behaviors, action selection, planning, learning.
- Multi-robot coordination, teamwork.
- Response to opponent, multi-agent learning.

Action
- Motion, navigation, obstacle avoidance
However, one of the most important feature of the AIBO® that is going to be used for this project is the Vision system. The robot is equipped with a mini camera at low resolution and is placed in the nose part of the robot, thus offering the 3 degrees of freedom of the head to move the camera around. Below is an example of what the robots can actually see.

Raw image in YUV colorspace

Segmented image input
From the input image, similar colors are grouped together to create segments in the original image. This segmentation technique allows quick grouping and identification of the different regions being perceived by the robots. Color matching could be used as a recognition basis for objects in the field of vision.
[+THE PROJECT+]
The Design
Above is a picture of the obstacle ground that the robots will have to go through. The walls are made up of identical 2" x 4" wooden planks and creates a bunch of different possible ways for the robots to navigate. From the above picture, we can detect T-junctions, straight lines, L-junctions and dead-ends. The Aibo® has been programmed to be able to detect those regions and make appropriate changes in its FSM to match the appropriate behaviors.

The Obstacles
There are 2 distinct obstacles in this maze. One where the robot has to climb over, and one where it has to crawl under. For both obstacles, specific motion behaviors have been designed and programmed into the dogs. Those motion behaviors are mere prorgams that are executed when the obstacles are detected and appropriate changes have been made in the states of the FSM.
The Landmarks
Signs are positioned at specific places in an order such that none of the dogs will be able to reach the ball pit if no communication occurs between the pair of robots. For the purpose of communication wireless will be used as primary means of communication over UDP connections. UDP connections are quickly set between the two dogs whenever required, and a message is sent from one dog to the other. By this transfer of message, it automatically sets one dog to be the master and the other one to be a slave. By alternating between master and slave, this allows synchronized navigation of the two dogs to the ball pit.
The Ball Pit
At the end of the course, both dogs are going to reach a ball pit each with colored balls. For this part they will have to empty the pit collectively, with the constraint that only the same color of balls can be removed at the same time. Therefore, to avoid confusion, as soon as they get into the ball pit, one of the dogs is directly set to be the master by default and the other one goes to slave mode. In this way, one will look for the closest color and inform the other robot which will look for the same colored ball to empty.

:: Site Map :: Contact :: Projects
©2007 Kenny Teng. All rights reserved