how to get a map basic mapping task
play

How to Get a Map? Basic Mapping Task By hand? Slow, expensive and - PDF document

5/5/20 What is Mapping? Mapping and SLAM: A (High-Level) Survey Building a mo model of the robots environme ment Based on sensor data obtained in that environment Sebastian Thrun, 2002 Many different environment representations


  1. 5/5/20 What is Mapping? Mapping and SLAM: A (High-Level) Survey § Building a mo model of the robot’s environme ment § Based on sensor data obtained in that environment Sebastian Thrun, 2002 § Many different environment representations Original presentation: David Black-Schaffer, Kristof Richmond Used with many, many thanks to authors exist § Mapping means constructing one § Based on sensor data § Doesn’t have to be geometric 2 1 2 How to Get a Map? Basic Mapping Task § By hand? § Slow, expensive and imprecise § Automatically: Mapping § The robot learns its environment 123.5 § Can cope with dynamically changing environment § Map is built from sensors that will be used to navigate https://www.youtube.com/watch?v=eAbF3QBGwzA 3 4 3 4 Historical Overview The Problems § Metric Mapping § Measurement noise § Geometric representations § Sensor and position noise are not independent § Occupancy Grids § Map size § Larger maps much more computationally intensive § High resolution maps can be very large § Correspondence § Topological Mapping § Do multiple measurements at different times § Milestones with connections correspond to the same object? § Require navigation information § Loop closure is a subset of this § Hard to scale § Dynamic environments § Many algorithms assume a static environment 5 6 5 6 1

  2. 5/5/20 Basic Mapping Requirements Challenges: Maintenance § A way to incorporate sensed information into § Map Maintenance: keeping track of changes in world model the environment § Sufficient information for navigation ? example: § Estimating position, path planning, obstacle disappearing avoidance, … cupboard § Correctness § Often uses a measure of belief of each feature § Predictability § Most environments are a mixture of predictable and § If localizing: did the world change, or are you unpredictable features lost? 7 12 7 12 Challenges: Cyclic Environments Dynamic Environments § Small local error accumulates § Dynamic changes require continuous (re-)mapping § This is usually irrelevant for navigation § High-level features help if § When closing loops, global error do does matter you can get them § Humans are more dynamic navigate around map features than walls cupboard… § Can also learn that certain things are dynamic over time ? Courtesy of Sebastian Thrun 13 14 13 14 Current State of Mapping Why Probabilistic Mapping? § Algorithms are: § Noise in commands and sensors § Robust for static, structured, and small environments § Commands are not executed exactly basically (e.g., slippage leads to odometry errors) everything § Probabilistic we’ve ever § Sensors noise due to real world § Only ok with correspondence problem covered (e.g., angle of incidence and scattering) § Incremental or or multi-pass about error § Noise is not statistically independent Incremental algorithms only need one “pass” through data, § and can possibly be run in real time § Control errors accumulate with time/distance § Continuing areas § Can’t “average out” noise § Dynamic environments § Semantic labeling of environments § Planning exploration paths of unknown environments 15 16 15 16 2

  3. 5/5/20 Command Noise SLAM § SLAM § Odometry Errors: heading and distance measurements accumulate errors with time § S imultaneous L ocalization A nd M apping § Figure out where we are and what our world looks like at the same time § Localization § Where are we? § Position error accumulates with movement § Mapping § What does the environment look like? § Sensor error (not independent of position error) 17 19 17 19 Mapping ≠ SLAM? What are we trying to do? § Can you do mapping without localization? § Sort of. § Gathering environment data doesn’t depend on knowing where you are, but… § If you don’t track robot’s location, the re relative po position of different sensor readings is harder to calculate § Some problems (e.g., loop closure) may be impossible www.kalmanfilter.net 20 22 20 22 What are we trying to do? Bayes Rule § p ( x | d ) = h p ( d | x ) p ( x )* Whatever we’re § p ( x | d ) is the probability of (the map) x being true estimating given the (sensor) measurement d § p(d | x) is the probabeingbility of the (sensor) measurement being d given (an object at) x § p(x) is the prior probability (of the map) * h = normalization constant www.kalmanfilter.net 23 24 23 24 3

  4. 5/5/20 s: robot configuration (pose) Bayes Rule over Time Bayes Filter u: command z: sensor reading m: map ☐ t / ☐ t : value at/up to time t § Notation p ( s t , m | z t , u t ) = η ⋅ p ( z t | s t , m ) ∫ p ( s t | u t , s t − 1 ) p ( s t − 1 , m | z t − 1 , u t − 1 ) ds t − 1 § s = pose of robot ( x, y, Q ) § u = command given to robot § Probability of a location (pose) and a map, § z = sensor measurement given sensor readings and command. § m = map § p ( z t | s t , m ) is the se senso sor m model § All are functions of time § p ( s t | u t , s t-1 ) is the mo motion mo model § z t = sensor measurements at time t § z t = all sensor measurements up to time t § p ( s t-1 , m | z t-1 , u t-1 ) is probability we were ac actual ally § (same for s , u , and m ) where we thought we were last timestep Sensor and motion models are usually static 25 26 25 26 Mapping Methods Monte Carlo Localization § Probabilistic Kalman EM Occupancy Dogma 1. Start with a uniform distribution of possible poses Grids ( x, y, Q ) Landmark Point Occupancy Occupancy 2. Compute the probability of each pose given current Representation Locations Obstacles Grids Grids sensor data and a map YES NO YES NO 3. Normalize probabilities Incremental § Throw out low probability points Requires Poses NO NO YES YES § Blur current points (we never know exactly where we are) Handles NO YES YES YES Correspondence § Performance: excellent! Dynamic § Need non-symmetric geometries limited NO limited YES Environments 27 28 27 28 Monte Carlo Localization Monte Carlo SLAM Thrun, Sebastian. “ Animation of Monte Carlo Localization using laser range finders ” Thrun, Sebastian. “ Animation: Online mapping with Monte Carlo Localization.” 29 30 29 30 4

  5. 5/5/20 Expectation Maximization (EM) EM Performance § Pros: § Find most likely map (and poses) § Resolves correspondences 1. E xpectation step: 1. § Cons: § Calculate probabilities of robot poses for § Non-incremental current guess of map § No posterior probabilities for map § Slow 2. M aximization step: 2. § Greedy § Calculate single most likely map for § Improvements: Hybrid approaches distribution of robot poses § Incremental computation § Iterate § Maintain a few possible robot poses 31 32 31 32 Kalman filters Kalman filter (SLAM) § Prediction algorithm that handles uncertainty § Core idea: pr predi dict where we should be, take readings, then update our es estimate of where § Process (actuation) uncertainty we are § Measurement (sensor) uncertainty § We need to take prior states into consideration § ALL of them?! § But, we can condition on the previous state § Which is conditioned on the state before that, … § State Update Equation: 33 34 www.kalmanfilter.net 33 34 KF core idea (2) Kalman Filter Performance Position prediction: § Pros: 1. Position at time step k+1 is predicted based on old location ( k ) § Full (Gaussian) posterior probabilities § and its movement § Incremental Observe: sense the new location at k+1 § Good convergence 2. Measurement prediction: § Cons: 3. Use the predicted robot position and the map to generate § § Limited model multiple pr predi dicted d obs bservations § Correspondence problem Given where we might be, what do we expect to see? § § Limited map size Matching: Map from all predicted observations to all 4. observations § Many improvements exist! Estimate location: keep best n and continue 5. 35 38 35 38 5

  6. 5/5/20 Particle Filter SLAM Occupancy Grids § Impose grid on space to be mapped § Find inverse sensor model p(m x,y |z t ,s t ) § Update odds that grid cells are occupied https://www.youtube.com/watch?v=khSrWtB0Xik 39 41 39 41 Occupancy Grid (simple) Occupancy Grid (real) https://www.youtube.com/watch?v=zOj4s9TEmg8 https://www.youtube.com/watch?v=iD47JWVqTCk 42 43 42 43 Occupancy Grids Object Maps § Pros § Extensions: Object Maps § Simple § Reduced memory § Accurate requirements § Incremental § Better for dynamic § Cons environments § Require known poses § Limited by available § Independence object models assumptions 46 47 46 47 6

  7. 5/5/20 Using a Laser and Dynamic Environments A Real Example an RGB-D Sensor § Kalman filters § Decaying occupancy grids § Dogma § D ynamic o ccupancy g rid m apping a lgorithm https://www.youtube.com/watch?v=o1GSQanY-Do 48 49 48 49 Mapping Approaches § Turning percepts (sensor readings) into a § Many algorithms exist model of an environment (a map) § All modern approaches are probabilistic § Maps come in many forms § Must have sufficient information for navigation § Many are particle filter based tasks § Usually SLAM is involved § Estimating position, path planning, obstacle avoidance, … § Doesn’t strictly have to be § Many challenges § Different approaches address different challenges § Difficult environments: cycles, dynamism, … § Sensor noise and precision § Actuator noise § Labeling environment 50 51 50 51 7

Recommend


More recommend