Method and apparatus for generating a radar reference map
By receiving high-definition maps and generating radar reference maps based on map object properties, the problem of lack of high-quality maps in radar positioning is solved, and higher positioning accuracy and safety is achieved, and the rapid positioning and driver assistance functions of autonomous driving are supported.
Patent Information
- Application Number
- CN202111535598.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-02
- Filing Date
- 2021-12-15
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2041-12-15
AI Technical Summary
When existing radar positioning technologies lack high-quality radar reference maps, they can easily lead to driver taking over, reduce driving safety and passenger satisfaction, and make it difficult to generate and update maps.
By receiving high-definition maps, determining the properties of map objects and indicating occupied space in the radar occupancy grid based on these properties, a radar reference map is generated, and using Bayesian, Dempster Schaeffer or other types of occupancy grids represent the environment, combining Gaussian distribution and machine learning technology to generate an accurate and space-efficient radar reference map.
It achieves higher positioning accuracy and safety in autonomous or semi-autonomous driving, reduces computing requirements, and supports faster positioning and driver assistance functions.
Smart Images

Figure CN114646957B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 63 / 146,483, filed on February 5, 2021, and U.S. Provisional Application No. 63 / 127,049, filed on December 17, 2020, under 35 U.S.C. 119(e), the disclosures of which are incorporated herein by reference in their entireties. Background Art
[0003] Radar localization is a technique that uses radar reflections to locate a vehicle relative to a reference map (e.g., determining the vehicle's position on the map). Radar localization can be used to support autonomous vehicle operations (e.g., navigation, path planning, lane determination and centering, and curve execution in the absence of lane markings). To accurately localize a vehicle relative to its environment, radar localization involves obtaining reflections from stationary localized objects (e.g., objects adjacent to the road or spatial statistical patterns) with known positions on a map (e.g., positions in the Universal Transverse Mercator or UTM framework). When the availability of such localized objects is insufficient (e.g., using a poor-quality or incomplete radar reference map), driver overrides are often initiated, which can override semi-autonomous or fully autonomous control. Increased driver overrides can be less safe than when the vehicle is operating under autonomous control, and their frequency can reduce driver satisfaction. Therefore, complete and accurate maps that are easy to generate, update, and use can greatly benefit driver assistance or autonomous driving capabilities. Summary of the Invention
[0004] Aspects described below include a method for radar reference map generation. The method includes receiving a high-definition (HD) map and determining one or more HD map objects within the HD map. The method also includes determining attributes of the corresponding HD map objects and, for each HD map object, indicating one or more occupancy cells in a radar occupancy grid as occupied space based on the attributes of the corresponding HD map object.
[0005] Aspects described below also include a system for radar reference map generation. The system includes at least one processor and at least one computer-readable storage medium including instructions that, when executed by the processor, cause the system to receive a high-definition (HD) map and identify one or more HD map objects within the HD map. The instructions further cause the system to: determine attributes of the corresponding HD map objects; and, for each HD map object, indicate an occupied cell in a radar occupancy grid as an occupied space based on the attributes of the corresponding HD map object. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Systems and techniques for implementing radar reference map generation are described with reference to the following figures. Like numbers are used throughout the figures to reference similar features and components:
[0007] Figure 1 is an example illustration of an environment in which radar reference map generation may be implemented according to the techniques of this disclosure;
[0008] Figure 2-1 is an example illustration of a system that can be used to implement radar reference map generation and vehicle positioning based on radar detection according to the techniques of this disclosure;
[0009] Figure 2-2 is an example diagram of a radar positioning module that can be used to implement vehicle positioning based on radar detection;
[0010] Figure 2-3 is another example diagram of a radar positioning module that can be used to implement vehicle positioning based on radar detection;
[0011] Figure 3 is an example illustration of generating a radar reference map according to the techniques of this disclosure;
[0012] Figure 4 is an example illustration of determining a radar occupancy grid according to the techniques of this disclosure;
[0013] Figure 5 is an example illustration of generating a radar reference map from radar attributes according to the techniques of this disclosure;
[0014] Figure 6 is an example illustration of a process for generating a radar reference map according to the techniques of this disclosure;
[0015] Figure 7 is an example illustration of generating a radar occupancy grid based on multiple vehicle runs with low-accuracy position data in accordance with the techniques of this disclosure;
[0016] Figure 8 is another example illustration of generating a radar occupancy grid based on multiple vehicle operations with low-accuracy position data in accordance with the techniques of this disclosure;
[0017] Figure 9 is an example illustration of a process for generating a radar occupancy grid based on multiple vehicle operations having low-accuracy position data in accordance with the techniques of this disclosure;
[0018] Figure 10 is an example illustration of generating a radar reference map using low-accuracy position data and a high-definition (HD) map according to the techniques of this disclosure;
[0019] Figure 11 is an example illustration of a process for generating a radar reference map using low-accuracy position data and an HD map according to the techniques of this disclosure;
[0020] Figure 12 is another example illustration of generating a radar reference map using low-accuracy position data and an HD map according to the techniques of this disclosure;
[0021] Figure 13 is another example illustration of a process for generating a radar reference map using low-accuracy position data and an HD map according to the techniques of this disclosure;
[0022] Figure 14 is an example illustration of determining a radar occupancy grid using an HD map according to the techniques of this disclosure;
[0023] Figure 15 is another example illustration of determining a radar occupancy grid using an HD map according to the techniques of this disclosure;
[0024] Figure 16 is an example illustration of a process for determining a radar occupancy grid using an HD map according to the techniques of this disclosure;
[0025] Figure 17 A flowchart is shown as an example process for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations in accordance with the techniques of this disclosure;
[0026] Figure 18 shows an example implementation 1800 configured for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations in accordance with techniques of this disclosure;
[0027] Figure 19 shows a pipeline for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations according to the techniques of this disclosure;
[0028] Figures 20-1 to 20-3 An example implementation of hindsight for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations according to techniques of this disclosure is shown;
[0029] Figure 21 An example process for determining a hindsight maximum bound on radar coordinates when updating a radar reference map for radar detection-based vehicle positioning through multiple iterations, in accordance with techniques of this disclosure, is shown;
[0030] Figure 22-1 to Figure 22-2 A flow chart illustrating an example of a process for vehicle localization based on radar detection according to the techniques of this disclosure;
[0031] Figure 23 A flow chart illustrating an example process for vehicle localization based on radar detection is shown. DETAILED DESCRIPTION
[0032] Overview
[0033] Radar positioning is a technique that uses radar reflections to locate a vehicle relative to stationary objects (e.g., radar positioning objects). One application of radar positioning is to locate a vehicle on a map, similar to geospatial positioning systems (e.g., GPS, GNSS, GLONASS). Just as those positioning systems require sufficient signal reception, radar positioning requires radar reflections from radar positioning objects with known positions (e.g., guardrails, signs, or statistical patterns). The positions of these objects are typically contained in radar reference maps.
[0034] A method and system for radar reference map generation are described. By utilizing the techniques described herein, robust and wide-span radar reference maps can be generated, often without the need for specialized or expensive sensor modules. For example, a radar occupancy grid is received, and radar attributes are determined based on occupancy probabilities within the radar occupancy grid. Radar reference map cells are formed, and the radar attributes are used to determine a Gaussian distribution for the radar reference map cells containing the multiple radar attributes. A radar reference map is then generated that includes the Gaussian distribution determined for the radar reference map cells containing the multiple radar attributes. By doing so, the generated radar reference map is accurate and spatially efficient. This improved localization capability can improve driving when used by a controller to operate a vehicle with greater safety and comfort. With the improved localization, the vehicle is less hesitant and can maneuver through its environment with greater accuracy, which can provide peace of mind to passengers while the vehicle is operating under autonomous or semi-autonomous control.
[0035] Sample Environment
[0036] Figure 1 is an example illustration 100 of an environment in which a radar reference map may be generated, updated, or used. In the example illustration 100 , a system 102 is disposed in a vehicle 104 (eg, a host vehicle or “ego vehicle”) traveling along a road 106 .
[0037] System 102 utilizes a radar system (not shown) to transmit a radar signal (not shown). The radar system receives radar reflections 108 of the radar signal from an object 110. In the example diagram 100, radar reflection 108-1 corresponds to object 110-1 (e.g., a sign), radar reflection 108-2 corresponds to object 110-2 (e.g., a building), and radar reflection 108-3 corresponds to object 110-3 (e.g., a guardrail).
[0038] Radar reflections 108 may be used to generate radar reference maps, such as reference Figure 3-13 Radar reflections 108 can also be used to update existing radar reference maps, such as reference Figure 17-21 The radar reflection 108 can be further used in conjunction with an existing radar reference map to perform radar positioning of the vehicle 104, as discussed in references 22 and Figure 23 discussed.
[0039] Example System
[0040] Figure 2-1 2 is an example diagram 200-1 of a system that can be used to generate, update, or use a radar reference map. Example diagram 200-1 includes system 102 of vehicle 104 and cloud system 202. Although vehicle 104 is shown as a car, vehicle 104 can include any vehicle (e.g., a truck, bus, boat, airplane, etc.) without departing from the scope of this disclosure. System 102 and cloud system 202 can be connected via communication link 204. One or both of system 102 and cloud system 202 can be used to perform the techniques described herein.
[0041] As shown below the respective systems, each system includes at least one processor 206 (e.g., processor 206-1 and processor 206-2), at least one computer-readable storage medium 208 (e.g., computer-readable storage medium 208-1 and 208-2), radar location modules 210 (e.g., radar location modules 210-1 and 210-2), and communication systems 212 (e.g., communication systems 212-1 and 212-2). Communication system 212 facilitates communication link 204.
[0042] System 102 further includes a navigation system 214 and a radar system 216. Navigation system 214 may include a geospatial positioning system (e.g., a GPS, GNSS, or GLONASS sensor), an inertial measurement system (e.g., a gyroscope or accelerometer), or other sensors (e.g., a magnetometer, a software positioning engine, a wheel tick sensor, a lidar odometry, a visual odometry, a radar odometry, or other sensor odometry). Navigation system 214 may provide high-accuracy position data (e.g., within one meter) or low-accuracy position data (e.g., within a few meters). Radar system 216 indicates radar hardware for transmitting and receiving radar signals (e.g., radar reflections 108). In some implementations, radar system 216 provides static detection to radar location module 210 (e.g., filtering may be performed within radar system 216).
[0043] Processor 206 (e.g., an application processor, microprocessor, digital signal processor (DSP), or controller) executes instructions 218 (e.g., instructions 218-1 and 218-2) stored in computer-readable storage medium 208 (e.g., a non-transitory storage device such as a hard drive, SSD, flash memory, read-only memory (ROM), EPROM, or EEPROM) to cause system 102 and cloud system 202 to perform the techniques described herein. Instructions 218 may be part of an operating system and / or one or more applications of system 102 and cloud system 202.
[0044] Instructions 218 cause system 102 and cloud system 202 to take action (e.g., create, receive, modify, delete, transmit, or display) on data 220 (e.g., 220-1 and 220-2). Data 220 may include application data, module data, sensor data, or I / O data. Although shown as being within computer-readable storage medium 208, portions of data 220 may be within random access memory (RAM) or cache (not shown) of system 102 and cloud system 202. Furthermore, instructions 218 and / or data 220 may be located remotely from system 102 and cloud system 202.
[0045] Radar location module 210 (or portions thereof) may be comprised of computer-readable storage medium 208 or may be a standalone component (e.g., a standalone component executed in dedicated hardware in communication with processor 206 and computer-readable storage medium 208). For example, instructions 218 may cause processor 206 to implement or otherwise cause system 102 or cloud system 202 to implement the techniques described herein.
[0046] Figure 2-2FIG200 - 2 is an example diagram of a radar positioning module 210 that can be used to implement radar detection-based vehicle positioning. In example diagram 200 - 2 , radar positioning module 210 is configured in reference mode. This reference mode is used when radar positioning module 210 is used to construct a radar reference map. Radar positioning module 210 includes two submodules: a vehicle state estimator 222 and a scan matcher 224; and two optional submodules: a static object identifier 226 and an occupancy grid generator 228. One or both of static object identifier 226 and occupancy grid generator 228 may or may not be present.
[0047] The vehicle state estimator 222 receives information from the navigation system (e.g., from Figure 2-1 The vehicle state estimator 222 receives navigation data 230 from a navigation system 214 (e.g., a navigation system 214 of a vehicle 104). Typically, in reference mode, the navigation data 230 may be from a high-quality navigation system that provides a higher degree of accuracy than commercial or consumer-grade navigation systems (e.g., navigation systems used in mass production). Based on the navigation data 230, the vehicle state estimator 222 determines ego-trajectory information related to the current dynamic state of the vehicle 104 (e.g., speed, yaw rate), and may provide the state estimate and other navigation data 230 (e.g., vehicle 104 latitude and longitude) to any other sub-modules present in the radar positioning module 210. The ego-trajectory information includes information originating from the vehicle's system that can be used to predict the vehicle's direction and speed.
[0048] Static object identifier 226 receives radar detections 232 from one or more radar sensor locations around vehicle 104. If static object identifier 226 is not used, radar detections 232 can be received by occupancy grid generator 228, scan matcher 224, or another submodule designed to accept radar detections 232 and distribute radar data to other modules and submodules of the vehicle system. Static object identifier 226 determines whether radar detection 232 is a static detection based on ego trajectory information from vehicle state estimator 222 and outputs any identified static detections to occupancy grid generator 228 (if it is being used) or scan matcher 224.
[0049] The occupancy grid generator 228 may receive as input the radar detections 232 (if the static object identifier 226 is not being used by the radar localization module 210), or the static radar detections output by the static object identifier 226, and the ego trajectory information and navigation data 230 output from the vehicle state estimator 222. The occupancy grid generator 228 uses this input to determine a statistical probability of occupancy (e.g., an occupancy grid) at any given location in the environment of the vehicle 104, as discussed elsewhere in this document.
[0050] Scan matcher 224 can receive ego trajectory information and attribute data as input. The attribute data can be radar detections 232, static radar detections from static object identifier 226, or the occupancy grid output by occupancy grid generator 228, depending on which optional submodules are being used. As described elsewhere in this document, scan matcher 224 finds the best normal distribution transformation (NDT) between the attribute data and high-quality navigation data 230 and outputs an NDT radar reference map 234.
[0051] Figure 2-3 FIG200 is another example diagram 200-3 of a radar positioning module that can be used to implement vehicle positioning based on radar detection. In example diagram 200-3, radar positioning module 210 is configured in real-time positioning mode. The main differences between the real-time positioning mode and the reference mode of radar positioning module 210 include navigation data 230 from a low-quality navigation system and additional input to scan matcher module 224. The output of radar positioning module 210 in real-time positioning mode is an updated vehicle pose 236 of vehicle 104.
[0052] In real-time positioning mode, in addition to attribute data and ego trajectory information, the scan matcher 224 also receives as input an NDT radar reference map 234. The scan matcher uses this input to determine an NDT grid. The NDT grid is compared to the NDT radar reference map to determine an updated vehicle pose 236.
[0053] In one non-limiting example, the radar positioning module 210 can be used in reference mode in a vehicle 104 equipped with a high-quality GNSS system that is specifically configured to create or assist in creating an NDT radar reference map. The real-time positioning mode can be considered the normal operating mode of the radar positioning module 210; that is, a vehicle that is not specifically configured to create an NDT radar reference map can operate normally with the radar positioning module 210 in the real-time positioning mode.
[0054] Build radar reference maps
[0055] Figure 33 is an example diagram of generating a radar reference map from radar detections. Example diagram 300 may be performed by system 102 and / or cloud system 202. At 302, radar detections 304 are received. Radar detections 304 include stationary radar detections (e.g., detections of stationary objects from radar system 216) with corresponding global coordinates of respective time / location (e.g., from navigation system 214). Detections may be objects such as signs, poles, barriers, landmarks, buildings, overpasses, curbs, or road-adjacent objects such as fences, trees, flora, or foliage, or spatial statistical patterns. Global coordinates may include high-accuracy location data (e.g., when navigation system 214 is a high-accuracy navigation system). Radar detections 304 may include point clouds, with corresponding uncertainties, and / or include various radar data or sensor measurements.
[0056] At 306, a radar occupancy grid 308 is determined from the radar detections 302. The radar occupancy grid 308 is a grid-based representation of the environment. For example, the radar occupancy grid 308 may be a Bayesian, Dempster Shafer, or other type of occupancy grid. Each cell of the radar occupancy grid 308 represents a separate portion of space, and each cell value of the radar occupancy grid 308 represents a probability (e.g., 0-100%) that the corresponding portion of space is occupied. A probability of approximately 0% for a cell may indicate that the corresponding portion of space is free, while a probability close to 100% may indicate that the corresponding portion of space is occupied and, therefore, is not free space. The technique for determining the radar occupancy grid 308 will be with respect to Figure 4 、 Figure 7-Figure 9 as well as Figure 14-17 Further discussion.
[0057] At 310 , radar attributes 312 (e.g., attributes or attribute data) are determined from the radar occupancy grid 308 . Radar attributes 312 may be the center coordinates of the corresponding group of cells of the radar occupancy grid 308 that have a probability greater than a threshold. In some implementations, radar attributes 312 may be based on other aspects (such as radar cross section (RCS), the magnitude of radar detection 304 , information from other sensors, or machine learning), either alone or in combination with probability. Regardless of how they are determined, radar attributes 312 include clusters, outlines, or bounding boxes of cells of the radar occupancy grid 308 . Radar attributes 312 may have weights based on one or more of the probability, classification, or cross section value of the corresponding radar attributes 312 . Radar attributes 312 may be determined using binarization, clustering algorithms, or machine learning on the radar occupancy grid 308 . Determination of radar attributes 312 typically groups cells of the radar occupancy grid 308 while removing noise.
[0058] At 314, a radar reference map 316 is generated from radar attributes 312. Radar reference map 316 can be a statistical reference map (e.g., a Gaussian representation). Radar reference map 316 is a collection of Gaussians 318 corresponding to occupied areas. Gaussian distributions 318 (or cells of radar reference map 316) have associated location information (e.g., low-quality or high-quality location information, depending on how radar reference map 316 is generated). Each cell of radar reference map 316 can have a single Gaussian distribution 318 or can be blank. Although not required, radar reference map 316 has larger cells than the cells of radar occupancy grid 308. Radar reference map 316 can be a standalone map or a layer within another map (e.g., a layer within a high-definition (HD) map).
[0059] Radar reference map 316 may include metadata associated with corresponding Gaussian distributions 318. For example, the metadata may include information about the shape or size of clusters of Gaussian distributions 318. The metadata may also include object associations, such as certain Gaussian distributions 318 belonging to signs or guardrails. Location data may also be included in the metadata. The technique for generating radar reference map 316 will be about Figure 5 、 Figure 6 as well as Figure 10-13 Further discussion.
[0060] Figure 4 4 is an example diagram of determining the radar occupancy grid 308 from the radar detection 304. The example diagram 400 is typically performed by the system 102, but part or all of the example diagram 400 may be performed by the cloud system 202. The example diagram 400 assumes that the location data associated with the radar detection 304 is high-accuracy location data (e.g., the navigation system 214 includes a high-accuracy GNSS).
[0061] At 402, a set (e.g., time) of radar detections 304 (e.g., radar detections 304 corresponding to time zero) is received, and radar occupancy evidence 404 is determined from the set of radar detections 304. Radar occupancy evidence 404 corresponds to respective cells of radar occupancy grid 308 and indicates occupied spaces within radar occupancy grid 308. Radar occupancy evidence 404 is based on radar reflections 108 corresponding to the set of radar detections 304 and associated range and azimuth uncertainties.
[0062] At 406, a radar occupancy probability 408 is determined from the radar occupancy evidence 404. For example, the radar occupancy probability 408 may be given by Equation 1:
[0063] p=0.5+0.5·e[1]
[0064] Where p is the radar occupancy probability 408 , and e is the occupancy evidence 404 .
[0065] Steps 402 and 406 may be repeated for other sets of radar detections 304 corresponding to later times / locations. For each of the later times / locations, radar occupancy probabilities 408 are fused at 410 with a damped and shifted radar occupancy grid 412. The damped and shifted radar occupancy grid 412 represents the current radar occupancy grid 414 (e.g., the radar occupancy grid 308 at the current time / location) with damped probabilities and cells shifted due to movement of the vehicle between the previous time / location and the current time / location. The fusion is used to update the radar occupancy grid 308 based on subsequent radar detections 304 corresponding to the later times / locations.
[0066] To generate the attenuated and shifted radar occupancy grid 412, at 416, the current radar occupancy grid 414 (e.g., at the corresponding location) is attenuated to form an attenuated radar occupancy grid 418. Attenuation involves forgetting, minimizing, or otherwise removing old evidence from the current radar occupancy grid 414. This ensures that only recently generated cells are used for fusion. It should be noted that the radar occupancy grid 308 is not attenuated; rather, the current radar occupancy grid 414, which is a snapshot of the radar occupancy grid 308, is attenuated.
[0067] Attenuated radar occupancy grid 418 is then shifted at 420 to form attenuated and shifted radar occupancy grid 412. Each cell of radar occupancy grid 308 (and current radar occupancy grid 414) represents an area. Therefore, when vehicle 104 moves, the grid must be shifted. To shift the grid, a vehicle position 422 at the time of the shift / attenuation is received. Attenuated radar occupancy grid 418 is shifted by an integer number of cells corresponding to vehicle position 422. For example, this integer number may be based on the change between vehicle position 422 and the vehicle position 422 corresponding to the unshifted occupancy grids (e.g., attenuated radar occupancy grid 418 and current radar occupancy grid 414).
[0068] As described above, the attenuated and shifted radar occupancy grid 412 is fused at 410 with the radar occupancy probabilities 408 for the current set of radar detections 304. Fusion effectively accumulates the radar occupancy probabilities 408 over time to make the radar occupancy grid 308 more robust. Any fusion method may be used. For example, a Bayesian fusion method may be used according to Equation 2:
[0069]
[0070] where p 新 is the occupancy probability of the corresponding cell (e.g., in the radar occupancy grid 308), p 旧is the existing radar occupancy probability of the corresponding cell (eg, in the attenuated and shifted radar occupancy grid 412), and p 测量 is the radar occupancy probability 408 of the corresponding cell.
[0071] By using the example graph 400 , the radar occupancy probabilities 408 from multiple times / locations can be fused. In doing so, the radar occupancy grid 308 becomes accurate and robust for use with the example graph 300 .
[0072] Figure 5 5 is an example diagram of determining radar reference map 316 from radar attributes 312. At 502, a normal distribution transform (NDT) cell 504 is created. NDT cell 504 is a cell of radar reference map 316. NDT cell 504 is typically much larger (e.g., 14 times larger) than a cell of radar occupancy grid 308.
[0073] For each NDT unit 504 having a plurality of radar attributes 312, a Gaussian distribution 318 (e.g., a multivariate distribution having a mean and a covariance) is determined. To do so, at 506, a mean and a covariance 508 are determined for the corresponding NDT unit 504. The mean and the covariance 508 are based on the radar attributes 312 identified within the corresponding NDT unit 504. The mean for the corresponding NDT unit 504 may be determined based on Equation 3:
[0074]
[0075] where p j is the occupancy probability of the radar occupancy grid 308 at a given cell of the radar occupancy grid 308, x j is a given unit location, and n is the number of units within radar attributes 312 of the corresponding NDT unit 504 .
[0076] The covariance (eg, a 2x2 matrix) of the corresponding NDT unit 504 may be determined based on Equation 4:
[0077]
[0078] Advantageously, the mean and covariance 508 are based on the probability of occupancy. At 510, the covariance of the corresponding NDT unit 504 can be manipulated so that the smallest eigenvalue of the covariance matrix is at least a certain multiple of the largest eigenvalue of the covariance matrix. The mean and covariance 508 (or the manipulated covariance if step 510 is performed) constitute the Gaussian distribution 318 of the corresponding NDT unit 504. If one or fewer radar attributes 312 are present within the corresponding NDT unit 504, the corresponding NDT unit 504 is indicated as unoccupied.
[0079] Steps 506 and 510 may then be performed for other NDT units 504. At 512, the Gaussian distributions 318 of the respective NDT units 504 are combined to form the radar reference map 316. Once combined, the NDT units 504 of the radar reference map 316 may have a single Gaussian distribution 318 or none (e.g., indicated as unoccupied).
[0080] Although steps 506 and 510 are discussed as being performed on a respective NDT unit 504 and then performed on the other NDT units 504, in some implementations, step 506 may be performed on the NDT units 504 as a group before step 510 is performed on the NDT units 504 as a group. For example, the mean and covariance 508 may be determined for each NDT unit 504 in the group. Subsequently, the covariance may be manipulated as desired for each NDT unit 504 in the group.
[0081] Accurate and space-efficient radar reference maps can be generated using the techniques of example diagrams 300, 400, and 500. Using space-efficient maps reduces computational requirements and enables faster localization to support driver assistance and autonomous driving features.
[0082] Figure 6 6 is an example diagram 600 of a method for constructing a radar reference map 316. Example diagram 600 can be implemented using previously described examples, such as example diagrams 100, 300, 400, and 500. Operations 602 through 610 can be performed by one or more entities of system 102 and / or cloud system 202 (e.g., radar location module 210). The order in which the operations are shown and / or described is not intended to be construed as limiting, and any number or combination of operations can be combined in any order to implement the illustrated method or alternative methods.
[0083] At 602 , a radar occupancy grid is received. For example, the radar location module 210 can receive the radar occupancy grid 308 .
[0084] At 604, radar attributes are determined from the radar occupancy grid. For example, the radar location module 210 can use thresholding on the occupancy probabilities within the radar occupancy grid 308 to determine the radar attributes 312. The radar attributes 312 can include the center coordinates of the corresponding group of cells of the radar occupancy grid that have occupancy probabilities above a threshold or within a threshold range.
[0085] At 606 , a radar reference map unit is formed. For example, the radar location module 210 can create the NDT unit 504 of the radar reference map 316 .
[0086] At 608 , a Gaussian distribution is determined for the radar reference map cells that include the plurality of radar attributes. For example, the radar location module 210 can determine the mean and covariance 508 for each of the NDT cells 504 that include the plurality of radar attributes 312 .
[0087] At 610, a radar reference map is generated. The radar reference map includes radar reference map cells that include a Gaussian distribution and radar reference map cells that are indicated as unoccupied. Radar reference map cells indicated as unoccupied correspond to radar reference map cells that do not include multiple radar attributes. For example, the radar location module 210 can combine the NDT cells 504 that include the Gaussian distribution 318 with the NDT cells 504 that are indicated as unoccupied to form the radar reference map 316.
[0088] Figure 7 is an example diagram 700 of determining radar occupancy probability 408 using multiple vehicle operations with low-accuracy position data. Figure 8 800 is an example diagram of a similar process. Therefore, the following description describes example diagrams 700 and 800 simultaneously. Although example diagrams 700 and 800 are generally performed by cloud system 202 based on radar detections 304 received from multiple vehicle operations, one or more of the steps may be performed by system 102 (e.g., collecting radar detections 304 and transmitting radar detections 304 to cloud system 202 using communication system 212). Radar occupancy probabilities 408 may then be fused at 410 to create radar occupancy grid 308. Radar reference map 316 may then be generated from radar occupancy grid 308, similar to example diagrams 100 and 300.
[0089] For large areas, collecting high-accuracy location data is often impractical or expensive. Example diagrams 700 and 800 use multiple runs with low-accuracy location data, such as the low-accuracy location data generated by most navigation systems implemented in consumer and commercial vehicles (e.g., navigation system 214), to determine radar occupancy probability 408. Due to the low-accuracy location data, multiple runs are required to obtain accurate occupancy probability 408. Traditional techniques, such as averaging multiple runs, often result in ambiguous and useless probability data.
[0090] Example diagrams 700 and 800 use statistical map fusion of multiple runs 702 (e.g., run 702A and run 702B) to correct errors in low-accuracy position data. Any number of runs 702 (although more than one) can be used, and the runs 702 can be created using the same vehicle or multiple vehicles and at different times. The statistical map fusion can be an extended particle filter simultaneous localization and mapping (SLAM) algorithm.
[0091] At 704, a particle 706 is created at a given location (e.g., at time t=0). While the particle 706 corresponds to a corresponding possible future location of the vehicle 104, the specific further location has not yet been determined. The particle 706 is based on a vehicle trajectory 708 corresponding to the given location (e.g., from the navigation system 214).
[0092] At 710, the future position of the particle is predicted to form a predicted position 712 (e.g., of the vehicle 104). The prediction is based on the vehicle trajectory 708. For example, the vehicle trajectory 708 may include speed and yaw rate information. The speed and yaw rate can be used to predict a new pose for the corresponding run 702, and therefore predict the predicted position 712 of the particle 706.
[0093] At 714, particle weights 716 are updated. To do this, particles 706 are projected onto radar occupancy grid 308, where each particle 706 has a corresponding grid cell. The sum of all probability values (e.g., from multiple runs 702) in the corresponding grid cell is the weight of particle 706. In other words, the weight of particle 706 corresponds to how well the next radar detection 304 fits the predicted location 712.
[0094] At 718 , the particle weights 716 are used to update the existing probabilities to create the radar occupancy probabilities 408 .
[0095] At 720, the particles are resampled to create resampled particles 722. Particles with high weights may split, while particles with low weights may disappear. Resampled particles 722 become the particles at time t+1 for position prediction (step 710). Resampled particles 722 can also be used to correct vehicle trajectory 708.
[0096] As time t increases, the radar occupancy probability 408 is updated and fused with the previous radar occupancy probability according to 410 .
[0097] One advantage of example diagrams 700 and 800 is that they simultaneously use data from runs 702 to construct radar occupancy probabilities 408. Thus, each set of particles 706 contains the same data for all runs 702. This means that the radar occupancy probability 408 for a particle 706 contains data from all runs 702. Furthermore, radar occupancy probabilities 408 are updated using more than one particle 706 (e.g., at 718). Statistical map fusion also allows newer runs to be weighted more heavily than older runs, allowing for compensation for change detection (seasonal vegetation changes, construction, etc.) at the cell level of the radar occupancy grid 308.
[0098] By using the techniques of example diagrams 700 and 800, accurate radar reference maps can be generated without using high-accuracy location data (e.g., by using consumer vehicles). Therefore, it is easier / more feasible to generate radar reference maps in a wider range of locations.
[0099] Figure 9 900 is an example diagram of a method for determining radar occupancy probability 408. Example diagram 900 can be implemented using previously described examples, such as example diagrams 700 and 800. Operations 902 through 910 can be performed by one or more entities of system 102 and / or cloud system 202 (e.g., radar location module 210). The order in which the operations are shown and / or described is not intended to be construed as limiting, and any number or combination of operations can be combined in any order to implement the illustrated method or alternative methods.
[0100] At 902 , particles are created. For example, radar location module 210 may receive radar detection 304 and create particles 706 corresponding to possible future locations of vehicle 104 (or vehicles if operation 702 corresponds to multiple vehicles).
[0101] At 904 , a particle position is predicted for the particle. For example, radar location module 210 can receive vehicle trajectory 708 and determine predicted position 712 .
[0102] At 906 , the particle weight 716 of the particle is updated. For example, the radar location module 210 can determine the particle weight 716 based on the radar detection 304 corresponding to a later time.
[0103] At 908 , the probabilities are updated based on the particle weights. For example, the radar location module 210 can use the particle weights 716 to determine the radar occupancy probabilities 408 for fusion at 410 .
[0104] At 910 , the particles are resampled. For example, the radar location module 210 can create the resampled particles 722 for use in predicting future positions at 710 .
[0105] Figure 10 1000 is an example diagram of generating a radar reference map 316 using low-accuracy position data and an HD map 1002. The example diagram 1000 is generally implemented by the system 102.
[0106] The HD map 1002 includes object attributes 1004 determined at 1006 for HD map objects 1008 within the HD map 1002. The HD map objects 1008 may include street signs, overpasses, guardrails, traffic control devices, poles, buildings, K-rails, or other semi-permanent objects. The HD map 1002 includes information about each of the HD map objects 1008.
[0107] The object attributes 1004 that can be determined at 1006 include aspects such as type 1010, size / orientation 1012, location 1014, a link to a road 1016 of a corresponding HD map object 1008, and radar hardware information 1018. The type 1010 can define the corresponding HD map object 1008, such as a street sign, overpass, guardrail, traffic control device, pillar, building, k-track, or other semi-permanent object. The size / orientation 1012 can include the physical size and / or orientation (e.g., longitudinal versus lateral, rotation relative to the ground, height relative to the ground) of the corresponding HD map object 1008.
[0108] The location 1014 may include the UTM coordinates of the corresponding object, and the link to the road 1016 may include the specific location of the corresponding object relative to the corresponding road. For example, a guardrail may be offset from its referenced location. In other words, the guardrail itself may not be exactly at its location 1014. The link to the road 1016 may account for this. In some implementations, the link to the road 106 may have an altitude or elevation aspect. For example, two objects may have similar coordinates but correspond to different roads. The altitude or elevation may be used to distinguish between the two objects. Radar hardware information 1018 may include any information that affects radar reflections 108 from the corresponding HD map object 1008.
[0109] At 1022, a misaligned radar detection 1020 is received along with object attributes 1004. Misaligned radar detection 1020 is similar to radar detection 304 with low-accuracy position data. Object attributes 1004 are used to determine a vehicle pose 1024 of vehicle 104 at the corresponding time of misaligned radar detection 1020.
[0110] To do so, for each set of misaligned radar detections 1020, the vehicle may position itself relative to one or more of the HD map objects 1008. For example, a corresponding set of misaligned radar detections 1020 may include detections of one or more HD map objects 1008. Because the positions 1014 (and other object attributes 1004) of the one or more HD map objects 1008 are known, the radar localization module 210 may determine the vehicle pose 1024 at the corresponding set of misaligned radar detections 1020.
[0111] Once the vehicle pose 1024 is known for the corresponding misaligned radar detection 1020, the misaligned radar detection 1020 can be aligned at 1026. Aligning can include shifting or rotating the misaligned radar detection 1020 based on the corresponding vehicle pose 1024.
[0112] The aligned radar detection becomes radar detection 304. Radar detection 304 may then be used in example illustrations 300, 400, and 500 to generate radar reference map 316.
[0113] The radar reference map 316 may optionally be sent to the cloud system 202. There, at 1028, the radar reference map 316 may be updated based on or compared to other radar reference maps based on other similar operations of the vehicle or other vehicles. Figure 1 Start compiling.
[0114] By using the techniques of example diagram 1000, accurate radar reference maps can be generated without using high-accuracy location data (e.g., by using consumer vehicles). Therefore, it is easier / more feasible to generate radar reference maps in a wider range of locations.
[0115] Figure 11 11 is an example diagram 1100 of a method for generating a radar reference map 316 using low-accuracy position data and an HD map 1002. Example diagram 1100 can be implemented using previously described examples, such as example diagram 1000. Operations 1102 through 1110 are typically performed by system 102. The order in which the operations are shown and / or described is not intended to be construed as limiting, and any number or combination of operations may be combined in any order to implement the illustrated method or an alternative method.
[0116] At 1102 , a misaligned radar detection is received. For example, radar location module 210 may receive misaligned radar detection 1020 .
[0117] At 1104 , HD map object attributes are determined. For example, the radar positioning module 210 can determine the object attributes 1004 of the HD map object 1008 of the HD map 1002 .
[0118] At 1106 , a vehicle pose is determined for each set of misaligned radar detections. For example, radar location module 210 can determine vehicle pose 1024 based on misaligned radar detections 1020 and object attributes 1004 .
[0119] At 1108 , the misaligned radar detection is aligned. For example, radar location module 210 can use vehicle pose 1024 to shift misaligned radar detection 1020 . The aligned radar detection essentially becomes radar detection 304 .
[0120] At 1110 , a radar reference map is generated. For example, radar location module 210 can execute example diagrams 300 , 400 , and 500 to generate radar reference map 316 from aligned radar detections (radar detections 304 ).
[0121] Optionally, at 1112, the radar reference map can be transmitted to the cloud system for updating. The update can be based on a similar reference map generated by the vehicle or another vehicle. For example, the radar location module 210 of the cloud system 202 can modify or update the radar reference map 316 based on other similar radar reference maps received from the vehicle or another vehicle.
[0122] Figure 12 1 is an example diagram 1200 of generating radar reference map 316 using low-accuracy position data and HD map 1002 (not shown). Example diagram 1200 is typically performed by cloud system 202 based on information received from system 102.
[0123] At system 102, misaligned radar detection 1020 runs example graphs 300, 400, and 500 to generate misaligned radar reference map 1202. Misaligned radar reference map 1202 may be similar to radar reference map 316, except that Gaussian distribution 318 may not be in the correct location (due to low-accuracy location data).
[0124] In some implementations, only a portion of the example diagram 400 may be performed. For example, steps up to step 410 may be performed to form separate occupancy grids for corresponding groups of unaligned radar detections 1020, because low-accuracy position data may not be suitable for fusion with other data to form a single radar occupancy grid (e.g., radar occupancy grid 308). Each unaligned radar occupancy grid may then be used to form the unaligned radar reference map 1202.
[0125] Unaligned radar reference map 1202 (e.g., having a Gaussian distribution with similar misalignment as Gaussian distribution 318) is then sent to cloud system 202. At 1204, cloud system 202 aligns unaligned radar reference map 1202 using object attributes 1004 of HD map 1002 to generate radar reference map 316.
[0126] To do so, similar to example illustration 1000, object attributes 1004 may be used to align or shift Gaussian distribution 318 within misaligned radar reference map 1202. For example, object attributes 1004 may be used to determine Gaussian distribution 318 within misaligned radar reference map 1202 that corresponds to corresponding HD map objects 1008. Since the locations of these objects are known, Gaussian distribution 318 may be shifted to the correct location.
[0127] If unaligned radar detections 1020 are continuous in space (e.g., they incrementally follow a path), then unaligned radar reference map 1202 may have accurate positions of Gaussian distributions 318 relative to each other. In this case, unaligned radar reference map 1202 may only need to be globally shifted or rotated (rather than having to align each Gaussian distribution 318).
[0128] Misaligned radar detections 1020 may also be sent to cloud system 202 for processing in a manner similar to example diagram 1000. However, misaligned radar reference maps 1202 are much smaller and therefore easier to transmit.
[0129] By using the techniques of example diagram 1200, accurate radar reference maps can be generated without using high-accuracy location data (e.g., by using consumer vehicles). Therefore, it is easier / more feasible to generate radar reference maps in a wider range of locations.
[0130] Figure 13 1300 is an example diagram of a method for generating a radar reference map 316 using low-accuracy location data and an HD map 1002. Example diagram 1300 can be implemented using previously described examples, such as example diagram 1200. Operations 1302 through 1306 are typically performed by cloud system 202. The order in which the operations are shown and / or described is not intended to be construed as limiting, and any number or combination of operations may be combined in any order to implement the illustrated method or alternative methods.
[0131] At 1302 , an unaligned radar reference map is received. For example, the radar location module 210 can receive the unaligned radar reference map 1202 from the system 102 .
[0132] At 1304 , HD map object attributes are determined. For example, the radar positioning module 210 can determine the object attributes 1004 of the HD map object 1008 of the HD map 1002 .
[0133] At 1306, the unaligned radar reference map is aligned based on the HD map object attributes. For example, the radar location module 210 can use the object attributes 1004 to determine a Gaussian distribution within the unaligned radar reference map 1202 that corresponds to the associated HD map object 1008. The difference between the corresponding Gaussian distribution and the position of the HD map object 1008 can then be used to correct, adjust, shift, or otherwise correct the unaligned radar reference map 1202 to form the radar reference map 316.
[0134] Figure 14 1400 is an example diagram of generating the radar occupancy grid 308 using the HD map 1002. The example diagram 1400 can be integrated with the example diagrams 300 and 500 to generate the radar reference map 316. The example diagram 1400 does not require radar (e.g., radar reflections 108, radar detections 304) to create the radar occupancy grid 308. However, as will be apparent, the example diagram 1400 does rely on the availability of the HD map objects 1008 in the HD map 1002.
[0135] Similar to example diagrams 1000 and 1200 , object attributes 1004 are determined for the HD map object 1008. The object attributes 1004 are used to determine a shape 1404 at 1402 . The shape 1404 is a geometric representation of the HD map object 1008 relative to the radar occupancy grid 308 . The shape 1404 can be a straight line, a polyline, a polygon, a geometric shape, a curve, a complex curve, or a statistical representation. For example, the location, orientation, and details (e.g., offset) of a guardrail can be used to generate the shape 1404 of the occupied space in the radar occupancy grid 308 corresponding to the guardrail.
[0136] At 1406, the size of the corresponding shape 1404 is compared to the grid size of the radar occupancy grid 308. If the shape 1406 is not longer than a grid cell of the radar occupancy grid 308, then the corresponding grid cell is marked as occupied.
[0137] However, if shape 1406 is longer than a grid cell, shape 1406 is oversampled at 1408 to create an oversampled shape 1410. Oversampling includes adding more points along the corresponding shape 1404 to simulate a radar occupancy grid output from a radar detection (e.g., from radar detection 304).
[0138] The shape 1404 or the oversampled shape 1410 is then adjusted (e.g., transformed) at 1412 based on the object attributes 1004 or some other information to form an adjusted shape 1414. Continuing with the guardrail example above, the system may know that a certain type of guardrail is always farther from the edge of the road than the location contained in the object attributes 1004. The adjusted shape 1414 is used to mark the corresponding grid cell of the radar occupancy grid 308 as occupied.
[0139] In some implementations, shape 1404 or oversampled shape 1410 may be used to determine radar reference map 316 instead of radar occupancy grid 308. In other words, Gaussian distribution 318 may be generated based on shape 1404 or oversampled shape 1410 without first generating radar occupancy grid 308.
[0140] As shown in the example radar occupancy grid 308, HD map objects 1008 (eg, guardrails) are represented as occupied spaces. In this manner, the radar occupancy grid 308 can be generated without requiring a vehicle to drive through the corresponding area.
[0141] Figure 15 15 is an example diagram 1500 of generating the radar occupancy grid 308 using the HD map 1002 and the machine learning model. The example diagram 1500 can be integrated with the example diagram 1400 (e.g., to determine the transformation used for adjustment at 1412). However, in some implementations, the machine learning model can be used to directly indicate the cells of the radar occupancy grid 308 (e.g., without the example diagram 1400).
[0142] In the example illustration 1500, the object properties 1004 are used to select and apply a model 1502 for adjusting the shape at 1412. The model 1502 is based on the corresponding object properties 1004.
[0143] At 1504, a model 1502 is selected and applied to each HD map object 1008. The models 1502 are categorized by corresponding object attributes 1004. For example, a model 1502 may exist for each type of HD map object 1008 (e.g., model 1502-1 for guardrails, model 1502-2 for signs, model 1502-3 for buildings, etc.). Multiple models 1502 may also exist for a single type of object. For example, different types of guardrails may have different corresponding models 1502.
[0144] Model 1502 is previously generated and can be taught using machine learning on real-world occupancy grid data. For example, occupancy data (e.g., portions determined by example diagrams 300 and 400) can be fed into the model training process along with object attributes 1004 and the HD map location of the corresponding HD map object 1008. In doing so, the system can form rules and dependencies that "learn" how to represent the corresponding HD map object 1008 in the radar occupancy grid 308 (e.g., through shape adjustments).
[0145] The output of the corresponding model 1502 is occupancy mesh data 1506 corresponding to the shape adjustment data. The shape adjustment data can then be used to adjust the shape 1404 of the example illustration 1400.
[0146] In some implementations, the occupancy grid data 1506 may include direct occupancy grid data. In such cases, shapes are not used, and the occupancy grid data 1506 is used as a direct input to the radar occupancy grid 308 (e.g., the occupancy grid data 1506 may be used to indicate cells of the radar occupancy grid 308 as occupied).
[0147] As discussed above, the radar occupancy grid 308 can then be used to generate the radar reference map 316. In this way, real-world radar occupancy data can be used to estimate the alignment or occupancy for the HD map objects 608 represented in the radar occupancy grid 308.
[0148] By using the techniques of example diagrams 1400 and 1500, accurate radar reference maps can be generated without using radar detections for the corresponding area (although in some implementations, they can be used to update the map and / or provide additional map data). Therefore, it is easier / more feasible to generate radar reference maps for a wider range of locations. Furthermore, as long as the HD map has sufficient objects, the map can be generated completely offline.
[0149] Figure 16 1600 is an example diagram of a method for generating a radar occupancy grid 308 using an HD map 1002. Example diagram 1600 can be implemented using previously described examples, such as example diagrams 1400 and 1500. Operations 1602 through 1608 are typically performed by the cloud system 202, as the vehicle 104 is not required. However, operations 1602 through 1608 (or portions thereof) may be performed by the system 102. The order in which the operations are shown and / or described is not intended to be construed as limiting, and any number or combination of operations may be combined in any order to implement the illustrated method or alternative methods.
[0150] At 1602 , HD map object attributes are determined for an HD map object within the HD map. For example, the radar positioning module 210 can determine the object attributes 1004 for the HD map object 1008 of the HD map 1002 .
[0151] At 1604, the shape of the HD map object is determined. In some implementations, the shape can be oversampled based on the size of the corresponding shape and the grid size of the expected radar occupancy grid. For example, the radar location module 210 can determine the shape 1404 of the HD map object 1008 and oversample the shape 1404 if the shape 1404 is longer than the grid size of the radar occupancy grid 308.
[0152] At 1606 , adjustments are applied to the shape as needed. The adjustments can be based on HD map object properties or a machine learning model for the corresponding HD map object. For example, the radar positioning module 210 can adjust the shape 1404 based on the object properties 1004 or the model 1502 .
[0153] At 1608 , cells of the radar occupancy grid are indicated as occupied based on the shape. For example, the radar location module 210 can indicate cells of the radar occupancy grid 308 based on the shape 1404 (after oversampling and adjustment according to 1406 and 1412 ).
[0154] By implementing one or more of the above techniques, an accurate and spatially efficient radar reference map can be generated. This enables accurate positioning to support driver assistance or autonomous driving with limited driver intervention. Fewer driver interventions improve safety and driver satisfaction.
[0155] Updated radar reference map
[0156] The following section describes techniques for updating radar reference maps. Radar reference maps need to be continuously improved because any particular environment in which a vehicle travels changes over time. Radar reference maps may include temporary obstacles that may not be considered attributes, and these temporary obstacles may be added or removed. Additionally, radar reference maps may include erroneous attribute data or missing attributes (e.g., occlusions in the radar reference map). Current techniques for updating radar reference maps typically use different sensors to collect attribute data in a single traversal of the environment. The techniques described below use radar-centric data collected from multiple iterations of traversing the environment to update the quality of the radar reference map. These techniques use a process to ensure accurate and stable data (called hindsight); two non-limiting examples of this technique are shown. One example uses radar detections of objects and compares them to the HD map. The second example uses only radar detections, where hindsight is used as a way to ensure the data is accurate and stable.
[0157] Figure 17 A flowchart 1700 is shown for updating a radar reference map for vehicle positioning based on radar detection through multiple iterations. The flowchart includes a plurality of runs 1702 (e.g., run 1 through run n, where n can be any integer greater than 1), where each run is an iteration through an environment represented by a radar reference map. A radar positioning module (e.g., from Figure 2-1 The first step 1704 of the radar localization module 210 is to receive radar detection and navigation data. In step 1706, a static object identifier may use the radar detection and navigation data to identify static objects from the raw radar detection and navigation data collected in step 1704. Step 1708 generates an occupancy grid based on the static objects identified in step 1706. In step 1710, a radar reference map is constructed based on each occupancy grid generated in each run 1702. The final step 1712 constructs (in the initial run 1) and updates (in each subsequent run n) a relative NDT radar reference map (e.g., a map relative to the vehicle and using a relative coordinate system) based on the radar reference map generated in step 1710. The final step 1710 is conditioned on combining the HD map 1714, which was not used in step 1710, with the occupancy grid generated in step 1708. Otherwise, if an HD map 1714 was used in step 1710 , a final step 1712 updates an absolute map (eg, a universal map using a global coordinate system such as the UTM coordinate system) during each run 1702 .
[0158] Figure 18An example diagram 1800 of a radar reference map for vehicle positioning based on radar detection is shown, updated through multiple iterations. In the example implementation 1800, a vehicle 1802 equipped with a radar positioning module (e.g., onboard, accessed via the cloud) uses hindsight to accumulate accurate and stable radar data about a dynamic object 1804. The radar sensor on the vehicle 1802 has a radar scan 1806 that transmits electromagnetic energy and receives reflections of the electromagnetic energy from the object. The radar scan 1806 may not be in the Figure 18 1802 or any other figure depicting them. Dynamic object 1804 is moving from in front of vehicle 1802 (dynamic object 1804-1), to the side of vehicle 1802 (dynamic object 1804-2), to behind vehicle 1802 (dynamic object 1804-3). Blind spot 1808 represents a range rate blind spot for one or more radar sensors on vehicle 1802. Although blind spot 1808 is associated with a range rate state of a dynamic object in example implementation 1800, any dynamic state of dynamic object 1804 may be used as an example.
[0159] The corner radar sensors mounted on vehicle 1802 are configured so that their aperture angles are 45° relative to the longitudinal axis of vehicle 1802. This enables the corner radar sensors to achieve the same radar performance as the front and rear radar sensors of vehicle 1802. The accumulated data from all radar sensors provides the most stable results for object detection at the rear of vehicle 1802, where dynamic object 1804 reflects several radar detections from different radar sensors. Because the occupancy grid represents accumulated data, all available sensor detections contribute to the radar reference map, even if rear detections are the only ones considered. Detections from all radar sensors contribute to the occupancy probability, and no radar data is omitted. This process can be interpreted as applying a binary weight to each cell of the occupancy grid, and dynamic object 1804 can be excluded from the updated radar reference map.
[0160] Figure 19A pipeline 1900 is shown for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations. In the radar sensor stage 1902 of pipeline 1900, a radar sensor 1904 receives raw radar detections 1906. In the static object identifier stage 1908, the raw radar detections 1904 are classified as static or dynamic radar detections at 1910, and the enhanced static radar detections 1912 are passed to the occupancy grid generator stage 1914. In the occupancy grid generator stage 1914, occupancy evidence is extracted from the enhanced static radar detections 1912 at 1916. At 1918, the extracted occupancy evidence from 1916 is used to accumulate and filter static occupancy on an occupancy grid 1920. The accumulator stage 1922 then extracts hindsight information at 1924.
[0161] Figures 20-1 to 20-3 An example implementation of hindsight for updating a radar reference map for radar detection-based vehicle positioning through multiple iterations is shown. Figure 20-1 In FIG20 , a vehicle 2002 equipped with a radar positioning module (e.g., onboard, accessed via the cloud) uses hindsight to accumulate accurate and stable radar data about a static object 2004 (street sign 2004). In the first time frame 2000-1 in FIG20 , street sign 2004 may first be detected by radar scans 2006-1 and 2006-2. Radar scans 2006-3 and 2006-4 have not yet detected street sign 2004.
[0162] exist Figure 20-2 In the second time frame 2000-2, vehicle 2002 has moved along the road, and street sign 2004 is located to the side of vehicle 2002. At least radar scans 2006-1, 2006-2, and possibly radar scan 2006-3 have detected street sign 2004. Additionally, radar scans 2006-1 and 2006-2 may have detected a second static object 2008 (tree 2008).
[0163] exist Figure 20-3In the third time frame 2000-3, vehicle 2002 has moved forward, causing street sign 2004 to be cumulatively detected by radar scans 2006-1, 2006-2, 2006-3, and 2006-4. At this point, the street sign is in hindsight of the radar scans, and the radar data relative to the street sign can be considered stable and accurate with high confidence. At least radar scans 2006-1, 2006-2, and possibly radar scan 2006-3 detected the tree in time frame 2000-3 with medium confidence, but higher than the third static object 2010 (guardrail 2010). Only scans 2006-1 and 2006-2 likely detected guardrail 2010.
[0164] Driving on the road through multiple iterations of depictions 2000-1 to 2000-3 can increase the confidence level that static objects 2004, 2008, and 2010 are permanent and can be considered attributes. If any of static objects 2004, 2008, and 2010 disappear during any of the multiple iterations of driving along the road, the confidence level for that object may decrease, and the object may be removed from the updated radar reference map. In addition, a moving vehicle traveling in the other direction (e.g., in a lane adjacent to vehicle 2002) is considered. Conventional techniques may consider a moving vehicle when it is in close proximity to vehicle 2002. By using hindsight, this moving vehicle will not be considered. In this way, the radar reference map can be updated after each iteration to add or remove attributes as they are detected or disappear, and to remove any spurious noise that may be present in the radar reference map.
[0165] Figure 21An example process 2100 is shown for determining and using hindsight maximum bounds for radar coordinates when updating a radar reference map for radar-based vehicle localization through multiple iterations. There are two options for radar coordinates: radar-relative and radar-absolute. At 2102, all radar reference maps are loaded. Additionally, if absolute radar coordinates are used, at 2104, sample points are extracted from one or more HD maps, and at 2106, the extracted sample points are converted to a statistical distribution. At 2108, all hindsight samples are collected, and the minimum and maximum values of the coordinates (X and Y) are found. At 2110, the minimum and maximum values of the coordinates are used to create the maximum bounds for a new radar group. At 2112, a resolution is selected, and the index of the sample in the coordinate index resolution is checked. At 2114, based on the results of the checking process at 2112, if the sample is not new in the selected resolution, then at 2116, only the log-odds ratio (via a Bayesian inverse model or a maximum strategy) is incorporated into the radar reference map. If at 2114 the sample is new at the selected resolution, then at 2118 the original index of the new sample is added to the new map index.
[0166] Example Architecture
[0167] Applying the techniques discussed in this document to locate vehicles based on radar detection can have many advantages. By using a radar-centric system (e.g., a radar system that includes four short-range radar sensors, one located at each of the four corners of the vehicle), adverse weather and lighting conditions that might reduce the effectiveness of other systems (e.g., cameras, LiDAR) can be overcome using only the radar system. Additionally, the radar system used can be less expensive than some other sensor systems.
[0168] The techniques and systems described in this document enable a vehicle to determine its vehicle pose or position with sub-meter accuracy. To locate a vehicle based on radar detections, the techniques described herein may be performed in two steps, including the following: constructing an accurate radar reference map and comparing the radar reference map with radar detections generated in real time to accurately locate the vehicle. Figure 22-1 and Figure 22-2 Describes how to use radar positioning modules such as Figure 2-2 and Figure 2-3 The radar positioning module shown in the ) implements a detailed example of these two steps. Other examples may exclude Figure 22-1 and Figure 22-2 Some details in (for example, some submodules of the radar positioning module are optional, such as Figure 2-2 and 2-3 shown).
[0169] Figure 22-1 to Figure 22-2 An example flow diagram 2200 of a process for vehicle localization based on radar detection is shown. Figure 22-1 Overlay the first step as flow chart 2200-1, and Figure 22-2 The second step is covered as flow chart 2200-2. Figure 22-1 and Figure 22-2 The sub-steps within the dashed box 2202 are the same in each step.
[0170] The first step in vehicle positioning 2204 is to build an accurate radar reference map containing attribute information. The details of several different processes for building a radar reference map have been described above. Figure 22-1 The example flow chart shown in details the architecture for building a radar reference map in a vehicle 2204-1 that is specially equipped with a high-quality navigation system. The radar positioning module is in reference mode in this step.
[0171] exist Figure 22-1 In the example flow diagram shown, one or more radar sensors 2206 receive raw radar detections 2208. Simultaneously, a vehicle state estimator 2214 collects high-quality GNSS 2210-1 and inertial measurement unit (IMU) 2212-1 data to determine vehicle state and vehicle attitude. Raw radar detections 2208 are collected at a specific rate, such as every 50 milliseconds (ms). Raw radar detections 2208 are identified as either static or dynamic by a static object identifier 2216. Static object identifier 2216 uses vehicle state information (e.g., range rate) provided by vehicle state estimator 2214 to determine (e.g., by range rate anti-aliasing) the identification of raw radar detections 2208.
[0172] The static detection is output to an occupancy grid generator 2218. The occupancy grid generator 2218 estimates the occupancy probability for each cell in the occupancy grid (e.g., a 20 centimeter (cm) by 20 cm cell). The cell size may affect the processing time of this substep. Various procedures may be used to estimate the occupancy probability for each cell, including Bayesian inference, Dempster Shafer theory, or other procedures. The occupancy grid generated by the occupancy grid generator 2218 may be in relative coordinates (e.g., a local reference frame) with respect to the vehicle 2204-1 because the occupancy grid generator 2218 receives vehicle state data from the vehicle state estimator 2214 that assists in creating the occupancy grid.
[0173] The scan matcher 2220 performs a series of sub-steps 2220-1 to 2220-4. Sub-step 2220-1 converts the occupancy grid from the relative coordinate system to the UTM coordinate system. The vehicle state information from the vehicle state estimator 2214 is used in the conversion process. Sub-step 2220-2 accumulates the occupancy grid output from sub-step 2220-1 at a specific rate (e.g., 10 Hz). The rate can be adjusted based on the driving scenario (e.g., the number of attributes in the environment of the vehicle 2204-1) and the accumulated occupancy grid is output to sub-step 2220-3. Sub-step 2220-3 selects occupied grid cells based on a high occupancy probability (e.g., a probability equal to or greater than 0.7). The selected occupied grid cells can be represented as a point cloud. Sub-step 2220-4 converts the selected occupied grid cells into a Gaussian representation to create a Gaussian distribution or an NDT radar reference map. The NDT radar reference map can be stored locally on the vehicle 2204-1 or uploaded to the cloud 2222.
[0174] The second step of vehicle localization 2204 is to determine an adjusted vehicle pose based on comparison of the attribute-based radar detections with a radar reference map. Figure 22-2 The example flow chart in
[00105] details the architecture for determining the adjusted vehicle attitude of vehicle 2204-2. In this example, it can be assumed that vehicle 2204-2 is configured as a non-luxury vehicle manufactured in large quantities and at a cost surplus that makes the use of a high-quality GNSS and sensor package impractical. That is, the GNSS system 2210-2 and IMU 2212-2 used in vehicle 2204-2 can be considered to be a general (lower quality) commercial navigation system. The radar positioning module is in real-time positioning mode in the second step. All sub-steps within the dashed box 2202 are the same as Figure 22-1 Those sub-steps of the first step shown are the same and for the sake of simplicity these sub-steps are not repeated.
[0175] At step 2224, a radar reference map based on the vehicle state determined by the vehicle state estimator 2214 is downloaded from the cloud 2222. At sub-step 2220-5, the radar reference map is compared with the selected occupied grid cell, and based on the comparison, the vehicle attitude is corrected for the vehicle 2204-2. The confidence level of the accuracy of the corrected attitude can be used to determine the accuracy of the corrected attitude. Additionally, the corrected vehicle attitude can be used to remove errors (e.g., drift) in the GNSS system 2210-2 and the IMU 2212-2.
[0176] The comparison process matches the radar reference map, which is a set of Gaussian representations that minimizes data storage size and includes statistical information using a real-time "map" derived from real-time radar detections. The real-time map is a subset of the area represented by the radar reference map and contains the same Gaussian-shaped statistics as the radar reference map. In another implementation, the filtered output from the occupancy grid can be directly compared to the Gaussian distribution in the radar reference map.
[0177] The NDT process matches statistical probability distributions between reference data (e.g., discrete cells with built-in statistical models). For any given transformation (e.g., x, y, and rotation) of a live point (e.g., occupancy grid output), the live point can be assigned to a discrete NDT cell that incorporates the statistical distribution in the model from the radar reference map. A live point is an occupied grid cell that is considered occupied but treated as a point with a probability value attached to it. A probability distribution for the live point can then be calculated. The NDT process finds the optimal transformation that maximizes the probability distribution.
[0178] Figure 23 An example process 2300 for vehicle positioning based on radar detections is shown. At 2302, at least one or more processors of a vehicle receive radar detections. At 2304, at least one or more processors of the vehicle receive navigation data. At 2306, at least one or more processors of the vehicle output ego-trajectory information related to the current dynamic state of the vehicle. The ego-trajectory information may include at least one of a heading, speed, range rate, and yaw rate, as determined from the radar detections and navigation data. At 2308, attribute data is extracted from the radar detections and ego-trajectory information. At 2310, a normal distribution transformation grid is determined from the extracted attribute data and a radar reference map. At 2312, the vehicle pose is corrected based on the normal distribution transformation grid to position the vehicle.
[0179] In this way, the techniques and systems described herein use a cost-effective system, ignore dynamic objects, maximize statistical distribution patterns, and effectively handle static noise to accurately adjust the posture of a vehicle.
[0180] Example
[0181] Example 1: A method comprising: receiving a high-definition (HD) map; determining one or more HD map objects within the HD map; determining attributes of the corresponding HD map objects; and for each HD map object: indicating one or more occupancy cells in a radar occupancy grid as occupied space based on the attributes of the corresponding HD map object.
[0182] Example 2: The method of Example 1, further comprising: generating a radar reference map based on the radar occupancy grid, wherein the radar reference map includes a statistical representation of occupied cells in the radar occupancy grid that are indicated as occupied spaces.
[0183] Example 3: The method of Example 1 or 2, wherein the attributes include one or more of: a type, a position, a size, an orientation, a link to a corresponding road, or radar hardware information of the corresponding HD map object.
[0184] Example 4: The method of Example 1, 2, or 3, wherein the method is performed by a cloud system external to the vehicle.
[0185] Example 5: The method of any preceding example, further comprising: forming a shape for the corresponding HD map object, wherein the indication is based on the shape.
[0186] Example 6: The method of any preceding example, further comprising: applying an adjustment to the shape based on properties of the corresponding HD map object to form an adjusted shape, wherein the indication is based on the adjusted shape.
[0187] Example 7: The method of any preceding example, further comprising: determining whether the shape is longer than one of the occupied cells, wherein the indicating is based on the shape in response to determining that the shape is not longer than one of the occupied cells.
[0188] Example 8: The method of any preceding example, further comprising: in response to determining that the shape is longer than one of the occupied cells, oversampling the shape to form an oversampled shape, wherein the indication is based on the oversampled shape.
[0189] Example 9: The method of any preceding example, further comprising: selecting a model for the corresponding HD map object from a plurality of models corresponding to corresponding types or attributes of the HD map objects, wherein the adjusting is model-based.
[0190] Example 10: The method of any preceding example, further comprising: inputting attributes of the corresponding HD map object into a model; and receiving output from the model, wherein the adjusting is based on the output from the model.
[0191] Example 11: A method comprising: receiving a high-definition (HD) map; determining one or more HD map objects within the HD map; determining attributes of the corresponding HD map objects; and for each HD map object: forming a Gaussian distribution for each of one or more radar reference map units based on the attributes of the corresponding HD map object.
[0192] Example 12: A system comprising: at least one processor; and at least one computer-readable storage medium, the at least one computer-readable storage medium comprising instructions that, when executed by the processor, cause the system to: receive a high-definition (HD) map; determine one or more HD map objects within the HD map; determine attributes of the corresponding HD map objects; and for each HD map object: indicate an occupied cell in a radar occupancy grid as an occupied space based on the attributes of the corresponding HD map object.
[0193] Example 13: The system of Example 12, wherein: the instructions further cause the system to: generate a radar reference map based on the radar occupancy grid; and the radar reference map includes a statistical representation of occupied cells in the radar occupancy grid that are indicated as occupied spaces.
[0194] Example 14: The system of Example 12 or 13, wherein the attributes include one or more of: a type, a location, a size, an orientation of the corresponding HD map object, or a link to a corresponding road.
[0195] Example 15: The system of Example 12, 13, or 14, wherein: the instructions further cause the system to: form a shape for the corresponding HD map object; and the indication is based on the shape.
[0196] Example 16: The system of any of Examples 12-15, wherein: the instructions further cause the system to: apply adjustments to the shape based on properties of the corresponding HD map object to form an adjusted shape, and the indication is based on the adjusted shape.
[0197] Example 17: The system of any of Examples 12-16, wherein: the instructions further cause the system to: determine whether the shape is longer than one of the occupied cells; and the indication is based on the shape in response to determining that the shape is not longer than one of the occupied cells.
[0198] Example 18: The system of any of Examples 12-17, wherein: the instructions further cause the system to: in response to determining that the shape is longer than one of the occupied cells, oversample the shape to form an oversampled shape; and the indication is based on the oversampled shape.
[0199] Example 19: The system of any of Examples 12-18, wherein: the instructions further cause the system to: select a model for the corresponding HD map object; and the adjusting is based on the model.
[0200] Example 20: The system of any of Examples 12-19, wherein: the instructions further cause the system to: input attributes of the corresponding HD map object into the model; and receive output from the model; and the adjusting is based on the output from the model.
[0201] Example 21: A system comprising: at least one processor; and at least one computer-readable storage medium, the at least one computer-readable storage medium comprising instructions that, when executed by the processor, cause the system to perform any of the methods of Examples 1-12.
[0202] Example 22: A system comprising: means for performing any of the methods of Examples 1-12.
[0203] Conclusion
[0204] Although various implementations of radar reference map generation have been described using language specific to features and / or methods, the subject matter of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations of radar reference map generation. Furthermore, although various examples have been described above, each having certain features, it should be understood that a particular feature of an example is not necessarily exclusive to use with that example. Instead, any of the features described above and / or depicted in the accompanying drawings may be combined with any of the examples in addition to or in place of any other features of those examples.
Claims
1. A method for generating a radar reference map, the method comprising: receiving or generating a high-definition (HD) radar reference map based on data collected from a radar sensor of a radar system of a vehicle, wherein the HD radar reference map is generated based on a radar occupancy grid, wherein the radar occupancy grid is generated based on radar signals transmitted from and received at the vehicle; determining one or more HD map objects to be within the HD radar reference map; determining attributes of the one or more HD map objects; forming a shape for each of the one or more HD map objects based on the attributes, the shape being a geometric representation of the HD map object; determining whether a shape of an HD map object among the one or more HD map objects is longer than a cell in the radar occupancy grid; For each of the HD map objects: indicating one or more cells in the radar occupancy grid as occupied space based on the shapes of the one or more HD map objects occupying the cells; Sampling a shape of an HD map object among the one or more HD map objects, wherein the sampling comprises at least one of the following: responsive to a shape of one of the one or more HD map objects being no longer than one of the cells, avoiding oversampling a shape of the one of the one or more HD map objects, and in response to the shape being longer than one of the cells, oversampling a shape of the one of the one or more HD map objects; The HD radar reference map is updated based on the sampling results.
2. The method according to claim 1, wherein Wherein the HD radar reference map includes a statistical representation of the cells in the radar occupancy grid indicated as occupied spaces.
3. The method according to claim 1, wherein The attributes include one or more of: a type, a location, a size, an orientation, a link to a corresponding road, or radar hardware information of the one or more HD map objects.
4. The method according to claim 1, wherein The method is executed by a cloud system external to the vehicle.
5. The method according to claim 1, wherein Further including: adjusting a shape of the one of the one or more HD map objects based on an attribute of the one of the one or more HD map objects; as well as Occupancy of the cell is indicated based on the adjusted shape.
6. The method according to claim 5, wherein Further including: selecting a model for the one or more HD map objects from a plurality of models corresponding to respective types or attributes of the HD map objects, wherein the adjusting is based on the model.
7. The method according to claim 6, wherein Further including: inputting the attributes of the one or more HD map objects into the model; as well as receiving output from the model, Wherein the adjusting is based on the output from the model.
8. A method for generating a radar reference map, the method comprising: receiving or generating a high-definition (HD) radar reference map based on data collected from a radar sensor of a vehicle's radar system; determining one or more HD map objects to be within the HD radar reference map; determining attributes of the one or more HD map objects; as well as For each of the one or more HD map objects: generating a Gaussian multivariate distribution for each cell in the HD radar reference map based on attributes of the one or more HD map objects, wherein the generating of the Gaussian multivariate distribution for the cells of the HD radar reference map comprises generating a mean and a covariance value for each of the cells based on the attributes, wherein the Gaussian multivariate distribution comprises metadata, wherein the metadata comprises at least one of: i) information regarding a shape and size of clusters of the Gaussian multivariate distribution, and ii) associating the Gaussian multivariate distribution with certain objects, and The HD radar reference map is generated based on the Gaussian multivariate distribution.
9. A system for generating a radar reference map, the system comprising: at least one processor; as well as at least one computer-readable storage medium comprising instructions that, when executed, cause the system to: receiving or generating a high-definition (HD) radar reference map based on data collected from a radar sensor of a radar system of a vehicle, wherein the HD radar reference map is generated based on a radar occupancy grid, wherein the radar occupancy grid is generated based on radar signals transmitted from and received at the vehicle; determining one or more HD map objects to be within the HD radar reference map; determining attributes of the one or more HD map objects; forming a shape for each of the one or more HD map objects based on the attributes, the shape being a geometric representation of the HD map object; determining whether a shape of an HD map object among the one or more HD map objects is longer than a cell in the radar occupancy grid; For each of the HD map objects: based on the shapes of the one or more HD map objects occupying the cell, indicating one or more cells in the radar occupancy grid as occupied space, Sampling a shape of an HD map object among the one or more HD map objects, wherein the sampling comprises at least one of the following: responsive to a shape of one of the one or more HD map objects being no longer than one of the cells, avoiding oversampling the shape of the one of the one or more HD map objects, and responsive to the shape being longer than one of the cells, oversampling the shape of the one of the one or more HD map objects; The HD radar reference map is updated based on the sampling results.
10. The system according to claim 9, wherein: The HD radar reference map includes a statistical representation of the cells in the radar occupancy grid indicated as occupied spaces.
11. The system according to claim 9, wherein The attributes include one or more of: a type, a location, a size, an orientation, or a link to a corresponding road of the one or more HD map objects.
12. The system according to claim 9, wherein: The instructions further cause the system to: adjust a shape of the one of the one or more HD map objects based on an attribute of the one of the one or more HD map objects to form an adjusted shape; as well as Occupancy of the cell is indicated based on the adjusted shape.
13. The system according to claim 12, wherein: The instructions further cause the system to: select a model for the one or more HD map objects; and The adjustments are based on the model.
14. The system according to claim 13, wherein: The instructions further cause the system to: inputting the attributes of the one or more HD map objects into the model; and receiving output from the model; and The adjusting is based on the output from the model.
Citation Information
Patent Citations
Vehicle based data collection and processing system
US20040167709A1
Systems and methods for unified mapping of an environment
US20170307751A1
Occupancy Map Updates Based on Sensor Data Collected by Autonomous Vehicles
US20180188037A1
Radar Spatial Estimation
US20200103523A1