|The University of Texas at El Paso , Computer Science Department|
Model: Nomad Scout IITM
Project 1: Detecting open Doorways along a hallway
Our team used a series of sonar sensors to determine the average value calculated from the distance from any given wall of the hallway. Using 3 sonar sensor readings (left and right), our robot was able to maintain a consistent distance from the surrounding environment. Openings were seen as a lengthening of either side compared to a preset hallway width threshold.
Project 2: Detecting open Doorways along a hallway, while avoiding obstacles
Had Elvis calculate from sonar sensor readings, the area which had the most open space. There wasn't quite enough control to maneuver in tighter situations, due to the sonar sensor limitations. A fail-safe was added to the routine that would allow Elvis to stop and turn if it got too close to an obstacal directly infront. This solved the problem of impeding obstacles in our robots' traveling course. Now it could move, even in the tightest of circumstances, and go untouched (within the limits of the sonar sensor range of detection).
By setting up a system of flags, we programmed the Nomad to determine what state it was presently in. The flags were to indicate if there was in an opening, detection of obstacles, or neither. The biggest help was the realization that when an obstacle was detected, there was a sudden decrease in the sonar readings. This meant that if the robot wasn't at an opening, and suddenly sensed something closer, it must be an obstacle. Then what our algorithm executed was to set the "obstacle" flags until the robot detected an increase in distance. Then the robot was programmed to continue to scan for openings. Our team was able to break the code down to its simplest components, and to write a series of very simple, readable statements about the conditions that the robot would encounter. All the while with obstacle avoidance, our robot proved to be sucessful performing this task.
Project 3: Maneuver in simulated Office (maze-like) environment
This area offered very particular problems because the environment was scaled down to a size that was barely large enough for a Nomad robot to roll through. We used our same code and fine tuned to fit into the small size. Turns had to be made tighter and avoidance had to happen at a much later time in order to allow the robot to move at all.
The main part of the office environment task was to program the robot to travel from one predefined location to another. The office was divided into twelve parts. The assignment was to allow a starting position, any one of the twelve, and an ending point, as long as a starting direction. The first task was to give directions to the robot on how to get from one point to another. We set up a matrix of directions. It is a 12 by 12 matrix, to and from. Each node in the matrix is a record that holds several directions. To create a simple base case, we make Elvis face North at each location, that way it doesn't matter from which direction the Nomad comes from, it can always start the same way. So the first element of the record is to turn the robot from North to which ever direction it needs to go. The second element is the end condition for the next location. In some cases it is an opening on the right, some an opening on the left, and even a few that look for three walls. The third element of the record in the matrix is the final turn command to get Elvis to point North again, so that the next location move can start knowing it's facing North, no matter the direction it is to go next.
Elvis turns its initial direction, avoids any walls until it senses it's ending condition, then turns to face North again, and continues following the matrix until the end condition is reached. This allows for small variances in the office environment to not affect the performance. It doesn't rely on any form of measuring that can get messed up in the real world. It looks for openings and walls which allows for easy adaptation to any office environment.
Project 4: Final Special Project: Expand office simulation to a real office situation