DE102022201427A1 - Method for determining a position and/or orientation of a mobile device in an environment - Google Patents
Method for determining a position and/or orientation of a mobile device in an environment Download PDFInfo
- Publication number
- DE102022201427A1 DE102022201427A1 DE102022201427.8A DE102022201427A DE102022201427A1 DE 102022201427 A1 DE102022201427 A1 DE 102022201427A1 DE 102022201427 A DE102022201427 A DE 102022201427A DE 102022201427 A1 DE102022201427 A1 DE 102022201427A1
- Authority
- DE
- Germany
- Prior art keywords
- mobile device
- points
- markers
- orientation
- current
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- 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/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
Abstract
Die Erfindung betrifft ein Verfahren zum Bestimmen einer Position und/oder Orientierung eines mobilen Geräts (100) in einer Umgebung (150), in der sich das mobile Gerät (100) bewegt oder bewegen soll, umfassend: Bereitstellen einer aktuellen ersten Menge von Punkten erster Art in der Umgebung, die ausgehend von und relativ zu dem mobilen Gerät (100) bestimmt worden sind; Bereitstellen einer aktuellen zweiten Menge von einem oder mehreren nachverfolgten Markern (162, 164, 165); Bestimmen einer dritten Menge von nachverfolgten Markern (162, 164, 165), die sowohl in der aktuellen zweiten Menge als auch in einer zweiten Referenzmenge von einem oder mehreren nachverfolgten Markern (160-165) enthalten sind; und Bestimmen einer aktuellen Position und/oder Orientierung des mobilen Geräts (100) in der Umgebung (150), basierend auf der aktuellen ersten Menge, einer ersten Referenzmenge von Punkten erster Art, der dritten Menge und der zweiten Referenzmenge. Die Erfindung betrifft auch ein mobiles Gerät (100).The invention relates to a method for determining a position and/or orientation of a mobile device (100) in an environment (150) in which the mobile device (100) moves or is intended to move, comprising: providing a current first set of points first nature in the environment determined from and relative to the mobile device (100); providing a current second set of one or more tracked markers (162, 164, 165); determining a third set of tracked markers (162, 164, 165) included in both the current second set and a second reference set of one or more tracked markers (160-165); and determining a current position and/or orientation of the mobile device (100) in the environment (150) based on the current first set, a first reference set of points of the first type, the third set and the second reference set. The invention also relates to a mobile device (100).
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Bestimmen einer Position und/oder Orientierung eines mobilen Geräts, z.B. eines sich teilweise automatisiert bewegenden Fahrzeugs oder eines Roboters, in einer Umgebung, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung sowie ein solches mobiles Gerät.The present invention relates to a method for determining a position and/or orientation of a mobile device, e.g. a partially automated moving vehicle or a robot, in an environment, a computing unit and a computer program for its implementation, and such a mobile device.
Hintergrund der ErfindungBackground of the Invention
Mobile Geräte wie z.B. sich zumindest teilautomatisiert bewegende Fahrzeuge oder Roboter bewegen sich typischerweise entlang eines Bewegungspfades in einer Umgebung wie z.B. einer Wohnung, in einem Garten, in einer Fabrikhalle oder auf der Straße, in der Luft oder im Wasser. Hierzu ist es nötig, dass eine aktuelle Position und/oder Orientierung (auch als Pose bezeichnet) des mobilen Geräts bekannt ist und auch immer wieder neu bestimmt wird. Hierzu kann z.B. auf eine Laserentfernungsmessung (z.B. mit sog. Lidar-Sensoren) zurückgegriffen werden.Mobile devices such as vehicles or robots that move at least partially automatically move along a movement path in an environment such as an apartment, in a garden, in a factory building or on the street, in the air or in water. For this it is necessary that a current position and/or orientation (also referred to as a pose) of the mobile device is known and is also determined again and again. For this purpose, e.g. a laser distance measurement (e.g. with so-called lidar sensors) can be used.
Offenbarung der ErfindungDisclosure of Invention
Erfindungsgemäß werden ein Verfahren zum Bestimmen einer Position und/oder Orientierung eines mobilen Geräts, eine Recheneinheit und ein Computerprogramm zu dessen Durchführung sowie ein solches mobiles Gerät mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for determining a position and/or orientation of a mobile device, a computing unit and a computer program for executing it, and such a mobile device with the features of the independent patent claims are proposed. Advantageous configurations are the subject of the dependent claims and the following description.
Die Erfindung beschäftigt sich mit dem Bestimmen einer (aktuellen) Position und/oder Orientierung (auch als Pose bezeichnet) eines mobilen Geräts in einer Umgebung, also insbesondere der Lokalisierung des mobilen Geräts. Als mobiles Gerät kommt hier z.B. ein sich zumindest teilweise automatisiert bewegendes Fahrzeug, insbesondere ein Personenbeförderungsfahrzeug oder Güterbeförderungsfahrzeug (z.B. Gabelstapler, Flurförderfahrzeug), oder ein Roboter, in Betracht. Dabei wird auf das Prinzip der Entfernungsmessung mittels Laser (Laserentfernungsmessung, z.B. mit sog. Lidar-Sensoren) zurückgegriffen. Einer oder ggf. mehrere solcher Lidar-Sensoren sind hierzu typischerweise an oder in dem mobilen Gerät vorgesehen, womit Entfernungen (Abstände) von Objekten in der Umgebung (relativ) zum mobilen Gerät (bzw. zum Sensor) bestimmt werden können. Typischerweise scannt ein solcher Lidar-Sensor die Umgebung vor dem mobilen Gerät in einem gewissen Winkel, z.B. 90°, 180°, 270° oder auch mehr ab.The invention deals with determining a (current) position and/or orientation (also referred to as a pose) of a mobile device in an environment, ie in particular the localization of the mobile device. A possible mobile device here is, for example, a vehicle that moves at least partially automatically, in particular a passenger transport vehicle or goods transport vehicle (e.g. forklift truck, industrial truck), or a robot. The principle of distance measurement using a laser (laser distance measurement, e.g. with so-called lidar sensors) is used. For this purpose, one or possibly several such lidar sensors are typically provided on or in the mobile device, with which distances (distances) of objects in the environment (relative) to the mobile device (or to the sensor) can be determined. Such a lidar sensor typically scans the area in front of the mobile device at a certain angle, e.g. 90°, 180°, 270° or even more.
Eine eher historische und heutzutage zunehmend als veraltet anzusehende Möglichkeit zur Laserentfernungsmessung und darauf basierenden Lokalisierung (Laserlokalisierung) basiert auf der ausschließlichen Verwendung von sog. Reflektormarkern, die flächendeckend in der Umgebung angebracht werden müssen. Diese Reflektormarker können vom Laserscanner bzw. Lidar-Sensor dadurch erkannt werden, dass auf ihnen gemessene Punkte mit deutlich höherer Intensität reflektiert werden als in der restlichen Umgebung. Laserscanner können die Reflektormarker z.B. auf Wunsch selbst erkennen, d.h. es können z.B. direkt nur Messwerte berücksichtigt werden, die einer gewissen Intensität (z.B. höher als ein bestimmter Schwellwert) entsprechen.A more historical option for laser distance measurement and localization based on it (laser localization), which is nowadays increasingly to be regarded as outdated, is based on the exclusive use of so-called reflector markers, which have to be installed across the board in the surrounding area. These reflector markers can be recognized by the laser scanner or lidar sensor in that points measured on them are reflected with a significantly higher intensity than in the rest of the environment. Laser scanners can, for example, recognize the reflector markers themselves if desired, i.e. only measured values that correspond to a certain intensity (e.g. higher than a certain threshold value) can be taken into account directly.
Sind die Reflektormarker einmal angebracht, kann deren Position manuell vermessen und in eine Karte eingetragen werden. Während der Lokalisierung können die Positionen erkannter Reflektormarker ständig mit den (dann genau bekannten) Positionen der Reflektormarker in der Karte verglichen werden. Sofern stets mindestens zwei der kartierten Reflektormarker erkannt werden, kann die Pose (Position und Orientierung) des Laserscanners eindeutig bestimmt werden. Dabei soll insbesondere angenommen werden, dass sich das mobile Gerät sowie der Laserscanner in einer 2D-Ebene bewegen, also lediglich über drei Freiheitsgrade (zwei translatorische und ein rotatorischer Freiheitsgrad) verfügen. Grundsätzlich ist das Prinzip aber z.B. auch in 3D anwendbar.Once the reflector markers have been attached, their position can be measured manually and entered on a map. During localization, the positions of recognized reflector markers can be constantly compared with the (then precisely known) positions of the reflector markers on the map. If at least two of the mapped reflector markers are always recognized, the pose (position and orientation) of the laser scanner can be clearly determined. In particular, it should be assumed that the mobile device and the laser scanner move in a 2D plane, i.e. only have three degrees of freedom (two translational and one rotational degree of freedom). In principle, however, the principle can also be used in 3D, for example.
Die Anbringung und Vermessung von Reflektormarkern sind allerdings in der Regel sehr aufwändig. Die Rechenleistung von Recheneinheiten oder Rechensystemen, selbst bei eingebetteten Computersystemen wie sie z.B. bei mobilen Geräten verwendet werden, ist in letzter Zeit deutlich angestiegen. Dies hat dazu geführt, dass sich in den letzten Jahren die Lokalisierung (Bestimmung von Position und/oder Orientierung) von mobilen Geräten unter Verwendung natürlicher Konturen mit Hilfe des sog. „Scan Matching“ durchgesetzt hat. Reflektormarker sind dadurch verdrängt worden.However, attaching and measuring reflector markers is usually very time-consuming. The computing power of computing units or computing systems, even in embedded computer systems such as those used in mobile devices, has increased significantly in recent times. As a result, the localization (determination of position and/or orientation) of mobile devices using natural contours with the help of so-called "scan matching" has become established in recent years. As a result, reflector markers have been superseded.
Beim „Scan Matching“ (Angleichen von Scans) wird insbesondere die gesamte vom Laserscanner gemessene bzw. erfasste Punktwolke verwendet; bei einer Punktwolke handelt es sich um eine Menge von Punkten in der Umgebung, die mittels des Laserscanners bzw. Lidar-Sensors bestimmt werden. Dabei kann jedem Punkt ein Abstand zum mobilen Gerät bzw. Laserscanner zugeordnet werden, ebenso eine Orientierung relativ zu einer Referenzorientierung des mobilen Geräts bzw. Laserscanner. Die Punktwolke entspricht üblicherweise einer oder mehreren „Punktlinien“ entlang der Kontur der Objekte im Sichtbereich; ggf. können die Punkte aber auch nur näherungsweise auf einer solchen Linie liegen.Specifically, “scan matching” uses the entire point cloud measured or captured by the laser scanner; A point cloud is a set of points in the environment that are determined using the laser scanner or lidar sensor. A distance from the mobile device or laser scanner can be assigned to each point, as can an orientation relative to a reference orientation of the mobile device or laser scanner. The point cloud usually corresponds to one or more "point lines" along the contour of the objects in the field of view; if necessary, however, the points can only lie approximately on such a line.
Diese Punktwolke allein erlaubt aber noch nicht, eine Position und/oder Orientierung des mobilen Geräts in der Umgebung zu bestimmen. Hierzu wird die Punktwolke bzw. Menge von Punkten mit einer Referenzpunktwolke bzw. Referenzmenge von Punkten verglichen. Es kann dann eine Transformation bestimmt werden, die die Punktwolke (bzw. Menge von Punkten) mit der Referenzpunktwolke (bzw. Referenzmenge von Punkten) am besten zur Deckung bzw. in Übereinstimmung bringt, d.h. beide aneinander angleicht. Diese Transformation entspricht dann einer Position und/oder Orientierung des mobilen Geräts bei Erfassung der Punktwolke relativ zur Referenzpunktwolke bzw. einem Koordinatensystem der Referenzpunktwolke. Wenn es sich bei der Referenzpunktwolke um eine Karte der Umgebung oder zumindest eines Teils davon handelt, so kann die aktuelle Position und/oder Orientierung des mobilen Geräts in der Umgebung bestimmt werden. Die Referenzpunktwolke (bzw. Karte der Umgebung) kann z.B. durch ständiges bzw. wiederholtes Hinzufügen neuer Punktwolken oder Teilen davon erweitert werden.However, this point cloud alone does not yet allow a position and/or orientation of the mobile device to be determined in the environment. For this purpose, the point cloud or set of points is compared with a reference point cloud or reference set of points. A transformation can then be determined which best brings the point cloud (or set of points) into congruence with the reference point cloud (or reference set of points), i.e. aligns both with one another. This transformation then corresponds to a position and/or orientation of the mobile device when the point cloud is recorded relative to the reference point cloud or a coordinate system of the reference point cloud. If the reference point cloud is a map of the area or at least a part of it, then the current position and/or orientation of the mobile device in the area can be determined. The reference point cloud (or map of the environment) can be expanded, for example, by constantly or repeatedly adding new point clouds or parts thereof.
In diesem Zusammenhang wird auch von SLAM gesprochen. Als SLAM („Simultaneous Localization and Mapping“, in etwa: Simultane Positionsbestimmung und Kartierung) wird ein Verfahren in der Robotik bezeichnet, bei dem ein mobiles Gerät wie ein Roboter gleichzeitig eine Karte seiner Umgebung erstellen und seine räumliche Lage innerhalb dieser Karte schätzen kann oder muss. Es dient damit z.B. dem Erkennen von Hindernissen und unterstützt somit die autonome Navigation.SLAM is also used in this context. SLAM (“Simultaneous Localization and Mapping”) is a method in robotics in which a mobile device like a robot can simultaneously create a map of its surroundings and estimate its spatial position within this map or must. It is used, for example, to recognize obstacles and thus supports autonomous navigation.
Um auf diese Weise die Position und/oder Orientierung des mobilen Geräts in der Umgebung hinreichend genau bestimmen zu können, sollte die Umgebung über ausreichend viele charakteristische Konturen verfügen, die sich in entsprechenden Punkten der Punktwolke niederschlagen, um das dem „Scan Matching“ zugrundeliegenden Problem in allen drei Freiheitsgraden eindeutig eingrenzen zu können. Wie sich gezeigt hat, gibt es jedoch Fälle, in denen dies nicht der Fall ist.In order to be able to determine the position and/or orientation of the mobile device in the environment with sufficient accuracy in this way, the environment should have a sufficient number of characteristic contours that are reflected in corresponding points in the point cloud to solve the problem underlying "scan matching". in all three degrees of freedom. However, as has been shown, there are cases where this is not the case.
Vor diesem Hintergrund wird vorgeschlagen, zusätzlich zu der Menge von Punkten wie beim üblichen „Scan Matching“ auch Reflektormarker oder andere Marker zu berücksichtigen.Against this background, it is proposed to also consider reflector markers or other markers in addition to the set of points as in the usual "scan matching".
Hierbei wird eine aktuelle erste Menge von Punkten erster Art in der Umgebung bereitgestellt oder erhalten, die ausgehend von und relativ zu dem mobilen Gerät bestimmt worden sind. Hierzu kann eine Entfernungsmessung (bspw. das schon erwähnte Laserscanning) verwendet werden, also z.B. mittels eines an oder in dem mobilen Gerät vorgesehenen Lidar-Sensors. Bei diesen Punkten erster Art handelt es sich insbesondere um Punkte wie beim üblichen „Scan Matching“, wie vorstehend erwähnt.In this case, a current first set of points of the first type in the area is provided or obtained, which have been determined on the basis of and relative to the mobile device. A distance measurement (e.g. the already mentioned laser scanning) can be used for this purpose, e.g. by means of a lidar sensor provided on or in the mobile device. These points of the first type are, in particular, points as in the usual “scan matching” as mentioned above.
Außerdem wird eine aktuelle zweite Menge von einem oder mehreren Markern bereitgestellt oder erhalten. Die aktuelle zweite Menge enthält insbesondere die aktuell „sichtbaren“ Marker. Weiterhin wird eine dritte Menge von nachverfolgten Markern bestimmt, die sowohl in der aktuellen zweiten Menge als auch in einer zweiten Referenzmenge aus einem oder mehreren nachverfolgten Markern enthalten sind. Dies kann z.B. anhand von Identifikationen (oder IDs) erfolgen, die den einzelnen (nachverfolgten) Markern zugeordnet sind oder werden, wie später noch näher erläutert werden soll. Unter nachverfolgten Markern sind insbesondere Marker in der Umgebung, z.B. die erwähnten Reflektormarker, zu verstehen, die bereits bei früheren Scans als dem aktuellen Scan (oder Erfassungszyklus) erkannt worden sind, also z.B. über mehrere Scans nachverfolgt („getrackt“) wurden. Nähere Ausführungen hierzu folgen später. Marker werden vorzugsweise anhand von Punkten zweiter Art bestimmt, sodass Punkte zweiter Art den Markern entsprechen, wobei Punkte erster Art anderen Objekten in der Umgebung als den Markern entsprechen. Auch bei Punkten zweiter Art kann eine Entfernungsmessung (bspw. das schon erwähnte Laserscanning) verwendet werden, und zwar insbesondere mittels desselben Laserscanners bzw. Lidar-Sensors wie für die Punkte erster Art.A current second set of one or more markers is also provided or obtained. In particular, the current second set contains the currently “visible” markers. Furthermore, a third set of tracked markers is determined, which is contained both in the current second set and in a second reference set of one or more tracked markers. This can be done, for example, using identifications (or IDs) that are or will be assigned to the individual (tracked) markers, as will be explained in more detail later. Tracked markers are to be understood in particular as markers in the environment, e.g. the reflector markers mentioned, which have already been recognized in earlier scans than the current scan (or acquisition cycle), i.e. e.g. tracked over several scans. More details on this will follow later. Markers are preferably determined using second-type points, such that second-type points correspond to the markers, with first-type points corresponding to objects in the environment other than the markers. A distance measurement (e.g. the already mentioned laser scanning) can also be used for points of the second type, in particular by means of the same laser scanner or lidar sensor as for the points of the first type.
Bei den Punkten zweiter Art handelt es sich dann insbesondere um solche, die einer bei der Entfernungsmessung bestimmten Lichtintensität entsprechen, die oberhalb eines Schwellwerts liegt. Der Schwellwert kann z.B. fest vorgegeben sein. Eine Unterscheidung kann aber auch anderweitig getroffen werden, z.B. mit einem Schwellwert, der abhängig von dem Median oder Mittelwert aller Intensitäten eines Scans ist, oder mittels Maschinenlernalgorithmen. Besonders zweckmäßig ist aber auch, dass ein Intensitätssprung am Rand des Markers berücksichtigt wird, auf gleicher räumlicher Ebene, von niedrig (dort, wo kein Marker ist) auf hoch (dort, wo der Marker beginnt) und wieder auf niedrig (dort, wo der Marker wieder zu Ende ist). Bei den Punkten erster Art kann es sich um alle Punkte handeln oder nur um solche, die einer bei der Entfernungsmessung bestimmten Lichtintensität entsprechen, die unterhalb des Schwellwerts liegt.The points of the second type are then in particular those which correspond to a light intensity determined during the distance measurement which is above a threshold value. The threshold value can be fixed, for example. However, a distinction can also be made in other ways, for example with a threshold value that is dependent on the median or mean value of all intensities of a scan, or by means of machine learning algorithms. However, it is also particularly useful that an intensity jump at the edge of the marker is taken into account, on the same spatial level, from low (where there is no marker) to high (where the marker begins) and back to low (where the marker ends again). The points of the first type can be all points or only those that correspond to a light intensity determined during the distance measurement that is below the threshold value.
Die Punkte zweiter Art können also vordefinierten Markern wie z.B. den erwähnten Reflektormarkern, in der Umgebung, entsprechen, die Punkte erster Art hingegen allen oder allen anderen Objekten in der Umgebung als den vordefinierten Markern. Dabei ist zu beachten, dass - z.B. je nach Größe oder Grad der Erfassung eines Markers - einer oder auch mehrere Punkte zweiter Art einem einzelnen Marker entsprechen können. Es können in der betreffenden Menge eines Scans Punkte zweiter Art vorhanden sein, die einem oder mehreren Markern entsprechen. Bei mehreren Markern sind dann notwendigerweise mehrere Punkte zweiter Art vorhanden.The points of the second type can therefore correspond to predefined markers such as the aforementioned reflector markers in the area, while the points of the first type can correspond to all or all other objects in the area than the predefined markers. It should be noted that - e.g. depending on the size or degree of coverage of a marker - one or more points of the second type can correspond to a single marker. There may be points of the second type corresponding to one or more markers in the relevant set of a scan. If there are several markers, there are then necessarily several points of the second type.
Eine aktuelle Position und/oder Orientierung des mobilen Geräts in der Umgebung wird dann basierend auf der aktuellen ersten Menge, einer ersten Referenzmenge von Punkten erster Art, der dritten Menge und der zweiten Referenzmenge bestimmt. Die umfasst insbesondere, dass die erste Menge mit der ersten Referenzmenge, im Rahmen einer Optimierung, zur Übereinstimmung gebracht wird, und dass bei der Optimierung eine Kostenfunktion, insbesondere gewichtet, berücksichtigt wird. Die Kostenfunktion gibt ein Maß für Abstände der nachverfolgten Marker zwischen der dritten Menge und der zweiten Referenzmenge an. Es versteht sich, dass - wie für eine Optimierung üblich - in der Regel keine exakte Übereinstimmung erreicht wird bzw. werden muss; vielmehr wird lediglich versucht, eine möglichst gute Übereinstimmung zu erreichen. Basierend auf der aktuellen Position und/oder Orientierung des mobilen Geräts kann dann auch ein Bewegungspfad bestimmt werden, auf dem sich das mobile Gerät in der Umgebung bewegen soll. Hierzu können, basierend auf dem Bewegungspfad sowie der aktuellen Position und/oder Orientierung, Steuerungsinformationen zum Bewegen des mobilen Geräts bestimmt werden; die Steuerungsinformationen können dann bereitgestellt werden bzw. das mobile Gerät kann basierend auf den Steuerungsinformationen bewegt werden.A current position and/or orientation of the mobile device in the environment is then determined based on the current first set, a first reference set of points of the first type, the third set and the second reference set. This includes, in particular, that the first quantity is brought into agreement with the first reference quantity as part of an optimization, and that a cost function, in particular weighted, is taken into account in the optimization. The cost function gives a measure of distances of the tracked markers between the third set and the second reference set. It goes without saying that--as is usual for an optimization--an exact match is not or does not have to be achieved as a rule; rather, an attempt is made to achieve as good a match as possible. Based on the current position and/or orientation of the mobile device, a movement path can then also be determined along which the mobile device is to move in the area. For this purpose, control information for moving the mobile device can be determined based on the movement path and the current position and/or orientation; the control information can then be provided or the mobile device can be moved based on the control information.
Die aktuelle Position und/oder Orientierung des mobilen Geräts in der Umgebung kann, insbesondere bei nicht automatisierten mobilen Geräten, z.B. auch zur Nachverfolgung („Tracken“) des mobilen Geräts verwendet werden. So kann z.B. bestimmt werden, wo sich ein Gabelstapler oder anderes mobiles Gerät gerade innerhalb einer Fabrikhalle befindet.The current position and/or orientation of the mobile device in the area can be used, especially in the case of non-automated mobile devices, e.g. to track the mobile device. For example, it can be determined where a forklift or other mobile device is currently located within a factory building.
Das „Scan Matching“ (mit natürlichen Konturen von Objekten in der Umgebung, Punkte erster Art) wird hier also mit der Idee der Reflektormarker bei der Laserentfernungsmessung (oder allgemein Marker oder Punkte zweiter Art) kombiniert, um die Vorteile aus beiden Ansätzen zu kombinieren und die Nachteile beider Ansätze auszugleichen. Dabei kann sich z.B. grundsätzlich auf die Lokalisierung mittels „Scan Matching“ verlassen werden, zumindest dort, wo dies ausreichend zuverlässig funktioniert; dies ist typischerweise in mehr als 95% der Umgebungen der Fall. Falls in der gewünschten Umgebung allerdings problematische Stellen anzutreffen sind, kann ein Benutzer z.B. eine gewisse Zahl an Reflektormarkern anbringen, durch deren Verwendung dann an dieser Stelle das möglicherweise zuvor mehrdeutige Ergebnis des „Scan Matching“ eindeutig wird. Solche problematischen Stellen können beispielsweise strukturarme Gänge, Bereiche mit unebenem Boden oder Umgebungen mit sehr vielen dynamischen Objekten sein.The "scan matching" (with natural contours of objects in the environment, points of the first kind) is thus combined here with the idea of reflector markers in laser distance measurement (or generally markers or points of the second kind) in order to combine the advantages of both approaches and balance the disadvantages of both approaches. For example, localization using "scan matching" can generally be relied on, at least where this works with sufficient reliability; this is typically the case in more than 95% of environments. However, if problematic areas are to be found in the desired environment, a user can, for example, attach a certain number of reflective markers, the use of which then makes the possibly previously ambiguous result of the “scan matching” clear at this point. Such problematic areas can be, for example, corridors with little structure, areas with uneven ground or environments with a large number of dynamic objects.
Der Vorteil im Vergleich zur Lokalisierung ohne Reflektormarker ist eine deutlich verbesserte Zuverlässigkeit des Lokalisierungsergebnisses an problematischen Stellen. Der Vorteil im Vergleich zu klassischen reinen reflektormarkerbasierten Lokalisierung ist der deutlich geringere Aufwand bei der Anbringung von Markern. Anstelle einer hohen Anzahl an Markern auf der ganzen Fläche müssen z.B. nur wenige Marker an kritischen Stellen angebracht werden. The advantage compared to localization without reflector markers is a significantly improved reliability of the localization result in problematic areas. The advantage compared to classic purely reflector marker-based localization is the significantly lower effort when attaching markers. Instead of a large number of markers all over the area, only a few markers have to be attached at critical points, for example.
Vorzugsweise wird die erste Menge mit der ersten Referenzmenge zur Übereinstimmung gebracht, indem eine Transformation bestimmt wird, die die erste Menge auf die erste Referenzmenge abbildet, wobei die aktuelle Position und/oder Orientierung des mobilen Geräts in der Umgebung basierend auf der Transformation bestimmt wird. Vorzugsweise wird die Transformation auch in der Kostenfunktion berücksichtigt. In der Praxis wird hierbei oft keine Transformation gefunden werden, die eine exakte Abbildung der Mengen aufeinander bewirkt; vielmehr geht es um eine - im Rahmen einer zeitlich begrenzten Optimierung - bestmögliche Transformation. Insbesondere werden beim Bestimmen der Transformation Punkte zweiter Art bzw. Marker höher gewichtet als Punkte erster Art, zumal diese typischerweise deutlich genauer sind. Es können also zwei Mengen verschiedenartiger Punkte während eines „Scan Matching“-Prozesses innerhalb eines Laserlokalisierungssystems gleichzeitig behandelt werden, also alle herkömmlichen Punkte (Punkte erster Art) auf natürlichen Konturen einerseits, und Punkte auf erkannten Reflektormarkern (Punkte zweiter Art) andererseits.Preferably, the first set is matched to the first reference set by determining a transformation that maps the first set to the first reference set, wherein the current position and/or orientation of the mobile device in the environment is determined based on the transformation. The transformation is preferably also taken into account in the cost function. In practice, often no transformation will be found that causes an exact mapping of the sets to each other; Rather, it is about the best possible transformation - within the framework of a time-limited optimization. In particular, when determining the transformation, points of the second type or markers are weighted more highly than points of the first type, especially since these are typically significantly more accurate. Thus, two sets of dissimilar points can be treated simultaneously during a "scan matching" process within a laser localization system, i.e. all conventional points (points first type) on natural contours on the one hand, and points on recognized reflector markers (points of the second type) on the other hand.
Während selbst das beste „Scan Matching“-Ergebnis unter alleiniger Verwendung von Konturpunkten (Punkte erster Art) in vielen Fällen uneindeutig sein kann - zum Beispiel die Position in einem langen Gang, von dem lediglich zwei parallele Linien gesehen werden, wodurch nicht sicher erkannt werden kann, wo genau entlang des Ganges sich die Position befindet - kann die Hinzuziehung von auf Reflektormarkern bzw. darauf erkannten Punkten (Punkte zweiter Art) zu einem eindeutigen Ergebnis führen. Das „Scan Matching“-Problem wird dann unter Berücksichtigung der Marker bzw. der darauf erkannten Punkte gelöst.While even the best "scan matching" result using only contour points (points of the first kind) can in many cases be ambiguous - for example the position in a long corridor from which only two parallel lines can be seen, thus not being recognized with certainty where exactly the position is along the corridor - the inclusion of points on reflector markers or points recognized on them (points of the second type) can lead to a clear result. The "scan matching" problem is then solved taking into account the markers or the points recognized on them.
Als „Scan Matching“-Verfahren, d.h. ein Verfahren, bei dem die erste Menge auf die erste Referenzmenge abgebildet wird, bzw. bei denen eine Transformatoin bestimmt wird, die diese Abbildung bewirkt, kommen grundsäztlich verschiedene Arten von Methoden bzw. Verfahren in Betracht. Beispielsweise können dies das sog. „Iterative Closest Point“-Verfahren (ICP) oder das „Normal Distributions Transform“-Verfahren (NDT) sein, vgl. P. Biber and W. Strasser, „The normal distributions transform: a new approach to laser scan matching,“ Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453), 2003, pp. 2743-2748 vol.3, doi: 10.1 109/IROS.2003.1249285. Die nachverfolgten Marker bzw. die Punkte zweiter Art können im Rahmen des „Scan Matching“-Verfahrens für die erste Menge bzw. Referenzmenge besonders einfach als Kostenfunktion (oder Kostenterm) berücksichtigt werden.As a "scan matching" method, i.e. a method in which the first set is mapped to the first reference set, or in which a transformation is determined that causes this mapping, fundamentally different types of methods or processes can be considered. For example, this can be the so-called “Iterative Closest Point” method (ICP) or the “Normal Distributions Transform” method (NDT), see P. Biber and W. Strasser, “The normal distributions transform: a new approach to laser scan matching,” Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453), 2003, pp. 2743-2748 vol.3, doi: 10.1 109/IROS.2003.1249285. The tracked markers or the points of the second type can be taken into account in a particularly simple manner as a cost function (or cost term) as part of the "scan matching" method for the first set or reference set.
Im Rahmen der vorliegenden Erfindung wird besonders auf das Nachverfolgen von Markern abgestellt. Marker der aktuellen zweiten Menge (d.h. im aktuellen Scan), die auch in der zweiten Referenzmenge vorhanden sind, also früher schon erkannt worden waren, werden für die Bestimmung von Position und/oder Orientierung herangezogen und hier als dritte Menge bezeichnet.Within the scope of the present invention, special emphasis is placed on the tracking of markers. Markers of the current second set (i.e. in the current scan), which are also present in the second reference set, i.e. had been recognized earlier, are used to determine the position and/or orientation and are referred to here as the third set.
Vorzugsweise werden Marker der aktuellen zweiten Menge, die nicht in der dritten Menge enthalten sind, also bisher noch nicht erkannt worden waren, nach der Bestimmung von Position und/oder Orientierung der zweiten Referenzmenge hinzugefügt. Bei zukünftigen Scans dienen dann auch diese als schon einmal erkannte - nachverfolgte - Marker.Preferably, markers of the current second set that are not contained in the third set, ie have not yet been recognized, are added after the position and/or orientation of the second reference set has been determined. In future scans, these will also serve as previously recognized - tracked - markers.
Vorzugsweise wird auch erfasst (und gespeichert), wie oft ein Marker aus der zweiten Referenzmenge bereits erkannt worden ist. Dies kann beispielsweise zur Erhöhung der Genauigkeit verwendet werden, wenn der dritten Menge nur solche Marker aus der zweiten Menge zugeordnet werden, bei denen diese Anzahl bereits mindestens einen Erkennungsschwellwert erreicht hat, z.B. dreimal.It is preferably also recorded (and stored) how often a marker from the second reference set has already been recognized. This can be used, for example, to increase the accuracy if only those markers from the second set are assigned to the third set, for which this number has already reached at least a detection threshold value, e.g. three times.
Das Nachverfolgen („Tracken“) von Markern bzw. Reflektormarkern wird also, mit anderen Worten, verwendet, um die Information daraus später für das „Scan Matching“ nutzen zu können. Dabei können aus den einzelnen Detektionen der Marker je Scan zusammenhängende Tracks (Treffer), also (über mehrere Scans hinweg) nachverfolgte Marker erzeugt werden. Hierbei wird berücksichtigt, dass bei aufeinanderfolgenden Scans die Veränderung der Position und/oder Orientierung des mobilen Geräts meist nur geringfügig abweicht, jedenfalls weniger als bei zeitlich weiter auseinanderliegenden Scans. Dies erlaubt es, Marker nachzuverfolgen; solche Marker sind dann sehr sicher auch tatsächlich in der Umgebung vorhandene Marker und können die Lokalisierung positiv beeinflussen. Eine noch detailliertere Erläuterung zum Nachverfolgen von Markern soll in Bezug auf die Figurenbeschreibung erfolgen.In other words, the following ("tracking") of markers or reflector markers is used in order to be able to use the information from it later for "scan matching". From the individual detections of the markers per scan, connected tracks (hits), i.e. markers tracked (over several scans), can be generated. It is taken into account here that the change in the position and/or orientation of the mobile device usually deviates only slightly in the case of successive scans, at least less than in the case of scans that are more distant in time. This allows markers to be tracked; such markers are then very definitely also markers actually present in the environment and can have a positive influence on the localization. An even more detailed explanation of the tracking of markers should be given in relation to the description of the figures.
Vorzugsweise wird zumindest ein Teil der Punkte der aktuellen ersten Menge zur ersten Referenzmenge hinzugefügt, wenn zumindest ein Kriterium erfüllt ist. Das erste Kriterium kann z.B. bedingen, dass zumindest ein gewisser Anteil der Punkte der aktuellen ersten Menge, z.B. 25%, 50% oder auch mehr, nicht auch schon in der ersten Referenzmenge vorhanden ist. Damit kann die erste Referenzmenge - und damit also letztlich auch die eigentliche Karte der Umgebung - erweitert werden. Mit jeder neuen, aktuellen ersten Menge kann dann also die Karte der Umgebung ggf. immer weiter verbessert werden. Weitere mögliche Kriterien (Heuristiken) sind z.B., ob eine gewisse Strecke zurückgelegt wurde oder ob der NDT-Score unterhalb eines gewissen Schwellwerts liegt.At least some of the points of the current first set are preferably added to the first reference set if at least one criterion is met. The first criterion can e.g. require that at least a certain proportion of the points of the current first set, e.g. 25%, 50% or even more, is not already present in the first reference set. In this way, the first reference set—and ultimately also the actual map of the environment—can be expanded. With each new, up-to-date first set, the map of the area can then be further improved, if necessary. Other possible criteria (heuristics) are, for example, whether a certain distance has been covered or whether the NDT score is below a certain threshold.
Durch das Nachverfolgen der Marker ergibt sich ein weiteres bevorzugtes Kriterium hierfür. Sobald ein neuer nachverfolgter Marker angelegt wird, d.h. der zweiten Referenzmenge hinzugefügt wird, kann zumindest ein Teil der Punkte der aktuellen ersten Menge oder die gesamte aktuelle erste Menge zur ersten Referenzmenge hinzugefügt werden. Der Teil beinhaltet insbesondere den neu nachverfolgten Marker bzw. den Bereich um diesen, die gesamte erste Menge beinhaltet diesen ohnehin. Damit können zukünftige „Scan Matches“ diesen Marker nutzen, da er dann sowohl im aktuellen Scan als auch in der lokalen Karte (Referenzmenge) vorkommt.A further preferred criterion for this results from the tracking of the markers. As soon as a new tracked marker is created, ie added to the second reference set, at least part of the points of the current first set or all of the current first set can be added to the first reference set. The part contains in particular the newly tracked marker or the area around it, the entire first set contains this anyway. This allows future "Scan Matches" use this marker, since it then occurs both in the current scan and in the local map (reference set).
Da die lokale Karte typischerweise aus mehreren Scans zusammengesetzt ist, kann es vorkommen, dass ein nachverfolgter Marker in der lokalen Karte mehrfach auftaucht, d.h., dass mehrere nachverfolgte Marker mit der gleichen ID vorhanden sind. Hierbei gibt es mehrere Möglichkeiten, wie damit umgegangen werden kann: Der älteste nachverfolgte Marker kann verwendet werden, um Drift zu verringern. Der neueste nachverfolgte Marker kann verwendet werden, um robuster gegen nicht komplett statische Marker zu sein. Ein Mittelwert aller nachverfolgten Marker mit der gleichen ID kann verwendet werden, um robuster gegenüber verrauschten Messungen der Markerposition zu werden.Since the local map is typically composed of several scans, it can happen that a tracked marker appears multiple times in the local map, i.e. that there are several tracked markers with the same ID. There are several ways to deal with this: The oldest tracked marker can be used to reduce drift. The latest tracked marker can be used to be more robust against markers that are not completely static. An average of all tracked markers with the same ID can be used to become more robust to noisy marker position measurements.
Es ist auch von Vorteil, wenn das Bestimmen der aktuellen Position und/oder Orientierung des mobilen Geräts in der Umgebung nur dann basierend auf der aktuellen ersten Menge, der ersten Referenzmenge, der dritten Menge und der zweiten Referenzmenge erfolgt, wenn ein weiteres Kriterium erfüllt ist. Dieses weitere Kriterium kann z.B. fordern, dass überhaupt ein Marker (oder Punkt zweiter Art) in der aktuellen Messung vorhanden ist. Alternativ oder zusätzlich kann das weitere Kriterium z.B. fordern, dass sich das mobile Gerät innerhalb eines bestimmten Bereichs der Umgebung, z.B. einem solchen, in dem bekannt ist, dass Reflektormarker vorhanden sind, aufhält. Wenn das weitere Kriterium nicht erfüllt ist, erfolgt das Bestimmen der aktuellen Position und/oder Orientierung des mobilen Geräts in der Umgebung nur basierend auf der ersten Menge und der der ersten Referenzmenge, also wie bei herkömmlichem „Scan-Matching“ (ohne Reflektormarker oder ähnlichem).It is also advantageous if the current position and/or orientation of the mobile device in the area is only determined based on the current first set, the first reference set, the third set and the second reference set if another criterion is met . This additional criterion can, for example, require that a marker (or point of the second type) is present in the current measurement. Alternatively or additionally, the further criterion can require, for example, that the mobile device is located within a certain area of the environment, e.g. one in which it is known that reflector markers are present. If the other criterion is not met, the current position and/or orientation of the mobile device in the environment is determined based only on the first set and the first reference set, i.e. as with conventional "scan matching" (without reflector markers or similar ).
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Roboters, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, e.g. a control unit of a robot, is set up, in particular in terms of programming, to carry out a method according to the invention.
Die Erfindung betrifft auch ein mobiles Gerät mit einer erfindungsgemäßen Recheneinheit. Vorzugsweise ist das mobile Gerät als sich zumindest teilweise automatisiert bewegendes Fahrzeug, insbesondere als Personenbeförderungsfahrzeug oder als Güterbeförderungsfahrzeug, oder als Roboter, ausgebildet.The invention also relates to a mobile device with a computing unit according to the invention. The mobile device is preferably designed as a vehicle that moves at least partially automatically, in particular as a passenger transport vehicle or as a goods transport vehicle, or as a robot.
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is advantageous because this causes particularly low costs, especially if an executing control device is also used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It goes without saying that the features mentioned above and those still to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.The invention is shown schematically in the drawing using an exemplary embodiment and is described in detail below with reference to the drawing.
Figurenlistecharacter list
-
1 zeigt schematisch ein mobiles Gerät in einer Umgebung, bei dem ein erfindungsgemäßes Verfahren durchführbar ist.1 shows schematically a mobile device in an environment in which a method according to the invention can be carried out. -
2 zeigt schematisch Referenzmengen von Punkten, wie sie bei einem erfindungsgemäßen Verfahren in einer bevorzugten Ausführungsform auftreten können.2 shows schematically reference sets of points as can occur in a preferred embodiment of a method according to the invention. -
3 zeigt schematisch Mengen von Punkten, wie sie bei einem erfindungsgemäßen Verfahren in einer bevorzugten Ausführungsform auftreten können.3 shows schematically sets of points as can occur in a preferred embodiment of a method according to the invention. -
4 zeigt schematisch einen Ablauf eines erfindungsgemäßen Verfahrens in einer bevorzugten Ausführungsform.4 shows schematically a sequence of a method according to the invention in a preferred embodiment.
Detaillierte Beschreibung der ZeichnungDetailed description of the drawing
In
Bei der Umgebung 150 handelt es sich beispielhaft um das Innere eines Gebäudes mit einem z.B. längeren Flur, von links in der
Das mobile Gerät 100 soll sich nun z.B. entlang des Bewegungspfades 102 in der Umgebung 150 bewegen. Hierzu ist die Kenntnis der aktuellen Position und/oder Orientierung des mobilen Geräts 100 erforderlich, um bestimmen zu können, wie das mobile Gerät 100 angesteuert werden muss, um dem Bewegungspfad 102 folgen zu können, oder auch, um zunächst den Bewegungspfad 102 planen zu können. Wie erwähnt, kann die Kenntnis der aktuellen Position und/oder Orientierung auch (nur) der Nachverfolgung des mobilen Geräts dienen.The
Hierzu kann mittels des Lidar-Sensors 120 die Umgebung 150 abgescannt werden. Dabei wird der Laserscanner im Lidar-Sensor bewegt, während mittels ausgesendeter Laserstrahlen und empfangener, reflektierter Strahlung eine Vielzahl an Punkten erhalten wird; jeder Punkt steht dabei für einen Punkt oder eine kleine Fläche in der Umgebung, dort z.B. an einem Objekt, von dem eine reflektierte Strahlung empfangen wird.For this purpose, the
In
Diese beiden Arten von Punkten lassen sich unterscheiden, da die von den Reflektormarkern reflektierte Strahlung aufgrund der entsprechenden Ausbildung der Reflektormarker (z.B. als Spiegel) im Lidar-Sensor eine deutlich höhere Lichtintensität erzeugt als die von den übrigen Objekten in der Umgebung reflektierte Strahlung, wo die Laserstrahlung zumeist diffus gestreut wird.These two types of points can be distinguished because the radiation reflected by the reflector markers generates a significantly higher light intensity than the radiation reflected by the other objects in the area, due to the corresponding design of the reflector markers (e.g. as mirrors) in the lidar sensor, where Laser radiation is mostly diffusely scattered.
Die in
In
Anders als in
Um die Information aus den Markern bzw. Reflektormarkern später für das „Scan Matching“ nutzen zu können, wird das Nachverfolgen („Tracken“) von Markern bzw. Reflektormarkern verwendet. Dabei können aus den einzelnen Detektionen der Marker je Scan zusammenhängende Tracks (Treffer), also (über mehrere Scans hinweg) nachverfolgte Marker erzeugt werden.In order to be able to use the information from the markers or reflector markers later for “scan matching”, the tracking of markers or reflector markers is used. From the individual detections of the markers per scan, connected tracks (hits), i.e. markers tracked (over several scans), can be generated.
Dazu kann angenommen werden, dass bei jedem Scan (also in jedem Zeitschritt) eine Menge von Detektionen D = {d1, ... , dN
Die Menge von Detektionen umfasst diejenigen Marker, die im aktuellen Scan erfasst werden. Beispielsweise können dies die drei Marker 162, 164 und 165 aus
Um diejenigen Marker, die für die Posenbestimmung verwendet werden, zu bestimmen, werden Detektion und Tracks einander zugeordnet, so dass die Summe der Abstände zwischen den Tracks und den Detektionen, cost(A), minimiert wird. So kann also z.B. versucht werden, die drei Marker, die in
Dabei können jede Detektion und jeder Track maximal einmal zugeordnet werden. Detektionen und Tracks, die übrig bleiben, erhalten z.B. fixe Kosten cD > 0 bzw. cT > 0. Die Menge der Zuordnungen wird dabei beschrieben als A = {(i,j) | di ist tj zugeordnet}.
Dabei sind ND bzw. NT die Anzahl der nicht zugeordneten Detektionen bzw. Tracks. Die Zuordnungen, welche diese Kosten minimieren, werden z. B. mit der „Ungarischen Methode“ (Hungarian Algorithm, auch Kuhn-Munkres-Algorithm, vgl. „James Munkres: Algorithms for the Assignment and Transportation Problems, Journal of the Society for Industrial and Applied Mathematics, Vol. 5 No. 1, 32-38, 1957.“) bestimmt. Für nicht zugeordnete Detektionen wird anschließend jeweils ein neuer Track erstellt und mit einer eindeutigen Track ID versehen, d.h. sie werden der zweiten Referenzmenge hinzugefügt. Wenn also z.B. der Marker 165 in
Nicht zugeordnete Tracks, also z.B. die Marker 160, 161, 163, die in
Um die Robustheit gegenüber kurzzeitigen Fehldetektionen zu erhöhen (z.B. Fehldetektionen, die nur in einem einzelnen Scan auftauchen), ist es zweckmäßig, für die weitere Verarbeitung nur Tracks zu nutzen, die mehrfach, z.B. mindestens dreimal detektiert wurden.In order to increase the robustness against short-term incorrect detections (e.g. incorrect detections that only appear in a single scan), it is advisable to only use tracks for further processing that have been detected several times, e.g. at least three times.
Um die Position und Orientierung des mobilen Geräts in der Situation der
In
Weiterhin wird in einem Schritt 404 ein Scan mittels des Lidar-Sensors durchgeführt. Dabei wird, in Schritt 406, die aktuelle erste Menge 312 von Punkten 310 erster Art erhalten. In Schritt 408 werden einer oder mehrere Punkte 320 (in dem gezeigten Beispiel in
Anhand des einen oder der mehreren Punkte 320 wird, in einem Schritt 410, eine aktuelle zweite Menge an nachverfolgten Markern bestimmt. Daraus wiederum wird, einem Schritt 412, eine dritte Menge an nachverfolgten Markern bestimmt, die sowohl in der aktuellen zweiten Menge als auch in der zweiten Referenzmenge enthalten sind,Based on the one or
Es wird dann, in Schritt 414, ein „Scan Matching“-Verfahren angewendet. Hierbei wird auf die geschätzte oder ggf. zuletzt bekannte Position und/oder Orientierung zurückgegriffen. Wie schon erwähnt, gibt es verschiedene sogenannte „Scan Matching“-Verfahren (oder auch Verfahren zur Registrierung von Punktwolken), von denen die meisten entweder auf dem „Iterative Closest Point“-Verfahren (ICP) oder dem „Normal Distributions Transform“-Verfahren (NDT) basieren. Nachfolgend soll das NDT-Verfahren zum „Scan Matching“ als Beispiel näher erläutert werden.Then, in
Zunächst soll kurz die Funktionsweise eines „Scan Matching“-Verfahrens an sich erläutert werden. Als Eingabe eines „Scan Matching“-Verfahrens (dies gilt im Grunde für alle „Scan Matching“-Verfahren) sind eine aktuelle Menge an Punkten bzw. eine Punktwolke PA = {pA1, ...,>pAi }, Referenzmenge an Punkten bzw. eine Referenzpunktwolke PR = {pR1, ..., pRj} und eine initiale Schätzung der Position und/oder Orientierung der aktuellen Punktwolke TR,A relativ zur Referenzpunktwolke (oder eben ggf. die zuletzt bekannte) nötig.First of all, the functionality of a "scan matching" method should be briefly explained. A current set of points or a point cloud P A = {p A1 ,...,>p Ai }, reference set, is input to a "scan matching" procedure (this applies to all "scan matching" procedures). at points or a reference point cloud P R = {p R1 , ..., p Rj } and an initial estimate of the position and/or orientation of the current point cloud T R,A relative to the reference point cloud (or the last known one, if applicable). .
Das NDT-„Scan Matching“-Verfahren überführt in einem ersten Schritt die Referenzpunktwolke in eine sog. NDT-Darstellung. Dabei handelt es sich um ein diskretisiertes Raster von Zellen (NDT-Zellen), die jeweils entweder leer sind oder die in ihnen enthaltenen Punkte durch eine multivariate Normalverteilung mit Mittelwert q und Kovarianzmatrix Σ approximieren. Um Diskretisierungseffekte zu vermeiden ist es zweckmäßig, mehrere überlappende Raster zu verwenden.In a first step, the NDT "Scan Matching" process converts the reference point cloud into a so-called NDT representation. This is a discretized grid of cells (NDT cells), each of which is either empty or approximates the points they contain using a multivariate normal distribution with mean q and covariance matrix Σ. In order to avoid discretization effects, it is advisable to use several overlapping grids.
In einem zweiten Schritt werden alle Punkte der aktuellen Punktwolke basierend auf der aktuellen bzw. initialen Schätzung der Position und/oder Orientierung (Posenschätzung) TR,A in Referenzkoordinaten transformiert und mit der nächsten NDT-Zelle bzw. deren Mittelwert qi und Kovarianzmatrix Σi assoziiert.In a second step, all points of the current point cloud are transformed into reference coordinates based on the current or initial estimate of the position and/or orientation (pose estimate) T R,A and with the next NDT cell or its mean q i and covariance matrix Σ i associated.
In einem dritten Schritt wird diejenige relative Position und/oder Orientierung (Pose) TRr4 ermittelt, die den NDT-Score maximiert:
Der zweite und dritte Schritt werden in der Regel mehrfach wiederholt, da veränderte Posenschätzungen zu anderen Assoziationen zwischen Punkten und NDT-Zellen führen können. Diejenige relative Position und/oder Orientierung (Pose) TR,A, die diesen NDT-Score maximiert, stellt dann die aktuelle Position und/oder Orientierung dar.The second and third steps are usually repeated several times, since changed pose estimates can lead to different associations between points and NDT cells. That relative position and/or orientation (pose) T R,A that maximizes this NDT score then represents the current position and/or orientation.
Dieses „Scan Matching“-Verfahren kann für die erwähnte aktuelle erste Menge an Punkten erster Art und die erste Referenzmenge an Punkten erster Art durchgeführt werden, wobei die nachverfolgten Marker als Kostenfunktion zu berücksichtigen ist, wie nachfolgend erläutert werden soll.This "scan matching" method can be carried out for the mentioned current first set of points of the first type and the first reference set of points of the first type, with the tracked markers having to be taken into account as a cost function, as will be explained below.
Bei der Verwendung von Markern bzw. Reflektormarkern stehen neben den oben genannten Punkten (erster Art) PA und PR weiterhin die zweite Menge an Markern TAM = {tAM
Mithilfe dieser Kostenfunktion kann der NDT-Score angepasst werden, um einen Gesamt-Score zu erhalten:
In einem Schritt 416 kann dann die aktuelle Position und/oder Orientierung (Pose) 418 ausgegeben werden. In einem Schritt 420 kann darauf basierend auch ein Bewegungspfad bestimmt werden, worauf basierend wiederum, in Schritt 422, Steuerungsinformationen zum Bewegen des mobilen Geräts bestimmt. werden, um dieses zu bewegen.In a
Außerdem kann, in einem Schritt 424, zumindest ein Teil der Punkte der aktuellen ersten Menge zur ersten Referenzmenge hinzugefügt werden, z.B. wenn eine gewisse Strecke zurückgelegt wurde oder der NDT-Score unterhalb eines gewissen Schwellwerts liegt oder ein neuer nachverfolgter Marker angelegt wird.In addition, in a
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022201427.8A DE102022201427A1 (en) | 2022-02-11 | 2022-02-11 | Method for determining a position and/or orientation of a mobile device in an environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022201427.8A DE102022201427A1 (en) | 2022-02-11 | 2022-02-11 | Method for determining a position and/or orientation of a mobile device in an environment |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102022201427A1 true DE102022201427A1 (en) | 2023-08-17 |
Family
ID=87430473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102022201427.8A Pending DE102022201427A1 (en) | 2022-02-11 | 2022-02-11 | Method for determining a position and/or orientation of a mobile device in an environment |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102022201427A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009046109A1 (en) | 2009-10-28 | 2011-05-05 | Ifm Electronic Gmbh | Position determining system for e.g. agricultural working machine, has evaluation device assigned to camera such that position and orientation of vehicle is determined in reference system based on detected detection marks |
DE102010060942A1 (en) | 2010-12-01 | 2012-06-06 | Sick Ag | Sensor arrangement for object recognition |
DE102011012689A1 (en) | 2011-03-01 | 2012-09-06 | E&K Automation GmbH | Method for determining position of object e.g. vehicle in reference system e.g. landmark, involves determining position of object using detected relative position of landmarks and detected characteristic of marker |
DE102020118629A1 (en) | 2020-07-15 | 2022-01-20 | Bayerische Motoren Werke Aktiengesellschaft | Computer-implemented method for determining the validity of an estimated position of a vehicle |
-
2022
- 2022-02-11 DE DE102022201427.8A patent/DE102022201427A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009046109A1 (en) | 2009-10-28 | 2011-05-05 | Ifm Electronic Gmbh | Position determining system for e.g. agricultural working machine, has evaluation device assigned to camera such that position and orientation of vehicle is determined in reference system based on detected detection marks |
DE102010060942A1 (en) | 2010-12-01 | 2012-06-06 | Sick Ag | Sensor arrangement for object recognition |
DE102011012689A1 (en) | 2011-03-01 | 2012-09-06 | E&K Automation GmbH | Method for determining position of object e.g. vehicle in reference system e.g. landmark, involves determining position of object using detected relative position of landmarks and detected characteristic of marker |
DE102020118629A1 (en) | 2020-07-15 | 2022-01-20 | Bayerische Motoren Werke Aktiengesellschaft | Computer-implemented method for determining the validity of an estimated position of a vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3491417B1 (en) | Method and system for detecting landmarks in a traffic environment of a mobile unit | |
EP3695244B1 (en) | Method and device for creating an inverse sensor model and method for detecting obstacles | |
DE102014005181A1 (en) | Position and orientation of objects | |
DE102018124108A1 (en) | METHOD AND DEVICE FOR DETECTING ROAD LIMITATION | |
DE102013113570A1 (en) | Bayes network for tracking objects using search points using multiple LiDAR sensors | |
EP3824247A1 (en) | Method and system for determining a position of a vehicle | |
DE102019112649A1 (en) | DEVICE AND METHOD FOR IMPROVING RADAR BEAM FORMING | |
DE102020124236A1 (en) | REUSABLE GHOST IMAGE IN THE VEHICLE RADAR SYSTEM | |
DE102018123393A1 (en) | Detection of parking areas | |
DE102021206075A1 (en) | Vehicle localization as a ride-sharing option and occupant identification for autonomous vehicles | |
EP4055459A1 (en) | Computer-implemented method for creating a map of the surrounding area for the operation of a mobile agent | |
EP2749982A2 (en) | Generation and updating of reference models | |
DE102008008499B4 (en) | Method for computer-aided calculation of the movement of an object from sensor data | |
DE102022201427A1 (en) | Method for determining a position and/or orientation of a mobile device in an environment | |
DE102022201421A1 (en) | Method for determining a position and/or orientation of a mobile device in an environment | |
DE102019203623A1 (en) | Method of providing a card | |
DE102020127315B4 (en) | System and method for annotating automotive radar data | |
EP0417665A2 (en) | Method and apparatus for optical position and/or course determination of a driverless self-propelled vehicle in the x-y plane | |
DE102022211112A1 (en) | Method for determining markers for a position and/or orientation of a mobile device in an environment | |
DE102019214008A1 (en) | Method and device for localizing a mobile agent in an environment with dynamic objects | |
WO2020001690A1 (en) | Method and system for identifying obstacles | |
DE102018130745A1 (en) | Method for controlling an autonomous vehicle | |
DE102020216317A1 (en) | Indoor localization of moving objects | |
EP2251849B1 (en) | Method for improved recognition of conduit-type objects | |
DE102022207370A1 (en) | Method for detecting a faulty map of an environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication |