Difference between revisions of "Modern Robotics Errata"
(80 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The errata below are for the [[Modern_Robotics|'''updated first edition of ''Modern Robotics'' ''']] (as well as the practice exercises and linear algebra refresher appendix). The updated first edition (also called "version 2") was originally published by Cambridge University Press in late 2019 (marked "3rd printing 2019" or later) and the corresponding online preprint is dated December 2019. The updated first edition includes several corrections and minor additions to the original first edition, which was originally published by Cambridge in May 2017, with a corresponding online preprint dated May 2017. |
|||
[https://docs.google.com/forms/d/1iZ_3LsWR1iuPJmRsUQsa2ehZj6p-qKQfx8NRKaTlIuE/edit '''Please click here to report any corrections for the book, practice exercises, or linear algebra refresher appendix. (Please make sure you are using the May 3, 2017, online version of the book, or the hardcover book published by Cambridge University Press.)'''] |
|||
'''[[Modern Robotics Errata, First Edition Version 1|The errata for the original first edition can be found here]].''' |
|||
Errata below are for [[Modern_Robotics|the hardcover book published by Cambridge University Press, the preprint version of the book posted on May 3, 2017, the practice exercises, and the linear algebra refresher appendix]]. Thanks to everyone who provided corrections to earlier versions! |
|||
[https://docs.google.com/forms/d/1iZ_3LsWR1iuPJmRsUQsa2ehZj6p-qKQfx8NRKaTlIuE/edit '''Please click here to report any corrections for the updated first edition of the book, the practice exercises, or the linear algebra refresher appendix.'''] |
|||
== |
== Updated first edition: Significant corrections ([[Modern Robotics Errata, First Edition Version 1|Errata for original first edition here]]) == |
||
=== Chapter 3 === |
=== Chapter 3 === |
||
* (printed version only) At the end of the introduction Exercise 3.16, it says "origin of {b} is at (0,2,0) is {s}", but "is {s}" should be "in {s}". |
|||
* In the caption of Figure 3.3, it should read <math>\hat{\text{x}}_{\text{b}} = (1/2, \sqrt{3}/2)</math> and <math>\hat{\text{y}}_{\text{b}} = (-\sqrt{3}/2, 1/2)</math>. |
|||
* Exercise 3.20, Figure 3.26: In the figure, the y and z axes for the {a}, {b}, and {c} frames are switched (y should point forward and z should point up). Also, the space frame is located at the bottom of the small wheel, directly below the {a} frame. |
|||
* Under "Representing a configuration" in Chapter 3.3.1.2, the text says "<math>T_{bc} = (R_{bc},p_{bc})</math> represents {b} relative to {c}" but it should say "represents {c} relative to {b}". |
|||
* |
* (printed version only) Exercise 3.25(a): the element in the third row and third column of the matrix <math>A</math> should be 0. (It is incorrectly written as 1.)''' |
||
* In the displayed equation just after Equation (3.76), the left-hand side should be <math>[\mathcal{V}_s]</math> (the brackets are missing). |
|||
* Exercise 3.16(i) asks for "the <math>\{q,\hat{s},h\}</math> representation" but it should say "a <math>\{q,\hat{s},h\}</math> representation" since <math>q</math> is not unique. |
|||
=== Chapter 4 === |
=== Chapter 4 === |
||
* |
* Exercise 4.21: The question should begin "For each <math>T</math> below..." instead of "For each <math>T \in SE(3)</math> below...". (Since the first part of the problem is determining whether <math>T</math> is indeed an element of <math>SE(3)</math>.) |
||
=== Chapter 5 === |
|||
* Equation (5.7): The the first two terms on the right-hand side of the equation should be <math>J_{s1} \dot{\theta}_1 + J_{s2}(\theta) \dot{\theta}_2</math>. |
|||
* Exercise 5.2(b): The wrench applied by the last link, expressed in the {s} frame, is 5 N in the <math>\hat{\text{y}}_{\text{s}}</math> direction, with zeros in all other components. (The wording seems to imply that the force is through the tip of the last link, which is incorrect.) |
|||
* Exercise 5.16 and Figure 5.26: The robot is referred to as PRRRRR, but it is PRPRRR. |
|||
=== Chapter 6 === |
|||
* Chapter 6.3, first line after Eq (6.7): the matrices <math>T_{sd}^{-1} \dot{T}_{sd}</math> and <math>\dot{T}_{sd} T_{sd}^{-1}</math> are referred to as twists, but these are the se(3) matrix representations of the twists. |
|||
=== Chapter 8 === |
=== Chapter 8 === |
||
* |
* (printed version only) Equation (8.74): the first two plus signs should be minus signs. |
||
=== Chapter 10 === |
|||
* Figure 8.5 says the volume of the rectangular parallelepiped is <math>abc</math> but it should be <math>hlw</math>. |
|||
* Second displayed equation of Chapter 10.6.3 (Workspace Potential): As it is written, this equation (which involves a partial derivative with respect to the robot's configuration <math>q</math>) already gives the repulsive generalized force <math>F_{ij}(q)</math>, i.e., the Jacobian is already embedded, obviating the subsequent development. To fit the rest of the development, the partial derivative in this equation should be with respect to <math>f_i(q)</math>. So the equation should read: |
|||
* End of first sentence after Eq (8.26) in Section 8.2.1 should read "columns of <math>R_{bc}</math> correspond to the eigenvectors of <math>\mathcal{I}_b</math>." (The word "eigenvalues" should be replaced by "eigenvectors.") |
|||
* Caption of Figure 8.10: The operating region is light gray and the continuous operating region is dark gray. |
|||
* Exercise 8.6(a): The expression <math>\text{ad}_{J_i}(J_j)</math> has the indices switched; the correct expression is <math>\text{ad}_{J_j}(J_i)</math>. |
|||
* Exercise 8.7: The expression should be written: |
|||
<math> |
<math> |
||
F^\prime_{ij}(q) = -\frac{\partial P^\prime_{ij}}{\partial f_i(q)} = \frac{k}{\|f_i(q) - c_j\|^4} (f_i(q) - c_j) \in \mathbb{R}^3. |
|||
\dot{M} = -\mathcal{A}^{\rm T} \mathcal{L}^{\rm T} \mathcal{W}^{\rm T} [\mbox{ad}_{\mathcal{A} \dot{\theta}}]^{\rm T} \mathcal{L}^{\rm T} \mathcal{GLA} - |
|||
\mathcal{A}^{\rm T} \mathcal{L}^{\rm T} \mathcal{GL} [\mbox{ad}_{\mathcal{A} \dot{\theta}}] \mathcal{WLA} |
|||
</math> |
</math> |
||
=== Chapter 10 === |
|||
* Equation (10.4) should read <math> u = F(q) - B \dot{q}</math> (the plus sign in the book should be a minus sign). |
|||
=== Chapter 11 === |
=== Chapter 11 === |
||
* The one-sentence paragraph near the beginning of Chapter 11.3.3, after Equation (11.16): Change "As in Section 11.3.2 ... where <math>k_p, k_i > 0</math>." to "The diagonal entries of the diagonal gain matrices <math>K_p, K_i \in \mathbb{R}^{6 \times 6}</math> should be positive." (Currently it says that these matrices shold have the form <math>k_p I</math> and <math>k_i I</math>, but the units for a twist are different [first three units are angular velocities, last three units are linear velocities]. So you may wish to use one positive value for the top three elements on the diagonal and a different positive value for the bottom three elements on the diagonal.) |
|||
* In the displayed equation after Equation (11.18), the vector <math>X_e(t)</math> is a six-vector. The bottom three elements are written correctly, but the top three elements, an angular velocity, are written instead in their 3x3 <math>so(3)</math> form. Also, the term written <math>R^{\text{T}}(d)</math> should be written <math>R^{\text{T}}(t)</math>. |
|||
* Chapter 11.5, Equations (11.52) and (11.53) (and nearby text): The term <math>K_{fp}</math> in Equations (11.52) and (11.53) should be <math>(K_{fp}+I)</math>. (<math>I</math> is the identity matrix.) In the text immediately after Equation (11.51), the term "positive-definite" should be eliminated. In the text immediately after Equation (11.53), <math>K_{fp}</math> should be replaced by <math>(K_{fp}+I)</math>. |
|||
== Updated first edition: Minor typos, etc., no danger of misunderstanding ([[Modern Robotics Errata, First Edition Version 1|Errata for original first edition here]]) == |
|||
* In Equation (11.33), the right-hand side should be zero (<math>c = 0</math>). |
|||
=== Throughout the book === |
|||
* Figure 11.24, the Robonaut 2 series elastic actuator, 4th sentence of the caption: The words "outer" and "inner" should be switched, so the new sentence reads "The inner ring of hole mounts connects to the harmonic gearhead output, and the outer ring of hole mounts is the output of the SEA, connecting to the next link." |
|||
* The V-REP simulator has been discontinued and replaced by the [https://www.coppeliarobotics.com/ CoppeliaSim] simulator. This does not change anything in the book (or the simulation scenes provided to accompany the book). Replace every instance of "V-REP" with "CoppeliaSim." There is one reference to V-REP in the Preface and one in Figure 1.1; those may be the only uses. |
|||
=== Chapter 12 === |
|||
* In Example 12.4, the elements of the wrenches <math>\mathcal{F}_1, \mathcal{F}_2, \mathcal{F}_3</math> are erroneously written in the order <math>(f_x,f_y,m_z)</math>; they should be written in the order <math>(m_z,f_x,f_y)</math>, i.e., <math>(-2,0,1), (1,-1,0), (1,1,0)</math>, respectively. |
|||
=== Appendix C === |
|||
* Section C.3, Equation (C.5): All instances of <math>\phi_{i-1}</math> should be replaced by <math>\phi_i</math>. |
|||
* In Equation (C.12), two instances of <math>M_{i-1}</math> should be replaced by <math>M_i</math>. |
|||
== Book: Minor typos, etc., no danger of misunderstanding == |
|||
=== Chapter 1 === |
|||
* (online version only) Description of Chapter 6: "jont positions" should be "joint positions." |
|||
=== Chapter 2 === |
=== Chapter 2 === |
||
* Figure 2.9 (left): the bold segment of the line should not extend beyond the closing parenthesis at b. |
|||
* Chapter 2.2.2, Example 2.3: "Substituting" is misspelled. |
|||
=== Chapter 3 === |
=== Chapter 3 === |
||
* |
* Proposition 3.10: "satisifies" should be "satisfies" |
||
=== Chapter 5 === |
=== Chapter 5 === |
||
* Chapter 5.3, Case V: For maximum clarity, the title should be "Case V: Six Revolute Joint Axes Intersecting a Common Line." Similarly, fifth bullet of Chapter 5.5: item (v) on the list should say "six revolute joint axes intersecting..." instead of just "six revolute joints intersecting..." |
|||
* Figure 5.15(b): The circular arrow indicating the rotation of joint 3 is slightly misplaced. |
|||
* Exercise 5.25: This problem instructs you to use the space Jacobian, so you should use it for the manipulability ellipsoids in this problem (even though it is generally preferred to use the body Jacobian for manipulability ellipsoids). |
|||
=== Chapter 6 === |
=== Chapter 6 === |
||
* ( |
* (printed version only) Chapter 6.2.2, Example 6.1: just before the matrix <math>T_{sd}</math>, "corresponds to to" should be "corresponds to." ''' |
||
* (printed version only) Chapter 6.3, first sentence after Equation (6.7): "however small" should be written "however, small" to avoid ambiguity. |
|||
=== Chapter 7 === |
|||
* (online version only) Last line of first paragraph of Chapter 7.1: "valuees" should be "values." |
|||
* Just below caption for Figure 7.8: There is an extraneous dot. |
|||
=== Chapter 8 === |
=== Chapter 8 === |
||
* |
* First bullet of Chapter 8.10: In the displayed equation, the math italic <math>L</math> should be in the calligraphic font <math>\mathcal{L}</math>, for the Lagrangian. |
||
=== Chapter |
=== Chapter 11 === |
||
* (online version only) Chapter 11.3.3: The sentence containing Equation (11.18) is missing a period at the end. |
|||
* Caption of Figure 12.14, second-to-last sentence: "rotation if possible" should be "rotation is possible." |
|||
* Example 12.11: The sentence "... can remain standing if there is a consistent solution if there exist <math>k_\geq 0</math> ..." should read simply "... if there exist <math>k_\geq 0</math> ..." |
|||
=== Chapter 13 === |
=== Chapter 13 === |
||
* Equation (13. |
* In Equation (13.37), and twice in the following sentence, <math>\mathcal{V}</math> should be <math>\mathcal{V}_e</math>. |
||
== A partial list of errata contributors == |
== A partial list of errata contributors == |
||
Line 116: | Line 72: | ||
Thanks to the following people who provided corrections, starting from the preliminary version of the book posted in October, 2016: |
Thanks to the following people who provided corrections, starting from the preliminary version of the book posted in October, 2016: |
||
H. Andy Nam, Eric Lee, Yuchen Rao, Chainatee Tanakulrongson, Mengjiao Hong, Kevin Cheng, Jens Lundell, Elton Cheng, Michael Young, Jarvis Schultz, Logan Springgate, Sofya Akhmametyeva, Aykut Onol, Josh Holcomb, Yue Chen, Mark Shi, AJ Ibraheem, Yalun Wen, Seongjae Jeong, Josh Mehling, Felix Wang, Drew Warren, Chris Miller, Clemens Eppner, Zack Woodruff, Jian Shi, Jixiang Zhang, Shachar Liberman, Will Wu, Dirk Boysen, Awe Wang, Ville Kyrki, John Troll, Andrew Taylor |
H. Andy Nam, Eric Lee, Yuchen Rao, Chainatee Tanakulrongson, Mengjiao Hong, Kevin Cheng, Jens Lundell, Elton Cheng, Michael Young, Jarvis Schultz, Logan Springgate, Sofya Akhmametyeva, Aykut Onol, Josh Holcomb, Yue Chen, Mark Shi, AJ Ibraheem, Yalun Wen, Seongjae Jeong, Josh Mehling, Felix Wang, Drew Warren, Chris Miller, Clemens Eppner, Zack Woodruff, Jian Shi, Jixiang Zhang, Shachar Liberman, Will Wu, Dirk Boysen, Awe Wang, Ville Kyrki, John Troll, Andrew Taylor, Nikhil Bakshi, Yunzhe Pan, Barrett Ames, Marcel Bonnici, Mahdiar Edraki, Jay Li, Jose Capco, Chen Wang, Wellington Castro |
||
<!-- |
|||
Other updates and corrections can be found in the google drive folder. |
|||
Other minor things, not worth mentioning: |
|||
Could give an operation to convert so(3) and se(3) to their vector reps, e.g., ]log T_{ab}[ or vec(log T_{ab}) . |
|||
In figs showing blocks sliding in channels in chapter 2 (e.g., exercises), some show arrows to show the sliding motion possibility, others do not. Could be confusing, i.e., if arrows are missing maybe motion isn't possible. |
|||
Eq (5.4): transpose should be roman, not italic |
|||
After Eq (5.26), in text, transpose should be roman |
|||
near end of chap 7.2.1: the inverse transpose should be roman |
|||
Chapters 5.1.6 and 6.3 use term "(inverse) velocity kinematics" while 7.2 uses the term "differential kinematics" |
|||
Eq (8.21) and equation before: inverse transposes are italic, not roman. |
|||
<!-- |
|||
Eq (8.81): no reason to make tau a function of time, since it is not done for the others. |
|||
Lu Xu in email of Sept 9, 2020, suggests giving the identity |
|||
[w1×w2] = [w1][w2] - [w2][w1] |
|||
for use in the derivation of Eq (8.23) between lines 3 and 4. |
|||
[[Modern Robotics Print-Only Errata|Temporary Print-Only Errata]] |
|||
Chapter 8.6: several instances of inverse transpose being italic, not roman. |
|||
A few paragraphs after eq (13.31), it says the absolute value of v_d should not be zero. Should just say that v_d should not be zero. |
|||
--> |
--> |
Latest revision as of 02:27, 25 June 2024
The errata below are for the updated first edition of Modern Robotics (as well as the practice exercises and linear algebra refresher appendix). The updated first edition (also called "version 2") was originally published by Cambridge University Press in late 2019 (marked "3rd printing 2019" or later) and the corresponding online preprint is dated December 2019. The updated first edition includes several corrections and minor additions to the original first edition, which was originally published by Cambridge in May 2017, with a corresponding online preprint dated May 2017.
The errata for the original first edition can be found here.
Updated first edition: Significant corrections (Errata for original first edition here)
Chapter 3
- (printed version only) At the end of the introduction Exercise 3.16, it says "origin of {b} is at (0,2,0) is {s}", but "is {s}" should be "in {s}".
- Exercise 3.20, Figure 3.26: In the figure, the y and z axes for the {a}, {b}, and {c} frames are switched (y should point forward and z should point up). Also, the space frame is located at the bottom of the small wheel, directly below the {a} frame.
- (printed version only) Exercise 3.25(a): the element in the third row and third column of the matrix should be 0. (It is incorrectly written as 1.)
Chapter 4
- Exercise 4.21: The question should begin "For each below..." instead of "For each below...". (Since the first part of the problem is determining whether is indeed an element of .)
Chapter 8
- (printed version only) Equation (8.74): the first two plus signs should be minus signs.
Chapter 10
- Second displayed equation of Chapter 10.6.3 (Workspace Potential): As it is written, this equation (which involves a partial derivative with respect to the robot's configuration ) already gives the repulsive generalized force , i.e., the Jacobian is already embedded, obviating the subsequent development. To fit the rest of the development, the partial derivative in this equation should be with respect to . So the equation should read:
Chapter 11
- The one-sentence paragraph near the beginning of Chapter 11.3.3, after Equation (11.16): Change "As in Section 11.3.2 ... where ." to "The diagonal entries of the diagonal gain matrices should be positive." (Currently it says that these matrices shold have the form and , but the units for a twist are different [first three units are angular velocities, last three units are linear velocities]. So you may wish to use one positive value for the top three elements on the diagonal and a different positive value for the bottom three elements on the diagonal.)
- Chapter 11.5, Equations (11.52) and (11.53) (and nearby text): The term in Equations (11.52) and (11.53) should be . ( is the identity matrix.) In the text immediately after Equation (11.51), the term "positive-definite" should be eliminated. In the text immediately after Equation (11.53), should be replaced by .
Updated first edition: Minor typos, etc., no danger of misunderstanding (Errata for original first edition here)
Throughout the book
- The V-REP simulator has been discontinued and replaced by the CoppeliaSim simulator. This does not change anything in the book (or the simulation scenes provided to accompany the book). Replace every instance of "V-REP" with "CoppeliaSim." There is one reference to V-REP in the Preface and one in Figure 1.1; those may be the only uses.
Chapter 2
- Figure 2.9 (left): the bold segment of the line should not extend beyond the closing parenthesis at b.
Chapter 3
- Proposition 3.10: "satisifies" should be "satisfies"
Chapter 5
- Chapter 5.3, Case V: For maximum clarity, the title should be "Case V: Six Revolute Joint Axes Intersecting a Common Line." Similarly, fifth bullet of Chapter 5.5: item (v) on the list should say "six revolute joint axes intersecting..." instead of just "six revolute joints intersecting..."
Chapter 6
- (printed version only) Chapter 6.2.2, Example 6.1: just before the matrix , "corresponds to to" should be "corresponds to."
- (printed version only) Chapter 6.3, first sentence after Equation (6.7): "however small" should be written "however, small" to avoid ambiguity.
Chapter 8
- First bullet of Chapter 8.10: In the displayed equation, the math italic should be in the calligraphic font , for the Lagrangian.
Chapter 11
- (online version only) Chapter 11.3.3: The sentence containing Equation (11.18) is missing a period at the end.
Chapter 13
- In Equation (13.37), and twice in the following sentence, should be .
A partial list of errata contributors
Thanks to the following people who provided corrections, starting from the preliminary version of the book posted in October, 2016:
H. Andy Nam, Eric Lee, Yuchen Rao, Chainatee Tanakulrongson, Mengjiao Hong, Kevin Cheng, Jens Lundell, Elton Cheng, Michael Young, Jarvis Schultz, Logan Springgate, Sofya Akhmametyeva, Aykut Onol, Josh Holcomb, Yue Chen, Mark Shi, AJ Ibraheem, Yalun Wen, Seongjae Jeong, Josh Mehling, Felix Wang, Drew Warren, Chris Miller, Clemens Eppner, Zack Woodruff, Jian Shi, Jixiang Zhang, Shachar Liberman, Will Wu, Dirk Boysen, Awe Wang, Ville Kyrki, John Troll, Andrew Taylor, Nikhil Bakshi, Yunzhe Pan, Barrett Ames, Marcel Bonnici, Mahdiar Edraki, Jay Li, Jose Capco, Chen Wang, Wellington Castro