Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Path Determining Robot Jamie Greenberg Jason Torre.

Similar presentations


Presentation on theme: "Efficient Path Determining Robot Jamie Greenberg Jason Torre."— Presentation transcript:

1 Efficient Path Determining Robot Jamie Greenberg Jason Torre

2 General Description Maze is set up as shown Maze is set up as shown PC Analyzes maze through webcam PC Analyzes maze through webcam PC Determines best path for robot to get from start position to end using Dijkstra's Least Cost Path Algorithm PC Determines best path for robot to get from start position to end using Dijkstra's Least Cost Path Algorithm

3 General Description (continued) PC translates path into a set of commands and sends them to the HCS12 through the serial port PC translates path into a set of commands and sends them to the HCS12 through the serial port Robot follows commands to travel the best path to the finish Robot follows commands to travel the best path to the finish

4 Image Processing Laptec Webcam connected to PC through USB port Laptec Webcam connected to PC through USB port Image is captured through Java Media Framework Image is captured through Java Media Framework Pixel information is pulled from the image using Java PixelGrabber class Pixel information is pulled from the image using Java PixelGrabber class Pixel data for areas of interest is analyzed to determine if color best represents a wall (white) or a blank space (black) Pixel data for areas of interest is analyzed to determine if color best represents a wall (white) or a blank space (black) Use this data to determine what grid positions have a blank space (no wall) and designate them as “nodes” Use this data to determine what grid positions have a blank space (no wall) and designate them as “nodes”

5 Dijkstra’s Algorithm Start with a “cost” of zero for the start node and infinity at every other node. Start with a “cost” of zero for the start node and infinity at every other node. Iterate through every node and determine it’s distance from the start node (if directly connected) Iterate through every node and determine it’s distance from the start node (if directly connected) Mark the node with the least cost and determine the costs of all unmarked nodes to this node Mark the node with the least cost and determine the costs of all unmarked nodes to this node Repeat for every node until least cost node is the finishing node. Repeat for every node until least cost node is the finishing node. Once this is determined, the shortest path is the reverse order of the nodes previously marked Once this is determined, the shortest path is the reverse order of the nodes previously marked

6 Getting the data to the robot Once the best path is found, the path is converted on the PC to a set of binary commands Once the best path is found, the path is converted on the PC to a set of binary commands This data is sent to the Motorola 68HCS12 through the serial port on the PC and the SCI port on the HCS12. This data is sent to the Motorola 68HCS12 through the serial port on the PC and the SCI port on the HCS12. When a “FINISHED” command has been received by the robot a command will be sent back to the PC that will notify the user to remove the serial cable and press the Go button on the robot. When GO is pressed, the robot should begin it’s path towards the finish. When a “FINISHED” command has been received by the robot a command will be sent back to the PC that will notify the user to remove the serial cable and press the Go button on the robot. When GO is pressed, the robot should begin it’s path towards the finish.

7 Commands The following commands will be used to guide the robot through the maze: The following commands will be used to guide the robot through the maze: Commands Bit Setup Description LEFT 001 xxxxx Move the robot left xxxxx grid coordinates. This location will never be larger than 7, as the grid has only 8 coordinates. RIGHT 010 xxxxx Move the robot right xxxxx grid coordinates. This location will never be larger than 7, as the grid has only 8 coordinates. FORWARD 011 00000 Move the robot forward 1 row. FINISHED 100 00000 Notify robot that it has reached it’s destination and adjust status LEDs.

8 Communications Test At the beginning of the program (before web capture), the serial connection will be tested At the beginning of the program (before web capture), the serial connection will be tested A binary “test” sequence will be sent to the robot and it will be echoed back to the PC. A binary “test” sequence will be sent to the robot and it will be echoed back to the PC. If the echo is not received in 5 seconds an error message will be displayed If the echo is not received in 5 seconds an error message will be displayed

