ceg 4392 : maze solving robot presented by: dominic bergeron george daoud bruno daoust erick...

35
CEG 4392 : Maze CEG 4392 : Maze Solving Robot Solving Robot Presented by: Presented by: Dominic Bergeron Dominic Bergeron George Daoud George Daoud Bruno Daoust Bruno Daoust Erick Duschesneau Erick Duschesneau Martin Hurtubise Martin Hurtubise Mathieu Mallet Mathieu Mallet

Upload: angela-cox

Post on 12-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

CEG 4392 : Maze CEG 4392 : Maze Solving RobotSolving Robot

Presented by:Presented by:

Dominic Bergeron George DaoudDominic Bergeron George Daoud

Bruno Daoust Erick DuschesneauBruno Daoust Erick Duschesneau

Martin Hurtubise Mathieu MalletMartin Hurtubise Mathieu Mallet

Page 2: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Presentation Presentation OverviewOverview

Page 3: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Presentation OverviewPresentation Overview

►Product OverviewProduct Overview►FeaturesFeatures►SpecificationsSpecifications►YARE DemoYARE Demo►Where to buyWhere to buy

Page 4: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Product OverviewProduct Overview

Page 5: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Product OverviewProduct Overview

►YARE is the name of our maze solving YARE is the name of our maze solving robot. The four letter name is an robot. The four letter name is an acronym for “Yare Automaton for acronym for “Yare Automaton for Revealing Exits”.Revealing Exits”.

►YARE provides the greatest degree of YARE provides the greatest degree of autonomous behaviour and autonomous behaviour and functionality achieved by our functionality achieved by our engineering team to navigate through engineering team to navigate through a maze and locate nearest exit.a maze and locate nearest exit.

Page 6: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Product OverviewProduct Overview

► In autonomous mode, YARE follows the In autonomous mode, YARE follows the right wall of the maze and finds its right wall of the maze and finds its way through the nearest accessible way through the nearest accessible exit.exit.

►Using a PC, the client software and the Using a PC, the client software and the wireless network interface, YARE wireless network interface, YARE acknowledges manual commands and acknowledges manual commands and is able to go through the maze using is able to go through the maze using the shortest possible path.the shortest possible path.

Page 7: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

FeaturesFeatures

RobotRobot

Page 8: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise
Page 9: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Features: RobotFeatures: Robot

►Three-way wall detectionThree-way wall detection►Distance compensationDistance compensation►Collision detection/avoidanceCollision detection/avoidance►Data acquisition and analysis systemData acquisition and analysis system►Wireless communicationWireless communication►Autonomous navigation modeAutonomous navigation mode►Slave navigation modeSlave navigation mode

Page 10: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Three-way wall detectionThree-way wall detection

►YARE detects nearby walls using YARE detects nearby walls using infrared (IR) sensors.infrared (IR) sensors.

►YARE contains three sets of IR sensors YARE contains three sets of IR sensors positioned at the front, left and right of positioned at the front, left and right of the robot.the robot.

►Each of these sensors is used to Each of these sensors is used to measure the distance between the measure the distance between the robot and the closest wall.robot and the closest wall.

Page 11: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Distance compensationDistance compensation

►The right IR sensor is used to monitor The right IR sensor is used to monitor distance between the robot and the distance between the robot and the right wall.right wall.

►To prevent the robot from deviating To prevent the robot from deviating from its current path, a distance from its current path, a distance compensation algorithm was compensation algorithm was implemented to keep the robot as implemented to keep the robot as parallel as possible to the right wall parallel as possible to the right wall and at a constant distance.and at a constant distance.

Page 12: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Collision detection/avoidanceCollision detection/avoidance

►The front sensor is used to monitor the The front sensor is used to monitor the distance between the robot and an distance between the robot and an incoming obstacle (or front wall). incoming obstacle (or front wall).

► It can also be used to avoid front It can also be used to avoid front collisions.collisions.

► If avoidance is not possible because the If avoidance is not possible because the obstacle is not detected, the frontal obstacle is not detected, the frontal collision will trigger the bumper switch collision will trigger the bumper switch and the robot will stop and go into and the robot will stop and go into slave mode, awaiting commands.slave mode, awaiting commands.

Page 13: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Data acquisitionData acquisitionand analysis systemand analysis system

►Data is acquired internally (time, Data is acquired internally (time, wheel speed, wheel direction) and wheel speed, wheel direction) and externally (IR sensors, bumper switch).externally (IR sensors, bumper switch).

