rvc-notation
rvc-notation copied to clipboard
RVC notation
LaTeX macros for Robotics, Vision and Control
This file includes macros to create equations in the style of those used in the textbook "Robotics, Vision & Control", all editions.
\include{rvc-notation}
Make sure that rvc-notation.tex
is in your LaTeX path.
A PDF version of the cheatsheet is available here.
Poses
-
\pose
abstract pose, greek letter ξ -
\pose[f]
pose with respect to a frame -
\pose_A
is the pose of frame A -
\pose[B]_A
is the pose of frame A with respect to frame B -
\estpose
estimated pose, greek letter ξ with hat -
\posedot
derivative of abstract pose, greek letter ν A leading superscript, the reference frame, is specified in square brackets. A trailing subscript, the target frame, is specified in the standard LaTeX way using_
.
The operators ⊕ and ⊖ which are given by the LaTeX commands \oplus
and \ominus
respectively.
$\ominus \pose[C]_A = \pose[A]_B \oplus \pose[B]_C$
We can apply a pose to a vector, which linearly transforms it by
$\pose_b \sbullet \vec{b}_P$
You can tweak the size of the bullet by giving it a relative scale argument, ie. \sbullet[2]
is very large.
There are also estimated pose and derivative of pose or spatial velocity
$\estpose, \posedot$
Coordinate frames
-
\cframe{A}
is coordinate frame A which renders as {A}
\cframe{A}
Points
-
\point{A}
is point A which renders in Roman bold font
\point{P}
Vectors
Vectors are displayed in bold italic font
-
\vec{t}
is a vector t -
\vec[A]{t}
is a vector t with respect to frame A -
\dvec{t}
is vector of\dot{t}
-
\dvec[A]{t}
is vector of\dot{t}
with respect to frame A -
\ddvec[f]{x
} a double dotted vector -
\hvech[f]{x}
a homogeneous vector (tilde above) -
\bvec[f]{x}
a vector with an over bar, eg. for mean value -
\evec[f]{x}
an estimated vector with a hat
$\vec{v}, \dvec{v}, \ddvec{v}, \vec[a]{v}$
$ \hvec{v}, \evec{v}, \bvec{v}$
Matrices
Matrices are displayed in bold Roman font
-
\mat{x}
a matrix -
\mat[f]{x}
a matrix with a coordinate frame -
\dmat[f]{x}
a matrix derivative -
\zero
a zero matrix -
\matfn{f}{x}
matrix function f of x
$\mat{A}, \mat[a]{R}_b, \dmat{A}, \emat{A}, \zero_{2\times 3}$
$\matfn{J}{\vec{q}}, \matfn[0]{J}{\vec{q}}$
Skew symmetric matrices
-
\skx{v}
-> [v]x skew symmetric matrix -
\sk{v}
-> [v] augmented skew symmetric matrix -
\iskx{v}
-> inverse skew symmetric matrix, vex operator -
\isk{v}
-> inverse augmented skew symmetric matrix
$\sk{v}, \skx{v}, \isk{A}, \iskx{A}$
Unit Quaternion
-
\q
displays as q with a bubble on top
$\q, \q[a]_b$
Mathematial Groups
Displayed in Roman font
-
\R
is the group of real numbers, an R in blackboard font -
\SO{n}
special orthogonal group: SO(n) -
\SE{n}
special Euclidean group: SE(n) -
\so{n}
Lie algebra of SO(n): so(n) -
\se{n}
Lie algebra of SE(n): se(n)
$\R^2, \SO{3}, \so{3}$
MATLAB code
Display a block of code in blue fixed-width font
\begin{Code}
[x,e] = eig(A);
\end{Code}
For multi-line code blocks with line numbering
\begin{CodeNum}
[x,e] = eig(A);
z = x(:,2);
\end{CodeNum}
Miscellaneous
Smallest angular difference
The symbol ⊝ is used to represent the difference of two angles wrapped into the interval [-π π), which is produced by the LaTeX command \circleddash
.
$\theta_1 \circleddash \theta_2$
Units
-
\unit{U}
sets the contents in math mode with a preceding half space, eg.\unit{m s^{-2})
-
\mm
,\um
,\nm
-
\Hz
,\kHz
,\MHz
-
\ms
-
\deg
The object was 12\mm\ across,
accelerated at 2.3\unit{m s^{-2}},
the servo interval was 12\ms,
and the angle spanned 30\deg.
Scientific notation
-
\sci{m}{e}
scientific notation with mantissa and exponent
\sci{5}{-2}
Coordinates and vectors
$\coord{1}{2}, \vector{1}{2}{3}$
Other symbols
-
\cspace
configuration space, caligraphic C