\subsection{Depth and Range sensing}
\subsubsection{Triangulation-based}
\bi{Struct. Light} Single cam, single projector: {\color{ForestGreen}Spatial acc}, {\color{red} no worky in bright light, interference with other IR depth cams}

\bi{Active Stereo} 2 cams, 1 proj: {\color{ForestGreen} worky in bright light}, {\color{red} need stereo matching, less accurate, error grows with distance}


\subsubsection{Classic Stereo}
Both images: same plane, focal length, centre, $x$-axis. Given corresponding pixels $[u_l, v]$ and $[u_r, v]$,
$z = \frac{b \cdot f}{u_r - u_l}$ with $u_l = f\cdot \frac{x}{z} + c_u$ and $u_r = f \cdot \frac{x - b}{z} + c_u$


\subsubsection{Time of Flight, Projection}
{\color{ForestGreen}No occlusions/shadows}, {\color{red}Interference with other dev, multipath leading to larger distances sensed}

\bi{Proj.} $\vec{z} =
    {\scriptsize
    \begin{bmatrix}
        \vec{u} \\ d
    \end{bmatrix} =
    \begin{bmatrix}
        \vec{k}(\vec{d}(\vec{p}({_C}\vec{t}_P))) \\
        [0, 0, 1] {_c}\vec{t}_P
    \end{bmatrix}
    }$
\bi{Back}: ${_C}\vec{t}_P
        =
        {\scriptsize
            \begin{bmatrix}
                d \vec{x'} \\d
            \end{bmatrix}
        }$


\subsubsection{Range Sensors}
\bi{Ultrasonic} Typ. freq: 40kHz - 180kHz, Range: 12cm - 5m, Acc: $\approx$ 2cm, rel error $\approx$ 2\%
{\color{ForestGreen} meas. for transp. surf., cheap(ish)}, {\color{red} Cone wider, reflect. angle dep, wind / currents}

\bi{LiDAR} Time-of-Flight-based, {\color{ForestGreen}Accuracy, range, works in bright light}, {\color{red} Complex, expensive, one timestamp per measurement}.
Typical Ranges: up to 100m
