Return
CS 3490

Team Members:
Richard Coy
Fernando Ibarra
Derrick White






First Task

The first task for the Nomad robot is to navigate through a maze and stop a specified location in the map. The map is divided into different sections which are identified with a distinct number. The robot must be given a number fro its starting location and destination. After such information has been entered into the program, the robot must then navigate through the maze without hitting any of the walls until it reaches the final position at the beginning of the task.

The following is an illustration of the map.


 
 

The algorithm for navigating through the maze works as follows. First, the robot must be given 3 numbers: the starting position, the final destination, and the direction that the robot is positioned. Once the robot knows all this information the robot will determine where it is and the actions that it must take in order to reached its destination. Second , once the robot has determined the section that it is currently on based on the given information it will use the sensor readings to navigate through the section. Based on sensor readings the robot will adjust its movements to find the correct openings to move into other sections, or it will search for walls if the destination is located in the current section. As it navigates the robot will continually update its current position in order to determine what sensor readings to use in order to reach its destination without hitting any of the walls of the maze.

Second Task

The second task consists of programming the Nomad robot to navigate the corridors of the CS Department in order to find any of the 3 labs located in the second floor. The path that the robot will follow is illustrated below.

In order to achieve the task the robot must be placed at the starting position depicted in the map, and a number must be given representing the final destination. Once the necessary information has been entered the robot will use the sensor readings to navigate through the corridor in the path that is illustrated below. The robot is programmed to detect the presence of cardboard boxes which will be used as signs that the robot must adjust its current position in order not not deviate from the given path.

Once the robot gets near the elevator door it will use its sonar readings to determine the time at which the door opens, at such time it will move forward and enter the elevator, where it will make a 180° turn once its sonar readings indicate that it is very close to the back wall. However, at this point is is necessary that the button for the second floor is pushed, otherwise the robot will get out at the floor where the elevator door opens. After the turn has been completed it will continually check its sonar readings until it detects that the elevator door has open, once this has occur the robot will get out of the elevator and continue to check the sonar readings in order to find the correct opening according to the number of the lab given at the beginning. Finally, once the robot has found the correct opening for the room, it will enter the room and shutdown all its sensors and motors.

Code

Door1.c
Maze.c
Final.c