9 PC User Interface The PC will be used to guide the user through the process The PC will be used to guide the user through the process Instruct the user to attach the serial cable and reset the robot Instruct the user to attach the serial cable and reset the robot Notify user if communications test was successful Notify user if communications test was successful Notify user that image analysis is in progress Notify user that image analysis is in progress Notify user if path does not exist Notify user if path does not exist Notify user that commands are being sent to the HCS12 Notify user that commands are being sent to the HCS12 Ask user to remove serial connection and press the GO button Ask user to remove serial connection and press the GO button

10 Robot Design Tamiya Robot kit Tamiya Robot kit The DC motor is FA- 130 by Tamiya The DC motor is FA- 130 by Tamiya The whole kit measured 6.5” X 4.25” X 3.75” height, available surface area after the bottom deck is covered is 4.5” X 2.5” The whole kit measured 6.5” X 4.25” X 3.75” height, available surface area after the bottom deck is covered is 4.5” X 2.5”

11 Chassis and Actuators Robot Tank by Budget Robotics Two gear ratio to choose from: 58:1, 203:1

12 Hardware Utilized Proximity Sensors Proximity Sensors Opto-reflectors Opto-reflectors Chasis and DC motors Chasis and DC motors H bridges H bridges Batteries Batteries

13 Proximity sensors Sharp GP2D15 IR Proximity Sensor Range between 0 cm and 80 cm Beam width of 45-50° This model can be adjusted to yield a digital output when the robot comes to close to the wall (~ 2 cm) No external circuitry is needed

14 Opto-reflector Optek OPB745 opto reflector Responsible for informing that the vehicle has arrived reached a mrker The sensor will yield a digital input value when the robot crosses a piece of reflective tape, and modifications are done on the signal handling circuit that was completed previously (IDE).

15 Battery and power 4 AA sized battery for the vehicle (in the kit) 4 AA sized battery for the vehicle (in the kit) Additional D Cell battery cells used to drive all the sensors and HCS12 board Additional D Cell battery cells used to drive all the sensors and HCS12 board

16 Block Diagram DC Motor H bridges DC Motor HCS12 PWM 0-2 Opto- reflectors Proxy Sensors PT 0-5

17 Top Level HCS12 Hole for wires User Interface Sensor Circuitry Proxy sensor Bottom Level Opto- reflector and circuitry Batteries H Bridges, DC Motors and voltage regulator Overhead view

18 User interface ErrorMovingFinishedOn/OffGODownload Complete complete

19 Difficulties The camera must be nearly perfectly calibrated so that the rectangular arrays of pixels sampled are always the correct ones The camera must be nearly perfectly calibrated so that the rectangular arrays of pixels sampled are always the correct ones Calibrating the opto reflector correctly because it has been known to be unreliable Calibrating the opto reflector correctly because it has been known to be unreliable Calibrating the proxy sensors so as not to give too large a range Calibrating the proxy sensors so as not to give too large a range

20 Webcam Alignment Utility A small utility will be created to assist in positioning of the webcam A small utility will be created to assist in positioning of the webcam The utility will display a snapshot of the grid with boxes around the areas that should contain the edges of each grid position (either a wall or an opening) The utility will display a snapshot of the grid with boxes around the areas that should contain the edges of each grid position (either a wall or an opening) If the camera needs to be moved, the user can retry the calibration until it is satisfactorily lined up If the camera needs to be moved, the user can retry the calibration until it is satisfactorily lined up

21 Cost ItemCost Labtec Webcam$19.80 from staples Java APIFree from java.sun.com Motorolla 68HCS12 Microcontroller$180.00 from CE department Remote Control Tank$35.95 from budgetrobotics.com LM298 H bridges (2)$10.90 from digikey.com Optek OPB745 Opto-Isolators(2)$12.00 from CE department Various other power circuitry and batteries$30.00 Maze for Robot$20.00 Approx

22 Questions?


Download ppt "Efficient Path Determining Robot Jamie Greenberg Jason Torre."

Similar presentations


Ads by Google