Lidar Objekterkennung mit Matlab/Simulink und EV3: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 27: Zeile 27:


<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<source lang=c>
<source lang=matlab>
%........................................................................%
% Lego Mindstorm konfigurieren
% Lego Mindstorm konfigurieren


Zeile 35: Zeile 34:
     mymotor = motor(mylego,'A')    % Motor an Port A des EV3
     mymotor = motor(mylego,'A')    % Motor an Port A des EV3
     mymotor.Speed = -50              % Motorgeschwindigkeit auf 50% des Maximums
     mymotor.Speed = -50              % Motorgeschwindigkeit auf 50% des Maximums
%........................................................................%
 
</source>
</source>
</div>
</div>


<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<source lang=c>
<source lang=matlab>     
%........................................................................%    
% Code für die Kollisionserkennung des Lego EV3 mit einem URG-Lidar
% Code für die Kollisionserkennung des Lego EV3 mit einem URG-Lidar


Zeile 52: Zeile 50:
         start(mymotor)  % Motor starten
         start(mymotor)  % Motor starten
     end
     end
%........................................................................%
</source>
</source>
</div>
</div>


<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<div style="width:55%; height:100%; overflow:auto; border: 2px solid #088">
<source lang=c>
<source lang=matlab>
%........................................................................%
% Verbindung zum EV3 beenden, wenn das GUI beendet wird.
% Verbindung zum EV3 beenden, wenn das GUI beendet wird.


     stop(mymotor)  % Motor stoppen
     stop(mymotor)  % Motor stoppen
     clear mylego
     clear mylego  
%........................................................................% 
</source>
</source>
</div>
</div>

Version vom 18. Juni 2017, 20:56 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



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 <= 150   % Vergleich mit Grenze (150 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

Einzelnachweise

  1. [1], Spektrum.de - Lexikon der Physik - Lidar. Abgerufen am 18.05.2017.
  2. [2], Scanning Laser Range Finder URG-04LX-UG01 Specifications - PDF. Abgerufen am 18.05.2017.