petercorke / rvc-notation

RVC notation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

RVC notation

License:MIT License


Languages

Language:TeX 100.0%