Errata - petercorke/RVC3-MATLAB GitHub Wiki

This page contains error and clarifications for the book. To create errata please post an Issue on Github and use the errata template.

Chapter 6, page 233, (6.22) Issue #15

This is the insertion Jacobian for the SLAM case, not the landmark-only case as it should be. For the landmark-only case the Jacobian is

{\bf Y}_z = \frac{\partial {\bf y}}{\partial {\bf z}} = \left( \begin{array}{c|c}
{\bf 1}_{M \times M} & {\bf 0}_{M \times 2} \\
{\bf 0}_{2 \times M} & {\bf G}_z
\end{array} \right)

For the SLAM case (6.22) applies using the definition of ${\bf G}_x$ from (6.27).

Chapter 13, page 566, (13.3.1)

The equation for $\phi$ should be

\phi = \tan^{-1} \frac{-Y}{X}

to match the x- and y-axis conventions shown in Fig. 13.16. That error has also been fixed in the code (pushed to GH 2025-03-02 commit 7af0aa414b150cd39973e7d18fa25d7868f27cc8).

Chapter 13, page 569, (13.3.2)

The equation for $\theta$ should be

\theta = \tan^{-1} \frac{Z}{\sqrt{X^2+Y^2}} + \frac{\pi}{2}

Unfortunately, the code implementation for $\theta$ within CatadioptricCamera.project_point() has a different error. Correcting that code error (pushed to GH 2025-03-02 commit 7af0aa414b150cd39973e7d18fa25d7868f27cc8) we get an alternative version of Fig 13.20. This version exhibits much more distortion because the cube is quite close to the camera.

fig13_20

Appendix C1.4.1, page 723

There's an error in the third code snippet on the page

x = inv(sqrtm(E))*y;
plot(x(:,1),x(:,2));

should be

x = inv(sqrtm(E))*y;
clf; plot(x(1,:),x(2,:));

because the arrays x and y are both 2x50, ie. each column is a point.