Small Unmanned Aircraft: Theory and Practice

Trace: errata




As you find typos and errors in the book, please send us an email. We will post the errors on this page and work with Princeton University Press to ensure that they do not propagate to future printings. - RWB & TWM

Chapter 1

Chapter 2

  • Page 19, just above Eq. 2.7: In the wind frame to body frame rotation matrix, the (3,2) and (2,3) entries in the matrix should be swapped. The (2,3) entry should be 0 and the (3,2) entry should be $ -\sin\beta\sin\alpha $ .
  • Equation (2.9) assumes that the side slip angle $\beta=0.$ Otherwise, assuming that the roll angle $\phi=0$, the right hand side would be

\begin{pmatrix} \cos(\psi+\beta)\cos\gamma_a \\ \sin(\psi+\beta)\cos\gamma_a \\ -\sin\gamma_a \end{pmatrix}

Chapter 3

Chapter 4

  • Page 43. The matrices $\begin{pmatrix}1 & 1 \\ -1 & 1\end{pmatrix}$ should both be multiplied by 0.5.
  • Top of pg. 51. There is a sentence with a string of variables that all equal zero. The last variable should be delta_r instead of delta_a.
  • e is used for the Oswald efficiency factor on page 48 and 63. This is an unfortunate and unintended double use of notation since e is also used on page 47 and elsewhere throughout the book as the exponential.

Chapter 5

  • page 65. “horizontal component of the ground speed, $V_g \cos\gamma$.”
  • page 66. The order of the inputs $u=(\delta_e, \delta_t, \delta_a, \delta_r)$ does not match the order of the inputs in the simulation which is $u = (\delta_e, \delta_a, \delta_r, \delta_t)$.
  • (page 75, line 17),(page 76, lines 6,10,12,15), (page 77, line 4) - the constant $k$ multiplying $\delta_t$ should be $k_{motor}$
  • page 76, line 5, $-C_D(\alpha)$ should be $-C_{D_0}$.
  • page 77, line 4, $k^2$ should be $k_{motor}^2$
  • page 77, line 9 should be $a_{V_3} = g\cos(\theta^{\ast}-\alpha^{\ast})$
  • In table 5.1, the m in the denominator represents mass and should be the font that represents mass. Same for some elements in Table 5.2.

Chapter 6

  • page 101. The only equation on this page has an error in the numerator of the second term on the right-hand side: It should read $a_{\phi_2} k_{p_\phi}$ instead of $a_{\phi_2} k_{d_\phi}$.
  • page 106. Line 22, “ach” should be “each”.
  • page 116. References to line numbers are incorrect.
    • (4th line from top) “Line 11” should be “Line 12”
    • (5th line from top) “lines 12-13” should be “lines 14-15”
    • (9th line from top) “line 11” should be “line 12”
    • (10th line from top) “line 15-20” should be “line 19-23”
    • (19th line from top) “Lines 22-25” should be “Lines 26-29”
    • (page 117, 7th line from top) “line 24” should be “line 28”

Chapter 7

  • Page 128. The conversion from 1 N/m^2 = 3385 inches Hg is backwards. It should be 3385 N/m^2 = 1 inch Hg.
  • Page 134. The description of GPS trilateration is not correct. Replace the last paragraph on the page with the following:

Because of clock synchronization errors between the satellites (whose atomic clocks are almost perfectly synchronized) and the receiver, four independent pseudorange measurements are required to trilaterate the position of the receiver as depicted in figure 7.8. Why are four pseudorange measurements required? One range measurement narrows the receiver position to a sphere around the satellite. A second measurement from another satellite narrows the possible positions to the the intersection of the the two spheres around the satellites, which is a circle. A third measurement narrows the possible positions to the intersection of the three spheres around the satellites, which is two points. The point closest to the surface of the earth is taken as the position. To resolve position in three dimensions with a receiver clock offset error, at least four measurements are needed. The geometry associated with the pseudorange measurements from four different satellites form a system of four nonlinear algebraic equations in four unknowns: latitude, longitude, and altitude of the GPS receiver, and receiver clock time offset [33].

  • Triangulate in the caption of Figure 7.8 should be trilaterate.
  • Page 140, equation (7.22) should be $\chi=\text{atan2}(V_e, V_n)$

Chapter 8

  • Page 151, Line 1 in Algorithm 1 should be $\hat{x} = x_0$ and not $\hat{x} = \chi_0$.
  • Page 152. We assume that the process noise satisfies  E\{\xi(t)\xi(\tau)\} = Q \delta(t-\tau) where $\delta(\cdot)$ is the Dirac delta function.
  • Page 153, fourth equation from the bottom: there should be a curly bracket at the end of the line after $d\tau$, and the first $\xi(\tau)$ under the integral should be $\xi(t)$:

E\left\{ \tilde{x} \xi^{\top} \right\} = E\left\{ e^{At}\tilde{x}_0\xi^{\top}(t) + \int_0^te^{A(t-\tau)}\xi(t)\xi^{\top}(\tau)d\tau \right\}

  • Page 158, for the Jacobian of f for x, the equation in the first row second column should have an addition in the numerator as opposed to a subtraction.
  • Page 159. The expression for $\dot{V}_g$ in the middle of the page can be simplified significantly.
  • Page 160. The (3,5) and (3,6) terms of the Jacobian of $f$ should have $V_g$ terms in the denominator.
  • Page 161. The definition for $y_{GPS}$ should be

