Final
Results
by
Brian Nestrick
|
CSC419
Programming Project – Fall 2000 Team
Members Eric Bordeau, Matt Jones, William Martin, Symen Mulders, Brian Nestrick, Wei Qiu, Professor Stephen Linder |
What
is the Autonomous Maze Mapping Robot?
This project is designed as a keystone project, incorporating various parts of our computer science education here at Plattsburgh State University. The project architecture consists of three major, independent parts: a robot, a server, and a client. When combined, the three create a system capable of generating a graphical display representing a maze.
What
is the Robot?
The robot navigates around the maze, receiving only commands telling it to follow the right or left wall. It adjusts its position in respect to the walls of the maze independently of rest of the system. The robot communicates with the server over a tethered phone cord, using the SECS messaging protocol (A wireless system was desired, however we lacked the resources to invest our efforts into such technology). Distances between the robot and walls, and total distance traveled, and wheel angle are transmitted to the server. Other than wall follow commands, the robot also receives start, stop, and reset commands from the server.
The robot code is included in AMMRobot.zip.
What
is the Server?
The server requires a dedicated Microsoft Windows based computer with a free serial port and Internet connection. Hardware is required in order to facilitate communication between the server to the robot and client. The server talks to the robot over the above mentioned tethered communication link. Communication with the client is made possible over the Internet through a created socket. More then one client can connect to the server; however only the oldest client connected is capable of controlling the robot. Low-level sensor data from the robot is translated into higher-level messages used by the client to display useful information to the user. Also contained within the server is an algorithm that decides between right and left wall following, if turned on by the client. Start, stop, and reset commands are also chosen by either the algorithm or the user of the client. This algorithm makes possible the creation of a graph representing the makeup of the maze as the robot navigates the hallways.
The server code is
included in MMRServer.zip.
The client code is included in AMMRClient.zip