1 / 43

Mobile Robot Mapping

Introduction to ROBOTICS. Mobile Robot Mapping. Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York jxiao@ccny.cuny.edu. Topics. Brief Review: Motion Planning Mobile Robot Mapping Using sonar to create maps Bayes Rule Evidence Grids .

ady
Télécharger la présentation

Mobile Robot Mapping

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. Introduction to ROBOTICS Mobile Robot Mapping Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York jxiao@ccny.cuny.edu

  2. Topics • Brief Review: Motion Planning • Mobile Robot Mapping • Using sonar to create maps • Bayes Rule • Evidence Grids

  3. Review: Motion Planning Motion Planning: Find a path connecting an initial configuration to goal configuration without collision with obstacles • Configuration Space • Motion Planning Methods • Roadmap Approaches • Cell Decomposition • Potential Fields • Bug Algorithms

  4. Review: Motion Planning • Motion Planning Methodololgies • – Roadmap • – Cell Decomposition • – Potential Field • • Roadmap • – From Cfree a graph is defined (Roadmap) • – Ways to obtain the Roadmap • • Visibility graph • • Voronoi diagram • • Cell Decomposition • – The robot free space (Cfree) is decomposed into simple regions (cells) • – The path in between two poses of a cell can be easily generated • • Potential Field • – The robot is treated as a particle acting under the influence of a potential field U, • where: • • the attraction to the goal is modeled by an additive field • • obstacles are avoided by acting with a repulsive force that yields a negative field Global methods Local methods

  5. Full-knowledge motion planning Roadmaps Cell decompositions visibility graph exact free space represented via convex polygons voronoi diagram approximate free space represented via a quadtree

  6. Potential field Method • Usually assumes some knowledge at the global level The goal is known; the obstacles sensed Each contributes forces, and the robot follows the resulting gradient.

  7. high-level Motion Planning: Given a known world and a cooperative mechanism, how do I get there from here ? Localization: Given sensors and a map, where am I ? Vision: If my sensors are eyes, what do I do? Mapping: Given sensors, how do I create a useful map? Abstraction level Bug Algorithms: Given an unknowable world but a known goal and local sensing, how can I get there from here? Kinematics: if I move this motor somehow, what happens in other coordinate systems ? Control (PID): what voltage should I set over time ? low-level Motor Modeling: what voltage should I set now ? Mobot System Overview

  8. Mobile Robot Mapping • Answering robotics’ big questions • How to get a map of an environment with imperfect sensors (Mapping) • How a robot can tell where it is on a map (localization) • Getting from place to place under uncertain conditions • Using vision effectively

  9. Sonar sensing “The sponge” sonar timeline 0 .5s 75ms the transducer goes into “receiving” mode and awaits a signal... a “chirp” is emitted into the environment typically when reverberations from the initial chirp have stopped after a short time, the signal will be too weak to be detected Sonar (sound navigation and ranging): range sensing using acoustic (i.e., sound) signal Blanking time Attenuation Why is sonar sensing limited to between ~12 in. and ~25 feet ? Polaroid sonar emitter/receivers

  10. Sonar effects (a) Sonar providing an accurate range measurement (b-c) Lateral resolution is not very precise; the closest object in the beam’s cone provides the response (d) Specular reflections cause walls to disappear (e) Open corners produce a weak spherical wavefront (f) Closed corners measure to the corner itself because of multiple reflections --> sonar ray tracing resolution: time / space

  11. Sonar modeling initial time response accumulated responses blanking time cone width spatial response Sonar amplitude profile: 3-D cone with side lobes

  12. Sonar Modeling response model (Kuc & Siegel) • Models the response, hR,with c = speed of sound a = diameter of sonar element (transducer) t = time z = orthogonal distance a = angle of environment surface sonar reading S a o z = • Then, add noise to the model to obtain a probability: obstacle p( S | o ) chance that the sonar reading is S, given an obstacle at location o

  13. Using sonar to create maps What should we conclude if this sonar reads 10 feet? 10 feet what would a local map look like?

  14. Using sonar to create maps What should we conclude if this sonar reads 10 feet? there isn’t something here there is something somewhere around here 10 feet Local Map unoccupied occupied

  15. or ... Using sonar to create maps What should we conclude if this sonar reads 10 feet? there isn’t something here there is something somewhere around here 10 feet Local Map unoccupied no information occupied

  16. Using sonar to create maps What should we conclude if this sonar reads 10 feet... 10 feet 10 feet and how do we add the information that the next sonar reading (as the robot moves) reads 10 feet, too?

  17. Combining sensor readings • The key to making accurate maps is combining lots of data. • But combining these numbers means we have to know what they are ! What should our map contain ? • small cells • each represents a bit of the robot’s environment • larger values => obstacle • smaller values => free what is in each cell of this sonar model / map ?

  18. What is it a map of? Several answers to this question have been tried: cell (x,y) is unoccupied cell (x,y) is occupied oxy oxy It’s a map of occupied cells. pre ‘83 What information should this map contain, given that it is created with sonar ? Each cell is either occupied or unoccupied -- this was the approach taken by the Stanford Cart.

  19. What is it a map of ? Several answers to this question have been tried: cell (x,y) is unoccupied cell (x,y) is occupied oxy oxy It’s a map of occupied cells. It’s a map of probabilities: p( o | S1..i ) p( o | S1..i ) pre ‘83 The certainty that a cell is occupied, given the sensor readings S1, S2, …, Si ‘83 - ‘88 The certainty that a cell is unoccupied, given the sensor readings S1, S2, …, Si • maintaining related values separately • initialize all certainty values to zero • contradictory information will lead to both values near 1 • combining them takes some work...

  20. What is it a map of ? Several answers to this question have been tried: cell (x,y) is unoccupied cell (x,y) is occupied oxy oxy It’s a map of occupied cells. It’s a map of probabilities: p( o | S1..i ) p( o | S1..i ) pre ‘83 The certainty that a cell is occupied, given the sensor readings S1, S2, …, Si ‘83 - ‘88 The certainty that a cell is unoccupied, given the sensor readings S1, S2, …, Si The odds of an event are expressed relative to the complement of that event. It’s a map of odds. evidence = log2(odds) probabilities p( o | S1..i ) odds( o | S1..i ) = The odds that a cell is occupied, given the sensor readings S1, S2, …, Si p( o | S1..i )

  21. An example map units: feet Evidence grid of a tree-lined outdoor path lighter areas: lower odds of obstacles being present darker areas: higher odds of obstacles being present how to combine them?

  22. Combining probabilities How to combine two sets of probabilities into a single map ?

  23. Conditional probability Some intuition... The probability of event o, given event S . p( o | S ) = The probability that a certain cell o is occupied, given that the robot sees the sensor reading S . The probability of event S, given event o . p( S | o ) = The probability that the robot sees the sensor reading S , given that a certain cell o is occupied. • What is really meant by conditional probability ? p( o | S ) = p(S | o) ?? • How are these two probabilities related?

  24. Bayes Rule - Joint probabilities/Conditional probabilities p( o  S ) = p( o | S ) p( S )

  25. Bayes Rule - Joint probabilities/Conditional probabilities p( o  S ) = p( o | S ) p( S ) - Bayes rule relates conditional probabilities p( S | o ) p( o ) p( o | S ) = Bayes rule p( S )

  26. Bayes Rule - Joint probabilities/Conditional probabilities p( o  S ) = p( o | S ) p( S ) - Bayes rule relates conditional probabilities p( S | o ) p( o ) p( o | S ) = Bayes rule p( S ) - So, what does this say about odds( o | S2  S1 ) ? Can we update easily ?

  27. Combining evidence So, how do we combine evidence to create a map? What we want -- the new value of a cell in the map after the sonar reading S2 odds( o | S2  S1) What we know -- the old value of a cell in the map (before sonar reading S2) odds( o | S1) the probabilities that a certain obstacle causes the sonar reading Si p( Si | o ) & p( Si | o )

  28. Combining evidence p( o | S2  S1 ) odds( o | S2  S1) = p( o | S2  S1 )

  29. Combining evidence p( o | S2  S1 ) def’n of odds odds( o | S2  S1) = p( o | S2  S1 ) p( S2  S1 | o) p(o) . = p( S2  S1 | o) p(o)

  30. Combining evidence p( o | S2  S1 ) def’n of odds odds( o | S2  S1) = p( o | S2  S1 ) p( S2  S1 | o) p(o) . = Bayes’ rule (+) p( S2  S1 | o) p(o) p( S2 | o) p( S1 | o) p(o) . = p( S2 | o) p( S1 | o) p(o)

  31. Combining evidence p( o | S2  S1 ) def’n of odds odds( o | S2  S1) = p( o | S2  S1 ) p( S2  S1 | o) p(o) . = Bayes’ rule (+) p( S2  S1 | o) p(o) p( S2 | o) p( S1 | o) p(o) conditional independence of S1 and S2 . = p( S2 | o) p( S1 | o) p(o) p( S2 | o) p( o | S1 ) Bayes’ rule (+) . = p( S2 | o) p( o | S1 )

  32. Combining evidence p( o | S2  S1 ) def’n of odds odds( o | S2  S1) = p( o | S2  S1 ) p( S2  S1 | o) p(o) . = Bayes’ rule (+) p( S2  S1 | o) p(o) p( S2 | o) p( S1 | o) p(o) conditional independence of S1 and S2 . = p( S2 | o) p( S1 | o) p(o) p( S2 | o) p( o | S1 ) Bayes’ rule (+) . = p( S2 | o) p( o | S1 ) previous odds precomputed values the sensor model Update step = multiplying the previous odds by a precomputed weight.

  33. Mapping Using Evidence grids Evidence Grids...

  34. Mapping Using Evidence grids Evidence Grids... represent space as a collection of cells, each with the odds (or probability) that it contains an obstacle evidence = log2(odds) Lab environment likely free space likely obstacle not sure lighter areas: lower odds of obstacles being present darker areas: higher odds of obstacles being present

  35. Mapping Using Evidence grids Evidence Grids... represent space as a collection of cells, each with the odds (or probability) that it contains an obstacle Lab environment likely free space likely obstacle not sure • The relative locations of the robot within the map are assumed known. • It is important that the robot odometry is correct

  36. Mapping Using Evidence grids hallway with some open doors lab space CMU -- Hans Moravec known map and estimated evidence grid

  37. Motion Planning in Evidence Grids Reduces to a search problem within the graph of cells, and the graph is created on the fly. Search for a minimum-cost path, depending on • length • probability of collision

  38. Path Planning in Evidence Grids Reduces to a search problem within the graph of cells, and the graph is created on the fly. Search for a minimum-cost path, depending on • length • probability of collision What should this be? cost = K * stepij +  collision penalty (i,j)  path (i,j)  path stepij = length of traversing cell (i,j)

  39. Path Planning in Evidence Grids Reduces to a search problem within the graph of cells, and the graph is created on the fly. Search for a minimum-cost path, depending on • length • probability of collision cost = K * stepij +  -log( 1-p ) (i,j)  path (i,j)  path stepij = length of traversing cell (i,j) Suppose p is the chance of colliding with an obstacle in cell (i,j).

  40. Robot Mapping Evidence Grids... represent space as a collection of cells, each with the odds (or probability) that it contains an obstacle Lab environment likely free space likely obstacle not sure • The relative locations of the robot within the map are assumed known. • It is important that the robot odometry is correct • Equally plausible to consider the converse problem... “Robot localization problem” Given a map of the environment, how do I determine where I am?

  41. Localization via mapping Key idea: use what we already know how to do -- mapping • Map the area around the robot • Match the result to the known map of the world

  42. Localization via mapping Key idea: use what we already know how to do -- mapping • Map the area around the robot • Match the result to the known map of the world

  43. Thank you! Homework 9 posted on the web Next class: Localization

More Related