Python Rover Controller Update #1

Program when opened, all the buttons are disabled until the port is set:

Port is set, buttons are active:

This will ask the rover for its variables:

Displaying them:

The test button requests an update for the map (Green is rovers current position):

 Moving the rover up, it only moves the number of spaces that are unoccupied:

Turning it around and trying to move 9 blocks which is all it could have moved any way (An error caused the travelled path to be drawn to the x axis by accident):


Python Rover Controller

This first screen shot is of the program when it first opens:

Showing file menu (only has a quit button at the moment):

This is after pressing the blue link icon in the upper left (Under file menu, the window can be moved as well):

If the user presses OK without choosing a port (The baud and timeout have a default value):

Example of drop-down menus:

Dialog box for verification, currently closes the port settings window if no is selected:

If wrong port is selected and error window will show:

Here the wrong baud rate is selected (arduino set for 9600):

After clicking yes to save settings the program tries to ping the rover (In this case the wrong baud rate causes the response to be distorted and after 20 tries it will stop):

These are the correct settings (for my arduino/xbee setup):

The program prints the received data and acknowledges that the port is set:


Robotic Grid System

Robot starts in direction 0 and scans and the distance is divided by the grid division length (if modulus is greater or equal to five add one to that variable).

The distance is printed followed but the number of grid spaces from the robot (ignore the Y part).


Rover - Error LED with debug codes

Simple pull down resistor setup connected to a digital pin set to input.

3 Long = Ultra sonic reading is less than 10cm (The usb wire trips the sensor at around 20cm)
3 Short = Ultra sonic reading is greater than 50cm


Weak path-finding with Manhattan distance suited to small robots

New project being worked on with an arduino rover.

Goals (No order)

  1. Error LED with debug codes
  2. Low power LED
  3. Read/write to SD
  4. Send/Receive from computer
  5. GUI
  6. Return to Home position
  7. Set new home position without losing grid information
  8. Move by x and y amounts
  9. Move to coordinate
  10. Travel around obstacles
  11. Explore/map
  12. Setup encoders for accurate movement
  13. Return to power source

The rover had a Sharp IR sensor on its tail end and a US sensor on the front (Attached to a servo). There is also an Xbee unit.

 The robot is the rover from robotshop.ca ($180 for the Xbee kit).

Testing the Xbees and motor speeds(to ensure straight travel):

Sensor and servo testing:

More thorough test of the sensor setup.
Setting up coordinate system for path-finding/testing coordinate to grid array conversion.