I am a beginner to SLAM and robotics in general and I have been trying to implement SLAM on my GoPiGo3 robot car kit using primarily Chapter 10 from Probabilistic Robotics by Sebastian Thrun as reference.

I am using a laser distance sensor attached to a servo that turns only 180°. The sensor itself has a range of 2m. I am able to get the odometry data from the wheel encoders.

I am planning to use the RANSAC algorithm for line extraction and landmark detection.

Suppose I detect a landmark and add the global coordinates of the landmark into the state vector. Then, I move some distance and the newly added landmark into the state vector is no longer observable.

Is this a problem that is accounted for in the EKF SLAM algorithm from the book? Specifically I wish to know how missing landmarks in the new observation affect the transformation function that maps the predicted state to the predicted observation and thus the Jacobian. How will this affect the computation of the Kalman Gain and the measurement update of the state?

If it is not feasible to use this algorithm in such a situation, I would appreciate it if someone could point me to the right resources for my implementation.

Thank you!



2 Answers 2


EKF SLAM will have larger covariances for the missing landmarks.

  • $\begingroup$ Thanks for your answer but we are looking for comprehensive answers that provide some explanation and context. Very short answers cannot do this, so please edit your answer to explain why it is right, ideally with citations. Answers that don't include explanations may be removed. $\endgroup$
    – Mark Booth
    Commented Jun 21, 2019 at 12:37

Is this a problem that is accounted for in the EKF SLAM algorithm from the book?

It is. If you look at the pseudo code implementation you posted you will notice that the update only works for the observed features.

For all your matrices,jacobian,$H$ matrix, Kalman gain. The parts related to the unobserved landmark is 0. Therefore the update will be 0, and the landmark will not be changed. If you want to see an implementation of this in code then I recommend looking at this EKF implementation. I specifically linked to the part where the matrices are formed with a bunch of zeros in the necessary places.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.