Skip to content
Peter Corke edited this page Mar 2, 2025 · 5 revisions

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.