Home | Team Info | Documents | News | Progress | Releases | Robots | Concepts | Site Map


Wander Algorithm

Assumptions

  • The laser and camera have powered on.
  • The robot must be in its predefined starting position for localization.

 

Algorithm Description

The wander module is fairly simple to follow. It calculates a random X, Y position in the room. The psuedo formula is:

if(rand() % 2 ==0)
X=(((rand()*rand()) % (lower x_bound))*-1)
else
X=((rand()*rand()) % (maximum x_bound))
if(rand() % 2 ==0)
Y=(((rand()*rand()) % (lower x_bound))*-1)
else
Y=((rand()*rand()) % (maximum x_bound))

These formulas calculate a global X, Y position for the EB 2029 based on our laser map. The gradient then takes this X, Y making it a goal for the robot. If the goal X, Y is inside an object that is defined by our laser map, the gradient will fail to find a path and look for another goal. When seeking a goal, the wander module uses gradient path finding and laser localization to go from its current position to the next goal position. These Saphira classes give us dynamic obstacle avoidance needed to get from point A to point B.