Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Grundlegendes zu den Renntypen und Aktivierung von Sensoren, die von AWS unterstützt werden DeepRacer
In der AWS DeepRacer League können Sie an den folgenden Arten von Rennveranstaltungen teilnehmen:
-
Time Trial: Rennen gegen die Uhr auf einer Strecke ohne Hindernisse mit dem Ziel, eine Runde möglichst schnell zu absolvieren.
-
Objektvermeidung: Rennen gegen die Uhr auf einer Strecke mit stationären Hindernissen und dem Ziel, eine Runde möglichst schnell zu absolvieren.
-
ead-to-bot H-Rennen: Trete gegen ein oder mehrere andere Fahrzeuge auf derselben Strecke an und versuche, die Ziellinie vor anderen Fahrzeugen zu überqueren.
AWS DeepRacer Community Races unterstützt derzeit nur Zeitfahren.
Sie sollten mit verschiedenen Sensoren an Ihrem DeepRacer AWS-Fahrzeug experimentieren, damit es für einen bestimmten Renntyp über ausreichende Funktionen verfügt, um seine Umgebung zu beobachten. Im nächsten Abschnitt werden die von AWS DeepRacer unterstützten Sensoren beschrieben, die die unterstützten Arten von autonomen Rennveranstaltungen ermöglichen können.
Themen
Wählen Sie Sensoren für DeepRacer AWS-Renntypen
Ihr DeepRacer AWS-Fahrzeug ist mit einer nach vorne gerichteten monokularen Kamera als Standardsensor ausgestattet. Sie können eine weitere nach vorne gerichtete Monokularkamera hinzufügen, um nach vorne gerichtete Stereokameras zu erhalten oder um die Monokular- oder Stereokameras mit einer LiDAR-Einheit zu ergänzen.
Die folgende Liste fasst die Funktionsmöglichkeiten der von AWS DeepRacer unterstützten Sensoren zusammen mit kurzen cost-and-benefit Analysen zusammen:
- Nach vorne gerichtete Kamera
-
Eine nach vorne gerichtete Kamera mit einem Objektiv kann Bilder der Umgebung vor dem Hostfahrzeug aufnehmen, einschließlich Streckenbegrenzungen und -formen. Dies ist der kostengünstigste Sensor, der sich für einfachere autonome Fahraufgaben wie Time Trials ohne Hindernisse auf gut markierten Strecken eignet. Bei richtiger Schulung kann es stationäre Hindernisse an festen Stellen auf der Strecke vermeiden. Die Informationen zur Positionen von Hindernissen sind jedoch in das geschulte Modell integriert, weshalb das Modell wahrscheinlich übermäßig ausgestattet ist und möglicherweise keine Generalisierungen für andere Hindernisorte durchführen kann. Bei stationären Objekten an zufälligen Stellen oder anderen sich bewegenden Fahrzeugen auf der Strecke, ist es unwahrscheinlich, dass das Modell konvergiert.
In der realen Welt ist das DeepRacer AWS-Fahrzeug mit einer Frontkamera mit einem Objektiv als Standardsensor ausgestattet. Die Kamera verfügt über ein 120-Grad-Weitwinkelobjektiv und erfasst RGB-Bilder, die dann in Graustufenbilder von 160 x 120 Pixeln bei 15 Bildern pro Sekunde (fps) konvertiert werden. Diese Sensoreigenschaften bleiben im Simulator erhalten, um die Möglichkeit zu maximieren, dass das geschulte Modell gut von der Simulation in die reale Welt übertragen werden kann.
- Nach vorne gerichtete Stereokamera
-
Eine Stereokamera hat zwei oder mehr Objektive, die Bilder mit der gleichen Auflösung und Frequenz aufnehmen. Bilder von beiden Objektiven werden verwendet, um die Tiefe der beobachteten Objekte festzustellen. Die Tiefeninformationen von einer Stereokamera sind wertvoll für das Hostfahrzeug, um Kollisionen mit Hindernissen oder anderen Fahrzeugen nach vorn zu vermeiden, besonders in dynamischeren Umgebungen. Zusätzliche Tiefeninformationen führen jedoch zu einer langsameren Konvergenz bei der Schulung.
Auf dem DeepRacer physischen AWS-Fahrzeug wird die Stereokamera mit zwei Objektiven aufgebaut, indem eine weitere Kamera mit einem Objektiv hinzugefügt und jede Kamera an der linken und rechten Seite des Fahrzeugs montiert wird. Die DeepRacer AWS-Software synchronisiert Bildaufnahmen von beiden Kameras. Die erfassten Bilder werden in Graustufen umgewandelt, gestapelt und zu Inferenzzwecken in das neuronale Netzwerk eingespeist. Der gleiche Mechanismus wird im Simulator dupliziert, um das Modell zu schulen, damit es brauchbare Generalisierungen für eine reale Umgebung leisten kann.
- LiDAR-Sensor
-
Ein LiDAR-Sensor verwendet rotierende Laser, um Lichtimpulse außerhalb des sichtbaren Spektrums auszusenden, wobei die Zeit bis zur Rückkehr des Impulses gemessen wird. Die Richtung und Entfernung zu den Objekten, auf die ein bestimmter Impuls trifft, werden als Punkt in einer großen 3D-Karte aufgezeichnet, die um die LiDAR-Einheit zentriert ist.
LiDAR hilft beispielsweise bei der Erkennung von toten Winkeln des Hostfahrzeugs, um Kollisionen zu vermeiden, während das Fahrzeug die Fahrspur wechselt. Durch die Kombination von LiDAR mit Mono- oder Stereokameras können Sie dem Hostfahrzeug ermöglichen, genügend Informationen erfassen, um geeignete Maßnahmen zu ergreifen. Ein LiDAR-Sensor kostet jedoch mehr im Vergleich zu Kameras. Das neuronale Netzwerk muss lernen, die LiDAR-Daten zu interpretieren. Dadurch dauert die Schulung länger bis zur Konvergierung.
Auf dem DeepRacer physischen AWS-Fahrzeug ist ein LiDAR-Sensor auf der Rückseite montiert und um 6 Grad nach unten geneigt. Er dreht sich mit einer Winkelgeschwindigkeit von 10 Umdrehungen pro Sekunde und hat einen Bereich von 15 cm bis 2 m. Er kann Objekte hinter und neben dem Hostfahrzeug sowie hohe Objekte erkennen, die von den Fahrzeugteilen an der Vorderseite nicht behindert werden. Winkel und Reichweite sind so gewählt, dass die LiDAR-Einheit weniger anfällig für Umgebungslärm ist.
Sie können Ihr DeepRacer AWS-Fahrzeug mit der folgenden Kombination der unterstützten Sensoren konfigurieren:
-
Nur nach vorne gerichtete Kamera mit einem Objektiv
Diese Konfiguration eignet sich sowohl für Time Trials, als auch für die Hindernisvermeidung mit Objekten an festen Standorten.
-
Nur nach vorne gerichtete Stereokamera
Diese Konfiguration eignet sich gut zur Hindernisvermeidung bei Objekten an festen oder zufälligen Orten.
-
Nach vorne gerichtete Kamera mit einem Objektiv und LiDAR.
Diese Konfiguration eignet sich gut zur Hindernisvermeidung oder für head-to-bot Rennen.
-
Nach vorne gerichtete Stereokamera mit LiDAR.
Diese Konfiguration ist gut für die Vermeidung von Hindernissen oder für head-to-bot Rennen, aber wahrscheinlich nicht die wirtschaftlichste für Zeitfahren.
Wenn Sie weitere Sensoren hinzufügen, damit Ihr DeepRacer AWS-Fahrzeug von Zeitfahren über Objektvermeidung bis hin zu head-to-bot Rennen eingesetzt werden kann, sammelt das Fahrzeug mehr Daten über die Umgebung, die beim Training in das zugrunde liegende neuronale Netzwerk eingespeist werden. Dies macht die Schulung anspruchsvoller, da das Modell mit mehr Komplexität umgehen muss. Für Sie wird es dadurch anspruchsvoller, Modelle zu schulen.
Um schrittweise zu lernen, sollten Sie zuerst mit dem Training für Zeitfahren beginnen, bevor Sie zur Vermeidung von Objekten und dann zum head-to-bot Rennen übergehen. Ausführlichere Empfehlungen finden Sie im nächsten Abschnitt.
Agenten für das Training von DeepRacer AWS-Modellen konfigurieren
Um ein Reinforcement Learning-Modell für das DeepRacer AWS-Fahrzeug zu trainieren, damit es Hindernisvermeidung oder head-to-bot Rennen fahren kann, müssen Sie den Agenten mit den entsprechenden Sensoren konfigurieren. Für einfache Time Trials können Sie den Standardagenten verwenden, der mit einer Kamera mit einem Objektiv konfiguriert ist. Bei der Konfiguration des Agenten können Sie den Aktionsbereich anpassen und eine neuronale Netzwerktopologie auswählen, damit diese besser mit den ausgewählten Sensoren arbeiten, um die jeweiligen Fahranforderungen zu erfüllen. Darüber hinaus können Sie das Erscheinungsbild des Agenten zur visuellen Identifizierung während der Schulung ändern.
Nach der Konfiguration wird die Agentenkonfiguration als Teil der Metadaten des Modells für Schulung und Evaluierung aufgezeichnet. Zur Auswertung ruft der Agent automatisch die aufgezeichnete Konfiguration ab, um die angegebenen Sensoren, den Aktionsbereich und die neuronale Netzwerktechnologie zu verwenden.
In diesem Abschnitt wird das Schritte zur Konfiguration eines Agenten AWS DeepRacer erklärt.
So konfigurieren Sie einen DeepRacer AWS-Agenten in der DeepRacer AWS-Konsole
-
Melden Sie sich bei der DeepRacerAWS-Konsole
an. -
Wählen Sie im primären Navigationsbereich die Option Garage aus.
-
Wenn Sie Garage zum ersten Mal verwenden, wird Ihnen das Dialogfeld WELCOME TO THE GARAGE (WILLKOMMEN IN DER GARAGE) angezeigt. Wählen Sie > oder <, um die Einführung zu den verschiedenen Sensoren zu lesen, die für das DeepRacer AWS-Fahrzeug unterstützt werden, oder klicken Sie auf X, um das Dialogfeld zu schließen. Diese einleitenden Informationen finden Sie im Hilfebereich in Garage.
-
Wählen Sie auf der Seite Garage die Option Build new vehicle (Neues Fahrzeug bauen).
-
Wählen Sie auf der Seite Mod your own vehicle (Eigenes Fahrzeug modifizieren) unter Mod specifications (Mod-Spezifikationen) einen oder mehrere Sensoren aus, um die beste Kombination zu erlernen, die Ihren beabsichtigten Renntypen entspricht.
Um für Ihre DeepRacer AWS-Fahrzeugzeitfahren zu trainieren, wählen Sie Kamera. Um Hindernissen auszuweichen oder head-to-bot Rennen zu fahren, sollten Sie andere Sensortypen verwenden. Um eine Stereokamera zu wählen, stellen Sie sicher, dass Sie eine zusätzliche Kamera mit einem Objektiv erworben haben. AWS DeepRacer stellt die Stereokamera aus zwei Kameras mit einem Objektiv her. Sie können entweder eine Kamera mit einem Objektiv oder eine Stereokamera mit zwei Objektiven an einem Fahrzeug haben. In beiden Fällen können Sie dem Agenten einen LiDAR-Sensor hinzufügen, wenn das trainierte Modell lediglich in der Lage sein soll, tote Winkel bei Hindernisvermeidung oder head-to-bot Rennen zu erkennen und zu vermeiden.
-
Wählen Sie auf der Seite Garage und unter Neural network topologies (Neuronale Netzwerktopologien) eine unterstützte Netzwerktopologie aus.
Im Allgemeinen ist ein tieferes neuronales Netzwerk (mit mehr Ebenen) besser geeignet, um auf komplizierteren Strecken mit zahlreichen und scharfen Kurven zu fahren, um stationäre Hindernisse zu vermeiden oder um gegen andere fahrende Fahrzeuge zu konkurrieren. Die Schulung eines tieferen neuronalen Netzwerks ist jedoch teurer und es dauert länger, bis das Modell konvergiert. Andererseits kostet ein flacheres Netzwerk (mit weniger Ebenen) weniger und benötigt eine kürzere Zeit für die Schulung. Das geschulte Modell ist in der Lage, einfachere Streckenbedingungen oder Fahranforderungen zu bewältigen, wie Time Trials auf einer hindernisfreien Strecke ohne Konkurrenten.
Insbesondere DeepRacer unterstützt AWS 3-Layer-CNN oder 5-Layer-CNN.
-
Wählen Sie auf der Seite Garage die Option Next (Weiter), um mit der Einrichtung des Aktionsbereichs des Agenten fortzufahren.
-
Lassen Sie auf der Seite Action space (Aktionsbereich) die Standardeinstellungen für Ihre erste Schulung unverändert. Experimentieren Sie für nachfolgende Schulungen mit verschiedenen Einstellungen für Lenkwinkel, Höchstgeschwindigkeit und ihre Granularitäten. Wählen Sie anschließend Next (Weiter) aus.
-
Geben Sie auf der Seite Farbe Ihres Fahrzeugs, um sich von der Masse abzuheben, einen Namen in das Feld Name your ein DeepRacer und wählen Sie dann eine Farbe für den Agenten aus der Fahrzeugfarbliste aus. Wählen Sie dann Submit (Senden).
-
Überprüfen Sie auf der Seite Garage die Einstellungen des neuen Agenten. Um weitere Änderungen vorzunehmen, wählen Sie Mod vehicle (Fahrzeug modifizieren) und wiederholen Sie die vorherigen Schritte ab Schritt 4.
Jetzt ist Ihr Agent bereit zur Schulung.
Maßgeschneidertes DeepRacer AWS-Training für Zeitfahren
Wenn Sie AWS zum ersten Mal verwenden DeepRacer, sollten Sie mit einem einfachen Zeitfahren beginnen, um sich damit vertraut zu machen, wie Sie DeepRacer AWS-Modelle für das Führen Ihres Fahrzeugs trainieren. Auf diese Weise erhalten Sie eine behutsame Einführung in grundlegende Konzepte der Belohnungsfunktion sowie zu den Begriffen Agent, Umgebung usw. Ihr Ziel ist es, ein Modell zu schulen, um das Fahrzeug auf der Strecke zu halten und eine Runde so schnell wie möglich zu absolvieren. Anschließend können Sie das trainierte Modell auf Ihrem DeepRacer AWS-Fahrzeug einsetzen, um das Fahren auf einer physischen Strecke ohne zusätzliche Sensoren zu testen.
Um ein Modell für dieses Szenario zu trainieren, können Sie den Standard-Agenten aus Garage auf der DeepRacer AWS-Konsole auswählen. Der Standard-Agent wurde mit einer einzigen nach vorne gerichteten Kamera, einem Standard-Aktionsbereich und einer standardmäßigen neuronalen Netzwerktopologie konfiguriert. Es ist hilfreich, mit dem Training eines DeepRacer AWS-Modells mit dem Standard-Agenten zu beginnen, bevor Sie zu anspruchsvolleren Modellen übergehen.
Befolgen Sie die folgenden Empfehlungen, um Ihr Modell mit dem Standard-Agenten zu schulen.
-
Beginnen Sie die Schulung Ihres Modells mit einer einfachen Strecke mit regelmäßigeren Formen und weniger scharfen Kurven. Verwenden Sie die Standard-Belohnungsfunktion. Schulen Sie das Modell für 30 Minuten. Evaluieren Sie Ihr Modell nach dem Schulungsauftrag auf derselben Strecke, um zu sehen, ob der Agent eine Runde beenden kann.
-
Lesen Sie mehr über die Belohnungsfunktionsparameter. Setzen Sie die Schulung mit verschiedenen Anreizen fort, um den Agenten dafür zu belohnen, schneller zu fahren. Verlängern Sie die Schulungszeit für das nächste Modell auf 1 bis 2 Stunden. Vergleichen Sie die Belohnungsgrafik zwischen der ersten Schulung und dieser zweiten Schulung. Experimentieren Sie weiter, bis sich das Belohnungsdiagramm nicht mehr verbessert.
-
Lesen Sie mehr über den Aktionsbereich. Trainieren Sie das Modell zum dritten Mal, indem Sie die Höchstgeschwindigkeit erhöhen (z. B. 1 m/s). Um den Aktionsbereich zu ändern, müssen Sie unter Garage einen neuen Agenten erstellen, wenn Sie die Möglichkeit haben, die Änderung vorzunehmen. Beachten Sie bei der Aktualisierung der Höchstgeschwindigkeit Ihres Agenten, dass je höher die Höchstgeschwindigkeit ist, desto schneller kann der Agent die Teststrecke absolvieren und desto schneller kann Ihr DeepRacer AWS-Fahrzeug eine Runde auf einer physischen Strecke beenden. Eine höhere Höchstgeschwindigkeit bedeutet jedoch oft eine längere Zeit bis zur Konvergierung der Schulung, da der Agent dabei eher in einer Kurve überschießt und von der Strecke abkommt. Möglicherweise möchten Sie die Granularitäten verringern, um dem Agenten mehr Raum zum Beschleunigen und Abbremsen zu geben oder die Belohnungsfunktion in anderer Weise zu ändern, damit die Schulung schneller konvergiert. Nachdem die Schulung konvergiert ist, evaluieren Sie das 3. Modell, um zu sehen, ob sich die Rundenzeit verbessert. Fahren Sie so fort, bis es keine Verbesserung mehr gibt.
-
Wählen Sie eine kompliziertere Strecke und wiederholen Sie Schritt 1 bis Schritt 3. Evaluieren Sie Ihr Modell auf einer Strecke, die sich von der Schulungsstrecke unterscheidet, um zu sehen, wie das Modell auf verschiedene virtuelle Strecken verallgemeinert werden kann, um Generalisierungen für reale Umgebungen durchzuführen.
-
(Optional) Experimentieren Sie mit unterschiedlichen Werten der Hyperparameter, um den Schulungsprozess zu verbessern, und wiederholen Sie Schritt 1 bis Schritt 3.
-
(Optional) Untersuchen und analysieren Sie die DeepRacer AWS-Protokolle. Beispielcode, mit dem Sie die Protokolle analysieren können, finden Sie unter https://github.com/aws-samples/aws-deepracer-workshops /tree/master/log-analysis
.
Maßgeschneidertes DeepRacer AWS-Training für Rennen zur Objektvermeidung
Nachdem Sie sich mit Time Trials vertraut gemacht und einige konvergierte Modelle geschult haben, gehen Sie zur nächsten anspruchsvolleren Herausforderung über: zur Hindernisvermeidung. Hier ist Ihr Ziel, ein Modell zu schulen, das eine Runde so schnell wie möglich absolvieren kann, ohne von der Strecke zu geraten, und dabei Kollisionen mit Objekten auf der Strecke zu vermeiden. Dies ist offensichtlich ein schwierigeres Problem für den Agenten und die Schulung dauert länger bis zur Konvergenz.
Die DeepRacer AWS-Konsole unterstützt zwei Arten von Hindernisvermeidungstrainings: Hindernisse können an festen oder zufälligen Stellen entlang der Strecke platziert werden. Bei festen Standorten bleiben die Hindernisse während des Schulungsauftrags an der gleichen Stelle fixiert. Bei zufälligen Standorten ändern die Hindernisse ihre jeweiligen Orte zufällig von Episode zu Episode.
Es ist einfacher für die Schulung, ortsfeste Hindernisse zu vermeiden, da das System dabei einen niedrigeren Freiheitsgrad hat. Modelle können jedoch übermäßig angepasst werden, wenn die Standortinformationen in die geschulten Modelle integriert sind. Infolgedessen können die Modelle übermäßig angepasst sein und möglicherweise schlechter generalisieren. Bei der Vermeidung zufällig positionierter Hindernisse ist die Konvergenz schwieriger zu erreichen, da der Agent weiterhin lernen muss, an Orten, die er noch nicht gesehen hat, Kollisionen mit Hindernissen zu vermeiden. Modelle, die mit dieser Option geschult wurden, neigen jedoch dazu, besser zu generalisieren, und können gut auf reale Rennen übertragen werden. Platzieren Sie zu Beginn Hindernisse an festen Standorten, machen Sie sich mit den Verhaltensweisen vertraut und gehen Sie dann zu zufälligen Standorten über.
Im DeepRacer AWS-Simulator sind die Hindernisse quaderförmige Boxen mit den gleichen Abmessungen (9,5 Zoll (L) x 15,25 Zoll (B) x 10/5 Zoll (H)) wie die Paketbox des DeepRacer AWS-Fahrzeugs. Dies macht es einfacher, das geschulte Modell vom Simulator in die reale Welt zu übertragen, wenn Sie die Verpackungsbox als Hindernis auf der physischen Spur platzieren.
Um mit der Hindernisvermeidung zu experimentieren, befolgen Sie die empfohlene Vorgehensweise, die in den folgenden Schritten beschrieben wird:
-
Verwenden Sie den Standard-Agenten oder experimentieren Sie mit neuen Sensoren und Aktionsbereichen, indem Sie einen vorhandenen Agenten anpassen oder einen neuen erstellen. Sie sollten die Höchstgeschwindigkeit auf unter 0,8 m/s und die Geschwindigkeitsgranularität auf 1 oder 2 Stufen begrenzen.
Beginnen Sie mit der Schulung eines Modells für ca. 3 Stunden mit zwei Objekten an festen Standorten. Verwenden Sie die Beispiel-Belohnungsfunktion und schulen Sie das Modell auf der Strecke, auf der Sie fahren werden, oder auf einer Strecke, die dieser ähnelt. Die Strecke des AWS DeepRacer Smile Speedway (Intermediate) ist eine einfache Strecke, was sie zu einer guten Wahl für die Vorbereitung auf das Gipfelrennen macht. Evaluieren Sie das Modell auf der gleichen Strecke mit der gleichen Anzahl von Hindernissen. Beobachten Sie, wie die gesamte erwartete Belohnung konvergiert, wenn überhaupt.
-
Lesen Sie mehr über die Belohnungsfunktionsparameter. Experimentieren Sie mit Variationen Ihrer Belohnungsfunktion. Erhöhen Sie die Zahl der Hindernisse auf vier. Schulen Sie den Agenten, um zu sehen, ob die Schulung in der gleichen Schulungszeit konvergiert. Wenn dies nicht der Fall ist, optimieren Sie Ihre Belohnungsfunktion erneut, senken Sie die Höchstgeschwindigkeit oder reduzieren Sie die Anzahl der Hindernisse und schulen Sie den Agenten erneut. Wiederholen Sie die Experimente, bis es keine signifikante Verbesserung mehr gibt.
-
Gehen Sie nun zur Schulung zur Vermeidung von Hindernissen an zufälligen Orten über. Sie müssen den Agenten mit zusätzlichen Sensoren konfigurieren, die in der Garage in der DeepRacer AWS-Konsole verfügbar sind. Sie können eine Stereokamera verwenden. Oder Sie können eine LiDAR-Einheit entweder mit einer Kamera mit einem Objektiv oder einer Stereokamera kombinieren. Sie sollten dabei jedoch eine längere Schulungszeit einkalkulieren. Stellen Sie den Aktionsraum auf eine relativ niedrige Höchstgeschwindigkeit (z. B. 2 m/s) ein, damit das Training schneller zusammenläuft. Verwenden Sie für die Netzwerkarchitektur ein flaches neuronales Netzwerk, das als für die Vermeidung von Hindernissen ausreichend befunden wurde.
-
Beginnen Sie die Schulung mit vier Stunden für den neuen Agenten zur Hindernisvermeidung mit vier zufällig platzierten Objekten auf einer einfachen Strecke. Evaluieren Sie dann Ihr Modell auf der gleichen Strecke, um zu sehen, ob es Runden mit zufällig positionierten Hindernissen absolvieren kann. Wenn dies nicht der Fall ist, können Sie Ihre Belohnungsfunktion optimieren, andere Sensoren ausprobieren und längere Schulungszeiten verwenden. Ein weiterer Tipp: Sie können versuchen, ein bestehendes Modell zu klonen, um die Schulung fortzusetzen und dafür zuvor erlernte Erfahrungen zu nutzen.
-
(Optional) Wählen Sie eine höhere Höchstgeschwindigkeit für den Aktionsbereich oder lassen Sie mehr Hindernisse zufällig auf der Strecke platzieren. Experimentieren Sie mit verschiedenen Sensoren und optimieren Sie die Belohnungsfunktionen und Hyperparameterwerte. Experimentieren Sie mit der 5-layer CNN-Netzwerktopologie. Schulen Sie das Modell anschließend neu, um zu bestimmen, wie sich dies auf die Konvergenz der Schulung auswirkt.
Maßgeschneidertes DeepRacer AWS-Training für head-to-bot Rennen
Nachdem Sie das Training zur Vermeidung von Hindernissen bestanden haben, sind Sie nun bereit, sich der nächsten Herausforderung zu stellen: Trainingsmodelle für head-to-bot Rennen. Im Gegensatz zu Hindernisvermeidungsveranstaltungen herrscht im head-to-bot Rennsport ein dynamisches Umfeld mit sich bewegenden Fahrzeugen. Ihr Ziel ist es, Modelle für Ihr DeepRacer AWS-Fahrzeug zu trainieren, damit es gegen andere fahrende Fahrzeuge antreten kann, um als Erster die Ziellinie zu erreichen, ohne von der Strecke abzukommen oder mit einem der anderen Fahrzeuge zu kollidieren. In der DeepRacer AWS-Konsole können Sie ein head-to-bot Rennmodell trainieren, indem Sie Ihren Agenten gegen 1-4 Bot-Fahrzeuge antreten lassen. Allgemein sollten Sie dabei mehr Hindernisse auf einer längeren Strecke platzieren.
Jedes Bot-Fahrzeug folgt einem vordefinierten Weg mit konstanter Geschwindigkeit. Sie können Ihrem Fahrzeug möglichen, Fahrspuren zu wechseln oder es auf seiner Startspur bleiben lassen. Ähnlich wie bei der Schulung zur Vermeidung von Hindernissen können Sie die Bot-Fahrzeuge gleichmäßig über die Strecke auf beiden Spuren verteilen. Die Konsole beschränkt dich auf bis zu 4 Bot-Fahrzeuge auf der Strecke. Mehr konkurrierende Fahrzeuge auf der Strecke geben dem Lernagenten mehr Möglichkeiten, unterschiedlichen Situationen mit anderen Fahrzeugen zu begegnen. Auf diese Weise lernt es mehr in einem Schulungsauftrag und der Agent wird schneller geschult. Allerdings wird jede Schulung wahrscheinlich länger dauern, bis Konvergenz erreicht ist.
Um einen Agenten mit Bot-Fahrzeugen zu schulen, sollten Sie die Höchstgeschwindigkeit des Aktionsbereichs des Agenten höher einstellen als die (konstante) Geschwindigkeit der Bot-Fahrzeuge, so dass der Agent während der Schulung mehr Überholmöglichkeiten hat. Als guten Ausgangspunkt sollten Sie die Höchstgeschwindigkeit des Agenten auf 0,8 m/s und die Bewegungsgeschwindigkeit des Bot-Fahrzeugs auf 0,4 m/s einstellen. Wenn Sie es den Bots ermöglichen, die Fahrspuren zu wechseln, wird die Schulung schwieriger, weil der Agent nicht nur lernen muss, wie man eine Kollision mit einem fahrenden Fahrzeug vorne auf der gleichen Spur vermeiden kann, sondern auch, wie man eine Kollision mit einem anderen fahrenden Fahrzeug vorne auf der anderen Spur vermeiden kann. Sie können die Bots so einstellen, dass sie die Spuren in zufälligen Intervallen ändern. Die Länge eines Intervalls wird nach dem Zufallsprinzip aus einem Zeitraum (z. B. 1s bis 5s) ausgewählt, den Sie vor Beginn des Trainingsjobs angeben. Dieses Verhalten beim Spurwechsel ähnelt eher dem realen head-to-bot Rennverhalten und der trainierte Agent sollte besser generieren. Es dauert jedoch länger, bis das Modell zur Konvergenz kommt.
Folge diesen empfohlenen Schritten, um dein Training für den head-to-bot Rennsport zu wiederholen:
-
Erstellen Sie in der Garage der DeepRacer AWS-Konsole einen neuen Trainingsagenten, der sowohl mit Stereokameras als auch mit einer LiDAR-Einheit konfiguriert ist. Es ist möglich, ein relativ gutes Modell nur mit einer Stereokamera gegen Bot-Fahrzeuge zu schulen. LiDAR hilft dabei, blinde Flecken zu reduzieren, wenn der Agent die Fahrspuren wechselt. Stellen Sie die Höchstgeschwindigkeit nicht zu hoch ein. Ein guter Ausgangspunkt ist 1 m/s.
-
Um für das head-to-bot Rennen zu trainieren, beginnen Sie mit zwei Bot-Fahrzeugen. Stellen Sie die Bewegungsgeschwindigkeit des Bots niedriger als die Höchstgeschwindigkeit Ihres Agenten ein (z. B. 0,5 m/s, wenn die Höchstgeschwindigkeit des Agenten 1 m/s beträgt). Deaktivieren Sie die Option „Spurwechsel“ und wählen Sie dann den gerade erstellten Schulungsagent aus. Verwenden Sie eines der Beispiele für Belohnungsfunktionen oder nehmen Sie die minimal notwendigen Änderungen vor und schulen Sie dann für drei Stunden. Verwenden Sie die Strecke, auf der Sie fahren werden, oder eine Strecke, die genau dieser Strecke entspricht. Die Strecke des AWS DeepRacer Smile Speedway (Intermediate) ist eine einfache Strecke, was sie zu einer guten Wahl für die Vorbereitung auf das Gipfelrennen macht. Nachdem die Schulung abgeschlossen ist, evaluieren Sie das geschulte Modell auf derselben Strecke.
-
Für anspruchsvollere Aufgaben klonen Sie Ihr trainiertes Modell für ein zweites head-to-bot Rennmodell. Experimentieren Sie entweder mit mehr Bot-Fahrzeugen oder aktivieren Sie die Spurwechseloptionen. Beginnen Sie mit langsamen Spurwechselvorgängen in zufälligen Intervallen, die länger als zwei Sekunden sind. Sie können auch mit benutzerdefinierten Belohnungsfunktionen experimentieren. Im Allgemeinen kann Ihre benutzerdefinierte Belohnungsfunktionslogik mit der zur Vermeidung von Hindernissen vergleichbar sein, wenn Sie nicht den Ausgleich zwischen dem Überholen anderer Fahrzeuge und dem Verbleiben auf der Strecke berücksichtigen. Je nachdem, wie gut das vorherige Modell ist, müssen Sie möglicherweise weitere drei bis sechs Stunden schulen. Evaluieren Sie Ihre Modelle und prüfen Sie, wie gut das Modell funktioniert.