Advanced Mobile Robotics Probabilistic Robotics: Review/SLAM Dr. Jizhong Xiao Department of Electrical Engineering CUNY City College jxiao@ccny.cuny.edu City College of New York 1 Bayes Filter Revisit Bel ( xt ) P( zt | xt ) P( xt | ut , xt 1 ) Bel ( xt 1 ) dxt 1 • Prediction (Action) bel ( xt ) p ( xt | ut , xt 1 ) bel ( xt 1 ) dxt 1 • Correction (Measurement) bel( xt ) p( zt | xt ) bel( xt ) City College of New York Probabilistic Robotics Probabilistic Sensor Models Beam-based Model Likelihood Fields Model Feature-based Model City College of New York Beam-based Proximity Model Measurement noise 0 zexp Phit ( z | x, m) Unexpected obstacles zmax 1 e 2b 1 ( z zexp ) 2 b 0 2 zexp e z Punexp ( z | x, m) 0 Gaussian Distribution zmax z zexp otherwise Exponential Distribution City College of New York 4 Beam-based Proximity Model Random measurement 0 zexp Prand ( z | x, m) zmax 1 zmax Max range 0 zexp zmax 1 if z z max Pmax ( z | x, m) 0 otherwise Uniform distribution Point-mass distribution City College of New York 5 Resulting Mixture Density hit unexp P ( z | x, m) max rand T Phit ( z | x, m) Punexp ( z | x, m) Pmax ( z | x, m) P ( z | x, m) rand Weighted average, and hit un exp max rand 1 How can we determine the model parameters? { hit , un exp , max , rand , , } System identification method: maximum likelihood estimator (ML estimator) City College of New York 6 Likelihood Fields Model • Project the end points of a sensor scan Zt into the global coordinate space of the map x ztk y zk t x cos y sin cos( ksens ) sin x ksens k z t cos y ksens sin( ksens ) • Probability is a mixture of … – a Gaussian distribution with mean at distance to closest obstacle, – a uniform distribution for random measurements, and – a small uniform distribution for max range measurements. p( ztk xt , m) hit phit max pmax rand prand • Again, independence between different components is 7 assumed. City College of New York Likelihood Fields Model x ztk y zk t x cos y sin cos( ksens ) sin x ksens k z t cos y ksens sin( ksens ) Distance to the nearest obstacles. Max range reading ignored City College of New York 8 Example Example environment P(z|x,m) Likelihood field The darker a location, the less likely it is to perceive an obstacle Sensor probability O1 O2 O3 Zmax City College of New York Oi : Nearest point to obstacles 9 Feature-Based Measurement Model • • • rt1 rt 2 1 2 1 2 f ( zt ) { f t f t } { t , t ,} s1 s 2 t t Sensors that measure range, bearing, & a signature (a numerical value, e.g., an average color) Conditional independence between features Feature vector is abstracted from the measurement: p( f ( zt ) xt , m) p(rti , ti , sti xt , m) i • Feature-Based map: m {m1 , m2 , } with m j {m j , x , m j , y , s j } i.e., a location coordinate in global coordinates & a signature • Robot pose: i (m x) 2 (m y ) 2 2 r t j,x j, y r T i xt {x y } t a tan 2(m j , y y, m j , x x) ) 2 • Measurement model: s i s j t s2 T 2 r Zero-mean Gaussian error variables with standard deviations City College of New York r 10 Probabilistic Robotics Probabilistic Motion Models City College of New York Odometry Model • Robot moves from x , y , to x ' , y ' , ' . u rot 1, rot . 2 , trans • Odometry information trans ( x ' x ) 2 ( y ' y ) 2 rot 1 atan2( y' y, x ' x ) rot 2 rot 2 ' rot 1 x , y , rot 1 trans x ' , y ' , ' Relative motion information, “rotation” “translation” “rotation” City College of New York Noise Model for Odometry • The measured motion is given by the true motion corrupted with independent noise. ˆ rot 1 rot 1 1 | ro t1| 2 | tra n s| ˆtrans trans 3 | tra n s| 4 | ro t1 ro t2 | ˆrot 2 rot 2 1 | ro t2 | 2 ( x) 2 1 2 2 e 1 x2 2 2 | tra n s| 0 if | x | 6 2 2 ( x) 6 2 | x | 6 2 City College of New York How to calculate : p( xt ut , xt 1 ) Calculating the Posterior An initial pose X Given xt, xt-1, and u A hypothesized final pose X t-1 1. 2. 3. 4. t A pair of poses u obtained from odometry Algorithm motion_model_odometry (xt, xt-1, u) u xt 1 trans ( x ' x ) ( y ' y ) rot 1 atan2( y' y, x ' x ) rot 2 ' rot 1 2 2 xt T odometry values (u) xt 1 ( x y )T xt ( x y )T 10. ˆtrans ( x' x) 2 ( y ' y ) 2 values of interest (xt-1, xt) ˆrot 1 atan2( y' y, x'x) ˆrot 2 ' ˆrot 1 p1 prob( rot1 ˆrot1,1 | ˆrot1 | 2ˆtrans ) p2 prob( trans ˆtrans ,3ˆtrans 4 (| ˆrot1 | | ˆrot2 |)) p prob( ˆ , | ˆ | ˆ ) 11. return p1 · p2 · p3 5. 6. 7. 8. 9. 3 rot 2 rot 2 1 rot 2 p( xt ut , xt 1 ) 2 trans prob(a, b) Implements an error distribution over a with zero mean and standard deviation b City College of New York 14 Application • Repeated application of the sensor model for short movements. • Typical banana-shaped distributions obtained for 2d-projection of 3d posterior. p(xt| u, xt-1) x’ u x’ u Posterior distributions of the robot’s pose upon executing the motion command illustrated by the solid line. The darker a location, the more likely it is. City College of New York Velocity-Based Model v control u City College of New York Rotation r v radius 16 Equation for the Velocity Model Instantaneous center of curvature (ICC) at (xc , yc) T Initial pose xt 1 x y x xc r sin y yc r cos Keeping constant speed, after ∆t time interval, ideal robot will be at x x y T t x xc r sin( t ) x r sin r sin( t ) y y c r cos( t ) y r cos r cos( t ) t t City College of New York Corrected, -90 17 Velocity-based Motion Model With xt 1 vˆt vˆt sin sin( ˆ t t ) ˆ t x ' x ˆ t ' vˆt vˆt y y cos cos( ˆ t t ) ˆ t ' ˆ t ˆ t t T x y and xt x ' y ' ' Tare the state vectors at time t-1 and t respectively The true motion is described by a translation velocity vˆ t and a rotational velocity T Motion Control ut (vt t ) with additive Gaussian noise ( v ) 2 M t vˆt vt (1 vt 2 t ) 2 vt (0, M t ) ˆ t t 3 vt 4 t 2 t Circular motion assumption leads to degeneracy , 2 noise variables v and w 3D pose Assume robot rotates ˆ when arrives at its final pose City College of New York 1 t 2 0 t ˆ t 0 ( 3 vt 4 t ) 2 ˆt t ˆ 5 v 6 18 Velocity-based Motion Model Motion Model: vˆt vˆt ˆ sin sin( t ) t ' ˆ ˆ t x x t ' vˆ vˆt t ˆ y y cos cos( t ) t ˆ ˆ ' t t ˆ t t ˆt vˆt vt (1 vt 2 t ) 2 ˆ t t 3 vt 4 t 2 ˆ 5 v 6 1 to 4 are robot-specific error parameters determining the velocity control noise 5 and 6 are robot-specific error parameters determining the standard deviation of the additional rotational noise City College of New York 19 Probabilistic Motion Model How to compute p( xt ut , xt 1 ) ? Center of circle: Move with a fixed velocity during ∆t resulting in a circular trajectory from T T xt 1 x y to xt x y with Radius of the circle: r * ( x x * ) 2 ( y y * ) 2 ( x x * ) 2 ( y y * ) 2 Change of heading direction: a tan2( y y * , x x* ) a tan2( y y * , x x* ) dist r * vˆ t t ˆ ˆ t t City College of New York (angle of the final rotation) 20 Posterior Probability for Velocity Model Center of circle Radius of the circle Change of heading direction Motion error: verr ,werr and ˆ City College of New York 21 Examples (velocity based) City College of New York Map-Consistent Motion Model p( x | u, x' ) p( x | u, x' , m) Obstacle grown by robot radius Map free estimate of motion model p( x | u , x' ) “consistency” of pose in the map p( x | m) “=0” when placed in an occupied cell Approximation: p( x | u, x' , m) p( x | m) p( x | u, x' ) City College of New York Summary • We discussed motion models for odometry-based and velocity-based systems • We discussed ways to calculate the posterior probability p(x| x’, u). • Typically the calculations are done in fixed time intervals t. • In practice, the parameters of the models have to be learned. • We also discussed an extended motion model that takes the map into account. City College of New York 24 Probabilistic Robotics Localization “Using sensory information to locate the robot in its environment is the most fundamental problem to providing a mobile robot with autonomous capabilities.” [Cox ’91] City College of New York Localization, Where am I? ? • Given – Map of the environment. – Sequence of measurements/motions. • Wanted – Estimate of the robot’s position. • Problem classes – Position tracking (initial robot pose is known) – Global localization (initial robot pose is unknown) – Kidnapped robot problem (recovery) City College of New York 26 Markov Localization p( x1:t | z1:t , u1:t , m) City College of New York 27 Bayes Filter Revisit Bel ( xt ) P( zt | xt ) P( xt | ut , xt 1 ) Bel ( xt 1 ) dxt 1 • Prediction (Action) bel ( xt ) p ( xt | ut , xt 1 ) bel ( xt 1 ) dxt 1 • Correction (Measurement) bel( xt ) p( zt | xt ) bel( xt ) City College of New York EKF Linearization First Order Taylor Expansion • Prediction: g (ut , t 1 ) g (ut , xt 1 ) g (ut , t 1 ) ( xt 1 t 1 ) xt 1 g (ut , xt 1 ) g (ut , t 1 ) Gt ( xt 1 t 1 ) • Correction: h( t ) h( xt ) h( t ) ( xt t ) xt h( xt ) h( t ) H t ( xt t ) City College of New York 29 EKF Algorithm 1. Extended_Kalman_filter( t-1, St-1, ut, zt): 2. 3. 4. Prediction: t g (ut , t 1 ) 5. 6. 7. 8. Correction: Kt St HtT (Ht St HtT Qt )1 t t Kt ( zt h(t )) 9. Return t, St t At t 1 Bt ut St Gt St 1GtT Rt St At St 1 AtT Rt St ( I Kt Ht )St h( t ) Ht xt City College of New York Kt St CtT (Ct St CtT Qt )1 t t Kt ( zt Ct t ) St (I Kt Ct )St g (ut , t 1 ) Gt xt 1 30 1. EKF_localization ( t-1, St-1, ut, zt, m): Prediction: 3. Gt g (ut , t 1 ) xt 1 x' t 1, x y ' t 1, x ' t 1, x g (ut , t 1 ) ut x' vt y ' vt ' v t 5. Vt 6. 1 | vt | 2 | t |2 M t 0 x' t 1, y y ' t 1, y ' t 1, y x' t 1, y ' Jacobian of g w.r.t location t 1, ' t 1, x' t y ' t ' t 2 3 | vt | 4 | t | t g (ut , t 1 ) 8. St Gt St 1GtT Vt MtVtT 0 7. City College of New York Jacobian of g w.r.t control Motion noise covariance Matrix from the control Predicted mean Predicted covariance 31 Velocity-based Motion Model With xt 1 x y vˆt vˆt sin sin( ˆ t t ) ˆ t x ' x ˆ t ' vˆt vˆt y y cos cos( ˆ t t ) ˆ t ' ˆ t ˆ t t T and xt x ' y ' ' Tare the state vectors at time t-1 and t respectively The true motion is described by a translation velocity vˆ t and a rotational velocity ˆ t T Motion Control ut (vt t ) with additive Gaussian noise vˆt vt (1 vt 2 t ) 2 vt (0, M t ) ˆ t t 3 vt 4 t 2 t ( 1 vt 2 t ) 2 M t 0 City College of New York 0 ( 3 vt 4 t ) 2 32 Velocity-based Motion Model Motion Model: vt vt sin sin( t ) t ' t x x t ' vt vt y y cos cos( t t ) N (0, Rt ) t ' t t t xt g (ut , xt 1 ) N (0, Rt ) g (ut , t 1 ) g (u t , xt 1 ) g (u t , t 1 ) ( xt 1 t 1 ) xt 1 g (u t , xt 1 ) g (u t , t 1 ) Gt ( xt 1 t 1 ) City College of New York 33 Velocity-based Motion Model v vt sin t sin( t t ) t x ' x t ' vt v y y cos t cos( t t ) N (0, Rt ) t ' t t t x ' t 1, x g (u t , t 1 ) y ' Gt ( xt 1 , t 1 ) xt 1 t 1, x t 1, x x ' t 1, y y t 1, y t 1, y x ' t 1, y t 1, t 1, City College of New York x Derivative of g along x’ dimension, w.r.t. x at t 1 t 1, x Jacobian of g w.r.t location 34 Velocity-based Motion Model v Mapping between the motion noise in control vt sin t sin( t t ) t space to the motion noise in state space x ' x t ' vt v y y cos t cos( t t ) N (0, Rt ) t ' t t t x' x' Jacobian of g w.r.t control vt t y ' y ' g (ut , t 1 ) Vt Derivative of g w.r.t. the motion parameters, ut v t t evaluated at u t and t 1 ' ' v t t vt (sin sin( t t )) vt cos( t t )t sin sin( t t ) 2 t t t cos cos( t t ) v (cos cos( t t )) vt sin( t t )t t 2 t t t t 0 St Gt St 1GtT Vt MtVtT City College of New York 35 1. EKF_localization ( t-1, St-1, ut, zt, m): Correction: 3. zˆt 2 2 mx t , x my t , y atan2m , m y t,y x t,x t , h( t , m) xt 5. Ht 6. r2 0 Qt 2 0 r rt t,x t t , x rt t , y t t , y Predicted measurement mean rt t , t t , Jacobian of h w.r.t location 7. St Ht St HtT Qt Pred. measurement covariance 8. Kt St HtT St1 Kalman gain 9. t t Kt ( zt zˆt ) Updated mean 10. St I Kt Ht St Updated covariance City College of New York 36 Feature-Based Measurement Model • Jacobian of h w.r.t location 2 rti (m j , x x) 2 (m j , y y ) 2 r i t a tan 2(m j , y y, m j , x x) ) 2 s i s j t s2 zti h( xt , j, m) N (0, Qt ) h( t ) h( xt ) h( t ) ( xt t ) xt Ht h( t , m) xt rt t,x t t , x rt t , y t t , y rt t , t t , j Cti Is the landmark that corresponds to the measurement of City College of New York zti 37 EKF Localization with known correspondences City College of New York 38 EKF Localization with unknown correspondences Maximum likelihood estimator City College of New York 39 EKF Prediction Step Initial estimate is represented by the ellipse centered at t 1 Small noise in translational & rotation High translational noise Moving on a circular arc of 90cm & turning 45 degrees to the left, the predicted position is centered at t High rotational noise High noise in both translation & rotation City College of New York 40 EKF Measurement Prediction Step Measurement Prediction True robot (white circle) & the observation (bold line circle) Innovations (white arrows) : differences between observed & predicted measurements City College of New York 41 EKF Correction Step Resulting correction Measurement Prediction Update mean estimate & reduce position uncertainty ellipses City College of New York 42 Estimation Sequence (1) EKF localization with an accurate landmark detection sensor Dashed line: estimated robot trajectory Solid line: true robot motion Dashed line: corrected robot trajectory Uncertainty ellipses: before (light gray) & after (dark gray) incorporating 43 landmark detection City College of New York Estimation Sequence (2) EKF localization with a less accurate landmark detection sensor Uncertainty ellipses: before (light gray) & after (dark gray) incorporating landmark detection City College of New York 44 Comparison to Ground Truth City College of New York 45 UKF Localization ? • Given – Map of the environment. – Sequence of measurements/motions. • Wanted – Estimate of the robot’s position. • UKF localization City College of New York 46 Unscented Transform Sigma points Weights w 0 i 0 m ( n )S i n wmi wci w 0 c 1 2(n ) n (1 2 ) for i 1,...,2n Pass sigma points through nonlinear function i g( i ) For n-dimensional Gaussian λ is scaling parameter that determine how far the sigma points are spread from the mean If the distribution is an exact Gaussian, β=2 is the optimal choice. Recover mean and covariance 2n ' wmi i i 0 2n S' wci ( i )( i ) T i 0 City College of New York 47 UKF_localization ( t-1, St-1, ut, zt, m): Prediction: 1 | vt | 2 | t |2 M t 0 2 3 | vt | 4 | t | 0 Motion noise r2 0 Qt 2 0 r Measurement noise ta1 tT1 Augmented state mean S t 1 S ta1 0 0 0 0T 0 0T 0 Mt 0 0 0 Qt Augmented covariance ta1 ta1 ta1 Sta1 tx g ut tu , tx1 ta1 Sta1 Sigma points Prediction of sigma points 2L t wmi ix,t i 0 2L Predicted mean St w t t i 0 i c x i ,t x i ,t T Predicted covariance City College of New York 48 UKF_localization ( t-1, St-1, ut, zt, m): Correction: t h tx tz The predicted robot locations tx are used to generate the measurement sigma points Measurement sigma points 2L zˆt wmi i ,t Predicted measurement mean i 0 2L St w i ,t zˆt i ,t zˆt i 0 S i c 2L x, z t T w t i ,t zˆt i 0 i c Kt Stx, z St x i ,t 1 Pred. measurement covariance T Cross-covariance Kalman gain t t Kt ( zt zˆt ) Updated mean St St Kt St K Updated covariance T t City College of New York 49 UKF Prediction Step High rotational noise Moving on a circular arc of 90cm & turning 45 degrees to the left, the predicted position is centered at t High translational noise High noise in both translation & rotation City College of New York 50 UKF Measurement Prediction Step Measurement Prediction Predicted Sigma points City College of New York 51 UKF Correction Step Resulting correction Measurement Prediction City College of New York 52 Estimation Sequence EKF UKF Robot path estimated with different techniques, with UKF being slightly closer City College of New York 53 Prediction Quality EKF UKF Robot moves on a circle, estimates based on EKF prediction, & UKF prediction City College of New York 54 Kalman Filter-based System • [Arras et al. 98]: • Laser range-finder and vision • High precision (<1cm accuracy) [Courtesy of Kai Arras] City College of New York 55 Multihypothesis Tracking City College of New York 56 Localization With MHT MHT: Multi-Hypothesis Tracking filter • Belief is represented by multiple hypotheses • Each hypothesis is tracked by a Kalman filter • Additional problems: • Data association: Which observation corresponds to which hypothesis? • Hypothesis management: When to add / delete hypotheses? • Huge body of literature on target tracking, motion correspondence etc. City College of New York 57 MHT: Implemented System (1) • Hypotheses are extracted from Laser Range Finder (LRF) scans • Each hypothesis has probability of being the correct one: Hi { xˆ i, Si , P (Hi )} • Hypothesis probability is computed using Bayes’ rule P( s | H i ) P( H i ) P( H i | s) P( s) • Hypotheses with low probability are deleted. • New candidates are extracted from LRF scans. C j {z j , Rj } City College of New York [Jensfelt et al. ’00] 58 MHT: Implemented System (2) Courtesy of P. Jensfelt and S. Kristensen City College of New York 59 MHT: Implemented System (3) Example run # hypotheses P(Hbest) Map and trajectory Courtesy of P. Jensfelt and S. Kristensen #hypotheses vs. time City College of New York 60 Probabilistic Robotics SLAM City College of New York SLAM Problem : Chicken or Egg Fundamental problems for localization and mapping The task of SLAM is to build a map while estimating the pose of the robot relative to this map. Without a map, robot cannot localize itself Without knowing its location, robot cannot build a map Which needed to be done first? Localization or mapping? City College of New York 62 The SLAM Problem A robot is exploring an unknown, static environment. Given: – The robot’s controls (U1:t) – Observations of nearby features (Z1:t) Estimate: – Map of features (m) – Pose / Path of the robot (xt) City College of New York 63 Why is SLAM a hard problem? Uncertanties • Error in pose • Error in observation • Error in mapping • Error accumulated City College of New York 64 Why is SLAM a hard problem? SLAM: robot path and map are both unknown Robot path error correlates errors in the map City College of New York 65 Why is SLAM a hard problem? Robot pose uncertainty • In the real world, the mapping between observations and landmarks is unknown • Picking wrong data associations can have catastrophic consequences City College of New York 66 Data Association Problem • A data association is an assignment of observations to landmarks • In general there are more than (n observations, m landmarks) possible associations • Also called “assignment problem” City College of New York 67 Nature of the SLAM Problem Continuous component Location of objects in the map Robot’s own pose Discrete component Correspondence reasoning Object is the same or not City College of New York 68 SLAM: Simultaneous Localization and Mapping • Full SLAM: Estimates entire path and map! p( x1:t , m | z1:t , u1:t ) Estimates Given Entire pose (x1:t) and map (m) Previous knowledge (Z1:t-1, U1:t-1) Current measurement (Zt, Ut) City College of New York 69 Graphical Model of Full SLAM: p( x1:t , m | z1:t , u1:t ) Compute a joint posterior over the whole path of robot and the map City College of New York 70 SLAM: Simultaneous Localization and Mapping • Online SLAM: p( xt , m | z1:t , u1:t ) Estimates Given Most recent pose (xt) and map (m) Previous knowledge (Z1:t-1, U1:t-1) Current measurement (Zt, Ut) Estimates most recent pose and map! City College of New York 71 Graphical Model of Online SLAM: Estimate a posterior over the current robot pose, and the map p( xt , m | z1:t , u1:t ) p( x1:t , m | z1:t , u1:t ) dx1 dx2 ...dxt 1 Integrations typically done one at a time City College of New York 72 SLAM with Extended Kalman Filter • Pre-requisites – Maps are feature-based (landmarks) small number (< 1000) – Assumption - Gaussian Noise – Process only positive sightings No landmark = negative Landmark = positive City College of New York 73 EKF-SLAM with known correspondences Correspondence Data association problem Landmarks can’t be uniquely identified Correspondence variable True identity of observed feature (Cit) between feature (fit) and real landmark f t rt i i i t S i T t Make correspondence variables explicit p( xt , m, ct | z1:t , u1:t ) p( x1:t , m, c1:t | z1:t , u1:t ) City College of New York 74 EKF-SLAM with known correspondences Signature Numerical value (average color) Characterize type of landmark (integer) Multidimensional vector (height and color) City College of New York 75 EKF-SLAM with known correspondences Similar development to EKF localization Diff robot pose + coordinates of all landmarks Combined state vector xt yt x m y m1, x p( yt | z1:t , u1:t ) m1, y S1 ... mN , x (3N + 3) mN , y Online posterior City College of New York SN T 76 Mean Motion update Covariance Test for new landmarks Initialization of elements Expected measurement Iteration through measurements Filter is updated City College of New York 77 EKF-SLAM with known correspondences Observing a landmark improves robot pose estimate eliminates some uncertainty of other landmarks Improves position estimates of the landmark + other landmarks We don’t need to model past poses explicitly City College of New York 78 Example City College of New York 79 EKF-SLAM with known correspondences Example: • Uncertainty of landmarks are mainly due to robot’s pose uncertainty (persist over time) Estimated location of landmarks are correlated City College of New York 80 EKF-SLAM with unknown correspondences • No correspondences for landmarks • Uses an incremental maximum likelihood (ML) estimator Determines most likely value of the correspondence variable Takes this value for granted later on City College of New York 81 EKF-SLAM with unknown correspondences Mean Motion update Covariance Hypotheses of new landmark City College of New York 82 City College of New York 83 General Problem Gaussian noise assumption Unrealistic Spurious measurements Fake landmarks Outliers Affect robot’s localization City College of New York 84 Solutions to General Problem Provisional landmark list New landmarks do not augment the map Not considered to adjust robot’s pose Consistent observation City College of New York regular map 85 Solutions to General Problem Landmark Existence Probability Landmark is observed Observable variable (o) increased by fixed value Landmark is NOT observed when it should Observable variable decreased Removed from map when (o) drops below threshold City College of New York 86 Problem with Maximum Likelihood (ML) Once ML estimator determines likelihood of correspondence, it takes value for granted always correct Makes EKF susceptible to landmark confusion Wrong results City College of New York 87 Solutions to ML Problem Spatial arrangement Greater distance between landmarks Less likely confusion will exist Trade off: few landmarks harder to localize Little is known about optimal density of landmarks Signatures Give landmarks a very perceptual distinctiveness (e,g, color, shape, …) City College of New York 88 EKF-SLAM Limitations • Selection of appropriate landmarks • Reduces sensor reading utilization to presence or absence of those landmarks Lots of sensor data is discarded • Quadratic update time Limits algorithm to scarce maps (< 1000 features) • Low dimensionality of maps harder data association problem City College of New York 89 EKF-SLAM Limitations • Fundamental Dilemma of EKF-SLAM It might work well with dense maps (millions of features) It is brittle with scarce maps BUT It needs scarce maps because of complexity of the algorithm (update process) City College of New York 90 SLAM Techniques • EKF SLAM (chapter 10) • Graph-SLAM (chapter 11) • SEIF (sparse extended information filter) (chapter 12) • Fast-SLAM (chapter 13) City College of New York 91 Graph-SLAM • Solves full SLAM problem • Represents info as a graph of soft constraints • Accumulates information into its graph without resolving it (lazy SLAM) • Computationally cheap • At the other end of EKF-SLAM Process information right away (proactive SLAM) Computationally expensive City College of New York 92 Graph-SLAM • Calculates posteriors over robot path (not incremental) • Has access to the full data • Uses inference to create map using stored data Offline algorithm City College of New York 93 Sparse Extended Information Filter (SEIF) • Implements a solution to online SLAM problem • Calculates current pose and map (as EKF) • Stores information representation of all knowledge (as GraphSLAM) Runs Online and is computationally efficient • Applicable to multi-robot SLAM problem City College of New York 94 FastSLAM Algorithm • Particle filter approach to the SLAM problem • Maintain a set of particles • Particles contain a sampled robot path and a map • The features of the map are represented by own local Gaussian • Map is created as a set of separate Gaussians Map features are conditionally independent given the path Factoring out the path (1 per particle) Map feature become independent Eliminates the need to maintain correlation among them City College of New York 95 FastSLAM Algorithm • Updating in FastSLAM Sample new pose update the observed features • Update can be performed online • Solves both online and offline SLAM problem • Instances Feature-based maps Grid-based algorithm City College of New York 96 Approximations for SLAM Problem • Local submaps [Leonard et al.99, Bosse et al. 02, Newman et al. 03] • Sparse links (correlations) [Lu & Milios 97, Guivant & Nebot 01] • Sparse extended information filters [Frese et al. 01, Thrun et al. 02] • Thin junction tree filters [Paskin 03] • Rao-Blackwellisation (FastSLAM) [Murphy 99, Montemerlo et al. 02, Eliazar et al. 03, Haehnel et al. 03] City College of New York 97 Thank You 98 City College of New York