DE102018214828B4 - Method, device and computer program for predicting a location of a plurality of objects - Google Patents
Method, device and computer program for predicting a location of a plurality of objects Download PDFInfo
- Publication number
- DE102018214828B4 DE102018214828B4 DE102018214828.7A DE102018214828A DE102018214828B4 DE 102018214828 B4 DE102018214828 B4 DE 102018214828B4 DE 102018214828 A DE102018214828 A DE 102018214828A DE 102018214828 B4 DE102018214828 B4 DE 102018214828B4
- Authority
- DE
- Germany
- Prior art keywords
- objects
- fictitious
- speed
- depending
- determined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 title claims description 11
- 238000010801 machine learning Methods 0.000 claims abstract description 19
- 230000009471 action Effects 0.000 claims abstract description 8
- 238000005259 measurement Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims 2
- 238000009826 distribution Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/065—Traffic control systems for road vehicles by counting the vehicles in a section of the road or in a parking area, i.e. comparing incoming count with outgoing count
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/123—Traffic control systems for road vehicles indicating the position of vehicles, e.g. scheduled vehicles; Managing passenger vehicles circulating according to a fixed timetable, e.g. buses, trains, trams
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Feedback Control In General (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Verfahren (30) zum Prädizieren jeweils eines Aufenthaltsortes, insbesondere eines Bewegungsverlaufs, einer Mehrzahl von Objekten (P1,P2),wobei eine Karte (20), die zumindest einen Aktionsraum der Objekte (P1, P2) umfasst und in eine Mehrzahl von Zellen (21) aufgeteilt ist, bereitgestellt (31) wird,wobei jeder Zelle (21) eine erste Größe (22) zugeordnet ist, die, insbesondere eine Wahrscheinlichkeit (P(Oc)), charakterisiert, ob sich zumindest eines der Objekte (P1, P2) innerhalb der jeweiligen Zelle befindet,wobei eine Mehrzahl von fiktiven Objekten auf der Karte (20) platziert (32) sind und den fiktiven Objekten jeweils ein Gewicht abhängig von derjenigen ersten Größe (22), die der Zelle, innerhalb welcher das jeweilige fiktive Objekt platziert ist, zugeordnet (33) wird,wobei ein maschinelles Lernsystem abhängig von der Karte (20) eine Mehrzahl unterschiedlicher diskreter Geschwindigkeiten ermittelt,wobei eine neue Position (r') der fiktiven Objekte abhängig von einer ausgewählten diskreten Geschwindigkeit der Mehrzahl der unterschiedlichen diskreten Geschwindigkeiten ermittelt wird und die fiktiven Objekte anhand der neuen Position (r') auf der Karte (20) platziert (34) werden,wobei die erste Größe (22) der Zellen abhängig von den Gewichten derjenigen fiktiven Objekte, die innerhalb der jeweiligen Zelle platziert sind, ermittelt (35) wird.Method (30) for predicting a location, in particular a movement path, of a plurality of objects (P1, P2), wherein a map (20) which comprises at least one action area of the objects (P1, P2) and is divided into a plurality of cells (21) is provided (31), wherein each cell (21) is assigned a first size (22) which characterizes, in particular a probability (P(Oc)), whether at least one of the objects (P1, P2) is located within the respective cell, wherein a plurality of fictitious objects are placed (32) on the map (20) and the fictitious objects are each assigned a weight depending on the first size (22) which is assigned (33) to the cell within which the respective fictitious object is placed, wherein a machine learning system determines a plurality of different discrete speeds depending on the map (20), wherein a new position (r') of the fictitious objects is determined depending on a selected discrete speed the majority of the different discrete speeds is determined and the fictitious objects are placed (34) on the map (20) based on the new position (r'), wherein the first size (22) of the cells is determined (35) depending on the weights of those fictitious objects placed within the respective cell.
Description
Technisches GebietTechnical area
Die Erfindung betrifft ein Verfahren zum Prädizieren eines Aufenthaltsortes einer Mehrzahl von Objekten mittels eines maschinellen Lernsystems. Ebenso betrifft die Erfindung eine Vorrichtung und ein Computerprogramm, die jeweils eingerichtet sind, das Verfahren auszuführen.The invention relates to a method for predicting a location of a plurality of objects by means of a machine learning system. The invention also relates to a device and a computer program, each of which is configured to carry out the method.
Stand der TechnikState of the art
Die nicht vorveröffentlichte
Die nicht vorveröffentlichte
Offenbarung der ErfindungDisclosure of the invention
In einem ersten Aspekt wird ein, insbesondere computerimplementiertes, Verfahren zum Prädizieren jeweils eines Aufenthaltsortes, insbesondere eines Bewegungsverlaufs, einer Mehrzahl von Objekten vorgestellt. Zuerst wird eine Karte, die einen Aktionsraum der Objekte umfasst und in eine Mehrzahl von Zellen aufgeteilt ist, bereitgestellt. Jeder Zelle ist eine erste Größe zugeordnet, die, insbesondere eine Wahrscheinlichkeit, charakterisiert, ob sich zumindest eines der Objekte innerhalb der jeweiligen Zelle befindet. Eine Mehrzahl von fiktiven Objekten sind auf der Karte platziert und jedem fiktiven Objekt wird ein Gewicht abhängig von derjenigen ersten Größe, die der Zelle, innerhalb welcher das jeweilige fiktive Objekt platziert ist, zugeordnet. Daraufhin ermittelt ein maschinelles Lernsystem abhängig von der bereitgestellten Karte, insbesondere einer Geometrie und/oder Umriss und/oder Form des Aktionsraums, eine Mehrzahl unterschiedlicher diskreter Geschwindigkeiten, insbesondere für jede Zelle. Anschließend wird eine neue Position der fiktiven Objekte abhängig von einer ausgewählten diskreten Geschwindigkeit der Mehrzahl der unterschiedlichen diskreten Geschwindigkeiten ermittelt und die fiktiven Objekte anhand der neuen Position auf der Karte platziert. Die erste Größe der Zellen wird abhängig von den Gewichten derjenigen fiktiven Objekte, die innerhalb der jeweiligen Zelle platziert sind, ermittelt.In a first aspect, a method, in particular a computer-implemented method, is presented for predicting a location, in particular a movement path, of a plurality of objects. First, a map is provided which comprises an action space of the objects and is divided into a plurality of cells. Each cell is assigned a first size which characterizes, in particular a probability, whether at least one of the objects is located within the respective cell. A plurality of fictitious objects are placed on the map and each fictitious object is assigned a weight depending on the first size assigned to the cell within which the respective fictitious object is placed. A machine learning system then determines a plurality of different discrete speeds, in particular for each cell, depending on the map provided, in particular a geometry and/or outline and/or shape of the action space. A new position of the fictitious objects is then determined depending on a selected discrete speed of the plurality of different discrete speeds and the fictitious objects are placed on the map based on the new position. The first size of the cells is determined depending on the weights of the fictitious objects placed within the respective cell.
Das Verfahren hat den Vorteil, dass es mit einer beliebigen und unbekannten Anzahl von Objekten durchführbar ist und deren Aufenthaltsorte gleichzeitig prädiziert werden können, da die jeweiligen Objekte keinem Datenpunkt, wie einer Zelle oder einem fiktiven Objekt, zugeordnet werden müssen. Ferner hat das Verfahren den Vorteil, dass durch das maschinelle Lernsystem gelerntes Wissen über die Interaktion der Objekte mit der Umgebung zum Prädizieren verwendet werden kann. Beispielweise kann aus der Form des Aktionsraums mittels des maschinellen Lernsystems eine Bewegung der Objekte abgeleitet werden, die anschließend zum Ermitteln der neuen Positionen der fiktiven Objekte verwendet wird. Unter Prädizieren des Aufenthaltsortes wird verstanden, dass zu einem nachfolgenden Zeitpunkt der Aufenthaltsort vorhergesagt wird.The method has the advantage that it can be carried out with any and unknown number of objects and their locations can be predicted simultaneously, since the respective objects do not have to be assigned to a data point, such as a cell or a fictitious object. The method also has the advantage that knowledge learned by the machine learning system about the interaction of the objects with the environment can be used for prediction. For example, a movement of the objects can be derived from the shape of the action space using the machine learning system, which is then used to determine the new positions of the fictitious objects. Predicting the location means that the location is predicted at a subsequent point in time.
Es wird vorgeschlagen, dass, insbesondere zufällig und mehrfach, die fiktiven Objekte abhängig von den zugeordneten Gewichten ausgewählt werden und die ausgewählten fiktiven Objekte innerhalb der jeweiligen Zelle, innerhalb welcher die ausgewählten fiktiven Objekte platziert sind, platziert werden.It is proposed that, in particular, randomly and repeatedly, the fictitious objects are selected depending on the assigned weights and the selected fictitious objects are placed within the respective cell within which the selected fictitious objects are placed.
Vorteilhaft hieran ist, dass durch das Auswählen der fiktiven Objekte abhängig von deren Gewichte, die fiktiven Objekte auf der Karte derart verteilt werden, wie es erwartet wird, dass die Objekte angeordnet sind. Dies erlaubt eine ressourceneffiziente Abschätzung der momentanen Anordnung der Objekte. Des Weiteren weist dieses Vorgehen den Vorteil auf, dass mehrere Modalitäten einer nichtdeterministischen Dynamik abgebildet werden können. Deshalb muss mittels der fiktiven Objekte nicht entschieden werden, z.B. an einer Kreuzung, welcher Weg eingeschlagen wird, sondern die fiktiven Objekte teilen sich nach Wahrscheinlichkeiten und zufälliger Initialisierung entlang der möglichen Wege auf. Vorzugsweise wird das Auswählen durch ein Ziehen mit Zurücklegen gemäß einem Urnenmodel realisiert, wobei die Wahrscheinlichkeiten, dass das fiktive Objekt gezogen wird, abhängig von den Gewichten der fiktiven Objekte sind.The advantage of this is that by selecting the fictitious objects depending on their weights, the fictitious objects are distributed on the map in the way that the objects are expected to be arranged. This allows a resource-efficient estimation of the current arrangement of the objects. Furthermore, this procedure has the advantage that several modalities of a non-deterministic dynamic can be mapped. Therefore, it is not necessary to use the fictitious objects to decide which path to take, e.g. at an intersection, but the fictitious objects are distributed along the possible paths according to probabilities and random initialization. Preferably, the selection is realized by drawing and replacing according to an urn model, where the probabilities that the fictitious object is pulled depends on the weights of the fictitious objects.
Weiterhin wird vorgeschlagen, dass das maschinelle Lernsystem eine Mehrzahl von Wahrscheinlichkeiten für die unterschiedlichen diskreten Geschwindigkeiten, insbesondere für jede diskrete Geschwindigkeit der fiktiven Objekte eines vorherigen Zeitpunktes, ermittelt.It is further proposed that the machine learning system determines a plurality of probabilities for the different discrete speeds, in particular for each discrete speed of the fictitious objects of a previous point in time.
Weiterhin wird vorgeschlagen, dass die ersten Größen der Zellen abhängig von einem Produkt der Gewichte der fiktiven Objekte, die innerhalb der jeweiligen Zelle platziert sind, ermittelt wird.Furthermore, it is proposed that the first sizes of the cells are determined depending on a product of the weights of the fictitious objects placed within the respective cell.
Vorteilhaft hierbei ist, dass anhand diese Vorgehens rechen- und zeiteffizient die ersten Größen nach dem Platzieren der fiktiven Objekte an ihren neuen Positionen ermittelt werden können, wobei das nichtdeterministische Verhalten realer Objekte mitmodelliert wird.The advantage here is that this approach can be used to determine the first variables after placing the fictitious objects in their new positions in a computationally and time-efficient manner, whereby the non-deterministic behavior of real objects is also modeled.
Weiterhin wird vorgeschlagen, dass eine Messung, insbesondere eine Erfassung der Objekte, durchgeführt wird, wobei abhängig von der Messung eine Mehrzahl der ersten Größen der Zellen ermittelt, insbesondere angepasst, werden.Furthermore, it is proposed that a measurement, in particular a detection of the objects, is carried out, wherein, depending on the measurement, a plurality of the first sizes of the cells are determined, in particular adapted.
Der Vorteil ist, dass durch die Messung Informationen aus der Umgebung einfließen, wodurch die ersten Größen zusätzlich abhängig von der Messung angepasst werden können. Die Messung kann korrigierend auf das Verfahren einwirken und damit die Genauigkeit des Verfahrens erhöhen. Da das Verfahren zufällig initialisiert werden kann, kann anhand der Messungen zuverlässiger die reale Anordnung der Objekte bestimmt werden.The advantage is that the measurement incorporates information from the environment, which means that the initial values can be adjusted depending on the measurement. The measurement can have a corrective effect on the process and thus increase the accuracy of the process. Since the process can be randomly initialized, the real arrangement of the objects can be determined more reliably based on the measurements.
Weiterhin wird vorgeschlagen, dass das maschinelle Lernsystem ein faltendes neuronales Netz (engl. Convolutional Neural Network) ist. Das maschinelle Lernsystem ermittelt jeweils eine Mehrzahl der unterschiedlichen diskreten Geschwindigkeiten, insbesondere eine Geschwindigkeitsverteilung, für jede Zelle.It is further proposed that the machine learning system is a convolutional neural network. The machine learning system determines a plurality of the different discrete speeds, in particular a speed distribution, for each cell.
Unter einer Geschwindigkeitsverteilung wird verstanden, dass den unterschiedlichen diskreten Geschwindigkeiten jeweils eine Wahrscheinlichkeit zugewiesen wird, die angibt, wie wahrscheinlich es ist, dass ein Objekt innerhalb dieser Zelle die jeweilige diskrete Geschwindigkeit aufweist. Vorteilhaft hierbei ist, dass ein präzises Bestimmen der ausgewählten Geschwindigkeiten für die fiktiven Objekte durchgeführt und die Robustheit des Verfahrens erhöht werden kann.A speed distribution means that the different discrete speeds are each assigned a probability that indicates how likely it is that an object within this cell has the respective discrete speed. The advantage here is that the selected speeds for the fictitious objects can be precisely determined and the robustness of the method can be increased.
Weiterhin wird vorgestellt, dass eine Steuergröße zur Steuerung eines Roboters in Abhängigkeit der ersten Größen der Zellen ermittelt wird. Alternativ kann die Steuergröße zum Steuern eines Aktors eines technischen Systems verwendet werden. Das technische System kann zum Beispiel eine zumindest teilautonome Maschine, ein zumindest teilautonomes Fahrzeug oder ein Flugobjekt, wie eine Drohne sein.It is further proposed that a control variable for controlling a robot is determined depending on the first sizes of the cells. Alternatively, the control variable can be used to control an actuator of a technical system. The technical system can be, for example, an at least partially autonomous machine, an at least partially autonomous vehicle or a flying object such as a drone.
In einem weiteren Aspekt wird ein Computerprogramm vorgeschlagen. Das Computerprogramm ist eingerichtet, eines der vorherigen genannten Verfahren auszuführen. Das Computerprogramm umfasst Anweisungen, die einen Computer veranlassen, eines dieser genannten Verfahren mit all seinen Schritten auszuführen, wenn das Computerprogramm auf dem Computer abläuft. Ferner wird ein maschinenlesbares Speichermodul vorgeschlagen, auf welchem das Computerprogramm gespeichert ist. Des Weiteren wird eine Vorrichtung vorgeschlagen, die eingerichtet ist eines der Verfahren auszuführen.In a further aspect, a computer program is proposed. The computer program is designed to carry out one of the previously mentioned methods. The computer program comprises instructions that cause a computer to carry out one of these mentioned methods with all its steps when the computer program is running on the computer. Furthermore, a machine-readable memory module is proposed on which the computer program is stored. Furthermore, a device is proposed that is designed to carry out one of the methods.
Ausführungsbeispiele der oben genannten Aspekte sind in den beiliegenden Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert. Dabei zeigen:Embodiments of the above-mentioned aspects are shown in the accompanying drawings and explained in more detail in the following description. Shown are:
Kurze Beschreibung der ZeichnungenShort description of the drawings
-
1 eine schematische Darstellung eines Roboters;1 a schematic representation of a robot; -
2A eine schematische Darstellung einer Karte des Raumes, in welchem sich der Roboter und zwei Objekte befinden;2A a schematic representation of a map of the room in which the robot and two objects are located; -
2B eine schematische Darstellung der Karte des Raumes, wobei die Karte in Zellen aufgeteilt ist;2 B a schematic representation of the map of the room, with the map divided into cells; -
3 eine schematische Darstellung einer Ausführungsform des Verfahrens zum Prädizieren eines Aufenthaltsortes von Objekten;3 a schematic representation of an embodiment of the method for predicting a location of objects;
Das zumindest teilautonome Fahrzeug (10) kann eine Erfassungseinheit (11) umfassen. Die Erfassungseinheit (11) kann zum Beispiel eine Kamera sein, welche eine Umgebung des Fahrzeugs (10) erfasst, oder ein Radar sein, welches Abstände zu Objekten in der Umgebung des Fahrzeugs (10) erfasst. In einer weiteren Ausführungsform kann die Erfassungseinheit (11) ein Tiefensensor sein. Die Erfassungseinheit (11) kann mit einem Prädiktionsmodul (12) verbunden sein. Das Prädiktionsmodul (12) ermittelt in Abhängigkeit einer bereitgestellten Karte und vorzugsweise abhängig von einer bereitgestellten Eingangsgröße, z.B. bereitgestellt von der Erfassungseinheit (11), eine Ausgangsgröße, vergleiche hierzu
Die Steuerungseinheit (13) steuert in Abhängigkeit der Ausgangsgröße des Prädiktionsmoduls (12) einen Aktor, vorzugsweise steuert diesen den Aktor derart, dass das Fahrzeug (10) ein kollisionsfreies Manöver ausführt. Im ersten Ausführungsbeispiel kann der Aktor ein Motor oder ein Bremssystem des Fahrzeugs (10) sein. Alternativ kann abhängig von der Ausgangsgröße des Prädiktionsmoduls (12) eine Trajektorie des Fahrzeugs (10) oder der Objekte ermittelt werden.The control unit (13) controls an actuator depending on the output variable of the prediction module (12), preferably controlling the actuator in such a way that the vehicle (10) carries out a collision-free maneuver. In the first embodiment, the actuator can be an engine or a braking system of the vehicle (10). Alternatively, a trajectory of the vehicle (10) or the objects can be determined depending on the output variable of the prediction module (12).
Ferner umfasst das Fahrzeug (10), insbesondere der teilautonome Roboter, eine Recheneinheit (14) und ein maschinenlesbares Speicherelement (15). Auf dem Speicherelement (15) kann ein Computerprogramm gespeichert sein, welches Befehle umfasst, die beim Ausführen der Befehle auf der Recheneinheit (14) dazu führen, dass die Recheneinheit (14) das Verfahren zum Prädizieren der Aufenthaltsorte von Objekten wie z.B. in
In einem alternativen Ausführungsbeispiel kann das Prädiktionsmodul (12), das mit der Erfassungseinheit (11) wie im ersten Ausführungsbeispiel verbunden ist, für eine Gebäudesteuerung eingesetzt werden. Ein Nutzerverhalten wird mittels eines Sensors erfasst, beispielsweise einer Kamera oder eines Bewegungsmelders, und die Steuerungseinheit steuert beispielsweise eine automatisierte Türe abhängig von der Ausgangsgröße des Prädiktionsmoduls (12). Das Prädiktionsmodul (12) kann dann eingerichtet sein, auf Basis des erfassten Nutzerverhalten vorherzusagen, wohin sich der Nutzer bewegen wird, um gezielt bspw. die Türe anzusteuern. Alternativ kann das Prädiktionsmodul (12) in einer Produktionshalle verwendet werden, um zu überwachen, dass keine Person zu nahe an eine Produktionsmaschine gelangt und diese gegebenenfalls abzuschalten.In an alternative embodiment, the prediction module (12), which is connected to the detection unit (11) as in the first embodiment, can be used for building control. User behavior is detected by means of a sensor, for example a camera or a motion detector, and the control unit controls, for example, an automated door depending on the output variable of the prediction module (12). The prediction module (12) can then be set up to predict where the user will go based on the detected user behavior in order to specifically control the door, for example. Alternatively, the prediction module (12) can be used in a production hall to monitor that no person gets too close to a production machine and to switch it off if necessary.
In einem weiteren Ausführungsbeispiel kann das Prädiktionsmodul (12) für ein Assistenzsystem verwendet werden, beispielsweise ein Parkassistenzsystem, welches abhängig von dem Prädiktionsmodul (12), das die Bewegung der Objekte in der Umgebung vorhersagt, ein Parkmanöver ausführt. Denkbar ist, dass anstatt der Erfassungseinheit (11) in diesem Ausführungsbeispiel stationäre Sensoren in der Umgebung des Assistenzsystem angeordnet sind.In a further embodiment, the prediction module (12) can be used for an assistance system, for example a parking assistance system, which carries out a parking maneuver depending on the prediction module (12) that predicts the movement of the objects in the environment. It is conceivable that instead of the detection unit (11) in this embodiment, stationary sensors are arranged in the environment of the assistance system.
Das Prädiktionsmodul (12) kann ein tiefes neuronales Netz, insbesondere ein faltendes neuronales Netz (engl. Convolutional Neural Network), umfassen. Beispielsweise kann das tiefe neuronale Netz das angelernte tiefes neuronales Netz aus einem der eingangsgenannten Dokumente sein.The prediction module (12) can comprise a deep neural network, in particular a convolutional neural network. For example, the deep neural network can be the trained deep neural network from one of the documents mentioned above.
Es sei angemerkt, dass die Wahl der Zellgröße, insbesondere der Zellform (z. B. rund oder dreieckig) beliebig gewählt werden kann. Es sei ferner angemerkt, dass die Karte (20) alternativ oder zusätzlich geographische Gegebenheiten, wie zum Beispiel Straßenverläufe oder Gebäudeanordnungen, darstellen kann.It should be noted that the choice of cell size, in particular the cell shape (e.g. round or triangular) can be arbitrary. It should also be noted that the map (20) can alternatively or additionally show geographical features, such as road courses or building layouts.
Das Verfahren (30) beginnt mit Schritt 31. In Schritt 31 wird eine Karte (20), die beispielsweise eine Umgebung des Roboters abbildet, bereitgestellt. Die Karte (20) wird anschließend in Zellen (21) zerlegt. Einer jeder Zelle wird zu Beginn initial eine geschätzte bzw. zufällige Auftrittswahrscheinlichkeit (22) zugewiesen. Die Auftrittswahrscheinlichkeit (22) kann charakterisieren, ob sich eines der Objekte innerhalb der jeweiligen Zelle befindet bzw. wie wahrscheinlich es ist, dass eines der Objekte sich innerhalb der jeweiligen Zelle befindet, vergleiche hierzu
Nachdem Schritt 31 abgeschlossen wurde, folgt Schritt 32. In Schritt 32 werden die fiktiven Objekte, insbesondere abhängig von ihrer zugeordneten Position, auf der Karte platziert.After
Im nachfolgenden Schritt 33 werden die fiktiven Objekte mit jeweils einem Gewicht versehen. Dabei wird das jeweilige Gewicht abhängig von der Auftrittswahrscheinlichkeit (22), die der jeweiligen Zelle zugewiesen wurde, innerhalb welcher sich das jeweilige fiktive Objekt befindet, ermittelt. Beispielsweise kann das Gewicht eines der fiktiven Objekte der Wert der Auftrittswahrscheinlichkeit der jeweiligen Zelle sein, innerhalb welcher sich das fiktive Objekt befindet.In the following
Nach Beenden des Schrittes 33, wird Schritt 34 durchgeführt. Hierin wird abhängig von den Gewichten der fiktiven Objekte mittels Ziehen mit Zurücklegen eine vorgebbare Anzahl von fiktiven Objekte gezogen, zweckgemäß beträgt die Anzahl der gezogenen fiktiven Objekte gleich der Anzahl der initialisierten fiktiven Objekte. Sind beispielsweise 1000 fiktive Objekte auf der Karte platziert und jedes dieser fiktiven Objekte weist ein Gewicht auf, werden aus diesen 1000 fiktiven Objekte wieder 1000 fiktive Objekte zufällig mit Zurücklegen gezogen, wodurch es sein kann, dass einzelne fiktive Objekte mehrfach gezogen werden, insbesondere wenn diese ein großes Gewicht aufweisen. Anschließend werden die gezogenen fiktiven Objekte auf der Karte platziert. Die Platzierung erfolgt anhand der Position, die den fiktiven Objekten zugewiesen ist. Vorzugsweise übernehmen die gezogenen fiktiven Objekte die Geschwindigkeit der jeweiligen fiktiven Objekte.After
Daraufhin kann Schritt 35 durchgeführt werden. Hierbei werden die Gewichte der fiktiven Objekte abhängig von der Anzahl der fiktiven Objekte, die sich innerhalb der gleichen Zelle befinden, angepasst. Beispielsweise kann jedes Gewicht der fiktiven Objekte, die sich alle innerhalb der gleichen Zelle befinden, durch die Anzahl der innerhalb dieser Zelle befindenden fiktiven Objekte dividiert werden.Step 35 can then be performed. Here, the weights of the fictitious objects are adjusted depending on the number of fictitious objects that are located within the same cell. For example, each weight of the fictitious objects that are all located within the same cell can be divided by the number of fictitious objects located within that cell.
Im nachfolgenden Schritt 36 kann die den fiktiven Objekten zugeordnete Geschwindigkeit (v) normiert werden. Beispielsweise kann die zugeordnete Geschwindigkeit ein Vektor sein, der abhängig von einem Betrag des Vektors normiert wird.
Anschließend folgt Schritt 37. in Schritt 37 wird einem angelernt maschinellen Lernsystem die Karte (20) als Eingangsgröße bereitgestellt. Das angelernte maschinelle Lernsystem ermittelt daraufhin abhängig von der Karte, insbesondere der Umrisse oder Geometrie der Aktionsräume der Objekte und/oder des Roboters (10), für jede Zelle jeweils eine Geschwindigkeitsverteilung. Die Geschwindigkeitsverteilung kann beispielsweise eine Matrix sein, deren Dimensionen jeweils einer Richtung entsprechen, in welche sich die Objekte auf der Karte bewegen und jeweils den Spalten und/oder den Zeilen kann eine Geschwindigkeit zugeordnet sein. Die Einträge der Matrix können angeben, mit welcher Wahrscheinlichkeit das fiktive Objekt die jeweilige Richtung mit der jeweiligen Geschwindigkeit aufweist. Anschließend wird abhängig von der ermittelten Geschwindigkeitsverteilung und der jeweils zugeordneten Geschwindigkeit der fiktiven Objekte, jedem fiktiven Objekt eine aktualisierte Geschwindigkeit aus der ermittelten Geschwindigkeitsverteilung zugeordnet, vorzugsweise zufällig gezogen (siehe nachfolgende Gleichung 4).This is followed by
Es sei angemerkt, dass das maschinelle Lernsystem hierfür wie in den eingangsgenannten Dokumenten angelernt worden sein kann. Ferner sei angemerkt, dass das maschinelle Lernsystem zusätzlich abhängig von der Geschwindigkeit der, insbesondere fiktiven, Objekten die Geschwindigkeitsverteilung ermittelt.It should be noted that the machine learning system can have been trained for this purpose as in the documents mentioned above. It should also be noted that the machine learning system also determines the speed distribution depending on the speed of the objects, especially fictitious ones.
Die Zuordnung der aktualisierten Geschwindigkeit kann beispielsweise mit nachfolgenden Gleichungen durchgeführt werden, wobei nach Gleichung 4 die aktualisierte Geschwindigkeit zufällig gezogen wird:
In Schritt 38 wird daraufhin eine Veränderung der Geschwindigkeit, insbesondere eine Beschleunigung, abhängig von der ermittelten Geschwindigkeitsverteilung bestimmt. Siehe hierfür beispielsweise
Alternativ kann das maschinelle Lernsystem des Weiteren derart angelernt worden sein, dass dieses abhängig von der Karte (20) eine Beschleunigungsverteilung ermittelt, aus welcher bei gegebener aktualisierten Geschwindigkeit eine Beschleunigung bestimmt wird.Alternatively, the machine learning system may further be trained to determine an acceleration distribution depending on the map (20), from which an acceleration is determined for a given updated speed.
Nachdem Schritt 38 abgeschlossen wurde, kann Schritt 39 folgen. Hierin wird die Veränderung der Geschwindigkeit abhängt von der Normierung der Geschwindigkeit mit
In Schritt 40 wird abhängig von der aktualisierten Geschwindigkeit
Anschließend wird in Schritt 40 abhängig von der neuen Geschwindigkeit (v') der fiktiven Objekte jeweils eine neue Position (r') der fiktiven Objekte ermittelt. Dies kann beispielsweise mit der Gleichung 6 durchgeführt werden:
Daraufhin wird in Schritt 41 die Auftrittswahrscheinlichkeiten der Zellen abhängig und den Gewichten derjenigen fiktiven Objekte, die sich innerhalb der jeweiligen Zellen befinden, aktualisiert. Beispielhaft mit der Gleichung:
Optional kann in einem nachfolgenden Schritt eine Umfeldmessung durchgeführt werden, bei welcher beispielsweise die Positionen der Objekte erfasst werden. Abhängig von dieser Umfeldmessung können die Auftrittswahrscheinlichkeiten der Zellen angepasst werden. Dies kann beispielsweise mit der nachfolgenden Gleichung durchgeführt werden:
Damit endet das Verfahren (30). Vorteilhafterweise wird das Verfahren (30) zyklisch mit Schritt 33 wieder begonnen. Hierbei kann beim Ziehen der fiktiven Objekte in Schritt 34 deren ermittelten Positionen und vor allem deren ermittelten Geschwindigkeiten beibehalten werden. Es sei angemerkt, dass die Abfolge der Schritte in jeder erdenklichen Reihenfolge durchgeführt werden kann.This ends the method (30). Advantageously, the method (30) is started again cyclically with
Abhängig von der Auftrittswahrscheinlichkeit der Zellen kann die Position der Objekte (P1, P2) zu einem nachfolgenden Zeitpunkt ermittelt werden. Beispielsweise sind die Auftrittswahrscheinlichkeiten einzelner Zellen relativ hoch zu ihren Nachbarzellen, kann daraus abgeleitet werden, dass sich ein Objekt zu dem nachfolgenden Zeitpunkt innerhalb dieser Zellen befinden wird.Depending on the probability of occurrence of the cells, the position of the objects (P1, P2) at a subsequent point in time can be determined. For example, if the probability of occurrence of individual cells is relatively high compared to their neighboring cells, it can be deduced that an object will be located within these cells at the subsequent point in time.
Claims (17)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018214828.7A DE102018214828B4 (en) | 2018-08-31 | 2018-08-31 | Method, device and computer program for predicting a location of a plurality of objects |
CN201910813290.4A CN110928292A (en) | 2018-08-31 | 2019-08-30 | Method, device and computer program for predicting a location of stay of a plurality of objects |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102018214828.7A DE102018214828B4 (en) | 2018-08-31 | 2018-08-31 | Method, device and computer program for predicting a location of a plurality of objects |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102018214828A1 DE102018214828A1 (en) | 2020-03-05 |
DE102018214828B4 true DE102018214828B4 (en) | 2024-05-16 |
Family
ID=69527354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102018214828.7A Active DE102018214828B4 (en) | 2018-08-31 | 2018-08-31 | Method, device and computer program for predicting a location of a plurality of objects |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110928292A (en) |
DE (1) | DE102018214828B4 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013203239A1 (en) | 2013-02-27 | 2014-08-28 | Bayerische Motoren Werke Aktiengesellschaft | Grid-based prediction of the position of an object |
DE102013223803A1 (en) | 2013-11-21 | 2015-05-21 | Robert Bosch Gmbh | Method and device for segmenting an occupancy grid for an environment model of a driver assistance system for a vehicle |
DE102017217412A1 (en) | 2017-09-29 | 2019-04-04 | Robert Bosch Gmbh | Method, apparatus and computer program for operating a robot control system |
DE102018201570A1 (en) | 2018-02-01 | 2019-08-01 | Robert Bosch Gmbh | Multiple target object tracking method, apparatus and computer program for performing multiple target object tracking on moving objects |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6678582B2 (en) * | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
FI118787B (en) * | 2005-12-07 | 2008-03-14 | Ekahau Oy | Techniques for determining position |
CN101299233B (en) * | 2008-04-08 | 2010-11-10 | 西安交通大学 | Device and method for realizing moving object identification and track based on FPGA |
US8452535B2 (en) * | 2010-12-13 | 2013-05-28 | GM Global Technology Operations LLC | Systems and methods for precise sub-lane vehicle positioning |
GB201211626D0 (en) * | 2012-06-29 | 2012-08-15 | Tomtom Dev Germany Gmbh | Location estimation method and system |
CN106934355A (en) * | 2017-02-28 | 2017-07-07 | 西交利物浦大学 | In-car hand detection method based on depth convolutional neural networks |
-
2018
- 2018-08-31 DE DE102018214828.7A patent/DE102018214828B4/en active Active
-
2019
- 2019-08-30 CN CN201910813290.4A patent/CN110928292A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013203239A1 (en) | 2013-02-27 | 2014-08-28 | Bayerische Motoren Werke Aktiengesellschaft | Grid-based prediction of the position of an object |
DE102013223803A1 (en) | 2013-11-21 | 2015-05-21 | Robert Bosch Gmbh | Method and device for segmenting an occupancy grid for an environment model of a driver assistance system for a vehicle |
DE102017217412A1 (en) | 2017-09-29 | 2019-04-04 | Robert Bosch Gmbh | Method, apparatus and computer program for operating a robot control system |
DE102018201570A1 (en) | 2018-02-01 | 2019-08-01 | Robert Bosch Gmbh | Multiple target object tracking method, apparatus and computer program for performing multiple target object tracking on moving objects |
Non-Patent Citations (1)
Title |
---|
GINDELE, Tobias [et al.]: Bayesian occupancy grid filter for dynamic environments using pri-or map knowledge. In: 2009 IEEE Intelligent Vehicles Symposium, Xi'an, 2009, S. 669-676. - ISSN 1931-0587 |
Also Published As
Publication number | Publication date |
---|---|
DE102018214828A1 (en) | 2020-03-05 |
CN110928292A (en) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3688537A1 (en) | Method, device and computer program for operating a robot control system | |
DE102016113903A1 (en) | Vehicle route determination | |
DE102019104974A1 (en) | Method and system for determining a driving maneuver | |
EP3765927B1 (en) | Method for generating a training data record for training an artificial intelligence module for a control device of a vehicle | |
EP3695244B1 (en) | Method and device for creating an inverse sensor model and method for detecting obstacles | |
DE102019110217B4 (en) | Method for the automated control of a motor vehicle | |
DE102016121691A1 (en) | Method and system for operating a motor vehicle | |
DE102018100487A1 (en) | OBJECT TRACKING THROUGH UNDUE MONITORING | |
DE102018008685A1 (en) | Method for training an artificial neural network, artificial neural network, use of an artificial neural network and corresponding computer program, machine-readable storage medium and corresponding device | |
DE102018205278A1 (en) | Method and system for controlling an autonomously driving vehicle | |
DE102019124018A1 (en) | Method for optimizing tests of control systems for automated vehicle dynamics systems | |
DE102016007899A1 (en) | Method for operating a device for traffic situation analysis, motor vehicle and data processing device | |
DE102018201570A1 (en) | Multiple target object tracking method, apparatus and computer program for performing multiple target object tracking on moving objects | |
DE102018212033A1 (en) | Method and control device for determining a travel trajectory for a transverse dynamic driving maneuver for a vehicle | |
DE112021006846T5 (en) | Systems and methods for scenario-dependent trajectory evaluation | |
EP4212980A1 (en) | Driving assistance device and method for carrying out an at least semiautomatic vehicle function depending on a route to be calculated | |
DE102020117767A1 (en) | Trajectory planning for an autonomous driving maneuver of an ego vehicle | |
DE102019122250A1 (en) | Method and control device for a system for controlling a motor vehicle | |
DE102021203589A1 (en) | Method and control device for recognizing a driving style | |
DE102019203634A1 (en) | Method and device for controlling a robot | |
DE102018211726A1 (en) | Method for automatic machine training of an electronic vehicle guidance system, and motor vehicle | |
DE102018201411A1 (en) | Method for determining a time course of a measured variable, prognosis system, actuator control system, method for training the actuator control system, training system, computer program and machine-readable storage medium | |
DE102018200232A1 (en) | Method for operating a work machine and work machine | |
DE102018214828B4 (en) | Method, device and computer program for predicting a location of a plurality of objects | |
DE102017104357A1 (en) | METHOD, DEVICE AND COMPUTER READABLE STORAGE MEDIUM WITH MOTOR PLANT INSTRUCTIONS FOR A MOTOR VEHICLE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed | ||
R084 | Declaration of willingness to licence | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division |