Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Autonomes Auto mit Digilent Zybo Z7

Wahrscheinlich haben Sie schon von selbstfahrenden Autos oder autonomen Fahrzeugen gehört. Aber worum handelt es sich dabei eigentlich? Ein autonomes Auto, auch als fahrerloses Auto bekannt, kann sich ohne menschliche Führung selbst lenken. Autonome Fahrtechnologie erfordert Konnektivität, Sensorfusion und Deep Learning. Sie erfordert außerdem ein Höchstmaß an Sicherheitsanforderungen. Ein Field Programmable Gate Array (FPGA) ist sowohl hochleistungsfähig als auch sehr zuverlässig. FPGAs werden als Teil von fahrzeugbezogenen Algorithmen verwendet, um zu bestimmen, wie das Auto funktioniert und auf Hindernisse reagiert.

Xilinx hat vor kurzem die automobiltauglichen Zynq 7000 SoCs herausgebracht. Die kombinierte Programmierbarkeit von Hard- und Software in der Zynq 7000 SoC-Architektur ermöglicht es Entwicklern, einen kompletten ADAS-Bildfluss (Advanced Driver Assistance System) von der Erfassung über die Umgebungscharakterisierung bis hin zur Implementierung von Merkmalen in einem einzigen Gerät zu integrieren.

Studenten der Universität POLITEHNICA in Bukarest, Rumänien, haben mit dem Digilent Zybo Z7 (164-3487) einen Prototyp eines autonomen Autos gebaut.  Das autonome Fahrzeug ist ein mit OpenCV und Embedded Linux betriebenes Fahrzeug mit den folgenden Hauptmerkmalen:

  1. Fahren zwischen Fahrspurlinien
  2. An Hindernissen anhalten
  3. Verkehrszeichen erkennen
  4. Ausführen intelligenter Befehle von RFID-Karten
  5. Kreuzungen navigieren

Zybo_Autonomus_Car1_d6e8eb0d9a26f67e391fedce9dba31cc3c89646a.png

Lassen Sie uns ein wenig tiefer eintauchen und herausfinden, wie sie dieses erstaunliche Projekt entwickelt haben.

Das Auto besteht aus den folgenden Teilen.  

  1. Digilent PCAM 5C Kamera-Sensor (174-1555)
  2. Digilent Zybo Z7 ngetrieben von Xilinx Zynq 7000 SoC (nicht für die Automobilindustrie geeignet) (164-3487)
  3. Sonar 
  4. RFID-Scanner 
  5. 3-Achsen-Beschleunigungsmesser
  6. USB-WiFi-Adapter
  7. Hochgeschwindigkeits- und Hochdrehmoment-Metallgetriebe-Servo
  8. Dualer DC-Motortreiber
  9. 5V-Spannungsregler
  10. 6V-Spannungsregler
  11. 2200 mAh Li-Po-Batterie

Die Hardware-Plattform ist um einen Kunststoff-Autorahmen auf 2 Ebenen aufgebaut, wobei alle zusätzlichen Befestigungselemente und Halterungen in CAD konstruiert und in 3D aus PLA-Kunststoff ausgedruckt werden. Der Rahmen enthält auch 2 elektrische bürstenbehaftete Gleichstrommotoren mit ausreichendem Drehmoment, um das Auto mit einer angemessenen Geschwindigkeit anzutreiben. Das Lenksystem ähnelt dem eines Gokarts (Ackerman-Lenkung), wobei das Servo eine Radnabe drückt, die die Bewegung über eine Schubstange auch auf die zweite Radnabe überträgt. Das Lenksystem ist vollständig 3D-gedruckt und erfordert einen minimalen Montageaufwand. Der Rahmen selbst erfordert zusätzliche Löcher und Befestigungspunkte nach Ihren persönlichen Bedürfnissen, je nachdem, wie Sie die verschiedenen Komponenten/Sensoren platzieren möchten.

Die Vorderräder bewegen sich wie bei einem normalen Auto und lenken von links nach rechts. Die Kamera ist an der Vorderseite des Fahrzeugs angebracht. Ein Fischaugenobjektiv wurde oben auf dem Kamerasensor angebracht, um das Sichtfeld zu erweitern. An der Unterseite des Fahrzeugs ist ein RFID-Scanner montiert. Zur Vermeidung von Kollisionen ist in der vorderen Stoßstange ein Sonar montiert, der Beschleunigungsmesser ist oben auf dem Fahrzeug angebracht.

Camera1_8ef94ec46e2376c9338d2206b79901de6a7a0bc8.png

