DOC PREVIEW
MIT 16 412J - Introduction to Simultaneous Localization And Mapping

This preview shows page 1-2-3-18-19-36-37-38 out of 38 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 38 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Introduction to SLAMSimultaneous LocalizationAnd Mapping Paul RobertsonCognitive RoboticsWed Feb 9th, 2005Outline• Introduction• Localization•SLAM• Kalman Filter–Example• Large SLAM – Scaling to large maps2Introduction3• (Localization) Robot needs to estimate its location with respects to objects in its environment (Map provided).• (Mapping) Robot need to map the positions of objects that it encounters in its environment (Robot position known)• (SLAM) Robot simultaneously maps objects that it encounters and determines its position (as well as the position of the objects) using noisy sensors.Show Movie4Localization• Tracking– Bounded uncertainty– Can flip into kidnapping problem• Global Localization– Initially huge uncertainties– Degenerates to tracking• Kidnapping Problem– Unexpected global localizationTrackingGlobalLocalizationKidnapped5Representing RobotsPosition of robot is represented as a triple consisting of its xt, ytcomponents and its heading θt:Xt=(xt, yt, θt)TXt+1=Xt+ (ut∆tcos θt, ut∆tsin θt, ut∆t)Txtxt+1θtxi, yiut∆t6Kalman Filter LocalizationRobotLandmark7Kalman Filter LocalizationRobotLandmark8Kalman Filter LocalizationRobotLandmark9Kalman Filter LocalizationRobotLandmark10Basic SLAM• Localize using a Kalman Filter (EKF)• Consider all landmarks as well as the robot position as part of the posterior.• Use a single state vector to store estimates of robot position and feature positions.• Closing the loop allows estimates to be improved by correctly propagating all the coupling between estimates which arise in map building.11Initialize Feature ACBA12Drive ForwardCBA13Initialize C14CBAInitialize B15ACBDrive Back16ACBRe-measure A17ACBRe-measure B18ACBBasic EKF framework for SLAM x =xvy1y2...System State Vector, P=PxxPxy1Pxy2…Py1xPy1y1Py1y2…Py2xPy2y1Py2y2…. . . . . .. . .Covariance Matrix (Square, Symmetric)x and P grow as features are added to the map!19SLAM steps…1. Define robot initial position as the root of the world coordinate space – or start with some pre-existing features in the map with high uncertainty of the robot position.2. Prediction: When the robot moves, motion model provides new estimates of its new position and also the uncertainty of its location –positional uncertainty always increases.3. Measurement: (a) Add new features to map (b) re-measure previously added features.4. Repeat steps 2 and 3 as appropriate. 20The Kalman FilterFeatures:1. Gaussian Noise2. Gaussian State Model3. Continuous States4. Not all state variables need to be observable.5. Only requires memory of the previous estimate.6. Update is quadratic on the number of state variables.21Updating state estimate with a new observation221. Predict current state from the previous state estimate and the time step.2. Estimate the observation from the prediction.3. Computer the difference between the predicted observation and the actual observation.4. Update the estimate of the current stateVector Kalman Filtergain correctionG(k)C T AY(k)+-++X(k)estimatedelayAX(k-1)measurement parameterACX(k-1)Y(k)system parametercurrent prediction23G(k) = AP(k|k-1)CT[CP(k|k-1)CT+R(k)]-1 (Predictor gain)P(k+1|k) = [A-G(k)C]P(k|k-1)AT+Q(k) (Prediction mean square error)24Matrix newMeasurement (Matrix measurement, double ts){Matrix matP1=null; // variances of components of predictionMatrix cvecE=null; // residual errorMatrix cvecY=null; // estimated inputdouble timeDelta=ts-pts; // Establish system matrix for time duration since the last observation.matA=matAorig.add(matStime.scalarMultiply(timeDelta));matAt=matA.transpose();// Predict the new state at the given time stepcvecX=matA.mul (cvecX);// Measurement prediction- estimate of inputcvecY=matC.mul (cvecX);cvecE=measurement.subtract(cvecY);// Calculate Kalman gain matKmatP1=matA.mul (matP).mul (matAt).add(matQ);matK=matP1.mul (matCt).mul (matC.mul (matP1).mul (matCt).add(matR).invert());// update the error covariance matrixmatP=matP1.subtract(matK.mul (matC).mul (matP1));cvecX=cvecX.add(matK.mul (cvecE)); // Correctpts=ts;return matC.mul (cvecX); // return estimated values}Simple ExampleRobot with estimated position (Px, Py) and estimated velocity (Vx, Vy). Four state variables ( Px, Py, Vx, Vy)TRelationships between the state variables:Px+= tVxPy+= tVyObservations: (Px, Py) Position variance (σp) = 100.0Velocity variance (σv) = 0.125System Equation26Px(k)Py(k)Vx(k)Vy(k)Px(k+1)Py(k +1)Vx(k +1)Vy(k +1)=1 0 T 00 1 0 T0 0 1 00 0 0 100σvσv+ X(k+1) A X(k) w(k)Observations27Observation Matrix Y(k) =Measurement Covariance Matrix =σp 00 σpPxPyPx(k)Py(k)=1 0 0 00 1 0 0Px(k)Py(k)Vx(k)Vy(k)+σp σpY(k) C X(k) v(k)System Noise0 0 0 00 0 0 00 0 σv 00 0 0 σvSystem Noise Covariance Matrix Q(k) =28Prediction Matricesσp 0 σp 00 σp 0 σp0 σp σpσv 00 σp0 σpσvInitial Prediction Covariance Matrix (P) =State Equations (A) =1 0 T 00 1 0 T0 0 1 00 0 0 12930Run Kalman Filter Demo Program31Problems with the Kalman Filter1. Uni-modal distribution (Gaussian) often problematic.2. Can be expensive with large number of state variables.3. Assumes ‘linear transition model’ –system equations must be specifiable as a multiplication of the state equation. The Extended Kalman Filter (EKF) attempts to overcome this problem.32Additional Reading List for Kalman FilterRussell&Norvig ‘Artificial Intelligence a modern approach’ second edition 15.4 (pp551-559).33Large SLAMBasic SLAM is quadratic on the number of features and the number of features can be very large. Intuitively we want the cost of an additional piece of information to be constant.Lets look at one approach that addresses this issue by dividing the map up into overlapping sub maps.Leonard&Newman ‘Consistent, Convergent, and Constant-Time SLAM’ IJCAI’033435Location Vector• The mapped space is divided up into overlapping sub maps with shared features in the overlapping sub maps.T(i, j) = (x, y, θ)T(Location vector)An entity is a location + a unique ID.A Map is a collection of entities described with respect to a local coordinate frameEach map has a root entity i and a map location vector


View Full Document

MIT 16 412J - Introduction to Simultaneous Localization And Mapping

Documents in this Course
Load more
Download Introduction to Simultaneous Localization And Mapping
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Simultaneous Localization And Mapping and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Simultaneous Localization And Mapping 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?