Low-Cost Lidar Objekterkennung mit Matlab/Simulink

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autor: Marcel Kreuer
Betreuer: Prof. Schneider


Motivation

LiDAR ist eine hochgenaue störunanfällige Messtechnik für Abstände. Mittlerweile sind Laserscanner für unter 100€ erhältlich.

Ziel

In dieser Aufgabe soll ein Low-Cost LiDAR mit Matlab/Simulink in Betrieb genommen werden.

Aufgabe

  1. Rechere nach Beschaffungsmöglichkeiten
  2. Inbetriebnahme des LiDAR
  3. Erstellund eines Simulink Treibers zur Echtzeitverarbeitung
  4. Objektbildung mit Simulink
  5. Bewertung der Ergebnisse
  6. Wissenschaftliche Dokumentation als HSHL-Wiki Artikel
  7. Softwareentwicklung nach SDE Standard in SVN
  8. Funktionsnachweis als YouTube-Video (vgl. Veranstaltungsregeln)

Lösungen

Im Folgenden werden die Lösungen dokumentiert

Beschaffung

Da die Beschaffung auf Rechnung möglich sein sollte, fiel die Wahl auf den Internet-Händler PC:Mediastore Aschaffenburg

http://www.ep-mediastore-ab.de/neato-xv-lasereinheit-lidar-sensor-p-80105.html?gclid=EAIaIQobChMImaCW16Ss1QIVVT8bCh20sQ-zEAkYAyABEgL1KvD_BwE

Inbetriebnahme

Der Lidar-Sensor besitzt zwei Anschlussmöglichkeiten einen Zweierstecker für den Motor, welcher mit 5V beschaltet wird und einen Viererstecker für den eigentlichen Sensor(3,3 Volt-Versorgung und RX, TX). Für die Spannungsversorgung wurde der 5 Volt Ausgang des L298N-Motortreibers gewählt. Für die Serielle Verbindung wurde ein Arduino Due als Transciever gewählt. Dieser wurde so programmiert, dass er sobald Daten auf einem Seriellen-Port anliegen, diese an den jeweils Anderen weiter gesendet werden.


#include <stdio.h>

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  //Serial.println("USB-Verbindung hergestellt!");

  Serial1.begin(115200);
  //Serial.println("Lidar Kommunikation gestartet");
  
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial1.available()) {
    

      //Serial.print(Serial1.read()-0xA0,Datatyp);
      //Serial.print(" ");
      Serial.write(Serial1.read()); 
  }

  if (Serial.available()) 
  {
      Serial1.write(Serial.read());
  }
  
}

Weblinks

BSD-Lizenzbedingung BSD-Lizenz

Copyright (c) 2014, Hochschule Hamm-Lippstadt, Dep. Lip. 1, Prof. Schneider
Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten.



→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2017