Die gleichen Algorithmen, welche eine verbesserte Positionserkennung des Fahrzeugs sowie eine Lageerkennung des Fahrzeugs ermöglichen, können natürlich auch direkt angewendet werden, um die Lage und Position eines Laserscanners zu bestimmen. Damit ist das Erfassen der Umgebung möglich, unabhängig von der Lage des Laserscanners. Die lokalen Laserscannermesspunkte, welche erfasst werden, können durch entsprechende Transformationsmatrizen in globale Punkte umgerechnet werden.

SICK Laserscanner mit Tinkerforge IMU und GPS

SICK Laserscanner mit Tinkerforge IMU und GPS

$$\left[\begin{matrix}x \\ y \\ z \\ 1\end{matrix}\right]_\text{Global} = \left[\begin{matrix} R_{3×3} & t_{1×3} \\ 0 & 1\end{matrix}\right] \cdot \left[\begin{matrix}x \\ y \\ z \\ 1\end{matrix}\right]_\text{Lokal}$$

Die Rotationsmatrix \(R\) wird von der Tinkerforge IMU ermittelt, der Translationsvektor \(t\) beispielsweise vom Tinkerforge GPS Modul. Alles fusioniert mit einem Extended Kalman Filter.

3D Indoor-Darstellung in Occupancy Grids mit OctoVis

3D-OccupancyMap-Indoor

Datenerfassung auf RaspberryPi

Der besondere Charme liegt im verwendeten Gerät. Die Erfassung der Laserscannerpunkte, Verarbeitung über Ethernet und Integration in Occupancy Grids (Originally developed by Kai M. Wurm and Armin Hornung, University of Freiburg, Copyright (C) 2009-2014. Currently maintained by Armin Hornung. See the list of contributors for further authors) erfolgte auf einem RaspberryPi. Dafür sind Optimierungsmaßnahmen erforderlich und es muss, vor allem bei weiten Distanzen, eine kleine Verarbeitungszeit (ca. 1 Sekunde) bedacht werden, doch die mittlere Messfrequenz des Laserscanners (\(12{,}5Hz\) ist mit dem kleinen Einplatinenrechner realisierbar.

RaspberryPi