main.gif (2506 bytes)The University of Texas at El Paso , Computer Science Departmentutep.gif (2625 bytes)

       CS 4390 - Building and Programming Mobile Robots

Nomdic Technologies, Inc.

Return
 
Nomad Robot Team:
scout2.gif (7129 bytes)
Noel Ricca
RubenBlanco
DebbieVelarde
Marcus Dreeke
Robot: Nomadic Technologies, Inc.

Model: Nomad Scout IITM

Name: "Elvis"

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 LilMaze.jpg (5075 bytes)

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

mail.gif (1967 bytes)"The Nomad Inter-Office Robotic Mail DelivererLilfloor.jpg (6113 bytes)

A new directional matrix for the UTEP Computer Science First Floor Environment was drawn up. Our robot's interface was given a "inter-face-lift" to allow for user multiple input commands. The basis for our team's final project was decided to expand on the simulated office (maze-like) environment and develop a real world application for our Little Elvis. Our team decided on an algorithm that would manouver the Nomad robot through the first floor of the computer science building delivering mail between the following offices: Martha Hernandez' Main CS Office, Dr Gelfond's, Dr Bell's, Dr Bernat's, and finally the Main Robotics Laboratory. Our program was developed to execute on the Linux command prompt, and issue audio instructions via the Toshiba Laptop's sound card (possible through the Linux Power Tool: [system] and the Linux SOX audio player). The user would be given an option to enter "multiple points of destinations," and the starting point and the robot orientational position (North, South, East, West) had to be entered upon runtime. Once all information was entered Little Elvis had his instructions to execute. Along the way Little Elvis also spoke of impeding obstacles, and openings found along the way. Reaching the final office destinations the robot would announce that the recipent had mail and sleep for a moment, waiting for mail to be picked up. However, if the door was closed to the office Little Elvis would continue with his delivery route bypassing the recipient. If the door was open but nobody to pick up the mail, then after sleeping for a moment Little Elvis would awaken and continue with his mail route. Leaving with the following statement "ELVIS HAS LEFT THE BUILDING!"

Code

Maze.c
Final.c