Robot Controller
Team Project Page
Senior Design | Spring/Summer 2001
Team Number 3
Team Members:
Current Artifacts | Date Last Modified |
Concepts of Operations V1.0 | Spring 2001 |
Software Requirements Specification V2.0 | Version 2.0 |
Project Managment Plan V1.0 | Spring 2001 |
Project Managment Report V1.0 | Spring 2001 |
High Level Design V1.1 | Spring 2001 |
Robot Controller GUI Detailed Design V1.0 | July 17, 2001 |
Robot Interface API | July 17, 2001 |
Robot Surrogate Detailed Design | July 18, 2001 |
Test Plan V2.0 | Spring 2001 |
Test Results V1.0 | July 18, 2001 |
User's Manual | July 18, 2001 |
Source Code | July 18, 2001 |
Build Instructions | July 17, 2001 |
Here is some information for my group members:
UML Diagrams of the API interface:
Here are the latest source code files (As of July 15, 2001)
File | Size | Description |
RobotAPI.h | 3.7 kB | Class and function declerations for the RobotAPI. |
RobotAPI.cpp | 18.8 kB | Where all the RobotAPI.h files are implemented at (except for TesterClass, you need to implement that). |
Tester.cpp | 5.7 kB | Program contains a pretty good robot controller, and a robot surrogate that isn't that great (use DumbSurrogate.cpp instead). |
USRobot.cpp | 4.7 kB | This program is used to serially interface with the UCF / USRobot robot. It's hardcoded to use serial port #0. Very buggy, needs work. |
USRobotTester.cpp | 1.3 kB | This program is used to test the serial connection of the computer running the USRobot.cpp program. It outputs to the screen when valid and invalid data arrive. |
DumbSurrogate.cpp | 2.8 kB | This is a 'dumb' surrogate, because he doesn't actually simulate movement, he just stores the all the information he recieves and prints it to the screen. Good for debugging purposes. |
Here is the network protocol that I am coming up with: Protocol.txt
To build: gcc xyz.cpp RobotAPI.cpp -lpthread -o xyz. Don't build the USRobotTester.cpp, just compile it normally (it doesn't use RobotAPI library).
The test controller software fully supports CHANGE_ORIENTATION, CHANGE_SPEED, and CHECK_STATUS commands. It doesn't support multiple clients yet though. I'm working on that right now.
ConfigSys class: I created the class to read the config.txt file and to parse the info from it. Right now config.txt includes the IP address of the server and the Horizontal distance of the robot space. Just don't change the way stuff is spaced in the config.txt file, or it might not work.
To integrate this code with your stuff, you need to do a couple of things. In the RobotAPI.h and RobotAPI.cpp files, you need to change the name of TesterClass to the name of the class you have receiving the commands. Do a searh in the file to find all of the them. You will also need to put the class decleration info in the RobotAPI.h file too, but you can put the actual code anywhere.
This page last modified by Michael Wales (NeedMoreHP@yahoo.com) on December 29, 2001