►Only the data acquired from external Only the data acquired from external sensors is analysed by the robot.sensors is analysed by the robot.

►This data is crucial when the robot is in This data is crucial when the robot is in autonomous navigation mode.autonomous navigation mode.

Page 14: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Wireless communicationWireless communication

►The data acquired is transformed into The data acquired is transformed into several 10-bit RS232 serial packets and several 10-bit RS232 serial packets and sent to the base station.sent to the base station.

►To maintain synchronization, the packet is To maintain synchronization, the packet is synchronized at a serial-compatible bit rate. synchronized at a serial-compatible bit rate.

► In addition to the serial start and stop bits, In addition to the serial start and stop bits, an extra information bit is present in each an extra information bit is present in each packet to efficiently identify the start byte.packet to efficiently identify the start byte.

►The data and its checksum are sent three The data and its checksum are sent three times.times.

Page 15: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Autonomous navigation modeAutonomous navigation mode

► In this mode, YARE analyses data from In this mode, YARE analyses data from the right and front IR and follows the the right and front IR and follows the right wall while avoiding collisions.right wall while avoiding collisions.

► If a possible path is discovered at the If a possible path is discovered at the right side of the robot, YARE will turn right side of the robot, YARE will turn 90 degrees right and follow that path.90 degrees right and follow that path.

► If a front wall is detected and no right If a front wall is detected and no right path is discovered, YARE will turn 90 path is discovered, YARE will turn 90 degrees left and follow that path.degrees left and follow that path.

Page 16: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Slave navigation modeSlave navigation mode

► In slave mode, YARE awaits for In slave mode, YARE awaits for instructions:instructions: ““follow right wall”follow right wall” ““clear”clear” ““turn 90 degrees to the right”turn 90 degrees to the right” ““find right wall”find right wall” ““turn 90 degrees to the left”turn 90 degrees to the left” ““follow left wall”follow left wall” ““find left wall”find left wall” ““find front wall”find front wall” ““switch to autonomous mode”switch to autonomous mode”

Page 17: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

FeaturesFeatures

Client softwareClient software

Page 18: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Features: Client softwareFeatures: Client software

► Cross-platform compatibleCross-platform compatible► Robot progress displayed in real-timeRobot progress displayed in real-time► Ability to send manual commands to robotAbility to send manual commands to robot► Ability to load/save maze dataAbility to load/save maze data► Ability to transform IR data samples into a Ability to transform IR data samples into a

straight wallstraight wall► Implementation of A* shortest path Implementation of A* shortest path

algorithmalgorithm► Communicates path to the robotCommunicates path to the robot

Page 19: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Cross-platform compatibleCross-platform compatible

►The JAVA language was chosen to The JAVA language was chosen to create YARE’s client software.create YARE’s client software.

►Cross-platform compatibility is Cross-platform compatibility is achieved using JAVA to provide achieved using JAVA to provide flexibility and meet user demands.flexibility and meet user demands.

Page 20: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Robot progress Robot progress displayed in real-timedisplayed in real-time

►The interface allows real-time display The interface allows real-time display of the robot’s progress.of the robot’s progress.

►Wall information captured from IR Wall information captured from IR sensors and the robot’s current path sensors and the robot’s current path are displayed on screen.are displayed on screen.

►The GUI interface allows the user to The GUI interface allows the user to choose which information (sensor choose which information (sensor and/or path) will be displayed.and/or path) will be displayed.

Page 21: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Ability to send Ability to send manual commands to robotmanual commands to robot

►Through the GUI interface, the user Through the GUI interface, the user can conveniently send manual can conveniently send manual commands to YARE, when he awaits in commands to YARE, when he awaits in slave mode.slave mode.

►The robot can be manually re-set to The robot can be manually re-set to autonomous mode through the same autonomous mode through the same interface.interface.

Page 22: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Ability to load/save maze dataAbility to load/save maze data

►Maze information captured during a Maze information captured during a session can be saved into a file.session can be saved into a file.

►The maze data file can be re-loaded at The maze data file can be re-loaded at any time and allow YARE to receive any time and allow YARE to receive shortest path instructions for any shortest path instructions for any recorded maze.recorded maze.

Page 23: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Ability to transform IR Ability to transform IR data samples into a straight walldata samples into a straight wall►To analyse the maze data, the client To analyse the maze data, the client

