TamuBot Version 3.0: Parker01

Software User Guide

Download Server Executable: TAMUBotServerApp.zip
Download Client Executable: TAMUBotClientApp.zip

Introduction:

------------------------------------------------------------------------------------------------------------------------------------------------------

The purpose of this software package is to facilitate the use of the TAMU Bot robotic research platform. The software allows the user to control the robot, set experiment and sensor parameters, and receive data input from the robot and its sensors. The goal of this software is to eliminate any need for a laptop riding with the robot, which is dangerous as well as inefficient in terms of accessing and controlling experiment data and parameters.

===================================================================================

Using the Software:

------------------------------------------------------------------------------------------------------------------------------------------------------

For any experiment there are certain steps that must be followed for the software to be useful. A brief demonstration video can be downloaded at the following URL: http://students.cs.tamu.edu/southard/Files/VideoDemo.zip.

The general steps are as follows:

  • Ensure the robot is turned on and connected to WiFi by observing the amber light on the Gumstix wireless adapter.
  • SSH to the Gumstix and run ./tamuclient. This will allow the client to listen for connections.
  • Ensure the server machine is on the same network as the robot, and then start the application.

  • Type the correct port and IP address into the program. The default port is 1337, which is hard-coded into the client. The IP address will vary depending on the configuration of the Gumstix.
  • Select whether or not data should be recorded. ‘Yes’ is selected by default.
  • If data is being recorded, select which sensors you wish to employ in this experiment.
  • Type initial speeds into their respective input areas to give the robot initial motion upon beginning the experiment.
  • Press the ‘Connect’ button to connect to the robot. The socket is now open and communication is allowed between the server and robot.

  • When ready to run the experiment, press the ‘Run’ button. This will cause the robot to begin moving and collecting sensor data, depending on which parameters were selected.
  • Send speed commands by typing them into the ‘Send Commands’ window. The ‘W’ command increases both sides by 5, ‘S’ decreases both sides by 5, ‘A’ increases the left by 5 and decreases the right by 5, and ‘D’ increases the right by 5 and decreases the left by 5. ‘H’ will halt the robot, and ‘Q’ will quit the experiment.
  • Press the ‘Stop’ button at any time to stop the experiment.
  • Analyze the data. The next section will discuss the formatting of the data documents.

===================================================================================

Data Output Format

------------------------------------------------------------------------------------------------------------------------------------------------------

Several files will be created upon the server connecting to the robot.

  • “Encoder_Reading_Front.txt” and “Encoder_Reading_Rear.txt” correspond to the encoder data for the respective side (front or rear). The data is formatted into six columns. The first two are encoder feedback information for the right wheel and the left wheel, respectively. The encoder information is the number of counting pules per 50ms. The resolution of the encoder is 768 per one rotation of the wheel.  The second two are PWM information for right and left wheel, respectively. PWM value corresponds to the input of the H-Bridge and gives power to each motor as a PWM  value 0 = full reverse  128 = full stop  255 = full forward.  The fifth is the time the data was processed on the robot, and the sixth is the time it was received by the server.
  • “IMU605Data.txt” corresponds to the IMU605 sensor. The data is formatted into eight columns. The first three correspond to X. The second three correspond to Y. The seventh column corresponds to the time the data was processed on the robot, and the eighth corresponds to the time it was received by the server.
  • “SVectors.txt” corresponds to the stabilized vector readings from the 3DM-GX1 IMU. The data is formatted into 9 columns. The first three correspond to the X, Y, and Z magnitudes. The second set of three correspond to the X, Y, and Z accelerations. The final set of three columns corresponds to the X, Y, and Z angle rates.
  • “SEulerAngles.txt” corresponds to the stabilized Euler angle readings from the 3DM-GX1 IMU. The data is formatted into 3 columns: pitch, yaw, and roll.
  • “SMatrix.txt” corresponds to the stabilized orientation matrix readings from the 3DM-GX1 IMU. The data is formatted into 9 columns. The data corresponds to the 3x3 matrix, with data from left to right corresponding to data read from the matrix row-by-row.
  • “default_out.txt” corresponds to all the data in a non-parsed format. This data is usually only useful when debugging the server parser.

===================================================================================

Troubleshooting

------------------------------------------------------------------------------------------------------------------------------------------------------

Several issues may arise during the use of this package. An explanation for the specific issue may be described below.

  • Unable to SSH to the robot: Check to make sure the amber WiFi light is lit on the Gumstix. If it is, check the network settings of the Gumstix and the computer being used to connect to ensure they are on the same network and can ping each other.
  • Error dialog “Unable to connect to client” appears when attempting to connect from the server: This means a small test message failed to be sent to the robot and the socket is not open. This could be because the machines are not able to communicate due to different network affiliations or that the socket was not created correctly. Usually this means the client software was not started before attempting to connect. Make sure to start the client listening for connections before attempting to connect from the server.
  • The data files are empty even though the ‘record data’ option was selected: Usually this stems from a thread or file-stream ending improperly. Make sure to press the ‘Stop’ button or type ‘q’ into the command window so the program may terminate in the correct manner.
  • The wheels do not spin even though non-zero speeds were set: Check the large battery on the rear of the robot to make sure it still provides power. Also, check the output of the client and make sure the speed output looks normal. If the speed output is fine, then hardware is the problem.
  • The robot stops during the experiment without telling it to: If the robot slows to a halt, the battery is probably spent. If the robot halts immediately, there may have been too much current requested from the motors and it became overloaded. If the second scenario occurs, be careful not to send speed commands too rapidly because the motors will struggle to overcome the additional resistance to overcome momentum.
  • The data has small sections where it appears to have too much/not enough data per line: Occasionally communication and parser glitches happen where some data is cut off or concatenated improperly. The data may still be usable without those sections, but if not, try running the experiment again. Further optimization is required in the software to eliminate this problem.

===================================================================================

Attachments (2)

  • TAMUBotClientApp.zip - on Jul 29, 2008 12:39 PM by Unknown user (version 1)
    25k Download
  • TAMUBotServerApp.zip - on Jul 29, 2008 12:22 PM by Unknown user (version 1)
    17k Download