-
TECHNISCHES GEBIET
-
Ausführungsbeispiele beziehen sich im Allgemeinen auf automatisierte Navigation. Genauer gesagt beziehen sich Ausführungsbeispiele auf eine Technologie zum Erzeugen prädiktiver Karten in automatisierten Navigationssystemen.
-
HINTERGRUND
-
Autonome Roboter können einen Navigationssoftwarestapel verwenden, um die Bewegung des Roboters von einem Ort zu einem anderen zu steuern. Die Navigationssoftwarestapel-Lösungen können einfach die Pose und Geschwindigkeit des Roboters anpassen, wenn die Distanz zwischen dem Roboter und einem Hindernis (z. B. Person, Möbelstück, Wand usw.) kleiner ist als eine voreingestellte Sicherheitsdistanz. Ein solcher Ansatz kann schwierig zu steuern sein und kann die Verwendung von Hochfrequenz-Sensoren umfassen, um die Sicherheit sicherzustellen. Dementsprechend können herkömmliche autonome Roboter relativ teuer sein, was wiederum eine weitverbreitete Annahme der Technologie behindert.
-
Figurenliste
-
Die verschiedenen Vorteile der Ausführungsbeispiele werden für einen Fachmann auf dem Gebiet durch das Lesen der folgenden Beschreibung und der beigefügten Ansprüche sowie unter Verweis auf die folgenden Zeichnungen deutlich, in denen:
- 1 eine Darstellung eines Beispiels einer Karte gemäß einem Ausführungsbeispiel ist;
- 2 eine Darstellung eines Beispiels einer Sequenz von historischen Karten gemäß einem Ausführungsbeispiel ist;
- 3 eine Darstellung eines Beispiels einer Kartenüberlagerung gemäß einem Ausführungsbeispiel ist;
- 4 ein Flussdiagramm eines Beispiels eines Verfahrens zum Betreiben eines autonomen mobilen Systems gemäß einem Ausführungsbeispiel ist;
- 5 eine Darstellung eines Beispiels der Verwendung eines genauen Karten-Datensatzes zum Trainieren eines neuronalen Langes-Kurzzeitgedächtnis-Netzwerks (LSTM; long short-term memory) gemäß einem Ausführungsbeispiel ist;
- 6 ein Blockdiagramm eines Beispiels eines Satzes von verbundenen neuronalen LSTM-Netzwerken gemäß einem Ausführungsbeispiel ist;
- 7 ein Blockdiagramm eines Beispiels eines autonomen mobilen Systems gemäß einem Ausführungsbeispiel ist; und
- 8 eine Darstellung eines Beispiels einer Halbleiter-Package-Vorrichtung gemäß einem Ausführungsbeispiel ist.
-
BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
-
Bezug nehmend nun auf 1 ist eine Karte 10 von einer Umgebung (z. B. Büroräume) gezeigt. Die Karte 10 kann durch ein Bilderzeugungs- und/oder Abstandsmessungssystem wie beispielsweise ein Lichtdetektions- und Abstandsmessungs- (LIDAR; light detection and ranging) System erzeugt werden. Zum Beispiel könnte das LIDAR-System, das in einen Roboter eingebracht werden kann, die Umgebung mit gepulstem Laserlicht beleuchten und die reflektierten Pulse mit einem oder mehreren Sensoren messen. Differenzen in Laser-Rücklaufzeiten und Wellenlängen können dann verwendet werden, um die Karte 10 zu erzeugen, die zwei-dimensionale (2D) oder drei-dimensionale (3D) Informationen umfassen kann. Bei dem dargestellten Beispiel zeigt die Karte 10 an, dass die Umgebung den Roboter (gezeigt als Kreis), mehrere Personen („Person 1“, „Person 2“), einen unbekannten Raum (z. B. zuvor durch den Roboter nicht erforscht), einen freien Raum, einen Durchgang, mehrere Arbeitsplätze und so weiter umfasst. Die Karte 10 zeigt auch die Stellung des Roboters mit einem Pfeil 12 an. Wie nachfolgend detaillierter erörtert wird, können mehrere Instanzen der Karte 10 verwendet werden, um eine Sequenz von historischen Karten zu erzeugen, die wiederum in einer nicht überwachten Lernprozedur verwendet werden können, um eine Sequenz von prädiktiven Karten zu erzeugen.
-
2 zeigt eine raumzeitliche Sequenz
14 von historischen (z. B. „genauen“) Karten. Bei dem dargestellten Beispiel nähert sich ein sich bewegendes Objekt dem Roboter und eine genaue Karte der Umgebung zur Zeit t ist durch
repräsentiert. Somit kann für eine Länge k der Serienausdruck
im Allgemeinen die raumzeitliche Sequenz
14 im Laufe der Zeit anzeigen. Besonders hervorzuheben ist, dass Menschen ohne weiteres vorhersagen können, dass sich ein sich bewegendes Objekt dem Roboter nähert, basierend auf der raumzeitlichen Sequenz
14. Die Verwendung von nicht überwachtem Lernen (z. B. neuronalen Netzwerken) kann es dem Roboter ermöglichen, automatisch auch eine solche Vorhersage zu machen.
-
3 zeigt einen Ansatz zum Erzeugen einer Kartenüberlagerung
16 (z. B.
). Bei dem dargestellten Beispiel wird eine Sequenz
18 von historischen Karten verwendet, um eine wahrscheinlichste k-Längensequenz 20 der prädiktiven Karten (z. B.
zu erzeugen. Die Sequenz
20 von prädiktiven Karten kann dann über eine andere gelegt werden, um die Kartenüberlagerung
16 zu erhalten. Wie nachfolgend detaillierter erörtert wird, kann ein Anwenden eines Dämpfungsfaktors auf die Kartenüberlagerung
16 dazu führen, dass die Kartenüberlagerung
16 ein Gitter von Zellen umfasst, wobei jede Zelle eine Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor umfasst. Der Dämpfungsfaktor kann in dem dargestellten Beispiel als das sich bewegende Objekt gesehen werden, das graduell in hellere Grauschattierungen übergeht.
-
4 zeigt ein Verfahren 22 zum Betreiben eines autonomen mobilen Systems. Das Verfahren 22 kann im Allgemeinen in einem Roboter wie beispielsweise dem schon erörterten in 1-3 gezeigten Roboter, in einem Fahrzeug und so weiter implementiert werden. Genauer gesagt kann das Verfahren 22 implementiert sein als ein oder mehrere Module in einem Satz von Logik-Anweisungen, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert sind, wie beispielsweise einem Direktzugriffsspeicher (RAM; random access memory), einem Nur-LeseSpeicher (ROM; read only memory), einem programmierbaren ROM (PROM), Firmware, einem Flash-Speicher usw., in konfigurierbarer Logik wie beispielsweise programmierbaren Logikarrays (PLAs; programmable logic arrays), feldprogrammierbaren Gate-Arrays (FPGAs; field programmable gate arrays), komplexen programmierbaren Logik-Vorrichtungen (CPLDs; complex programmable logic devices), in Hardware-Logik mit fester Funktionalität, die Schaltungstechnologie wie beispielsweise anwendungsspezifische integrierte Schaltungs- (ASIC; application specific integrated circuit), komplementäre-Metalloxid-Halbleiter- (CMOS; complementary metal oxide semiconductor) oder Transistor-Transistor-Logik- (TTL; transistor-transistor logic) Technologie oder irgendeine Kombinationen derselben verwendet.
-
Zum Beispiel kann Computerprogrammcode zum Ausführen der in dem Verfahren 22 gezeigten Operationen in irgendeiner Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, umfassend eine objektorientierte Programmiersprache, wie beispielsweise JAVA, SMALLTALK, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen, wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen. Zusätzlich dazu könnten Logik-Anweisungen umfassen Assembler-Anweisungen, Befehlssatzarchitektur- (ISA; instruction set architecture) Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstelldaten, Konfigurationsdaten für integrierte Schaltungsanordnungen, Zustandsinformationen, die elektronische Schaltungsanordnungen und/oder andere strukturelle Komponenten personalisieren, die nativ zu Hardware sind (z. B. Host-Prozessor, zentrale Verarbeitungseinheit/CPU (central processing unit), Mikrocontroller usw.)
-
Der dargestellte Verarbeitungsblock 24 stellt ein Erzeugen einer Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten bereit. Block 24 kann ein Trainieren eines neuronalen Netzwerks, wie beispielsweise eines neuronalen Langes-Kurzzeitgedächtnis-Netzwerks (LSTM, z. B. ein spezieller Typ eines rekurrenten neuronalen Netzwerks/RNN- (recurrent neural network) Struktur), auf die Sequenz von historischen Karten beinhalten. Die Verwendung eines neuronalen Netzwerks kann ein unbeaufsichtigtes Lernen ermöglichen, wo Hindernisse in der Zukunft liegen werden in Anbetracht genauer Kartendaten aus der Vergangenheit. Zum Beispiel können bestimmte soziale Verhaltensnormen, wie beispielsweise das Überholen anderer Personen rechts/links, automatisch in die Vorhersagen einbezogen werden. Block 26 kann die Sequenz von prädiktiven Karten übereinander überlagern, um eine Kartenüberlagerung zu erhalten. Ein Dämpfungsfaktor kann bei Block 28 auf die Kartenüberlagerung angewendet werden, sodass die Kartenüberlagerung ein Gitter von Zellen umfasst und jede Zelle eine Belegungswahrscheinlichkeit (z. B. eine Wahrscheinlichkeit, dass die Zelle belegt ist) umfasst, gemäß dem Dämpfungsfaktor. Das dargestellte Verfahren 22 stellt auch ein Auswählen eines Navigationspfades (z. B. Echtzeit-Roboter-Navigationspfad) bei Block 30 bereit, basierend auf der Kartenüberlagerung. Block 30 kann ein Auswählen von Zellpositionen umfassen, die eine Belegungswahrscheinlichkeit aufweisen, die unter einem bestimmten Schwellenwert liegt. Dementsprechend verbessert das dargestellte Verfahren 22 die Performance autonomer mobiler Systeme durch automatisches Lernen optimaler Navigationspfade im Laufe der Zeit und in sich verändernden Umgebungen.
-
Bezug nehmend nun auf 5 wird ein LSTM-Ansatz gezeigt. In dem dargestellten Beispiel werden Sensordaten an einen genauen Kartengenerator 32 bereitgestellt, der einen genauen Kartendatensatz 34 bestückt. Der genaue Kartendatensatz 34 kann zum Trainieren einer neuronalen LSTM-Netzwerkarchitektur 36 verwendet werden. Genauer können Sensoren wie beispielsweise LIDAR-Sensoren kontinuierlich Daten erzeugen, nachdem der Roboter in einer neuen Umgebung eingesetzt wird. Die Sensordaten können durch den genauen Kartengenerator 32 verwendet werden, um genaue Karten zu erzeugen. Die Funktionalität der genauen Kartenerzeugung kann der Funktionalität von Kartenerstellungs-Lösungen ähnlich sein, wie beispielsweise Simultanen Positionsbestimmung und Kartenerstellungs- (SLAM; simultaneous localization and mapping) Lösungen. Dementsprechend können bestehende Module genutzt werden, um genaue Karten zu erzeugen, wie hierin beschrieben.
-
Wenn vorbestehende Informationen über die Umgebung vorhanden sind, können die Karten auf der Grundlage von Anwendungs-/realistischen Regeln entwickelt werden. Zum Beispiel kann der Lebenszyklus des Hindernisses bei der genauen Kartenerzeugung erweitert werden, wenn bestimmt wird, dass LIDAR nicht in der Lage ist, die Hindernisse zu sehen. Somit kann jede Instanz in dem Datensatz 34 eine Sequenz von genauen Karten der Länge 2k sein (k Karten für die Eingabe und k Karten für die Boden-Wahrheits-Vorhersage). Während Daten akkumuliert werden, kann die neuronale LSTM-Netzwerk-Architektur 36 trainiert werden, indem der Kreuzentropie-Verlust zwischen vorhergesagten Karten und der Boden-Wahrheit unter Verwendung von Back-Propagation Through Time (BPTT; zeitliche Rückausbreitung) und „RMS-Prop“, unten stehend detaillierter erörtert, minimiert wird.
-
Das Training des neuronalen LSTM-Netzwerks (z. B. des „LSTM“) kann verschiedene Gewichte in dem LSTM bestimmen, die verwendet werden, um die Ausgabe basierend auf der Eingabe genau vorherzusagen. Zu Beginn können alle Gewichte in dem LSTM zufällig initialisiert werden. BPTT kann wie folgt arbeiten.
- 1. Eine sequentielle Eingabe (k Karten für die Eingabe) kann durch das LSTM ausgebreitet werden, um eine sequentielle Ausgabe zu erhalten.
- 2. Die vorhergesagte Ausgabe kann mit der erwarteten Ausgabe (k Karten für die Boden-Wahrheits-Vorhersage) verglichen werden, was eine Berechnung des Fehlers E ermöglicht.
- 3. Berechnen der Ableitungen ∂E/∂w des Fehlers im Hinblick auf jedes Netzwerkgewicht.
- 4. Basierend auf den Ableitungen Anpassen des Gewichts nach oben oder unten, je nachdem, welche Richtung den Fehler verringert. Es kann die Formel wt+1 = wt + α*∂E/∂wt verwendet werden.
- 5. Wiederholen der vorangehenden Prozedur, bis der Fehler geringer ist als erwartet.
-
Zeit kann bei BPTT einfach durch eine gut definierte, geordnete Reihe von Berechnungen ausgedrückt werden, die einen Zeitschritt mit dem nächsten verbinden (z. B. Back-Propagation).
-
Bei Operation 4 ist Alpha die Lernrate. Wenn die Lernrate sehr gering ist, kann die Konvergenz sehr langsam sein. Im Gegensatz dazu kann ein großes Alpha zu einer Divergenz führen. RMSProp ist eine Prozedur, die das Problem lösen kann, wie die Lernrate festgelegt wird. In unserem Beispiel skaliert die Prozedur Alpha für jeden Parameter automatisch gemäß der Gradienten-Historie. Infolgedessen wird, wenn der Gradient sehr groß ist, Alpha reduziert und umgekehrt.
-
Somit können Eingabe- und Boden-Wahrheits-Daten in einer neuen Umgebung automatisch und ohne irgendein menschliches Eingreifen gesammelt werden. Mit anderen Worten, der dargestellte Trainingsprozess kann unbeaufsichtigtes Lernen sein. Dementsprechend kann sich die vorgeschlagene Lösung automatisch an unterschiedliche Umgebungen anpassen.
-
Genauer gesagt kann die Aufgabe der Kartenvorhersage basierend auf vorherigen Beobachtungen den folgenden Ausdruck umfassen:
-
Dieses Problem kann durch eine Betrachtung des Problems aus der Perspektive des maschinellen Lernens (ML; machine learning) angegangen werden. Gemäß einem zugrundeliegenden Deep Learning- (DL) Ansatz kann das Problem lösbar sein, wenn ein angemessenes Ende-zu-Ende-Modell und ausreichende Trainingsdaten verfügbar sind. Das Problem der Kartenvorhersage erfüllt die Datenanforderung, da das Sammeln großer Mengen von Kartendaten durch einen geeigneten NavigationssoftwareStapel ausgeführt werden kann. Zusätzlich können Deep Learning-Techniken und neuronale LSTM-Netzwerke stabil und leistungsfähig genug sein, um Sequenzvorhersagen zu modellieren.
-
Ein einfaches neuronales LSTM-Netzwerk kann einen ein-dimensionalen (1D) Vektor eingeben und ausgeben. Es gibt jedoch viele Varianten von LSTM, die hochdimensionale Daten unterstützen. Ein Ansatz ist die Verwendung eines Convolutional LSTM, obwohl andere Ansätze verwendet werden können. Eine Schlüsselgleichung einer Convolutional LSTM-Zelle kann sein:
-
Wo it das Eingangs-Gate zur Zeit t ist, ft das Forget Gate zur Zeit t ist, Ct die Speicherzelle zur Zeit t ist, Ot das Ausgangs-Gate zur Zeit t ist, Ht der finale Zustand zur Zeit t ist, bezeichnet * den Convolution-Operator und ° bezeichnet das Hadamard-Produkt.
-
Eine Kartenüberlagerung der prädiktiven Karte kann basierend auf einer genauen Karte zur Zeit t und der vorhergesagten genauen Kartensequenz erzeugt werden:
-
Anstatt einer einfachen Überlagerung aller Daten in eine Karte kann die hierin beschriebene Kartenüberlagerung die Berücksichtigung von Hindernissen verhindern, die nicht existieren. Dementsprechend kann der freie Raum, der für den Roboter verfügbar ist, größer sein, und der Roboter ist leichter zu steuern, wie hierin beschrieben. Wie bereits angemerkt, kann der Navigationsstapel die Karte als ein Gitter von Belegungswahrscheinlichkeiten behandeln. Somit wird, wenn die Wahrscheinlichkeit einer Gitterzelle unter einem bestimmten Schwellenwert liegt, die Zelle möglicherweise nicht als ein Hindernis enthaltend betrachtet (z. B. gleich wie andere Zellen, deren Belegungswahrscheinlichkeit null ist). Ein Navigationsplan kann daher ausgewählt werden, um die minimale Wahrscheinlichkeit einer Kollision zu ergeben.
-
Zudem kann ein Dämpfungsfaktor eingeführt werden, um die Belegungswahrscheinlichkeit über die Zeit der Vorhersage zu reduzieren. Die Kartenüberlagerung kann daher eine prädiktive Karte
bestimmen, die die Navigation steuert, um viele Hindernisse zur gleichen Zeit und im Voraus zu vermeiden. Unter der Annahme, dass
die Belegungswahrscheinlichkeit des Gitters
für jede Gitterzelle ist, kann Folgendes bestimmt werden:
-
Hier ist f(k) der vorangehend erwähnte Dämpfungsfaktor, der eine willkürliche monotone Reduzierungsfunktion sein kann, die f(0) = 1 and f(k) ≥ 0 erfüllt. Gültige Beispiele umfassen, sind aber nicht beschränkt auf:
-
6 zeigt, dass die neuronale LSTM-Netzwerkarchitektur als ein Satz von verbundenen neuronalen LSTM-Netzwerken strukturiert sein kann. Genauer gesagt kann ein LSTM-Codierer 38 die Sequenz 18 von historischen Karten empfangen. Der dargestellte LSTM-Codierer 38 ist mit einem LSTM-Dekodierer 40 gekoppelt, der die Sequenz 20 von prädiktiven Karten erzeugt. Experimentelle Ergebnisse zeigen an, dass 2-Schicht-LSTMs mit jeweils 256 und 128 versteckten Zuständen in der Lage sind, sich bewegende Objekte zu erfassen und konsistent eine korrekte Vorhersage auszuführen.
-
Bezug nehmend nun auf 7 wird ein Performance-verbessertes autonomes mobiles System 42 gezeigt. Das mobile System 42 kann ein Roboter, ein autonomes Fahrzeug (z. B. Auto, Lieferwagen, Bus, Flugzeug, Raumfahrzeug) usw. sein. Bei dem dargestellten Beispiel umfasst das System 42 einen Host-Prozessor 44 (z. B. eine zentrale Verarbeitungseinheit/CPU; central processing unit), der eine integrierte Speichersteuerung (IMC; integrated memory controller) 46 aufweist, die mit einem Systemspeicher 48 gekoppelt ist.
-
Das dargestellte System 42 umfasst auch ein Eingangs-Ausgangs- (IO; Input-Output) Modul 50, das zusammen mit dem Prozessor 44 auf einem Halbleiter-Die 52 als System-auf-einem-Chip (SoC; system on chip) implementiert ist. Das IO-Modul 50 kann als eine Host-Vorrichtung fungieren, die z. B. mit einem LIDAR 56 und einem Massenspeicher 54 kommuniziert (z. B. Festplattenlaufwerk/HDD (hard disk drive), optische Platte, Solid-State-Festplatte/SSD (solid state drive), Flash-Speicher). Der Die 52 kann auch mit einem mechanischen Teilsystem 58 gekoppelt sein (z. B. Räder, Antriebseinheit, Verbrennungsmotoren, Einspritzdüsen, Pumpen usw.), die es dem System 42 ermöglichen, sich von einem Ort zu einem anderen zu bewegen.
-
Der Prozessor 44 kann die Logik 60 umfassen (z. B. Logik-Anweisungen, konfigurierbare Logik, Hardware-Logik mit fester Funktionalität usw. oder irgendeine Kombination derselben), die einen oder mehrere Aspekte des bereits erörterten Verfahrens 22 (4) implementiert. Somit kann die Logik 60 eine Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten erzeugen, die von dem LIDAR 56 erhalten werden, die Sequenz von prädiktiven Karten übereinander überlagern, um eine Kartenüberlagerung zu erhalten, und einen Dämpfungsfaktor auf die Kartenüberlagerung anwenden. Bei einem Beispiel umfasst die Kartenüberlagerung ein Gitter von Zellen und jede Zelle umfasst eine Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor. Obwohl die Logik 60 in dem Prozessor 44 abgebildet ist, kann die Logik 60 an anderer Stelle in dem mobilen System 42 positioniert sein.
-
8 zeigt eine Halbleiter-Package-Vorrichtung 62. Die Vorrichtung 62 kann einen oder mehrere Aspekte des Verfahrens 22 (4) implementieren und kann ohne weiteres den bereits erörterten Die 52 (7) ersetzen. Die dargestellte Vorrichtung 62 umfasst ein oder mehrere Substrate 64 (z. B. Silizium, Saphir, Galliumarsenid) und die Logik 66 (z. B. Transistor-Array und andere integrierte Schaltungs-/IC- (integrated circuit) Komponenten), gekoppelt mit dem einen oder den mehreren Substraten 64. Die Logik 66 kann zumindest teilweise in konfigurierbarer Logik oder Hardware-Logik mit fester Funktionalität implementiert sein. Bei einem Beispiel umfasst die Logik 66 Transistorkanalregionen, die innerhalb des einen oder der mehreren Substrate 64 positioniert (z. B. eingebettet) sind. Somit ist die Schnittstelle zwischen der Logik 66 und dem einen oder den mehreren Substraten 64 möglicherweise kein abrupter Übergang. Die Logik 66 kann auch als eine epitaktische Schicht umfassend betrachtet werden, die auf einem ersten Wafer des einen oder der mehreren Substrate 64 gewachsen ist.
-
Zusätzliche Anmerkungen und Beispiele:
-
Beispiel 1 kann ein Performance-verbessertes autonomes mobiles System umfassen, umfassend ein Detektions- und Abstandsmessungs-Teilsystem zum Erzeugen einer Sequenz von historischen Karten, ein mechanisches Teilsystem, einen mit der Mehrzahl von Sensoren und dem mechanischen Teilsystem gekoppelten Prozessor und einen mit dem Prozessor gekoppelten Speicher, wobei der Speicher einen Satz von Befehlen umfasst, die, wenn sie durch den Prozessor ausgeführt werden, das autonome mobile System veranlassen, eine Sequenz von prädiktiven Karten basierend auf der Sequenz von historischen Karten zu erzeugen, die Sequenz von prädiktiven Karten übereinander zu überlagern, um eine Kartenüberlagerung zu erhalten, und einen Dämpfungsfaktor auf die Kartenüberlagerung anzuwenden.
-
Beispiel 2 kann das autonome mobile System aus Beispiel 1 umfassen, wobei die Kartenüberlagerung ausgebildet ist zum Umfassen eines Gitters von Zellen und wobei jede Zelle ausgebildet ist zum Umfassen einer Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor.
-
Beispiel 3 kann das autonome mobile System aus Beispiel 1 umfassen, wobei die Anweisungen bei Ausführung verursachen, dass das autonome mobile System ein neuronales Netzwerk auf die Sequenz von historischen Karten trainiert, um die Sequenz von prädiktiven Karten zu erzeugen.
-
Beispiel 4 kann das autonome mobile System aus Beispiel 3 umfassen, wobei ein neuronales Langes-Kurzzeitgedächtnis-Netzwerk ausgebildet ist, um auf die Sequenz von historischen Karten trainiert zu werden.
-
Beispiel 5 kann das autonome mobile System aus einem der Beispiele 1 bis 4 umfassen, wobei die Anweisungen bei Ausführung verursachen, dass das autonome mobile System einen Navigationspfad basierend auf der Kartenüberlagerung auswählt.
-
Beispiel 6 kann das autonome mobile System aus Beispiel 5 umfassen, wobei der Navigationspfad ausgebildet ist, um ein Echtzeit-Roboter-Navigationspfad zu sein.
-
Beispiel 7 kann eine Halbleiter-Package-Vorrichtung umfassen, umfassend ein oder mehrere Substrate und eine mit dem einen oder den mehreren Substraten gekoppelte Logik, wobei die Logik zumindest teilweise in einer oder mehreren aus konfigurierbarer Logik oder Hardware-Logik mit fester Funktionalität implementiert ist, wobei die Logik mit dem einen oder den mehreren Substraten gekoppelt ist, um eine Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten zu erzeugen, die Sequenz von prädiktiven Karten übereinander zu überlagern, um eine Kartenüberlagerung zu erhalten, und einen Dämpfungsfaktor auf die Kartenüberlagerung anzuwenden.
-
Beispiel 8 kann die Halbleiter-Package-Vorrichtung aus Beispiel 7 umfassen, wobei die Kartenüberlagerung ausgebildet ist zum Umfassen eines Gitters von Zellen und wobei jede Zelle ausgebildet ist zum Umfassen einer Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor.
-
Beispiel 9 kann die Halbleiter-Package-Vorrichtung aus Beispiel 7 umfassen, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik ausgebildet ist zum Trainieren eines neuronalen Netzwerks auf die Sequenz von historischen Karten, um die Sequenz von prädiktiven Karten zu erzeugen.
-
Beispiel 10 kann die Halbleiter-Package-Vorrichtung aus Beispiel 9 umfassen, wobei ein neuronales Langes-Kurzzeitgedächtnis-Netzwerk ausgebildet ist, um auf die Sequenz von historischen Karten trainiert zu werden.
-
Beispiel 11 kann die Halbleiter-Package-Vorrichtung aus einem der Beispiele 7 bis 10 umfassen, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik ausgebildet ist zum Auswählen eines Navigationspfads basierend auf der Kartenüberlagerung.
-
Beispiel 12 kann die Halbleiter-Package-Vorrichtung aus Beispiel 11 umfassen, wobei der Navigationspfad ausgebildet ist, um ein Echtzeit-Roboter-Navigationspfad zu sein.
-
Beispiel 13 kann ein Verfahren zum Betreiben eines Performance-verbesserten autonomen mobilen Systems umfassen, umfassend ein Erzeugen einer Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten, ein Überlagern der Sequenz von prädiktiven Karten übereinander, um eine Kartenüberlagerung zu erhalten, und ein Anwenden eines Dämpfungsfaktors auf die Kartenüberlagerung.
-
Beispiel 14 kann das Verfahren aus Beispiel 13 umfassen, wobei die Kartenüberlagerung ein Gitter von Zellen umfasst und jede Zelle eine Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor umfasst.
-
Beispiel 15 kann das Verfahren aus Beispiel 13 umfassen, wobei das Erzeugen der Sequenz von prädiktiven Karten ein Trainieren eines neuronalen Netwerks auf die Sequenz von historischen Karten umfasst.
-
Beispiel 16 kann das Verfahren aus Beispiel 15 umfassen, wobei ein neuronales Langes-Kurzzeitgedächtnis-Netzwerk auf die Sequenz von historischen Karten trainiert wird.
-
Beispiel 17 kann das Verfahren aus einem der Beispiele 13 bis 16 umfassen, ferner umfassend ein Auswählen eines Navigationspfades basierend auf der Kartenüberlagerung.
-
Beispiel 18. Das Verfahren aus Beispiel 17, wobei der Navigationspfad ein Echtzeit-Roboter-Navigationspfad ist.
-
Beispiel 19 kann zumindest ein computerlesbares Speichermedium umfassen, das einen Satz von Befehlen umfasst, die, wenn sie durch ein Rechensystem ausgeführt werden, das Rechensystem veranlassen, eine Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten zu erzeugen, die Sequenz von prädiktiven Karten übereinander zu überlagern, um eine Kartenüberlagerung zu erhalten, und einen Dämpfungsfaktor auf die Kartenüberlagerung anzuwenden.
-
Beispiel 20 kann das zumindest eine computerlesbare Speichermedium aus Beispiel 19 umfassen, wobei die Kartenüberlagerung ausgebildet ist zum Umfassen eines Gitters von Zellen und wobei jede Zelle ausgebildet ist zum Umfassen einer Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor.
-
Beispiel 21 kann das zumindest eine computerlesbare Speichermedium aus Beispiel 19 umfassen, wobei die Anweisungen bei Ausführung verursachen, dass das Rechensystem ein neuronales Netzwerk auf die Sequenz von historischen Karten trainiert, um die Sequenz von prädiktiven Karten zu erzeugen.
-
Beispiel 22 kann das zumindest eine computerlesbare Speichermedium aus Beispiel 21 umfassen, wobei ein neuronales Langes-Kurzzeitgedächtnis-Netzwerk ausgebildet ist, um auf die Sequenz von historischen Karten trainiert zu werden.
-
Beispiel 23 kann das zumindest eine computerlesbare Speichermedium aus Beispiel 19 umfassen, wobei die Anweisungen bei Ausführung verursachen, dass das Rechensystem einen Navigationspfad basierend auf der Kartenüberlagerung auswählt.
-
Beispiel 24 kann das zumindest eine computerlesbare Speichermedium aus Beispiel 23 umfassen, wobei der Navigationspfad ausgebildet ist, um ein Echtzeit-Roboter-Navigationspfad zu sein.
-
Beispiel 25 kann ein Halbleiter-Package-Vorrichtung umfassen, umfassend ein Mittel zum Erzeugen einer Sequenz von prädiktiven Karten basierend auf einer Sequenz von historischen Karten, Mittel zum Überlagern der Sequenz von prädiktiven Karten übereinander, um eine Kartenüberlagerung zu erhalten, und Mittel zum Anwenden eines Dämpfungsfaktors auf die Kartenüberlagerung.
-
Beispiel 26 kann die Vorrichtung aus Beispiel 25 umfassen, wobei die Kartenüberlagerung ausgebildet ist zum Umfassen eines Gitters von Zellen und wobei jede Zelle ausgebildet ist zum Umfassen einer Belegungswahrscheinlichkeit gemäß dem Dämpfungsfaktor.
-
Beispiel 27 kann die Vorrichtung aus Beispiel 25 umfassen, wobei das Mittel zum Erzeugen der Sequenz von prädiktiven Karten Mittel zum Trainieren eines neuronalen Netzwerks auf die Sequenz von historischen Karten umfasst.
-
Beispiel 28 kann die Vorrichtung aus Beispiel 27 umfassen, wobei ein neuronales Langes-Kurzzeitgedächtnis-Netzwerk ausgebildet ist, um auf die Sequenz von historischen Karten trainiert zu werden.
-
Beispiel 29 kann die Vorrichtung aus einem der Beispiele 25 bis 28 umfassen, ferner umfassend Mittel zum Auswählen eines Navigationspfades basierend auf der Kartenüberlagerung.
-
Beispiel 30 kann die Vorrichtung aus Beispiel 29 umfassen, wobei der Navigationspfad ausgebildet ist, um ein Echtzeit-Roboter-Navigationspfad zu sein.
-
Somit kann die hierin beschriebene Technologie prädiktive Karten für die autonome Navigation über neuronale LSTM-Netzwerke und Kartenüberlagerungen erzeugen. Die Technologie kann Roboter und/oder andere mobile Systeme mit dem Attribut der Intelligenz ausstatten (z. B. Antizipation der Zukunft).
-
Ausführungsbeispiele sind für die Verwendung mit allen Typen von Halbleiterchips mit integrierter Schaltung („IC“) geeignet. Beispiele für diese IC-Chips umfassen, sind jedoch nicht beschränkt auf Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare Logik-Arrays (PLAs), Speicherchips, Netzwerkchips, Systeme-aufeinem-Chip (SoCs; systems on chip), SSD/NAND-Steuerungs-ASICs und dergleichen. Zusätzlich sind bei einigen der Zeichnungen Signalleiter-Leitungen mit Linien dargestellt. Einige können unterschiedlich sein, um konstituierendere Signalpfade anzuzeigen, eine Nummernetikette aufweisen, um eine Anzahl konstituierender Signalpfade anzuzeigen, und/oder Pfeile an einem oder mehreren Enden aufweisen, um die primäre Richtung des Informationsflusses anzuzeigen. Dies sollte jedoch nicht einschränkend ausgelegt werden. Vielmehr kann ein solches hinzugefügtes Detail in Verbindung mit einem oder mehreren beispielhaften Ausführungsbeispielen verwendet werden, um ein leichteres Verständnis einer Schaltung zu ermöglichen. Jede dargestellte Signalleitung, unabhängig davon, ob sie zusätzliche Informationen aufweist oder nicht, kann tatsächlich ein oder mehrere Signale umfassen, die sich in mehrere Richtungen bewegen können, und kann mit irgendeinem geeigneten Typ von Signalschema implementiert sein, z. B. digitale oder analoge Leitungen, die mit differentiellen Paaren, Glasfaserleitungen und/oder asymmetrischen (single-ended) Leitungen implementiert sind.
-
Beispielhafte Größen/Modelle/Werte/Bereiche können gegeben worden sein, obwohl die Ausführungsbeispiele nicht auf dieselben beschränkt sind. Da Fertigungstechniken (z. B. Photolithographie) im Laufe der Zeit reifen, wird erwartet, dass Vorrichtungen kleinerer Größe hergestellt werden könnten. Zusätzlich werden zur Vereinfachung der Darstellung und Erörterung, und um bestimmte Aspekte der Ausführungsbeispiele nicht zu verunklaren, gut bekannte Leistungs-/Masseverbindungen zu IC-Chips oder andere Komponenten möglicherweise in den Figuren gezeigt oder nicht gezeigt. Ferner können Anordnungen in Blockdiagrammform gezeigt sein, um ein Verunklaren der Ausführungsbeispiele zu vermeiden, und auch angesichts der Tatsache, dass Details im Hinblick auf die Implementierung solcher Blockdiagrammanordnungen stark von der Plattform abhängig sind, innerhalb der das Ausführungsbeispiel implementiert sein soll, d. h. solche Details sollten einem Fachmann gut bekannt sein. Wo spezielle Details (z. B. Schaltungen) ausgeführt sind, um beispielhafte Ausführungsbeispiele zu beschreiben, sollte es für Fachleute auf dem Gebiet offensichtlich sein, dass Ausführungsbeispiele ohne oder mit Variation dieser speziellen Details ausgeführt werden können. Die Beschreibung ist deshalb als darstellend anstatt als beschränkend zu betrachten.
-
Der Begriff „gekoppelt“ kann hierin verwendet werden, um sich auf irgendeinen Typ von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten zu beziehen, und kann für elektrische, mechanische, flüssige, optische, elektromagnetische, elektromechanische oder andere Verbindungen gelten. Zusätzlich werden die Begriffe „erste“, „zweite“ usw. hierin möglicherweise nur zur Erleichterung der Erörterung verwendet und weisen, sofern nicht anders angegeben, keine besondere zeitliche oder chronologische Bedeutung auf.
-
Gemäß der Verwendung in dieser Anmeldung und in den Patentansprüchen, kann eine Liste von Elementen, die durch den Ausdruck „eines oder mehrere von“ verbunden sind, irgendeine Kombination der aufgezählten Ausdrücke bedeuten. Zum Beispiel können die Phrasen „eines oder mehrere von A, B oder C“ A, B, C; A und B; A und C; B und C; oder A, B und C bedeuten.
-
Fachleute auf dem Gebiet werden aus der vorstehenden Beschreibung erkennen, dass die breiten Techniken der Ausführungsbeispiele in einer Vielzahl von Formen implementiert sein können. Daher sollte, obwohl die Ausführungsbeispiele in Verbindung mit bestimmten Beispielen von denselben beschrieben wurden, der wahre Umfang der Ausführungsbeispiele nicht so begrenzt sein, da dem Fachmann nach dem Studium der Zeichnungen, Beschreibung und der folgenden Ansprüche andere Modifikationen ersichtlich werden.