rvc-notation icon indicating copy to clipboard operation
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$

pose

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$

pose

Coordinate frames

  • \cframe{A} is coordinate frame A which renders as {A}
\cframe{A}

math

Points

  • \point{A} is point A which renders in Roman bold font
\point{P}

math

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}$

math

$ \hvec{v},  \evec{v}, \bvec{v}$

math

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}$

math

$\matfn{J}{\vec{q}}, \matfn[0]{J}{\vec{q}}$

math

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}$

math

Unit Quaternion

  • \q displays as q with a bubble on top
$\q, \q[a]_b$

math

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}$

math

MATLAB code

Display a block of code in blue fixed-width font

\begin{Code}
[x,e] = eig(A);
\end{Code}

code

For multi-line code blocks with line numbering

\begin{CodeNum}
[x,e] = eig(A);
z = x(:,2);
\end{CodeNum}

code

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$

anglediff

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.

units

Scientific notation

  • \sci{m}{e} scientific notation with mantissa and exponent
\sci{5}{-2}

anglediff

Coordinates and vectors

$\coord{1}{2}, \vector{1}{2}{3}$

anglediff

Other symbols

  • \cspace configuration space, caligraphic C