1 / 96

Robot Navigation

IIMS Lab 7. Robot Navigation. Robot Soccer Game. Fuzzy Logic + A*. Napoleon Reyes, Ph.D. Computer Science, Massey University, Auckland, New Zealand. Fuzzy Logic Theory. Fuzzy Inference System. Topics for Discussion. Hand-simulation of the FIS.

amelie
Download Presentation

Robot Navigation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IIMS Lab 7 Robot Navigation Robot Soccer Game Fuzzy Logic + A* Napoleon Reyes, Ph.D. Computer Science, Massey University, Auckland, New Zealand

  2. Fuzzy Logic Theory Fuzzy Inference System Topics for Discussion Hand-simulation of the FIS Robot Navigation: problem definition, geometry & trigonometry of the problem Simulation System Assignment

  3. Topics • Fuzzy Logic Theory Review • Fuzzy Logic Engine • How to compile • Structure of the program • Angle Calculation – Dot Product • Graphics Engine • World to Device transformation • Alternative Fuzzy System design for robot navigation

  4. Robot Soccer

  5. Robot Soccer Set-up Intended Platform Overhead Camera Fluorescent lamps Colour objects Exploratory environment is indoor – room totally obstructed from sunlight Multiple monochromatic light sources – fluorescent / fluoride lamps Colour Object Recognition (Recognition speed: < 33ms) *

  6. Playing Field

  7. FIRACup

  8. The Microsoccer Robots-in-action

  9. Target Pursuit and Obstacle Avoidance Calculation of Optimal path Research Areas: Navigation Team cooperation among agents Robot Behaviours: ball dribbling, ball passing, shooting from a stationary position Intelligent Coach: Role Allocation, Role switching Motor Control: take into account coefficient of friction, noise, delay in the communication module

  10. How to steer the robots automatically and smoothly Research Areas: Navigation How to adjust the speed of the robot depending on the distance of the target, angle from the target, speed and direction of the target How to discretise the exploration space to allow for A* to work? – fixed grid size, Voronio graphs How to calibrate the navigation rules and fuzzy sets automatically?

  11. Colour Classification: Compensate for the effects due to changing illumination intensities Research Areas: Machine Vision Colour Object Recognition: Shape, combination of colours, size Colour Segmentation (also called labelling) + edge detection Multiple camera colour object recognition

  12. Basic Navigation

  13. * Robot Navigation How does the robot follow the ball? (Xr, Yr) Direction (Xc, Yc) (0,0) Origin

  14. * y x Robot Navigation How does the robot follow the ball? Calculate angle from the ball Calculate distance from the ball Calculate optimum speed to reach the ball Calculate the steering angle to reach the ball Direction Move the robot θ θ' (Xr, Yr) Loop (we need to do this every few milliseconds) (Xc, Yc) (Xt, Yt) (0,0) Origin

  15. * Robot Navigation Angle of the ball relative to the heading angle of the robot. θ (Xr, Yr) Direction (Xc, Yc) We are interested in finding the minimum turn to follow the ball. (0,0) Origin

  16. * Robot Navigation Angle of the ball relative to the heading angle of the robot. θ (Xr, Yr) Direction (Xc, Yc) θ' (0,0) Origin

  17. * Robot Navigation Catching the ball is different from just following the ball. (Xr, Yr) You will have to take into account the position of your home goal. Direction Home goal (Xc, Yc) (0,0) Origin

  18. World Coordinates System to Device Coordinates System Transformation

  19. 159.302 WORLD-to-DEVICE COORDINATES We are accustomed to representing objects in terms of their World coordinates. 100,000,000 miles x 500,000 miles Transformation Equations 1920 x 1080 pixels +y 0 +x (Xworld,Yworld) (XDevice,YDevice) +x +y 0 Device System of Coordinates World System of Coordinates

  20. 100,000,000 miles x 500,000 miles 1920 x 1080 pixels WORLD SYSTEM OF COORDINATES DEVICE SYSTEM OF COORDINATES +y 0 +x (Xworld,Yworld) (XDevice,YDevice) +x +y 0 • Our Physics and Math equations all work in the World System of Coordinates, but our computer screen is using something different (Device System of Coordinates). • It is more intuitive to use the World System of Coordinates in the formulation of our Fuzzy Control Systems. • Transformation equations allow for easy scaling (zoom-in/zoom-out) of objects in the scene.

  21. 159.302 SETTING THE BOUNDARIES Use the upper-left and bottom-right coordinates to set the boundaries (X1,y1) Boundaries of the Coordinate Systems (X1,y1) Top-left: (x1, y1) Bottom-right: (x2, y2) +y 0 +x (Xworld,Yworld) (XDevice,YDevice) +x +y 0 (X2,y2) (X2,y2) Device System of Coordinates World System of Coordinates

  22. 159.302 Task: Given a pair of x & y-world coordinates, find the equivalent x & y-device coordinates. Transformation (X1,y1) (X1,y1) +y 0 +x (Xworld,Yworld) (XDevice,YDevice) +x +y 0 (X2,y2) (X2,y2) Device System of Coordinates World System of Coordinates

  23. 159.302 TRANSFORMATION EQUATIONS World-to-Device Coordinates world X-coordinate For calculating Devicey, replace all x’s with y

  24. Path-Finding With the A* Algorithm S *

  25. Complementary Path Finding Systems The Hybrid Fuzzy A* Navigation Algorithm S *

  26. Fuzzy Logic Theory

  27. Fuzzy Inference Process e.g. theta e.g. force Rule Evaluation Fuzzification Defuzzification Fuzzification: Translate input into truth values Rule Evaluation: Compute output truth values Defuzzification: Transfer truth values into output

  28. Fuzzy Rule OBSTACLE AVOIDANCE If(Distance is NEAR)and(obstacle is at the right hand side) and (Angle is SMALL) ThenTurn Sharp Left. Some solutions to a problem could be described linguistically but only very vaguely. obstacle But how can we define NEAR or Small or Turn Sharp Left numerically? (obsx, obsy)  (x,y)

  29. Fuzzy Rule OBSTACLE AVOIDANCE Typically we would subdivide the space discreetly. If(Distance is NEAR)… NEAR FAR VERY FAR obstacle (obsx, obsy)  NEAR: [0, 10.6cm] FAR: (10.6, 20cm] VERY FAR: (20cm, 50cm] (x,y)

  30. Fuzzy Rule OBSTACLE AVOIDANCE Fuzzy Logic allows (actually encourages) us to define overlapping sub ranges. It provides all the mathematical functions to quantify our terms and use them in our rules. If(Distance is NEAR)… NEAR FAR VERY FAR obstacle (obsx, obsy)  FUZZY SETS NEAR: [-infinity, 14.5cm] FAR: [10.6, 24cm] VERY FAR: [20cm, +infinity] (x,y)

  31. Fuzzy Rule OBSTACLE AVOIDANCE We could actually take advantage of symmetry and consider only half of the angle space. IfDistance is NEARandAngle is SMALLThenTurn Sharply. Relative position of the ball (left or right) Robot heading direction obstacle (obsx, obsy)  Fuzzy System θ distance (x,y) angle Steering angle θ

  32. Fuzzy Rule IfDistance is NEARandAngle is SMALLThenTurn Sharp Left. Could be a constant or another MF FNEAR(Distance) = degree of membership of the given distance in the Fuzzy Set NEAR FSMALL(Angle) = degree of membership of the given angle in the Fuzzy Set SMALL More on this later!

  33. Fuzzy Logic System Design for Robot Navigation

  34. Cascade of Fuzzy Systems Multiple Fuzzy Systems employ the various robot behaviours Position of the Target and Nearest Obstacle Target & Nearest Obstacle (x,y coordinates) Angle and Distance Fuzzy System 1 Fuzzy System 1:Target Pursuit Target Pursuit Adjusted Angle Central Control Fuzzy System 2 Fuzzy System 2: Speed Control for Target Pursuit Adjusted Speed ObstacleDistance < MaxDistanceTolerance and not on the same side as the Target N Y Fuzzy System 3: Obstacle Avoidance Fuzzy System 3 Obstacle Avoidance Adjusted Angle Fuzzy System 4 Fuzzy System 4: Speed Control for Obstacle Avoidance Adjusted Speed Actuators

  35. Target Pursuit and Obstacle Avoidance Robot Navigation obstacle (obsx, obsy)  (x,y) Can you describe how the robot should turn based on the position and angle of the obstacle? Obstacle Avoidance & Target Pursuit Demonstration

  36. Fuzzy Sets Angles SMALL MEDIUM LARGE Membership Functions Degree of membership Small Medium Large * Angle in degrees Sub ranges for Small, Medium and Large Angles overlap

  37. Taking advantage of Angle Symmetry Fuzzy Sets for Angles Right Left SMALL SMALL MEDIUM MEDIUM A simplified approach that reduces the computational cost without sacrificing accuracy. LARGE LARGE The approach developed takes advantage of the Angle symmetry, and is equivalent to having 6 Fuzzy Sets for the Angles. *

  38. Fuzzy Sets Distances VERY FAR FAR NEAR Membership Functions Far Near Very Far Degree of membership * Distances in cm. Sub ranges for Near, Far and Very Far Fuzzy Sets for Distances overlap

  39. Fuzzy Systems forTarget Pursuit The A* Algorithm Next Waypoint Fuzzy System 1 (Steering) e.g. If the Distance from the Target is NEAR and the Angle from the Target is SMALL Then the robot should make a Mild Turn. Angle Fuzzy System 2 (Speed Adjustment) e.g. If the Distance from the Target is NEAR and the Angle from the Target is SMALL Then the robot should move at a Medium Speed. Speed

  40. Fuzzy Systems forObstacle Avoidance Vision System Nearest Obstacle (Distance and Angle) Fuzzy System 3 (Steering) e.g. If the Distance from the Obstacle is NEAR and the Angle from the Obstacle is SMALL Then turn Very Sharp. Angle Fuzzy System 4 (Speed Adjustment) e.g. If the Distance from the Obstacle is NEAR and the Angle from the Obstacle is SMALL Then move Very Slowly. Speed

  41. ADVANTAGES SPEED In the robot soccer game, there are 11 robots to control at the most. We are able to demonstrate that our algorithm can control more than 30 robots at twice the required speed of calculation. *

  42. Robot Navigation Simulation ASSIGNMENT

  43. Start-up Codes Let’s have a look at the Start-up Codes and a Sample Solution. Inspect the files provided, the classes defined, how to use them, etc.

  44. Path-Finding With the A* Algorithm S *

  45. Complementary Path Finding Systems The Hybrid Fuzzy A* Navigation Algorithm S *

  46. Cascade of Fuzzy Systems Multiple Fuzzy Systems employ the various robot behaviours Path planning Layer: The A* Algorithm Path Planning Layer Next Waypoint Fuzzy System 1 Fuzzy System 1:Target Pursuit Target Pursuit Adjusted Angle Central Control Fuzzy System 2 Fuzzy System 2: Speed Control for Target Pursuit Adjusted Speed ObstacleDistance < MaxDistanceTolerance and not on the same side as the Target N Y Fuzzy System 3: Obstacle Avoidance Fuzzy System 3 Obstacle Avoidance Adjusted Angle Fuzzy System 4 Fuzzy System 4: Speed Control for Obstacle Avoidance Adjusted Speed Actuators

  47. Traditional approach Assignment

  48. Assignment 7 Fuzzy Sets for the input Angle ZE PS NS NM PM NL PL (x,y) ZE – Zero NS – Negatively Small NM-Negatively Medium NL – Negatively Large PS – Positively Small PM-Positively Medium PL – Positively Large Use this traditional approach in developing the Fuzzy Systems for the assignment.

  49. Assignment 7 Fuzzy Sets for the input Angle,3 Fuzzy Sets for the input Distance ANGLE ZE PS NS NM PM NL NM NS ZE PS PM PL NL PL (x,y) -∞ +∞ 0 DISTANCE ZE – Zero NS – Negatively Small NM-Negatively Medium NL – Negatively Large PS – Positively Small PM-Positively Medium PL – Positively Large NEAR FAR VERY FAR // -∞ +∞ 0

  50. TARGET PURSUIT Fuzzy Logic System #1 - for Calculating the STEERING ANGLE Distance ZE PS NS NM PM NL PL (x,y) Angle ZE – Zero NS – Negatively Small NM-Negatively Medium NL – Negatively Large PS – Positively Small PM-Positively Medium PL – Positively Large

More Related