Lidar Objekterkennung mit Matlab/Simulink und EV3: Unterschied zwischen den Versionen
Zeile 29: | Zeile 29: | ||
=== Matlab-Treiber für das URG-04LX Lidar === | === Matlab-Treiber für das URG-04LX Lidar === | ||
[https://de.mathworks.com/matlabcentral/fileexchange/36700-hokuyo-urg-04lx-lidar-driver-for-matlab Hokuyo URG-04 LX LIDAR Driver for MATLAB] | Quelle des Treibers: [https://de.mathworks.com/matlabcentral/fileexchange/36700-hokuyo-urg-04lx-lidar-driver-for-matlab Hokuyo URG-04 LX LIDAR Driver for MATLAB] | ||
=== Quellcode zur Nutzung des Lidar zusammen mit dem EV3 === | === Quellcode zur Nutzung des Lidar zusammen mit dem EV3 === |
Version vom 18. Juni 2017, 21:09 Uhr
Autor: Nora Werner
Betreuer: Prof. Dr.-Ing. Ulrich Schneider
→ zurück zum Hauptartikel: Signalverarbeitende Systeme SoSe2017
Lidar
Ein Lidar (Abkürzung für engl. light detection and ranging) ist ein Verfahren bzw. ein Gerät zur Ortung von Objekten. Basis hierfür bilde die Messung der reflektierten oder zurückgestreuten Intensität eines gepulsten Laserstrahls in Abhängigkeit der Zeit nach dessen Aussendung.[1]
Hokuyo URG-04LX-UG01
Der URG-04LX ist ein Laserscanner für Flächen. Die Lichtquelle des Sensors ist ein Infrarotlaser mit 785 nm (Laserklasse 1). Der Scanbereich ist ein 240° Halbkreis mit einem maximalen Radius von 4.000 mm. Der Abtastwinkel zwischen zwei Werten beträgt 0,36°. Insgesamt beträgt die Auflösung auf den Scanbereich 683 Schritte. Der Durchmesser des Lasers ist bei einer Entfernung von 2.000 mm höchstens 20 mm, die maximale Abweichung beträgt 40 mm bei 4.000 mm. Grundlage für die Distanzmessung bildet die Messung der Phasenverschiebung. Dadurch wird der Einfluss von Farbe und Reflexionsgrad des detektierten Objekts minimal gehalten. [2]
SCIP Communication Protocol
Getting Started
Implementierung in Matlab
Matlab-Treiber für das URG-04LX Lidar
Quelle des Treibers: Hokuyo URG-04 LX LIDAR Driver for MATLAB
Quellcode zur Nutzung des Lidar zusammen mit dem EV3
% Lego Mindstorm konfigurieren
mylego = legoev3('usb') % Verbindung auf USB festlegen
beep(mylego) % kurzes akustisches Signal
mymotor = motor(mylego,'A') % Motor an Port A des EV3
mymotor.Speed = -50 % Motorgeschwindigkeit auf 50% des Maximums
% Code für die Kollisionserkennung des Lego EV3 mit einem URG-Lidar
abstand=A(384) % Abfrage der Distanz zu einem Hindernis bei 0°
%disp(abstand)
if abstand <= 250 % Vergleich mit Abstandsgrenze zum Objekt (in mm)
stop(mymotor) % Motor stoppen
else
start(mymotor) % Motor starten
end
% Verbindung zum EV3 beenden, wenn das GUI beendet wird.
stop(mymotor) % Motor stoppen
clear mylego
Verwendete Support Packages für Matlab
- MATLAB Driver for Hokuyu URG family
- Simulink (and Matlab) Support Package for LEGO MINDSTORMS EV3 Hardware