y_{GPS} = (y_{GPS,n}, y_{GPS,e}, y_{GPS,V_g}, y_{GPS,\chi}, y_{wind,n}, y_{wind,e})^\top

  • Page 162, problem 8.2. $\psi$ in the list of states to estimate, should be changed to $\chi$.

Chapter 9

Chapter 10

  • Figure 10.2. $-s_d$ in subfigure (b) should be replaced with $h_d-(-r_d)$.
  • Figure 10.2 should appear as figure_10.2.pdf.
  • page 177. The first equation relating similar triangles should read $\frac{h_d+r_d}{\sqrt{s_n^2+s_e^2}} = \frac{-q_d}{\sqrt{q_n^2+q_e^2}}$ .
  • Equation 10.5 should be changed to read
    $h_d(\mathbf{r},\mathbf{p},\mathbf{q}) = -r_d - \sqrt{s_{n}^2+s_{e}^2} \left(\frac{q_d}{\sqrt{q_n^2+q_e^2}} \right)$ .

Chapter 11

  • pg. 187, second equation: there should not be a ”)” after the w_i
  • Figure 11.4 should appear as figure_11.4.pdf. Note that $R\tan\varrho/2$ has been changed to $R/(\tan\varrho/2)$.
  • pg. 192, lines 8-9: should read “If the MAV has transitioned into $\mathcal{H}_1$”, not $\mathcal{H}_2$.
  • pg. 194, line 3: should read “fillet is $2R/(\tan \varrho_i/2)$”, not $2R \tan \varrho_i/2$.
  • pg. 201, line 32 of Algorithm 7, $q_2$ should be $q_1$.

Chapter 12

In the first two equations on p. 210 (middle of section 12.1.1), the term $\mathbf{w}(\sigma^*)$
should be replaced with
$D(\mathbf{v}_1,\mathbf{v}_2,\mathbf{p})$ to give

D(\mathbf{v}_1,\mathbf{v}_2,\mathbf{p}) = \sqrt{\norm{\mathbf{p}-\mathbf{v}_1}^2 -


D^{'}(\mathbf{v}_1,\mathbf{v}_2,\mathbf{p}) = 
\begin{cases} %
    D(\mathbf{v}_1,\mathbf{v}_2,\mathbf{p}) & \text{~if~} \sigma^{\ast}\in[0,1] \\
    \norm{\mathbf{p}-\mathbf{v}_1}     & \text{~if~} \sigma^{\ast}<0 \\
    \norm{\mathbf{p}-\mathbf{v}_2}     & \text{~if~} \sigma^{\ast}>1

Chapter 13

  • Figure 13.1 shows the elevation angle as being defined with respect to the vehicle frame. It should show the elevation angle $\alpha_{el}$ defined with respect to the body frame, i.e., $\alpha_{el}$ is measured from $i^b$ and not $i^v$.

Appendix A

Appendix B

Appendix C

Appendix D

  • The references to line numbers on page 271 are not correct.
    • flag is shown in lines 2-11 should be flag is shown in lines 3-15
    • initial conditions are shown in lines 13-27 should be initial conditions are shown in lines 18-31
    • inputs are defined in lines 16-19 should be inputs are defined in lines 20-23
    • feedthrough term on line 20 should be feedthrough term on line 24
    • initial conditions are defined on line 24 should be initial conditions are define on line 28
    • sample times are defined on line 27 should be sample times are defined on line 31
    • f(t,x,u) is defined in lines 30-32 should be f(t,x,u) is defined in lines 34-36
    • h(t,x,u) is defined in lines 35-36 should be h(t,x,u) is defined in lines 39-40
  • The references to line numbers on page 272 are not correct. The paragraph at the bottom of page 272 should read as follows:
    • The code listing for a C-file s-function that implements the system defined by equations (D.5) and (D.6) is shown below. The function name must be specified as in Line~3. The number of parameters that are passed to the s-function is specified in Line 19, and macros that access the parameters are defined in Lines 6 and 7. Line 8 defines a macro that allows easy access to the input of the block. The block structure is defined using mdlInitializeSizes in Lines 17-39. The number of continuous states, discrete states, inputs, and outputs is defined in Lines 25-31. The sample time and offset are specified in Lines 41-46. The initial conditions for the states are specified in Lines 53-58. The function $f(t,x,u)$ is defined in Lines 75-90, and the function $h(t,x,u)$ is defined in Lines 60-73. The C-file s-function is compiled using the Matlab command » mex secondOrder_c.c.

Appendix E

Appendix F

  • Page 278, 2nd and 5th lines: Va/R should be (Va/R)*cos(gamma). See page equation 5.21 on page 67.
  • Page 278, Line defining Y0: the gamma term should be replaced with 0 (zero). This is just an initial value for angle of attack, which is an output of the trim function.
  • Page 279, 3rd and 4th equations on the page: Va/R should be (Va/R)*cos(gamma).

Appendix G

Appendix H