Notation¶
This explains the notation in the book. The mathematical symbol is shown and then an example of a variable name that we use in the code.
General¶
- \(x\),
x
, Scalars are normal mathematical font.
- \(\mathbf{R}\),
R
Matrices are capitalized letters in bold font.
- \(\mathbf{J}_{\bar{v},\bar{u}}\)
The Jacobian of the vector function \(\bar{v}\) with respect to the entries in vector \(\bar{u}\) where the \((i,j)\) entries of the Jacobian are \(\mathbf{J}_{ij} = \frac{\partial v_i}{\partial u_j}\).
Orientation of Reference Frames¶
- \(A\),
A
, Reference frame \(A\).
- \(\hat{a}_x,\hat{a}_y,\hat{a}_z\),
A.x
,A.y
,A.z
, Right handed mutually perpendicular unit vectors fixed in reference frame \(A\).
- \({}^A\mathbf{C}^B\),
A_C_B
, Direction cosine matrix relating reference frames (or rigid bodies) \(B\) and \(A\) where this relation between the right handed mutually perpendicular unit vectors fixed in the two reference frames follow this relationship:
(250)¶\[\begin{split}\begin{bmatrix} \hat{a}_x \\ \hat{a}_y \\ \hat{a}_z \end{bmatrix} = {}^A\mathbf{C}^B \begin{bmatrix} \hat{b}_x \\ \hat{b}_y \\ \hat{b}_z \end{bmatrix}\end{split}\]
Vectors and Vector Differentiation¶
- \(\bar{v}\),
v
, Vectors are indicated with a bar.
- \(\hat{u}\),
uhat = u.normalize()
, Unit vectors are indicated with a hat.
- \(|\bar{v}|\),
v.magnitude()
, Magnitude of a vector; Euclidean norm (2-norm).
- \(\bar{u} \cdot \bar{v}\),
u.dot(v)
, Dot product of two vectors.
- \(\bar{u} \times \bar{v}\),
u.cross(v)
, Cross product of two vectors.
- \(\bar{u} \otimes \bar{v}\),
u.outer(v)
, Outer product of two vectors.
- \(\frac{{}^A\partial \bar{v}}{\partial q}\),
dvdqA = v.diff(q, A)
, Partial derivative of \(\bar{v}\) with respect to \(q\) when observed from \(A\).
- \(\frac{{}^A d \bar{v}}{dt}\),
dvdtA = v.dt(A)
, Time derivative of \(\bar{v}\) when observed from \(A\).
Angular and Translational Kinematics¶
- \({}^A\bar{\omega}^B\),
A_w_B
Angular velocity vector of reference frame or rigid body \(B\) when observed from reference frame or rigid body \(A\).
- \({}^A\bar{\alpha}^B\),
A_alp_B
Angular acceleration vector of reference frame or rigid body \(B\) when observed from reference frame or rigid body \(A\).
- \(\bar{r}^{P/O}\),
r_O_P
, Vector from point \(O\) to point \(P\).
- \({}^A\bar{v}^P\),
A_v_P
Translational velocity of point \(P\) when observed from reference frame or rigid body \(A\).
- \({}^A\bar{a}^P\),
A_a_P
Translational acceleration of point \(P\) when observed from reference frame or rigid body \(A\).
Constraints¶
- \(N,M,n,m,p\)
\(N\) coordinates, \(M\) holonomic constraints, \(n\) generalized coordinates and generalized speeds, \(m\) nonholonomic constraints, and \(p\) degrees of freedom. These are related by the two equations \(n=N-M\) and \(p=n-m\).
- \(\bar{f}_h(q_1, \ldots, q_N, t) = 0 \textrm{ where } \bar{f}_h \in \mathbb{R}^M\),
fh
Vector function of \(M\) holonomic constraint equations among the \(N\) coordinates.
- \(\bar{f}_n(u_1, \ldots, u_n, q_1, \ldots, q_n, t) = 0 \textrm{ where } \bar{f}_n \in \mathbb{R}^m\),
fn
Vector function of \(m\) nonholonomic constraint equations among the \(n\) generalized speeds and generalized coordinates.
- \(\mathbf{A}_r\)
Linear coefficient matrix for \(\bar{u}_r\) in the nonholonomic constraint equations.
- \(\mathbf{A}_s\)
Linear coefficient matrix for \(\bar{u}_s\) in the nonholonomic constraint equations.
- \(\bar{b}_{rs}\)
Terms not linear in \(\bar{u}_s\) or \(\bar{u}_r\) in the nonholonomic constraint equations.
- \(\mathbf{A}_n\)
Linear coefficient matrix for \(\bar{u}_s\) in the equation for \(\bar{u}_r=\mathbf{A}_n\bar{u}_s + \bar{b}_n\).
- \(\bar{b}_n\)
Terms not linear in \(\bar{u}_s\) in the equation for \(\bar{u}_r=\mathbf{A}_n\bar{u}_s + \bar{b}_n\).
Mass Distribution¶
- \(\bar{I}^{B/O}_a\),
I_B_O_a
Inertia vector of rigid body \(B\) or set of particles \(B\) with respect to point \(O\) about the unit vector \(\hat{n}_a\).
- \(\breve{Q}\),
Q
Dyadics are indicated with a breve accent.
- \(\breve{I}^{B/O}\),
I_B_O
Inertia dyadic of body \(B\) or set of particles \(B\) with respect to point \(O\).
- \(\breve{I}^{B/B_o}\),
I_B_Bo
Central inertia dyadic of body \(B\) or set of particles \(B\) with respect to mass center \(B_o\).
- \({}^A \bar{H}^{B/O}\),
A_H_B_O
Angular momentum of rigid body \(B\) with respect to point \(O\) in reference frame \(A\).
Force, Moment, and Torque¶
- \(\bar{R}^{S}\),
R_S
Resultant of the vector set \(S\).
- \(\bar{R}^{S/Q}\),
R_S_Q
Resultant of the vector set \(S\) bound to a line of action through point \(Q\).
- \(\bar{M}^{S/P}\),
M_S_P
Moment of the resultant of the vector set \(S\) about point \(P\).
- \(\bar{T}^{B}\),
T_B
Torque of couple acting on reference frame or body \(B\).
Generalized Forces¶
- \({}^A\bar{v}_r^P\),
v_P_r
rth holonomic partial velocity of point \(P\) in reference frame \(A\) associated with the generalized speed \(u_r\).
- \({}^A\bar{\omega}_r^B\),
w_B_r
rth holonomic partial angular velocity of reference frame \(B\) in reference frame \(A\) associated with the generalized speed \(u_r\).
- \({}^A\tilde{v}_r^P\),
v_P_r
rth nonholonomic partial velocity of point \(P\) in reference frame \(A\) associated with the generalized speed \(u_r\).
- \({}^A\tilde{\omega}_r^B\),
w_B_r
rth nonholonomic partial angular velocity of reference frame \(B\) in reference frame \(A\) associated with the generalized speed \(u_r\).
- \(F_r\),
F1
rth holonomic generalized active force associated with the generalized speed \(u_r\).
- \(\tilde{F}_r\),
F1
rth nonholonomic generalized active force associated with the generalized speed \(u_r\).
- \(\bar{F}_r\),
Fr
Column vector of all generalized active forces (holonomic or nonholonomic).
- \(F^*_r\),
F1s
rth holonomic generalized inertia force associated with the generalized speed \(u_r\).
- \(\tilde{F}^*_r\),
F1s
rth nonholonomic generalized inertia force associated with the generalized speed \(u_r\).
- \(\bar{F}^*_r\),
Frs
Column vector of all generalized active forces (holonomic or nonholonomic).
Unconstrained Equations of Motion¶
- \(\bar{f}_k(\dot{\bar{q}}, \bar{u}, \bar{q}, t) = 0\)
Kinematical differential equations.
- \(\mathbf{M}_k\)
Linear coefficient matrix for \(\dot{\bar{q}}\) in the kinematical differential equations.
- \(\bar{g}_k\)
Terms not linear in \(\dot{\bar{q}}\) in the kinematical differential equations.
- \(\bar{f}_d(\dot{\bar{u}}, \bar{u}, \bar{q}, t) = 0\)
Dynamical differential equations.
- \(\mathbf{M}_d\)
Linear coefficient matrix for \(\dot{\bar{u}}\) in the dynamical differential equations, often called the “mass matrix”.
- \(\bar{g}_d\)
Terms not linear in \(\dot{\bar{u}}\) in the dynamical differential equations.
- \(\bar{x}=[\bar{q} \quad \bar{u}]^T\)
State of a multibody system.
- \(\mathbf{M}_m\)
Linear coefficient matrix for \(\dot{\bar{x}}\) in the equations of motion.
- \(\bar{g}_m\)
Terms not linear in \(\dot{\bar{x}}\) in the equations of motion.
Equations of Motion with Nonholonomic Constraints¶
- \(\bar{f}_n(\bar{u}_s, \bar{u}_r, \bar{q}, t) = 0\)
Nonholonomic constraint equations.
- \(\mathbf{M}_n=\mathbf{A}_r\)
Linear coefficient matrix for \(\bar{u}_r\) in the nonholonomic constraint equations.
- \(\bar{g}_n=\mathbf{A}_s\bar{u}_s+\bar{b}_{rs}\)
Terms not linear in \(\bar{u}_r\) in the nonholonomic constraint equations.
- \(\dot{\bar{f}}_n(\dot{\bar{u}}_s, \dot{\bar{u}}_r, \bar{u}_s, \bar{u}_r, \bar{q}, t) = 0\)
Time derivative of the nonholonomic constraint equations.
- \(\mathbf{M}_{nd}\)
Linear coefficient matrix for \(\dot{\bar{u}}_r\) in the time differentiated nonholonomic constraint equations.
- \(\bar{g}_{nd}\)
Terms not linear in \(\dot{\bar{u}}_r\) in the time differentiated nonholonomic constraint equations.
Equations of Motion with Holonomic Constraints¶
- \(\dot{\bar{f}}_h(\bar{u}, \bar{u}_r, \bar{q}, \bar{q}_r, t) = 0\)
Time derivative of the holonomic constraints.
- \(\mathbf{M}_{hd}\)
Linear coefficient matrix for \(\bar{u}_r\) in the time differentiated holonomic constraints.
- \(\bar{g}_{hd}\)
Terms not linear in \(\bar{u}_r\) in the time differentiated holonomic constraints.
Energy and Power¶
- \(P\),
P
Power
- \(W\),
W
Work
- \(K,K_Q,K_B\),
K,KQ,KB
Kinetic energy, kinetic energy of particle \(Q\), kinetic energy of body \(B\)
- \(V\),
V
Potential energy
- \(E\),
E
Total energy, i.e. \(E=K+V\)
Lagrange’s method¶
- \(\bar{F}_r^\textrm{c}\)
Conservative generalized active force.
- \(\bar{F}_r^\textrm{nc}\)
Non-conservative generalized active force.
- \(L\),
L
Lagrangian the difference between the kinetic energy and the potential energy: \(L = K - V\)
- \(a_r\)
Multiplicative term associated with generalized speed \(q_r\) in a constraint equation
- \(\lambda\)
Lagrange multiplier, variable encoding the (scaled) magnitude of a constraint force
- \(\bar{f}_{hn}\)
Combined time-derivatives of holonomic constraints and nonholonomic constraints
- \(\mathbf{M}_{hn}\),
Mhn
Jacobian of constraint equations with respect to \(\dot{\bar{q}}\).
- \(\bar{g}_{hn}\)
Constraint bias (terms not linear in \(\dot{\bar{q}}\)).
- \(\bar{g}_{hnd}\)
Constraint bias (terms not linear in \(\ddot{\bar{q}}\)).
- \(\bar{p}\),
p
Generalized momenta associated with the \(\bar{q}\) generalized coordinates
- \(\bar{g}_d\)
Dynamic bias, the sum of terms not linear in \(\ddot{\bar{q}}\) in the inertial forces and the generalized forces considered in the Lagrangian.
Figure Sign Conventions¶
Vectors¶
In figure Fig. 56 various vectors are shown. Vectors are always drawn with a single arrow to indicate the positive sense of the vector. In a) the vector acting on body \(A\) is \(-F\hat{n}_x\) and the vector acting on body \(B\) is \(F\hat{n}_x\). The variable \(F\) indicated beside the arrow means that a positive value of \(F\) has the corresponding sense as the vector arrow head. The sense changes for both vectors in b) and for one vector in c). In d), a negative \(F\) is indicated. This makes d) equivalent to a). The negative sense for that vector is shown when \(-F\) is beside it.
Dimensions¶
When we draw dimensions (linear or angular) the arrow heads (or absence of arrow heads) do not indicate anything about the “sense” of the dimension. A dimension can take on positive and negative values and you have to rely on the sense of reference frame unit vectors to know what configuration occurs if a positive or negative value is given for a dimension.
Fig. 57 shows three ways to indicate leader arrows on the dimension for the distance between points \(P\) and \(Q\) parallel to \(\hat{n}_x\). A positive value of \(q\) indicates that point \(Q\) is to the right of point \(P\) and that \(\bar{r}^{Q/P} \cdot \hat{n}_x = q\) and \(\bar{r}^{P/Q} \cdot \hat{n}_x = -q\).
In the first row (a, b, c) of
Fig. 58 there are three ways
to indicate leader arrows on the angular dimension \(q\) for a positive
right handed orientation of \(A\) with respect to \(N\). A positive
value of \(q\) gives a positive right handed orientation in a), b), and c).
This corresponds to the SymPy Mechanics command A.orient_axis(N, q, N.z)
.
In the second row (d, e, f), three ways are shown to indicate leader arrows on
the angular dimension \(q\) for a negative right handed orientation of
\(A\) with respect to \(N\). A positive value of \(q\) causes a
negative right handed orientation. This row corresponds to the SymPy Mechanics
commands A.orient_axis(N, -q, N.z)
or A.orient_axis(N, q, -N.z)
. In g)
a negative sign is indicated on \(q\). It is sometimes convenient to draw
the rotation in negative right handed rotation and by labeling the value
\(-q\). This means that g) is equivalent to a). We try to do this
sparingly.