Introduction to Mobile Robotics Summary Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello 1
Probabilistic Robotics 2
Probabilistic Robotics Key idea: Explicit representation of uncertainty (using the calculus of probability theory) Perception = state estimation Action = utility optimization 3
Bayes Formula ( , ) ( | ) ( ) ( | ) ( ) P x y P x y P y P y x P x ( | ) ( ) likelihood prior P y x P x ( ) P x y ( ) evidence P y 4
Simple Example of State Estimation Suppose a robot obtains measurement z What is P(open|z)? 5
Causal vs. Diagnostic Reasoning P(open|z) is diagnostic. P(z|open) is causal. Often causal knowledge is easier to obtain. count frequencies! Bayes rule allows us to use causal knowledge: ( | ) ( ) P z open P open ( | ) P open z ( ) P z 6
z = observation u = action Bayes Filters x = state ( ) ( | , , , ) Bel x P x u z u z 1 1 t t t t ( | , , , , ) ( | , , , ) P z x u z u P x u z u Bayes 1 1 1 1 t t t t t ( | ) ( | , , , ) P z x P x u z u Markov 1 1 t t t t ( | ) ( | , , , , ) P z x P x u z u x Total prob. 1 1 1 t t t t t ( | , , , ) P x u z u dx 1 1 1 1 t t t ( | ) ( | , ) ( | , , , ) P z x P x u x P x u z u dx Markov 1 1 1 1 1 t t t t t t t t ( | ) ( | , ) ( | , , , ) P z x P x u x P x u z z dx Markov 1 1 1 1 1 1 t t t t t t t t ( | ) ( | , ) ( ) P z x P x u x Bel x dx 1 1 1 t t t t t t t 7
Bayes Filters are Familiar! ( ) ( | ) ( | , ) ( ) Bel x P z x P x u x Bel x dx 1 1 1 t t t t t t t t Kalman filters Particle filters Hidden Markov models Dynamic Bayesian networks … 8
Sensor and Motion Models ( | , ) ( | ' , ) P z x m P x x u 9
Motion Models Robot motion is inherently uncertain. How can we model this uncertainty? 10
Probabilistic Motion Models To implement the Bayes Filter, we need the transition model p(x | x ’ , u) . The term p(x | x ’ , u) specifies a posterior probability, that action u carries the robot from x ’ to x . 11
Typical Motion Models In practice, one often finds two types of motion models: Odometry-based Velocity-based ( dead reckoning ) Odometry-based models are used when systems are equipped with wheel encoders. Velocity-based models have to be applied when no wheel encoders are given. They calculate the new pose based on the velocities and the time elapsed. 12
Odometry Model Robot moves from to . , y , ' y , ' , ' x x Odometry information . , , u 1 2 rot rot trans 2 2 ( ' ) ( ' ) x x y y trans atan2 ( ' , ' ) y y x x 1 rot ' 2 1 rot rot 2 rot ' y , ' , ' x , y , x trans 1 rot 13
Sensors for Mobile Robots Contact sensors: Bumpers Internal sensors Accelerometers (spring-mounted masses) Gyroscopes (spinning mass, laser light) Compasses, inclinometers (earth magnetic field, gravity) Proximity sensors Sonar (time of flight) Radar (phase and frequency) Laser range-finders (triangulation, tof, phase) Infrared (intensity) Visual sensors: Cameras Satellite-based sensors: GPS 14
Beam-based Sensor Model Scan z consists of K measurements. { , ,..., } z z z z 1 2 K Individual measurements are independent given the robot position. K ( | , ) ( | , ) P z x m P z x m k 1 k 15
Beam-based Proximity Model Measurement noise Unexpected obstacles z exp 0 z max z exp 0 z max 2 z ( exp ) z z e 1 z z 1 exp ( | , ) P z x m ( | , ) 2 b P z x m e unexp hit 0 otherwise 2 b 16
Beam-based Proximity Model Random measurement Max range z exp z exp 0 z max 0 z max 1 1 ( | , ) P z x m ( | , ) P z x m max rand z z small max 17
Resulting Mixture Density T ( | , ) P z x m hit hit ( | , ) P z x m unexp unexp ( | , ) P z x m ( | , ) P z x m max max ( | , ) P z x m rand rand How can we determine the model parameters? 18
Bayes Filter in Robotics 19
Bayes Filters in Action Discrete filters Kalman filters Particle filters 20
Discrete Filter The belief is typically stored in a histogram / grid representation To update the belief upon sensory input and to carry out the normalization one has to iterate over all cells of the grid 21
Piecewise Constant 22
Kalman Filter Optimal for linear Gaussian systems! Most robotics systems are nonlinear! Polynomial in measurement dimensionality k and state dimensionality n : O(k 2.376 + n 2 ) 23
Kalman Filter Algorithm Algorithm Kalman_filter ( t-1 , t-1 , u t , z t ): 1. 2. Prediction: m t = A t m t - 1 + B t u t 3. T + Q t S t = A t S t - 1 A t 4. 5. Correction: T + R t ) - 1 K t = S t C t T ( C t S t C t 6. m t = m t + K t ( z t - C t m t ) 7. S t = ( I - K t C t ) S t 8. 9. Return t , t
Extended Kalman Filter Approach to handle non-linear models Performs a linearization in each step Not optimal Can diverge if nonlinearities are large! Works surprisingly well even when all assumptions are violated! Same complexity than the KF 25
Particle Filter Basic principle Set of state hypotheses ( “ particles ” ) Survival-of-the-fittest Particle filters are a way to efficiently represent non-Gaussian distribution 26
Mathematical Description Set of weighted samples State hypothesis Importance weight The samples represent the posterior 27
Particle Filter Algorithm in Brief Sample the next generation for particles using the proposal distribution Compute the importance weights : weight = target distribution / proposal distribution Resampling: “ Replace unlikely samples by more likely ones ” 28
Importance Sampling Principle We can even use a different distribution g to generate samples from f By introducing an importance weight w , we can account for the “ differences between g and f ” w = f / g f is often called target g is often called proposal Pre-condition: f(x)>0 g(x)>0 29
Particle Filter Algorithm ( ) ( | ) ( | , ) ( ) Bel x p z x p x x u Bel x dx 1 1 1 1 t t t t t t t t draw x it 1 from Bel (x t 1 ) draw x it from p ( x t | x it 1 , u t 1 ) Importance factor for x it : target distributi on i w t proposal distributi on ( | ) ( | , ) ( ) p z x p x x u Bel x 1 1 1 t t t t t t ( | , ) ( ) p x x u Bel x 1 1 1 t t t t ( | ) p z x t t 31
Resampling w 1 w n w 1 w n w 2 w 2 W n-1 W n-1 w 3 w 3 Stochastic universal sampling Roulette wheel Systematic resampling Binary search, n log n Linear time complexity Easy to implement, low variance 32
MCL Example 33
Mapping 34
Why Mapping? Learning maps is one of the fundamental problems in mobile robotics Maps allow robots to efficiently carry out their tasks, allow localization … Successful robot systems rely on maps for localization, path planning, activity planning etc 35
Occupancy Grid Maps Discretize the world into equally spaced cells Each cells stores the probability that the corresponding area is occupied by an obstacle The cells are assumed to be conditionally independent If the pose of the robot is know, mapping is easy 36
Updating Occupancy Grid Maps Update the map cells using the inverse sensor model 1 [ ] [ ] [ ] xy xy xy | , 1 P m z u P m Bel m [ ] xy t t t 1 t t 1 1 1 Bel m t [ ] [ ] [ ] xy xy xy 1 | , 1 P m z u P m Bel m 1 1 t t t t t Or use the log-odds representation [ ] [ ] xy xy : log ( ) B m odds m [ ] [ ] xy xy log | , B m odds m z u t t 1 t t t t [ ] xy log odds m P x t ( ) : odds x [ ] xy B m 1 P x 1 t 37
Reflection Probability Maps Value of interest: P ( reflects ( x,y )) For every cell count hits( x , y ): number of cases where a beam ended at < x , y> misses( x , y ): number of cases where a beam passed through <x,y> hits( , ) x y [ ] xy ( ) Bel m hits( , ) misses( , ) x y x y 38
SLAM 39
The SLAM Problem A robot is exploring an unknown, static environment. Given: The robot ’ s controls Observations of nearby features Estimate: Map of features Path of the robot 40
Chicken -or-Egg SLAM is a chicken-or-egg problem A map is needed for localizing a robot A good pose estimate is needed to build a map Thus, SLAM is regarded as a hard problem in robotics A variety of different approaches to address the SLAM problem have been presented Probabilistic methods outperform most other techniques 41
Recommend
More recommend