Car_Design1_49123cc5b68a8792ecd1154b05d65ce171a37306.png

Pmod_ACL1_756d9efeb2c2d85773cb35575839628eb1e1df0b.png

RFID_Scanner1_43ef6f90452e7fa9e7baf3c97ea86f8269128048.png

System-Design

Das Gesamtkonzept wird unten als Blockdiagramm dargestellt. 

Block_Diagram41_31d52ef0e857459cf9de7fa4aa2176b803df021c.png

Hardware-Design

Video-Pipelines und Videoverarbeitung - Fahrspurerkennung

Die Rohdaten, die von der Pcam 5C über die MIPI PHY-Lanes kommen, werden vom MIPI_D_PHY_RX-Block und dem MIPI CSI-2 Receiver interpretiert und verarbeitet, und der Bayer-Format-Datenstrom wird dann durch einen AXI_Bayer_to_RGB-Block geleitet, wodurch ein besser verwendbares AXI-Stream-Signal ausgegeben wird. Der resultierende AXI-Strom wird in zwei identische Ströme aufgeteilt, die entsprechend wiederverwendet werden. Einer von ihnen bleibt unangetastet, 720 p 60 Hz, und der andere wird einer Reihe von Bildverarbeitungstechniken unterzogen, um ein Graustufenbild zu erhalten, das für die Fahrspurerkennung geeignet ist.

Sensordatenerfassung und -verarbeitung - RFID, Beschleunigungsmesser und Sonar

Der Beschleunigungsmesser und das RFID-Lesegerät sind beide I2C-fähig und über den gleichen Bus und direkt mit dem Verarbeitungssystem verbunden. Das Sonar ist über seinen PWM-Ausgang mit einem Block verbunden, der das PWM-Tastverhältnis berechnet und die resultierenden Daten dem Verarbeitungssystem über eine AXI4-Lite-Verbindung zur Verfügung stellt.

Motoren und Lenksteuerung

Das Steuergerät "Motoren und Lenkung", intern auch Motion genannt, ist ein Block, der zwei Motortreiber und einen Servo steuert, der direkt die vordere Lenkung steuert. Der Hauptblock kommuniziert mit dem Verarbeitungssystem über eine AXI4-Lite-Verbindung und besteht intern aus drei PWM-Generatoren mit Synthese-Zeit-anpassbaren Parametern für die Auflösung und Frequenz. Die gewählten Werte sind: Motoren - 2x 16 Bit, 100 kHz-Treiber; Servo - 1x 12 Bit, 50 Hz-Treiber. Der Servo benötigt eine bestimmte Frequenz und ein bestimmtes Tastverhältnis, um ordnungsgemäß zu funktionieren.

Software-Design

Petalinux eingebettete Linux-Distribution

Im Mittelpunkt des Projekts steht eine Embedded Linux-Distribution von Xilinx Petalinux 2017.4. Das Betriebssystem Linux fungiert als gemeinsame Basis zwischen Hardware und Software und verwaltet die Prozesse. Der modifizierte Kernel bietet über einen modifizierten USB-Treiber Unterstützung für die physikalischen Geräte einschließlich Kamera, Sonar, Motoren und Servo für den WiFi-Adapter. Xilinx hat bereits den Zynq I2C-Treiber für die Verbindung mit der Kamera, dem Beschleunigungsmesser und dem RFID-Lesegerät integriert.

Anwendung der Hauptsteuerung

  1. Fahrspur-Komponente: positioniert das Fahrzeug auf der rechten Spur und passt seine Geschwindigkeit entsprechend der Straße an.
  2. Schild-Komponente: Erkennung von Stoppschildern.
  3. RFID-Komponente: RFID-Karten, die in Schlüsselbereichen der Straße platziert sind, korrekt erkennen und aufbewahren.
  4. Anzeige-Komponente: Anzeige relevanter Bilder für den Benutzer.
  5. Konfigurations-/Kalibrierungskomponente: gibt dem Benutzer die Möglichkeit, eine separate Datei zur Einstellung wichtiger Parameter zu verwenden, ohne dass das Programm neu kompiliert werden muss oder die Konfigurationsdatei überschrieben werden muss, um sie an die aktuellen Straßenbedingungen anzupassen.

Alle Komponenten (mit Ausnahme der Konfiguration/Kalibrierung) laufen in Schleifen. Jede Iteration entspricht einem Frame.

Projekt-Details

Das Projekt ist quelloffen, und die Quelldateien können von der Digilent Design Contest Website heruntergeladen werden.

awong hat noch keine Biografie verfasst...

Kommentare