software transforms IR data samples software transforms IR data samples into straight line by means of an into straight line by means of an interpolation.interpolation.

►These straight lines are used in the A* These straight lines are used in the A* shortest path algorithm.shortest path algorithm.

Page 24: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Implementation of A* Implementation of A* shortest path algorithmshortest path algorithm

►The A* algorithm can be explained as The A* algorithm can be explained as follows:follows: The start point is the robot’s starting point. This The start point is the robot’s starting point. This

point becomes the first element of the closed list. point becomes the first element of the closed list. Then, all reachable points from the last element of Then, all reachable points from the last element of

the closed list (in the first case the starting point) the closed list (in the first case the starting point) are found and added to the open list.are found and added to the open list.

The point with the minimum F value is found from The point with the minimum F value is found from the open list and added to the closed list.the open list and added to the closed list.

The process is repeated until the end point is The process is repeated until the end point is reached.reached.

Some backtracking is done to find the optimal path.Some backtracking is done to find the optimal path.

Page 25: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise
Page 26: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Implementation of A* Implementation of A* shortest path algorithmshortest path algorithm

►The A* algorithm can be explained as The A* algorithm can be explained as follows:follows: The start point is the robot’s starting point. This The start point is the robot’s starting point. This

point becomes the first element of the closed list. point becomes the first element of the closed list. Then, all reachable points from the last element of Then, all reachable points from the last element of

the closed list (in the first case the starting point) the closed list (in the first case the starting point) are found and added to the open list.are found and added to the open list.

The point with the minimum F value is found from The point with the minimum F value is found from the open list and added to the closed list.the open list and added to the closed list.

The process is repeated until the end point is The process is repeated until the end point is reached.reached.

Some backtracking is done to find the optimal path.Some backtracking is done to find the optimal path.

Page 27: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise
Page 28: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Implementation of A* Implementation of A* shortest path algorithmshortest path algorithm

►The A* algorithm can be explained as The A* algorithm can be explained as follows:follows: The start point is the robot’s starting point. This The start point is the robot’s starting point. This

point becomes the first element of the closed list. point becomes the first element of the closed list. Then, all reachable points from the last element of Then, all reachable points from the last element of

the closed list (in the first case the starting point) the closed list (in the first case the starting point) are found and added to the open list.are found and added to the open list.

The point with the minimum F value is found from The point with the minimum F value is found from the open list and added to the closed list.the open list and added to the closed list.

The process is repeated until the end point is The process is repeated until the end point is reached.reached.

Some backtracking is done to find the optimal path.Some backtracking is done to find the optimal path.

Page 29: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Communicates path to the robotCommunicates path to the robot

►Manual commands and shortest path Manual commands and shortest path instructions are sent directly to YARE instructions are sent directly to YARE wirelessly. wirelessly.

►The shortest path found using our A* The shortest path found using our A* algorithm implementation is first algorithm implementation is first transformed into a series of manual transformed into a series of manual instructions.instructions.

Page 30: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Communicates path to the robotCommunicates path to the robot

►These commands are assembled and These commands are assembled and sent into several 10-bit RS232 serial sent into several 10-bit RS232 serial packets to the robot.packets to the robot.

►Synchronization is set at a serial-Synchronization is set at a serial-compatible bit-rate and each packet compatible bit-rate and each packet contains an information bit needed to contains an information bit needed to identify the start byte.identify the start byte.

►Since these instructions are most Since these instructions are most crucial, the data and its checksum is crucial, the data and its checksum is sent five times.sent five times.

Page 31: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

SpecificationsSpecifications

Page 32: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

YARE DemoYARE Demo

Page 33: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

YARE DemoYARE Demo

For those interested, a live For those interested, a live demonstration of YARE’s capabilities demonstration of YARE’s capabilities will be shown at the University of will be shown at the University of Ottawa.Ottawa.

►When?When? December 1December 1stst 2003, 2003, 7:10pm.7:10pm.

►Where? Where? SITE 2061SITE 2061

Page 34: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Where to buyWhere to buy

Page 35: CEG 4392 : Maze Solving Robot Presented by: Dominic Bergeron George Daoud Bruno Daoust Erick Duschesneau Bruno Daoust Erick Duschesneau Martin Hurtubise

Where to buyWhere to buy

►This product is currently not for sale or This product is currently not for sale or rent.rent.

►Contact the University of Ottawa, Contact the University of Ottawa, School of Information Technology and School of Information Technology and Engineering for more information.Engineering for more information.