Mathematical notation and conventions
This section summarizes the notation and mathematical conventions used throughout Moro’s documentation.
The goal is not to introduce all the mathematical concepts required for robot kinematics and dynamics, but to establish a consistent notation that will be used in the following sections.
Reference frames
Reference frames are denoted by braces:
The origin of frame \(\{i\}\) is denoted by \(O_i\).
For a serial manipulator, frame \(\{0\}\) usually represents the base frame, while frames \(\{1\},\ldots,\{n\}\) are associated with the successive links or joints of the robot.
Unless otherwise stated, mathematical descriptions of links and joints use indices starting from \(1\).
Scalars, vectors, and matrices
Scalar quantities are written using ordinary italic symbols, for example
Vectors are represented with an arrow:
Matrices are represented by uppercase symbols:
Vectors are assumed to be column vectors unless otherwise stated.
For example,
Position vectors
The notation
denotes the vector directed from point \(Q\) to point \(P\), with its components expressed in reference frame \(\{A\}\).
Geometrically,
The superscript indicates only the frame in which the vector components are expressed.
Therefore,
and
represent the same geometric vector expressed using two different coordinate systems.
Relative position vectors satisfy
Position of a point with respect to a frame origin
When the reference point is the origin of the frame in which the vector is expressed, the notation is simplified as
Thus,
denotes the position of point \(P\) with respect to the origin \(O_0\), expressed in frame \(\{0\}\).
For example,
The shorter notation \(\vec{P}^{A}\) is sometimes used in robotics literature and classroom derivations. Moro’s documentation uses \(\vec{r}_{P}^{A}\) as the preferred notation because it explicitly identifies the quantity as a position vector.
Rotation matrices
The orientation of frame \(\{i\}\) with respect to frame \(\{j\}\) is denoted by
The superscript identifies the reference frame, while the subscript identifies the frame whose orientation is being described.
Equivalently, \(R_i^j\) transforms the coordinates of a vector expressed in frame \(\{i\}\) into coordinates expressed in frame \(\{j\}\):
for the same geometric vector \(\vec{r}\).
For example,
The inverse transformation is
Rotation matrices compose according to the reference frames. For example,
This notation follows the convention used throughout Moro’s documentation.
Note
Some robotics texts place the reference-frame superscript to the left of the matrix and write the same relationship as
Thus, the notation used in Moro,
corresponds conceptually to
in that alternative convention.
Homogeneous transformation matrices
A homogeneous transformation describing frame \(\{i\}\) with respect to frame \(\{j\}\) is denoted by
It contains both the relative orientation and the relative position of the two frames:
where
\(R_i^j\) represents the orientation of frame \(\{i\}\) with respect to frame \(\{j\}\),
\(\vec{r}_{O_i}^{j}\) represents the position of the origin \(O_i\) with respect to \(O_j\), expressed in frame \(\{j\}\).
Homogeneous transformations compose in the same way as rotation matrices:
For a serial manipulator,
The mathematical properties and construction of homogeneous transformations are discussed in more detail in the corresponding theory section.
Joint variables
The configuration of a robot with \(n\) joints is represented by the generalized-coordinate vector
The meaning of each \(q_i\) depends on the joint type.
For a revolute joint,
where \(\theta_i\) is an angular displacement.
For a prismatic joint,
where \(d_i\) is a linear displacement.
Their first and second time derivatives are written as
and
These vectors represent joint velocities and joint accelerations, respectively.
Linear and angular quantities
The position, linear velocity, and linear acceleration of a point \(P\), expressed in frame \(\{A\}\), are denoted by
When the reference point needs to be made explicit, the same relative-position convention may be used:
Angular velocity and angular acceleration are denoted by
Additional subscripts and superscripts may be included when it is necessary to identify the body or frame involved and the frame in which the vector is expressed.
For example,
denotes the angular velocity associated with link or frame \(i\), expressed in frame \(\{0\}\).
Time derivatives
A dot over a variable denotes differentiation with respect to time:
Similarly,
denote the first and second time derivatives of a vector representation.
When differentiating vectors expressed in moving reference frames, the reference frame must be considered explicitly. The corresponding relationships are introduced in the sections dealing with velocity and differential kinematics.
Units
Moro does not impose a particular system of physical units.
Users are responsible for maintaining a consistent unit system throughout a model.
For example, if SI units are used, typical quantities are expressed as
length in meters,
angles in radians,
time in seconds,
mass in kilograms,
forces in newtons,
moments and torques in newton-meters.
Angles supplied to trigonometric functions and robot joint variables are assumed to be expressed in radians, unless explicitly stated otherwise.
Important
Moro does not automatically perform unit conversions. All quantities participating in the same computation must use a consistent system of units.
Summary of conventions
The main notation used throughout Moro can be summarized as follows:
Notation |
Meaning |
|---|---|
\(\{A\}\) |
Reference frame \(A\) |
\(O_A\) |
Origin of frame \(\{A\}\) |
\(\vec{r}_{P/Q}^{A}\) |
Vector from \(Q\) to \(P\), expressed in \(\{A\}\) |
\(\vec{r}_{P}^{A}\) |
Position of \(P\) relative to \(O_A\), expressed in \(\{A\}\) |
\(R_i^j\) |
Orientation of frame \(\{i\}\) with respect to frame \(\{j\}\) |
\(T_i^j\) |
Homogeneous transformation from frame \(\{i\}\) to frame \(\{j\}\) |
\(\vec{q}\) |
Vector of generalized joint coordinates |
\(\dot{\vec{q}}\) |
Vector of joint velocities |
\(\ddot{\vec{q}}\) |
Vector of joint accelerations |
\(\vec{\omega}_i^{A}\) |
Angular velocity associated with frame or link \(i\), expressed in \(\{A\}\) |
These conventions are used consistently in the remaining theoretical sections and examples.