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 PDF

Info

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
Application number
DE102018214828.7A
Other languages
German (de)
Other versions
DE102018214828A1 (en
Inventor
Markus Spies
Vishnu Suganth Prabhakaran
Johannes Maximilian Doellinger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102018214828.7A priority Critical patent/DE102018214828B4/en
Priority to CN201910813290.4A priority patent/CN110928292A/en
Publication of DE102018214828A1 publication Critical patent/DE102018214828A1/en
Application granted granted Critical
Publication of DE102018214828B4 publication Critical patent/DE102018214828B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3602Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/065Traffic 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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/123Traffic 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 DE 10 2017 217 412 A1 offenbart Verfahren zum Betreiben eines Robotersteuerungssystems, welches ein maschinelles Lernsystem umfasst. Das maschinelle Lernsystem ermittelt abhängig von einer Karte, welche einen Aktionsraum des Roboters darstellt, einen Bewegungsverlauf von zumindest einem Objekt in dem Aktionsraum des Roboters.The unpublished EN 10 2017 217 412 A1 discloses methods for operating a robot control system which includes a machine learning system. The machine learning system determines a movement path of at least one object in the robot's action space depending on a map which represents an action space of the robot.

Die nicht vorveröffentlichte DE 10 2018 201 570 A1 offenbart ein Multiple-Target-Object-Tracking-Verfahren. Zuerst wird eine Geschwindigkeitsverteilung mithilfe einer Geschwindigkeitsübergangsverteilung ermittelt. Daraufhin wird eine Übergangswahrscheinlichkeitsinformation berechnet, die für Objekte eine Wahrscheinlichkeit des Erreichens der möglichen benachbarten Rasterzellen angibt. Anschließend wird einer Belegtheitswahrscheinlichkeit für jede Rasterzelle auf Basis der Übergangswahrscheinlichkeitsinformation ermittelt.The unpublished EN 10 2018 201 570 A1 discloses a multiple target object tracking method. First, a speed distribution is determined using a speed transition distribution. Then, transition probability information is calculated that indicates a probability of objects reaching the possible neighboring grid cells. Then, an occupancy probability is determined for each grid cell based on the transition probability information.

DE 10 2013 223 803 A1 betrifft ein Verfahren zur Segmentierung eines Belegungsgitters für ein Umfeldmodell eines Fahrerassistenzsystems für ein Fahrzeug. EN 10 2013 223 803 A1 relates to a method for segmenting an occupancy grid for an environment model of a driver assistance system for a vehicle.

DE 10 2013 203 239 A1 offenbart ein Verfahren zur Vorhersage der Position eines Objekts im Umfeld eines Fahrzeugs. EN 10 2013 203 239 A1 discloses a method for predicting the position of an object in the environment of a vehicle.

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;

1 zeigt eine schematische Darstellung eines zumindest teilautonomen Roboters, welcher in einem ersten Ausführungsbeispiel durch ein zumindest teilautonomes Fahrzeug (10) gegeben ist. In einem weiteren Ausführungsbeispiel kann der zumindest teilautonome Roboter ein Service-, Montage- oder stationärer Produktionsroboter, alternativ ein autonomes Flugobjekt, wie eine Drohne, sein. 1 shows a schematic representation of an at least partially autonomous robot, which in a first embodiment is provided by an at least partially autonomous vehicle (10). In a further embodiment, the at least partially autonomous robot can be a service, assembly or stationary production robot, alternatively an autonomous flying object, such as a drone.

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 3. Die Ausgangsgröße charakterisiert beispielsweise, an welchem Ort sich Objekte in der Umgebung des Fahrzeugs (10) zu einem nachfolgenden Zeitpunkt befinden werden. Die Ausgangsgröße kann daraufhin an eine Steuerungseinheit (13) weitergeleitet werden.The at least partially autonomous vehicle (10) can comprise a detection unit (11). The detection unit (11) can be, for example, a camera that detects the surroundings of the vehicle (10) or a radar that detects distances to objects in the surroundings of the vehicle (10). In a further embodiment, the detection unit (11) can be a depth sensor. The detection unit (11) can be connected to a prediction module (12). The prediction module (12) determines an output variable depending on a provided map and preferably depending on a provided input variable, e.g. provided by the detection unit (11), compare 3 The output variable characterizes, for example, where objects in the surroundings of the vehicle (10) will be located at a subsequent point in time. The output variable can then be forwarded to a control unit (13).

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 3 gezeigt, ausführt. Denkbar ist auch, dass ein Downloadprodukt oder ein künstlich generiertes Signal, die jeweils das Computerprogramm umfassen können, nach Empfangen an einem Empfänger des Fahrzeugs (10) die Recheneinheit (14) veranlassen, das Verfahren auszuführen.Furthermore, the vehicle (10), in particular the semi-autonomous robot, comprises a computing unit (14) and a machine-readable storage element (15). A computer program can be stored on the storage element (15), which includes instructions which, when the instructions are executed on the computing unit (14), lead to the computing unit (14) executing the method for predicting the locations of objects, such as in 3 It is also conceivable that a download product or an artificially generated signal, each of which can comprise the computer program, causes the computing unit (14) to carry out the method after being received at a receiver of the vehicle (10).

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.

2A zeigt eine schematische Darstellung einer Karte (20), die in diesem Ausführungsbeispiel einen Grundriss eines Raums darstellt. Auf der Karte sind zwei Objekte (P1,P2) eingezeichnet, die sich beispielsweise in Richtung der rechts oben eingezeichneten Türe bewegen können. Des Weiteren ist ein Roboter (R) eingezeichnet, welcher das zumindest teilautonome Fahrzeug (10) nach 1 sein kann. Das Prädiktionsmodul (12) kann beispielsweise abhängig von der Karte (20) die Aufenthaltsorte der Objekte (P1 ,P2) zu einem nachfolgenden Zeitpunkt prädizieren. 2A shows a schematic representation of a map (20), which in this embodiment represents a floor plan of a room. Two objects (P1, P2) are shown on the map, which can move, for example, in the direction of the door shown at the top right. Furthermore, a robot (R) is shown, which guides the at least partially autonomous vehicle (10) to 1 The prediction module (12) can, for example, predict the locations of the objects (P1, P2) at a subsequent point in time depending on the map (20).

2B zeigt eine schematische Darstellung der Karte (20), die in eine Mehrzahl von Zellen (21) aufgeteilt ist. Wie in 2B dargestellt, ist den Zellen (21) jeweils eine Auftrittswahrscheinlichkeit (22) zugewiesen. Die Auftrittswahrscheinlichkeit (22) charakterisiert, wie wahrscheinlich es ist, dass zumindest eines der zwei Objekte (P1,P2) sich innerhalb der jeweiligen Zelle befindet. Da sich das Objekt (P2) in der räumlichen Nähe der Verengung in der Mitte des Raumes befindet, ist derjenigen Zelle, eine Auftrittswahrscheinlichkeit mit dem Wert 0.9 zugewiesen. Beispielsweise kann es Aufgrund einer ungeschickt gewählten Aufteilung der Zellen sein, dass die darunterliegende benachbarte Zelle eine Auftrittswahrscheinlichkeit mit dem Wert 0.67 aufweist. 2 B shows a schematic representation of the card (20) which is divided into a plurality of cells (21). As in 2 B As shown, the cells (21) are each assigned a probability of occurrence (22). The probability of occurrence (22) characterizes how likely it is that at least one of the two objects (P1, P2) is located within the respective cell. Since the object (P2) is located in the spatial proximity of the constriction in the middle of the room, that cell is assigned a probability of occurrence with the value 0.9. For example, due to an ineptly chosen division of the cells, the neighboring cell below may have a probability of occurrence with the value 0.67.

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.

3 zeigt eine schematische Darstellung des Verfahrens (30) zum Prädizieren der Aufenthaltsorte der Objekte (P1 ,P2), insbesondere auf der Karte (20). 3 shows a schematic representation of the method (30) for predicting the locations of the objects (P1, P2), in particular on the map (20).

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 2B. Ferner kann in Schritt 31 eine vorgebbare Anzahl von fiktiven Objekten initialisiert werden. Vorzugsweise beträgt die vorgebbare Anzahl an fiktiven Objekten ungefähr 1.000 bis 1.000.000. Des Weiteren kann jedem fiktiven Objekt initial eine Position auf der Karte und eine Geschwindigkeit zugeordnet werden. Die Position und die Geschwindigkeit kann zufällig zugeordnet werden, alternativ kann die Geschwindigkeit mit 1 m/s initialisiert werden.The method (30) begins with step 31. In step 31, a card (20), which for example an environment of the robot. The map (20) is then broken down into cells (21). Each cell is initially assigned an estimated or random probability of occurrence (22). The probability of occurrence (22) can characterize whether one of the objects is located within the respective cell or how likely it is that one of the objects is located within the respective cell, compare 2 B . Furthermore, in step 31, a predeterminable number of fictitious objects can be initialized. Preferably, the predeterminable number of fictitious objects is approximately 1,000 to 1,000,000. Furthermore, each fictitious object can initially be assigned a position on the map and a speed. The position and the speed can be assigned randomly, alternatively the speed can be initialized with 1 m/s.

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 step 31 has been completed, step 32 follows. In step 32, the fictitious objects are placed on the map, particularly depending on their assigned position.

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 step 33, the fictitious objects are each given a weight. The respective weight is determined depending on the probability of occurrence (22) that was assigned to the respective cell in which the respective fictitious object is located. For example, the weight of one of the fictitious objects can be the value of the probability of occurrence of the respective cell in which the fictitious object is located.

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 step 33 has been completed, step 34 is carried out. In this step, a predefined number of fictitious objects are drawn by means of drawing and replacement, depending on the weight of the fictitious objects. The number of fictitious objects drawn is appropriately equal to the number of initialized fictitious objects. For example, if 1000 fictitious objects are placed on the map and each of these fictitious objects has a weight, 1000 fictitious objects are randomly drawn and replaced from these 1000 fictitious objects, which can result in individual fictitious objects being drawn multiple times, particularly if they have a high weight. The drawn fictitious objects are then placed on the map. They are placed based on the position assigned to the fictitious objects. The drawn fictitious objects preferably take on the speed of the respective fictitious objects.

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. v ˜ = 1 v v

Figure DE102018214828B4_0001
In the following step 36, the speed (v) assigned to the fictitious objects can be normalized. For example, the assigned speed can be a vector that is normalized depending on an amount of the vector. v ˜ = 1 v v
Figure DE102018214828B4_0001

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 step 37. In step 37, the map (20) is provided as an input variable to a trained machine learning system. The trained machine learning system then determines a speed distribution for each cell depending on the map, in particular the outlines or geometry of the action spaces of the objects and/or the robot (10). The speed distribution can, for example, be a matrix whose dimensions each correspond to a direction in which the objects move on the map, and a speed can be assigned to each column and/or row. The entries in the matrix can indicate the probability that the fictitious object has the respective direction with the respective speed. Then, depending on the determined speed distribution and the respectively assigned speed of the fictitious objects, each fictitious object is assigned an updated speed from the determined speed distribution, preferably drawn randomly (see equation 4 below).

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: Δ v ˜ = v ˜ v i , N N

Figure DE102018214828B4_0002
u i = e x p ( Δ v ˜ σ )
Figure DE102018214828B4_0003
P ( v i , N N ) = u i i u i
Figure DE102018214828B4_0004
wobei der Index i die ermittelten Geschwindigkeiten des maschinellen Lernsystems indiziert und σ vorzugsweise einen Wert von 0.3 aufweist.The assignment of the updated speed can be performed, for example, with the following equations, where the updated speed is randomly drawn according to equation 4: Δ v ˜ = v ˜ v i , N N
Figure DE102018214828B4_0002
u i = e x p ( Δ v ˜ σ )
Figure DE102018214828B4_0003
P ( v i , N N ) = u i i u i
Figure DE102018214828B4_0004
where the index i indicates the determined speeds of the machine learning system and σ preferably has a value of 0.3.

In Schritt 38 wird daraufhin eine Veränderung der Geschwindigkeit, insbesondere eine Beschleunigung, abhängig von der ermittelten Geschwindigkeitsverteilung bestimmt. Siehe hierfür beispielsweise DE 102018201570.8 . In diesem Dokument wird die Beschleunigung abhängig von einer Differenz zumindest zweier Geschwindigkeitswerte aus der Geschwindigkeitsverteilung bei gegebener aktualisierten Geschwindigkeit ermittelt. Alternativ kann aus der Geschwindigkeitsverteilung eine Beschleunigungsverteilung abgeleitet werden, indem aus den Differenzen Geschwindigkeiten aus der jeweiligen Richtung einer Wahrscheinlichkeitsverteilung bestimmt wird, die charakterisiert mit welcher Wahrscheinlichkeit die jeweilige Beschleunigung auftritt. Aus dieser Beschleunigungsverteilung kann die Veränderung der Geschwindigkeit bspw. zufällig gezogen werden.In step 38, a change in speed, in particular an acceleration, is then determined depending on the determined speed distribution. See, for example, EN 102018201570.8 . In this document, the acceleration is determined depending on a difference between at least two speed values from the speed distribution at a given updated speed. Alternatively, an acceleration distribution can be derived from the speed distribution by determining speeds from the respective direction of a probability distribution from the differences, which characterizes the probability with which the respective acceleration occurs. The change in speed can be drawn randomly from this acceleration distribution, for example.

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 1 v ,

Figure DE102018214828B4_0005
wie in Schritt 36 gezeigt, skaliert.After step 38 has been completed, step 39 can follow. Here, the change in speed depends on the normalization of the speed with 1 v ,
Figure DE102018214828B4_0005
scaled as shown in step 36.

In Schritt 40 wird abhängig von der aktualisierten Geschwindigkeit ( v a k t ˜ )

Figure DE102018214828B4_0006
und der Änderung der Geschwindigkeit a eine neue Geschwindigkeit v' der einzelnen fiktiven Objekten ermittelt. Dies kann beispielsweise mit der Gleichung 5 durchgeführt werden: v = v a k t ˜ + a
Figure DE102018214828B4_0007
In step 40, depending on the updated speed ( v a k t ˜ )
Figure DE102018214828B4_0006
and the change in speed a, a new speed v' of the individual fictitious objects is determined. This can be done, for example, with equation 5: v = v a k t ˜ + a
Figure DE102018214828B4_0007

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: r = r + v

Figure DE102018214828B4_0008
wobei r die aktuelle Position der fiktiven Objekte ist.Subsequently, in step 40, a new position (r') of the fictitious objects is determined depending on the new speed (v') of the fictitious objects. This can be done, for example, using equation 6: r = r + v
Figure DE102018214828B4_0008
where r is the current position of the fictitious objects.

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: P ( O c ) = 1 p ( 1 P ( O c p ) )

Figure DE102018214828B4_0009
wobei P(Ocp) das Gewicht des p-ten fiktiven Objekt in der Zelle c ist. Es sei angemerkt, dass diese Gewichte in Schritt 35 den fiktiven Objekten zugewiesen wurden. P(Oc) ist die Auftrittswahrscheinlichkeit (22) der Objekte (P1,P2) der c-ten Zelle.Then, in step 41, the occurrence probabilities of the cells are updated depending on the weights of the fictitious objects that are located within the respective cells. For example, with the equation: P ( O c ) = 1 p ( 1 P ( O c p ) )
Figure DE102018214828B4_0009
where P(O cp ) is the weight of the p-th fictitious object in cell c. Note that these weights were assigned to the fictitious objects in step 35. P(O c ) is the occurrence probability (22) of the objects (P1,P2) of the c-th cell.

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: P ( O c ) = P ( Z c | O c ) P ( O c )

Figure DE102018214828B4_0010
mit der den bestimmten Auftrittswahrscheinlichkeiten aus der Umfeldmessung: P ( Z c = z c | O c = o c ) = { 1 w Z , i f   z c = o c w z , e l s e
Figure DE102018214828B4_0011
wobei wZ ein Rauschen der Messung charakterisiert und oc entspricht einer besetzten Zelle mit einem der Objekte (P1, P2).Optionally, an environment measurement can be carried out in a subsequent step, in which, for example, the positions of the objects are recorded. Depending on this environment measurement, the occurrence probabilities of the cells can be adjusted. This can be done, for example, with the following equation: P ( O c ) = P ( Z c | O c ) P ( O c )
Figure DE102018214828B4_0010
with the determined occurrence probabilities from the environmental measurement: P ( Z c = z c | O c = O c ) = { 1 w Z , i e z c = O c w z , e l s e
Figure DE102018214828B4_0011
where w Z characterizes a noise of the measurement and o c corresponds to an occupied cell with one of the objects (P1, P2).

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 step 33. When dragging the fictitious objects in step 34, their determined positions and, above all, their determined speeds can be retained. It should be noted that the sequence of steps can be carried out in any conceivable order.

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)

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 has at least one action space of the objects (P1, P2) and is divided into a plurality of cells (21), wherein each cell (21) is assigned a first size (22) which characterizes, in particular a probability (P(O c )), 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 to the cell within which the respective fictitious object is placed (33), 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 of the plurality of different discrete speeds 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 are determined depending on the weights of the fictitious objects placed within each cell (35). Verfahren nach einem der vorherigen Ansprüche, wobei der Aufenthaltsort der Objekte (P1,P2) in Abhängigkeit der aktualisierten ersten Größen (22) der Zellen prädiziert wird.Method according to one of the preceding claims, wherein the location of the objects (P1, P2) is predicted as a function of the updated first sizes (22) of the cells. Verfahren nach einem der vorherigen Ansprüche, wobei, 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 waren, platziert werden.Method according to one of the preceding claims, wherein, 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 were placed. Verfahren nach einem der vorherigen Ansprüche, wobei jedem fiktiven Objekt eine Position (r) und eine Geschwindigkeit (v) zugeordnet ist, wobei jeweils eine neue Geschwindigkeit (v') für jedes fiktive Objekt in Abhängigkeit der zugeordneten Geschwindigkeit des jeweiligen fiktiven Objektes und der ausgewählten diskreten Geschwindigkeiten ermittelt wird, wobei die neue Position (r') der fiktiven Objekte in Abhängigkeit der neuen Geschwindigkeit (v') ermittelt wird.Method according to one of the preceding claims, wherein each fictitious object is assigned a position (r) and a speed (v), wherein a new speed (v') is determined for each fictitious object depending on the assigned speed of the respective fictitious object and the selected discrete speeds, wherein the new position (r') of the fictitious objects is determined depending on the new speed (v'). Verfahren nach einem der vorherigen Ansprüche, wobei die ersten Größen der Zellen abhängig von einem Produkt der Gewichte (P(Ocp)) der fiktiven Objekte, die innerhalb der jeweiligen Zelle platziert sind, ermittelt wird.Method according to one of the preceding claims, wherein the first sizes of the cells are determined depending on a product of the weights (P(O cp )) of the fictitious objects placed within the respective cell. Verfahren nach einem der vorherigen Ansprüche, wobei eine Messung, insbesondere eine Erfassung der Objekte, durchgeführt wird, wobei abhängig von der Messung eine Mehrzahl der ersten Größen (22) der Zellen (21) ermittelt, insbesondere angepasst, werden.Method according to one of the preceding claims, wherein a measurement, in particular a detection of the objects, is carried out, wherein depending on the measurement a plurality of the first sizes (22) of the cells (21) are determined, in particular adapted. Verfahren nach einem der vorherigen Ansprüche, wobei die Geschwindigkeit der fiktiven Objekte ein Vektor ist und die Geschwindigkeiten abhängig von einem Betrag ( 1 v )
Figure DE102018214828B4_0012
des jeweiligen Vektors normiert werden.
Method according to one of the preceding claims, wherein the speed of the fictitious objects is a vector and the speeds depend on an amount ( 1 v )
Figure DE102018214828B4_0012
of the respective vector.
Verfahren nach einem der vorherigen Ansprüche, wobei jeweils eine Änderung der Geschwindigkeit, insbesondere eine Beschleunigung (a), abhängig von der Mehrzahl der unterschiedlichen diskreten Geschwindigkeit und der ausgewählten diskreten Geschwindigkeiten des jeweiligen fiktiven Objekts für jedes fiktive Objekt ermittelt wird, wobei jeweils die neue Position (r') der fiktiven Objekte des Weiteren abhängig von der Änderung der Geschwindigkeit ermittelt wird.Method according to one of the preceding claims, wherein a change in the speed, in particular an acceleration (a), is determined for each fictitious object depending on the plurality of different discrete speeds and the selected discrete speeds of the respective fictitious object, wherein the new position (r') of the fictitious objects is further determined depending on the change in the speed. Verfahren nach Anspruch 7 und 8, wobei die ermittelte Änderung der Geschwindigkeit abhängig von dem Betrag ( 1 v )
Figure DE102018214828B4_0013
des Geschwindigkeit Vektors des jeweiligen fiktiven Objekts skaliert wird.
Procedure according to Claim 7 and 8th , where the determined change in speed depends on the amount ( 1 v )
Figure DE102018214828B4_0013
of the velocity vector of the respective fictitious object.
Verfahren nach einem der vorherigen Ansprüche, wobei die Gewichte derjenigen ausgewählten fiktiven Objekte, die innerhalb der gleichen Zelle platziert sind, abhängig von einer Anzahl dieser Objekte reduziert werden.Method according to one of the preceding claims, wherein the weights of those selected fictitious objects placed within the same cell are reduced depending on a number of these objects. Verfahren nach einem der vorherigen Ansprüche, wobei das maschinelle Lernsystem ein faltendes neuronales Netz (engl. Convolutional Neural Network) ist, wobei das maschinelle Lernsystem jeweils eine Mehrzahl der unterschiedlichen diskreten Geschwindigkeiten für jede Zelle ermittelt und jeder diskreten Geschwindigkeit, abhängig von der vorherigen diskreten Geschwindigkeit, eine Auftrittswahrscheinlichkeit zuordnet.Method according to one of the preceding claims, wherein the machine learning system is a convolutional neural network, wherein the machine learning system determines a plurality of the different discrete speeds for each cell and assigns a probability of occurrence to each discrete speed depending on the previous discrete speed. Verfahren nach einem der Ansprüche 4 bis 11, wobei Differenzen (Δṽ) zwischen der zugeordneten Geschwindigkeit und der ermittelten diskreten Geschwindigkeiten ermittelt werden, wobei die ausgewählte diskrete Geschwindigkeit der fiktiven Objekte abhängig von der Differenz eine der ermittelten diskreten Geschwindigkeiten zufällig ausgewählt wird.Method according to one of the Claims 4 until 11 , where differences (Δṽ) between the assigned speed and the determined discrete speeds are determined, where the selected discrete speed of the fictitious objects is randomly selected depending on the difference between one of the determined discrete speeds. Verfahren nach einem der Ansprüche 4 bis 12, wobei eine Geschwindigkeit der Objekte erfasst wird, wobei die zugeordneten Geschwindigkeiten der fiktiven Objekte abhängig von der erfassten Geschwindigkeit der Objekte ermittelt wird.Method according to one of the Claims 4 until 12 , whereby a speed of the objects is recorded, whereby the associated speeds of the fictitious objects is determined depending on the detected speed of the objects. Verfahren nach einem der vorherigen Ansprüche, wobei eine Steuergröße zur Steuerung eines Roboters in Abhängigkeit der ersten Größen der Zellen ermittelt wird.Method according to one of the preceding claims, wherein a control variable for controlling a robot is determined as a function of the first sizes of the cells. Computerprogramm, welches Befehle umfasst, die beim Ausführen dieser durch einen Computer bewirken, dass der Computer das Verfahren nach einem der vorherigen Ansprüche ausführt.A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method according to any one of the preceding claims. Maschinenlesbares Speicherelement (15) auf welchem das Computerprogramm nach Anspruch 15 hinterlegt ist.Machine-readable storage element (15) on which the computer program according to Claim 15 is deposited. Vorrichtung (13), die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 14 auszuführen.Device (13) which is arranged to carry out the method according to one of the Claims 1 until 14 to execute.
DE102018214828.7A 2018-08-31 2018-08-31 Method, device and computer program for predicting a location of a plurality of objects Active DE102018214828B4 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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