# SEIF motion update algorithm doubt

I want to implement Sparse Extended information slam. There is four step to implement it. The algorithm is available in Probabilistic Robotics Book at page 310, Table 12.3.

In this algorithm line no:13 is not very clear to me. I have 15 landmarks. So $\mu_t$ will be a vector of (48*1) dimension where (3*1) for pose. Now $H_t^i$ is a matrix whose columns are dynamic as per the algorithm it is (3j-3) and 3j. J is the values of landmarks 1 to 15. Now how could I multiply a dynamic quantity with a static one. There must be a error that matrix dimension mismatch when implement in matlab.

• Welcome to SE:AI! (Always nice to see a robotics question, and thanks for linking that free pdf of the textbook:)
– DukeZhou
Sep 19 '18 at 20:39
• Thank you.I want a answer. I feel really helpless because of this line. Sep 19 '18 at 21:36

You are right, that pseudocode is not correct. In particular, the definition of $H_t^i$ in line $11$ should be changed; all the way on the right-hand side, it should have $3N - 3j$ columns of $0$s, rather than $3j$ columns of $0$s.

With that change, every matrix $H_t^i$ will have the same number of columns:

$$6 + 3j - 3 + 3N - 3j = 3 + 3N,$$

which evaluates to a total of $48$ in your case (because you have $N = 15$ landmarks). That's precisely the correct dimensionality required for matrix multiplication with your $\mu_t$ vector.

The version of the book that you linked to appears to be a fairly old draft. This webpage contains errata for the third edition for the book, in which page 393 corresponds to what was page 310 in your version of the book. The errata for that third edition of the book can be downloaded at the following URL: http://probabilistic-robotics.informatik.uni-freiburg.de/corrections/pg393.pdf

There you'll find the fix that I described above, but also some other fixes (most of them are just notational, adding bars over the $\mu$ vectors, but it looks like a more serious issue was additionally fixed in line 13, where a minus was changed to a plus).

• Oh Thank You sir. It help me a lot. It's really save my code. Can you please elaborate what is the need of $\H_t^i$ matrix? In Table 12.5 of Probabilistic Robotics what is the significant of $\mu_t$. I think it content pose and landmarks coordinates.If I am right then at Table 12.3 (the picture I given with this question)line no. 5,6 also give the co ordinate of observed landmarks. Which one should be taken.? Sep 20 '18 at 21:49
• @EllenaMori Your understanding of the contents of $\mu$ is correct. In lines 5, 6 of Table 12.3, they are initialized to the initial observations in cases where a landmark was never observed before. In Table 12.5, those estimates are updated using subsequent observations. I'm not 100% sure on an intuitive explanation of the $H$ matrix. I have once implemented some variant of SLAM during my studies multiple years ago, but am by no means an expert on SLAM unfortunately :( Sep 21 '18 at 8:15