METHOD FOR FILTERING INPUTS TO AN AUTONOMOUS VEHICLE LOCALIZATION METHOD
Patent Information
- Application Number
- DE502023004963
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-07-25
- Publication Date
- 2026-09-24
- Estimated Expiration
- 2043-07-25
AI Technical Summary
Autonomous vehicles face computational challenges and erroneous measurements during localization due to the high frequency of data acquisition and detection of erroneous environmental features, particularly when tilted, which complicates precise positioning.
A method involving a predefined occupancy map and an optimized data structure, such as a kd-tree, filters sensor data by searching for occupied cells within a search radius determined by the vehicle's pose and maximum errors, discarding erroneous measurements before localization.
This approach significantly reduces computational load and enhances localization reliability by eliminating erroneous data, ensuring precise vehicle positioning even at high speeds.
Description
[0001] The present invention relates to a method for filtering inputs to a localization method of an autonomous vehicle in an operating environment, a corresponding localization method and an autonomous industrial truck whose control unit is configured to perform such a filtering method.
[0002] In the logistics sector, autonomous vehicles have recently become increasingly common. These vehicles perform movements within an operational environment based on predefined work orders and can transport loads. To fulfill such tasks, it is necessary to know the current location of these vehicles with high precision. This is crucial not only for reliably reaching pickup and delivery points for the loads to be transported, but also for preventing unwanted interactions and, in particular, collisions with obstacles present in the operational environment.
[0003] In addition to the use of positioning devices, which allow such vehicles to determine their own position, for example via triangulation of transmitter signals or based on markers positioned in the operating environment, alternative localization strategies have become known in which suitable sensor units take recordings of the vehicles' surroundings and compare them with a predefined map, whereby a highly precise localization of the vehicles can be carried out by means of pattern recognition through a comparison of the sensor data and the map data.Accordingly, in such applications, localizations are performed on existing static maps. For reliable operation with high precision, both a high frequency of such localization processes and the acquisition of a large number of sensor data points, or a high granularity of the environmental data, are desired. Due to the correspondingly large number of data points, such localization methods are relatively computationally intensive, a problem further exacerbated by the desired high frequency of these processes.
[0004] Furthermore, under certain circumstances, erroneous measurements or object detections can occur during environmental mapping, particularly if one of the vehicle's detection devices is tilted towards the ground, for example, due to driving over an uneven surface. In such a case, the road surface itself would be detected and consequently interpreted as an environmental feature that would have to be compared with the aforementioned occupancy map. This would not only drastically increase the already high computational demands, but would also pose the risk of making vehicle localization difficult or even impossible due to such erroneous measurements.
[0005] Document US2020 / 401817 A1 discloses a method for filtering inputs to a localization procedure of an autonomous vehicle in an operating environment represented by an occupancy map.
[0006] Document US2018 / 306587 A1 discloses a method for comparing an occupancy map created using sensor measurements with a predefined CAD model as part of a localization procedure for an autonomous industrial truck.
[0007] It is therefore an object of the present invention to provide a method for filtering inputs to such a map-based localization method, by means of which erroneous measured values from the operating environment around the vehicle can be efficiently discarded at an early stage in order to be able to carry out the subsequent actual localization process more efficiently and reliably.
[0008] For this purpose and to solve the problem just formulated, a method according to the invention for filtering inputs to a localization method of an autonomous vehicle in an operating environment comprises the steps of providing a predefined occupancy map which represents known objects present in the operating environment, generating an optimized data structure which represents occupied cells in a representation of the occupancy map in a coordinate system, capturing the operating environment of the vehicle by means of at least one sensor unit which is configured to detect objects in the operating environment and their distances from the vehicle, wherein each detected object is assigned a measured value provided by the sensor unit in the coordinate system, and for each measured value, searching within a predetermined search radius around the measured value for an occupied cell in the optimized data structure.If an occupied cell is found within the search radius, the measurement is passed on to a subsequent localization method; if no occupied cell is found within the search radius, the measurement is discarded.
[0009] Accordingly, the method according to the invention enables efficient filtering of measured values provided by the at least one sensor unit in such a way that measured values which do not correspond to an occupied cell in the data structure representing the occupancy map within their predetermined search radius are not fed into the localization process. This results in a significant reduction of the data to be processed and a more robust execution of the downstream localization process overall. It should be noted that a predefined occupancy map is used for this purpose, which may already be available in a suitable format at the processing unit responsible for the subsequent process steps.
[0010] In particular, the coordinate system used can be a global Cartesian coordinate system of the operating environment, in which such occupancy maps and data structures can be handled advantageously.
[0011] Accordingly, assigning the measured values in the coordinate system to the detected objects can also involve transforming the measurement outputs of the at least one sensor unit into the global Cartesian coordinate system based on a current estimate of the vehicle's pose. In order to relate the sensor data, which are typically delivered in a coordinate system originating at the vehicle's center, to the occupancy map or the optimized data structure, it is first necessary to know or estimate the vehicle's current position and orientation with respect to the global Cartesian coordinate system. The pair of values representing the vehicle's current position and orientation is referred to as its pose.Examples of techniques for creating a current estimate of the vehicle's pose include starting from a last known pose during ongoing operation or when resuming operation of the vehicle without any interim changes to the pose, or, when starting the vehicle at a previously unknown position, determining the appropriate pose by starting from a corresponding starting field with a known pose.
[0012] Similarly, the current estimate of the vehicle's pose can be used to determine the search radius mentioned above, by setting the search radius based on the current estimate of the vehicle's pose and a maximum acceptable error.
[0013] For example, the search radius can be determined using a projection that incorporates a maximum assumed angular error and a maximum assumed positional error of the estimated pose with respect to the distance from the corresponding measurement. Such maximum assumed errors regarding the angle and position of the pose can be determined using various data-based methods before the vehicle is put into operation, for example, by comparing the deviations between navigation using a dedicated sensor unit and navigation using markers in various test series.
[0014] The procedure described above for determining the corresponding search radii ensures that, for each measured value, the search radius associated with that value will vary depending on its distance from the vehicle. This allows for a high degree of accuracy in considering the geometric relationships between the occupancy map, the vehicle, and the corresponding measured value. While alternative versions of the inventive method are theoretically possible, in which a corresponding search radius is determined differently or even a fixed value is used, such versions would lead to a less reliable rejection of erroneous or unwanted measured values.
[0015] Furthermore, it should be noted that the optimized data structure should be characterized by allowing, as efficiently as possible, the verification of whether an occupied cell exists within the search radius around a corresponding measurement. It turns out that a "brute force" method for comparing all possible occupied cells or objects present in the operating environment on the predefined occupancy map with the position of the measurement or its search radius can also be extremely computationally intensive if a large number of measurements or occupied cells with a high degree of granularity are involved, as these would each have to be compared individually.
[0016] Accordingly, the optimized data structure can be, for example, a search tree, and in particular a kd-tree. Such data structures are characterized by the fact that they already contain distance or neighborhood information for the individual entries, which makes them suitable for significantly simplifying the check for the presence of an occupied cell within the search radius around each measurement value, or for significantly reducing the corresponding computational effort.Thus, even with a large number of measured values to be examined and a high frequency of the downstream localization method, the inventive method for filtering the inputs to the localization method can be reliably carried out with relatively little additional computational effort, whereby the savings in computational effort achieved in the downstream localization method significantly outweigh the effort required to carry out the filtering method, and at the same time the precision of the localization method can be increased.
[0017] Accordingly, according to a further aspect, the present invention relates to a localization method of an autonomous vehicle in an operating environment by comparing sensor data of at least one sensor unit of the vehicle with a predefined occupancy map of the operating environment to determine a current pose of the vehicle, wherein the sensor data are filtered before the localization is carried out by means of a method of the type just described.
[0018] Furthermore, according to a further aspect, the present invention relates to an autonomous industrial truck comprising at least one sensor unit which is configured to detect objects in the operating environment of the industrial truck and their distances to the industrial truck, and a control unit coupled to the at least one sensor unit, wherein the control unit is configured to execute the corresponding filtering method according to the invention on the basis of a provided occupancy map and sensor data supplied by the at least one sensor unit.
[0019] Furthermore, the control unit can also be configured to perform a localization procedure to determine the current position of the industrial truck based on the measured values transmitted from the process and the occupancy map.
[0020] While initially different embodiments of sensor units in the industrial truck according to the invention would be conceivable, provided they are able to detect objects in the operating environment of the industrial truck and their distances, for example 3D cameras or similar devices, according to the invention at least one sensor unit can be formed in particular by a 2D laser scanner.
[0021] These laser scanners periodically scan their area on a predefined scan plane and, for a detected object at a specific angle, provide corresponding distance data that can be appropriately transferred to any coordinate system. The corresponding scan planes are typically positioned relatively close to the road surface and aligned parallel to it.
[0022] The control unit can be configured to execute the inventive method at a frequency of at least 20 Hz, preferably at least 50 Hz, in order to consistently transmit reliable input data to a downstream localization algorithm, which can be executed at the same frequency. A high frequency for this localization algorithm is desirable to ensure that the current position of the industrial truck according to the invention can be determined with high precision, even at high speeds.
[0023] Although the present invention is in principle applicable to any design of industrial truck, the industrial truck can in particular be designed as an underride shuttle, and the sensor plane of the at least one sensor unit can be located no more than 15 cm above the driving surface. The particular suitability of the method according to the invention for such vehicles lies in the fact that, with such underride shuttles, due to their functionally low overall height and correspondingly low scan plane, situations can arise even at small tilt angles of the vehicle body in which the scan plane protrudes into the driving surface. Consequently, objects not included in the occupancy map would be detected erroneously in such an area, thus significantly hindering the localization of the vehicle.Similarly, sensors positioned so low are particularly susceptible to reflections from the road surface, which can produce similarly erroneous readings and can be efficiently discarded using the filter method according to the invention.
[0024] Further features and advantages of the present invention will become even clearer from the following description of an embodiment thereof, when viewed together with the accompanying figures. These show in detail: Fig. 1 is a schematic representation of an operating state of a vehicle according to the invention in an operating environment during the execution of a method according to the invention in a top view; Fig. 2 is a schematic diagram to illustrate the determination of a search radius in the corresponding method; and Fig. 3 is a flowchart to explain the method according to the invention.
[0025] In Figure 1A schematic top view shows a forklift truck 10 according to the invention, which is designed in the form of an underride shuttle and is located in an operating environment U in which it can perform different operating tasks, for example a transport of objects between transfer stations not shown here.
[0026] The underride shuttle 10 has a relatively low profile and an approximately square outline when viewed from above. It is equipped with a plurality of sensor units 12, designed as 2D laser scanners, for detecting objects in its environment, as well as a control unit 14 coupled to the sensor units 12. Due to their respective scan ranges and their arrangement on the vehicle 10, the sensor units 12 allow for a 360° all-around detection of the vehicle 10's surroundings.
[0027] As can be seen from Figure 1Furthermore, it follows that vehicle 10 is currently located in the aforementioned operating environment U, which is bounded by a wall W. Here, environment U is assigned a global Cartesian coordinate system, which is defined by corresponding coordinate axes in Figure 1 As indicated, the area to be considered for the method according to the invention is subdivided into a plurality of (virtual) cells according to the grid pattern also shown. The vehicle itself can also be assigned a coordinate system, as shown in Figure 1 indicated that the measured values of the sensor units 12 must first be interpreted in relation to the vehicle 10's own position and orientation.
[0028] Vehicle 10, and in particular its control unit 14, also has access to an occupancy map based on this grid, which represents known objects present in the operating environment U and, in this case, the wall W, and classifies the corresponding cells of the grid as occupied or unoccupied. Based on the data supplied by the sensor units 12 regarding the respective distances to detected objects, depending on the current detection angle, and by comparing this data with the wall W encoded in the occupancy map, the vehicle is able to localize itself within the operating environment U and, in particular, to determine its own pose, i.e., the position and orientation of vehicle 10.
[0029] For this purpose, in Figure 1Numerous measured values are illustrated, with some examples of the measured values actually located in the immediate vicinity of the wall, symbolized by dots, labeled M1, while further examples of additional erroneous measured values, symbolized by crosses, are labeled M2. The accumulation of erroneous measured values M2 can be caused, for example, by reflections from the road surface or an unevenness in this surface. Such an unevenness, for example, when the vehicle 10 drives over it, can cause the corresponding sensor units 12 to tilt in a certain direction towards the surface and thus classify it as an obstacle or object as soon as the corresponding scan plane intersects the road surface.
[0030] To filter out or discard the measured values M2, which are described here as erroneous, before the localization procedure described above is carried out, the vehicle 10, with the aid of its control unit 14, performs a filtering procedure according to the invention. In this procedure, for each of the measured values M1 and M2, a search for occupied cells is performed in the occupancy map available here, or in a data structure optimized therefrom. This search is also based on an estimate of the current position of the vehicle 10. This procedure is described further below in connection with the flowchart from Figure 3 This will be explained in more detail, and it will become apparent that within the corresponding areas, represented in some examples by dashed circles, Figure 1Within the search radii shown around the measured values M1, at least one occupied cell is found, since the wall W coded in the occupancy map is located in their vicinity, whereas for the erroneous measured values M2, no occupied cell is found in their vicinity and in particular within the corresponding search radius, since they are far from the wall W and there are no other objects in their vicinity in the occupancy map.
[0031] By filtering the recorded measured values M1 and M2 and only passing on the verified measured values M1 to a downstream localization procedure, a significant improvement in the efficiency and reliability of this localization procedure can be achieved, thus more than computing the additional computational effort for the filtering procedure described above.
[0032] With reference to Figure 2It will now be explained how the respective search radius for each of the measured values M1 and M2 is determined. This is based on a currently estimated position P1 and a currently estimated orientation of vehicle 10 in the operating environment U relative to the global coordinate system, which together represent a current estimate of the vehicle 10's pose. Based on previously performed data-based procedures, a maximum acceptable positional error or a maximum acceptable angular error of the correspondingly estimated pose can also be determined, for example, by comparison series using laser navigation of the type described here and marker navigation.
[0033] In order to determine the corresponding search radius of one of the measuring points M1, assuming the largest possible errors for the position and angle of the pose, an auxiliary point H1 is first constructed from the measuring point M1 considered here, taking into account the largest possible angular error e α. This auxiliary point lies on a circle with position P1 as its center, and its distance e dα (chord of the circle) from the measuring point M1 depends on the distance of the measured value M1 to the position P1, which is denoted at this point by m range.
[0034] In addition to the distance e dα between the measured value M1 and the auxiliary point H1, the largest assumed positional error e eucl is added as an extension of this distance, resulting in the search radius around the measured value M1, denoted here as e total. Within this radius, the occupancy map is to be searched for occupied cells according to the principle described above. Here, in Figure 2The corresponding largest assumed errors should not be understood as true to scale; it has been found in experimental test series that the largest assumed angular error will generally be in the range of about 1° or below, while values of about 10 cm or less are typical for the positional error.
[0035] Based on this, it is therefore possible to determine for each of the measured values M1 or M2 from Figure 1 An individual search radius is determined based on the estimated pose of vehicle 10 and the specified largest assumed errors of the location e eucl or angle e α, after which a comparison with the objects present in the occupancy map within the resulting search radius e total can be carried out.
[0036] To illustrate the procedure to be carried out, reference is made to Figure 3, in which, in a first step S1, the predefined occupancy map of the operating environment U is entered into the vehicle 10. This map can be created beforehand, for example, using standard surveying methods of the environment U in an iterative process and is initially considered static as long as no changes are made to the operating environment U that would require a corresponding modified occupancy map to be entered into the vehicle 10. Accordingly, this map is only provided once, while the subsequent process steps described below are carried out at a high frequency, for example, 20 Hz or 50 Hz.
[0037] First, in step S2, the vehicle 10 uses its control unit 14 to generate an optimized data structure from the occupancy map, wherein the optimized data structure represents occupied cells in a representation of the occupancy map in a coordinate system and in particular the global Cartesian coordinate system of the operating environment U, for example in the form of a search tree and in particular in the form of a kd-tree, wherein corresponding algorithms for creating such a data structure from an occupancy map are known and can be implemented efficiently.
[0038] Subsequently or in parallel, in step S3, the vehicle 10 uses its sensor units 12 to detect the operating environment U and consequently determines the aforementioned measured values M1 and M2, which correspond to spatial coordinates in which objects have been detected. After corresponding measured values have thus been generated in the coordinate system also used by the optimized data structure—which may, for example, require a coordinate transformation between a reference system of the vehicle 10 and the global Cartesian coordinate system based on a current estimate of the vehicle 10's pose—in step S4, for each of the measured values M1 and M2, within the context of Figure 2 explained how to search for an occupied cell within a specific search radius in the optimized data structure.
[0039] If this search reveals that an occupied cell is found within the search radius ("yes" in step S4), the corresponding measured value is passed on to a subsequent localization procedure in step S5, which in step S6, based on all accepted measured values output at step S5, performs a localization of the current pose of vehicle 10 by comparing it with the occupancy map using a pattern recognition procedure.
[0040] If, however, it is determined in step S4 that no occupied cell is found within the search radius ("no" in step S4), the corresponding measured value is discarded in step S7 and therefore not entered as input to the localization procedure in S6.
[0041] Accordingly, by carrying out the method according to the invention, faulty or inconsistent measured values are prevented from being fed into a subsequent localization process, thus enabling the latter to be carried out efficiently and reliably. Furthermore, by using a suitable search tree, and in particular a kd-tree, to search for occupied cells within the search radius of each measured value, an extremely efficient implementation of the filtering method according to the invention can be achieved.
Claims
1. Method for filtering inputs to a localisation process of an autonomous vehicle (10) in an operating environment (U), comprising the steps: - providing (S1) a predefined occupancy map which represents known objects (W) present in the operating environment (U); - generating (S2) an optimised data structure which represents occupied cells in a representation of the occupancy map in a coordinate system; - acquiring (S3) the operating environment (U) of the vehicle (10) by means of at least one sensor unit (12) which is designed to detect objects in the operating environment (U) as well as their distances from the vehicle (10), wherein each detected object is assigned in the coordinate system a measured value (M1, M2) provided by the sensor unit (12); - for each measured value (M1, M2), carry out a search (S4) within a search radius (etotal) around the measured value (M1, M2) for an occupied cell in the optimised data structure; - if an occupied cell is found within the search radius (etotal): transfer the measured value (M1) to a subsequent calibration procedure; and - if no occupied cell is found within the search radius (etotal): discard the measured value (M2).
2. Method according to claim 1, wherein the coordinate system is a global Cartesian system.
3. Method according to claim 2, wherein the assignment of the measured values (M1, M2) in the coordinate system to the detected objects comprises a transformation of the measurement outputs of the at least one sensor unit (12) into the global Cartesian coordinate system based on a current estimate of the pose of the vehicle (10).
4. Method according to any one of the preceding claims, wherein the search radius (etotal) is determined based on a current estimate of the pose of the vehicle (10) and a maximum acceptable error (ea1, eeucl).
5. Method according to claim 4, whereby the search radius (etotal) is determined by projecting a maximum acceptable angular error (ea) and a maximum acceptable positional error (eeucl) of the pose with respect to the distance (mrange) onto the corresponding measured value (M1, M2).
6. Method according to any of the preceding claims, whereby the optimised data structure is a search tree, in particular a k-d tree.
7. Localisation method of an autonomous vehicle (10) in an operating environment (U) by comparing sensor data from at least one sensor unit (12) of the vehicle (14) with a predefined occupancy map of the operating environment (U), wherein the sensor data are filtered before the localisation is carry out by a method according to any of the preceding claims.
8. Autonomous industrial truck (10), comprising: - at least one sensor unit (12) which is designed to detect objects in the operating environment (U) of the industrial truck (10) as well as their distances to the industrial truck (10); - a control unit (14) coupled to the at least one sensor unit (12), wherein the control unit (14) is designed to carry out a method according to any one of claims 1 to 6 based on an occupancy map that is provided and sensor data that are supplied by the at least one sensor unit (12).
9. Industrial truck (10) according to the preceding claim, wherein the control unit (14) is furthermore designed to carry out a localisation method to determine a momentary pose of the industrial truck (10) based on the measured values supplied by the method and the occupancy map.
10. Industrial truck (10) according to any one of claims 8 and 9, wherein the at least one sensor unit (12) is formed by a 2D laser scanner.
11. Industrial truck (10) according to any one of claims 8 to 10, wherein the control unit (14) is designed to carry out the method according to any one of claims 1 to 6 at a frequency of at least 20 Hz, preferably at least 50 Hz.
12. Industrial truck (10) according to any one of claims 8 to 11, wherein the industrial truck (10) is designed as an underride shuttle and preferably a sensor plane of the at least one sensor unit (12) extends at least 15 cm above a driving surface.