CN116804554A - Occupancy grid map generation method and device - Google Patents
Occupancy grid map generation method and device Download PDFInfo
- Publication number
- CN116804554A CN116804554A CN202210260023.0A CN202210260023A CN116804554A CN 116804554 A CN116804554 A CN 116804554A CN 202210260023 A CN202210260023 A CN 202210260023A CN 116804554 A CN116804554 A CN 116804554A
- Authority
- CN
- China
- Prior art keywords
- current frame
- grid
- group
- ogm
- grids
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000006835 compression Effects 0.000 claims abstract description 208
- 238000007906 compression Methods 0.000 claims abstract description 208
- 238000005259 measurement Methods 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims description 49
- 238000006073 displacement reaction Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004927 fusion Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000013461 design Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/865—Combination of radar systems with lidar systems
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/867—Combination of radar systems with cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/89—Radar or analogous systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Automation & Control Theory (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
An occupancy grid map generating method and device, the method includes: acquiring terminal pose data and sensor data of a current frame, determining a predicted OWM of the current frame according to the occupancy state values of grids in an occupancy grid map OWM of the previous frame and the terminal pose data of the current frame, determining a measurement OWM of the current frame based on the sensor data and an inverse sensor model of the current frame, compressing at least one group of grids with the same occupancy state value in the measurement OWM to obtain N first compression blocks, wherein the ith first compression block is obtained by compressing grids with the same occupancy state value at the ith group of positions in the measurement OWM, i is obtained by taking all integers between 1 and N, and fusing the occupancy state values included in the ith first compression block with the occupancy state values of each grid at the ith group of positions in the predicted OWM to obtain updated OWM of the current frame, so that memory requirements for the occupancy grid map of a change space can be reduced.
Description
Technical Field
The application relates to the technical field of intelligent driving, in particular to a method and a device for generating an occupied grid map.
Background
The occupied grid map (occupied grid map, OGM) is an important component of static obstacle perception and road scene understanding in the automatic driving/assisted driving technology, and road edge detection and static obstacle positioning can be realized through the OGM, so that a passable area of a vehicle is acquired, and the driving safety of the automatic driving vehicle is ensured. The OGM has two very important parameters, namely, the larger the map size and the grid resolution, the higher the accuracy of the OGM, but the larger the storage space required by the OGM, and the higher the calculation time. Compression against OGM is therefore also a very important ring in mapping.
Currently, in the technology of synchronous positioning and mapping (simultaneous localization and mapping, SLAM) based on point cloud, an octree (for example, for a 3D map) structure and a quadtree (for example, for a 2D map) structure are mostly adopted to compress OGM, that is, when the occupancy probability of the grid where the measured value is located is calculated, the occupancy probability is inserted into the grid sub-node corresponding to the tree structure, and after the occupancy probability converges, the sub-nodes with the same occupancy probability are trimmed to save the memory. In addition, the R-tree and ColMap methods are also proposed for OGM compression, wherein R-tress stores the grids of OGM as a series of axially aligned rectangles/cuboids, and when in compression, the complete map with the maximum resolution is obtained based on measurement, and then the grids with the same occupancy probability are combined and compressed into an R-tress structure; the ColMap method adopts a tree structure to compress the grid in the horizontal direction and adopts run-length coding compression in the vertical direction, and designs a set of corresponding data memory layout modes for the compression structure. For existing compression methods in SLAM technology, either octree, quadtree, R-trees, or ColMap, compression is essentially performed using a tree structure. In general, the map generated for a scene with a fixed spatial position and size is compressed, for example, the OGM is compressed in an indoor SLAM. If the tree structure compression is continuously adopted for the local grid map with the space position of each frame being changed, such as the vehicle-mounted OWM, the tree structure is deeper and deeper, the memory is increased, and the memory cannot be reduced.
Disclosure of Invention
The embodiment of the application provides a method and a device for generating an occupied grid map, which are used for reducing the memory requirement when a local grid map with a changed spatial position of each frame is compressed.
In a first aspect, the present application provides an occupancy grid map generating method, which is executed by a terminal or a component (e.g., a processing device) in the terminal, and for convenience of description, the following description will be given by taking the execution of the processing device as an example. The method comprises the following steps: the processing device acquires terminal pose data and sensor data of the current frame, and determines a predicted OCM of the current frame according to the occupancy state values of each grid in the occupancy grid map OCM of the previous frame and the terminal pose data of the current frame. And then, based on the sensor data and the inverse sensor model of the current frame, determining the measurement OWM of the current frame, and compressing at least one group of grids with the same occupancy state value in the measurement OWM of the current frame to obtain N first compression blocks, wherein the ith first compression block in the N first compression blocks is obtained by compressing grids with the same occupancy state value at the ith group of positions in the measurement OWM, N is a positive integer, i is an integer between 1 and N, i is an integer, and the ith first compression block comprises address information of a first grid at the ith group of positions, occupancy state values of the grids at the ith group of positions and the number of grids at the ith group of positions. And then, fusing the occupied state value included in the ith first compression block with the occupied state value of each grid at the ith group position in the predicted OWM respectively to obtain the updated OWM of the current frame.
Based on the scheme, the processing device compresses at least one group of grids with the same occupancy state value in the measured OGM to obtain N first compression blocks, and then fuses the occupancy state values contained in the N compression blocks with the occupancy state value of each grid at the ith group of positions in the predicted OGM respectively to obtain updated OGM of the current frame, so that the terminal can compress the OGM and update the OGM in the moving process, and further the memory requirement when compressing the local grid map with the changed spatial position of each frame can be reduced.
In one possible design, the previous frame OGM is obtained by dividing a plurality of grids according to the area of the terminal in the preset range of the position of the previous frame; according to the occupancy state value of each grid in the previous frame occupancy grid map OGM and the terminal pose data of the current frame, the determining the prediction OGM of the current frame may include: according to the terminal pose data of the current frame, determining the transverse displacement and the longitudinal displacement between the position of the current frame and the position of the last frame of the terminal; then, according to the transverse displacement, the longitudinal displacement and the previous frame OWM, determining a grid corresponding to an area, in the previous frame OWM, overlapping with an area of the terminal in a preset range of the position of the current frame, and constructing a grid corresponding to a newly added area compared with the area of the terminal in the preset range of the position of the current frame; and determining the prediction OGM of the current frame according to the determined occupied state value of the grid corresponding to the overlapping area in the previous frame OGM and the constructed occupied state value of the grid corresponding to the newly added area. By the design, the prediction OCM of the current frame can be accurately determined.
In one possible design, in the case that the first compression block is a first morton code block and the address information of the first grid at the i-th group of positions in the i-th first compression block is a morton code address, the above-mentioned compressing the at least one group of grids with the same occupancy state value in the measurement OGM of the current frame to obtain N first compression blocks may be implemented in one or two of multiple manners:
in one mode, at least one group of grids with the same occupied state value and continuous Morton code addresses in the measurement OWM of the current frame are compressed to obtain N first Morton code blocks. By means of the method, the measurement OGM can be compressed into the compressed block with smaller volume, and therefore the memory requirement in the OGM generation process can be reduced.
And secondly, compressing a grid of at least one group of occupied state values in the measurement OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain N first Morton code blocks. Compared with the mode, the method can compress the measurement OWM into the compressed block with smaller volume, so that the memory requirement when the local grid map with the changed spatial position of each frame is compressed can be further reduced.
In the case that the first compression block is a first run code block, and the i-th first compression block includes the address information of the first grid at the i-th group position as the run code address, compressing at least one group of grids with the same occupancy state value in the measurement OGM of the current frame to obtain N first compression blocks, which may be implemented in the following manner three or four:
and thirdly, compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the measurement OWM of the current frame to obtain N first run code blocks. In the third mode, compared with the first mode and the second mode, after the measurement OGM is compressed, the address can be unnecessary to be calculated when the measurement OGM is fused with the prediction OGM, so that the calculation force can be reduced, but the run code address included in the first run code block obtained in the third mode occupies more memory when being stored than the Morton code address included in the first Morton code block obtained in the first mode and the second mode.
In a fourth mode, at least one group of grids of occupied state values which are the same in occupied state value, adjacent in row direction and/or column direction and interesting to the user in the measurement OGM of the current frame are compressed to obtain N first run code blocks. In the fourth embodiment, compared with the third embodiment, the measurement OGM can be compressed into a compressed block having a smaller volume by compressing the grid of the occupancy state values of interest to the user.
In one possible design, fusing the occupancy state values included in the ith first compressed block with the occupancy state values of each grid at the ith set of locations in the predicted OGM, respectively, may include: and adding the occupancy state value of each grid at the ith group of positions in the predicted OWM with the occupancy state value included in the ith first compression block respectively to obtain the occupancy state value of each grid at the ith group of positions in the updated OWM. With this design, updated OGMs can be more accurately obtained.
In one possible design, after obtaining the updated OGM of the current frame, the method may further include: compressing at least one group of grids with the same occupied state value in the updated OGM of the current frame to obtain L second compression blocks, wherein the kth second compression block in the L second compression blocks is obtained by compressing grids with the same occupied state value at the kth group position in the updated OGM, L is a positive integer, k is an integer between 1 and L, and the kth second compression block comprises address information of the first grid at the kth group position in the updated OGM, the occupied state value of the grid at the kth group position in the updated OGM and the number of grids at the kth group position in the updated OGM. By further compressing the grids in the updated OGM of the current frame, a group of grids with the same occupancy state value is compressed into a second compression block, so that the L second compression blocks with different corresponding occupancy state values obtained after compression can further save the memory.
In a possible design, in the case that the second compression block is a second morton code block and the kth second compression block includes that the address information of the first grid at the kth group of positions is a morton code address, the compressing the at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks may be implemented in one or two of the following manners:
in one mode, at least one group of grids with the same occupied state value and continuous Morton code addresses in the updated OWM of the current frame are compressed to obtain L second Morton code blocks. In the first mode, the updated OGM can be compressed into a compressed block with smaller volume, so that the memory occupied by the updated OGM finally generated can be reduced.
And in a second mode, compressing a grid of at least one group of occupied state values in the updated OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain L second Morton code blocks. Compared with the mode one, the mode one can compress the updated OGM into a compressed block with smaller volume, so that the memory occupied by the updated OGM finally generated can be further reduced.
In the case that the second compression block is a second run code block, and the kth second compression block includes the address information of the first grid at the kth group of positions as the run code address, compressing at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, which may be implemented in the following manner three or four:
And thirdly, compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the updated OWM of the current frame to obtain L second run code blocks. In the third mode, compared with the first mode and the second mode, the run code address occupies a larger memory when being stored than the Morton code address included in the first Morton code block obtained in the first mode and the second mode.
In a fourth mode, at least one group of grids of occupied state values which are the same in occupied state value, adjacent in row direction and/or column direction and interesting to the user in the updated OGM of the current frame are compressed to obtain N second run code blocks. Compared with the third mode, the fourth mode compresses the grids of the occupied state values interested by the user, so that the measurement OGM can be compressed into a compressed block with smaller volume, and the memory can be further saved.
In a second aspect, the present application provides a processing device for performing the method of each of the above aspects or any of the possible implementations of each of the aspects. In particular, the information transmission device may comprise modules/units for performing the methods in the above aspects or any of their possible implementations; these modules/units may be implemented by hardware, or may be implemented by hardware executing corresponding software.
In a third aspect, the present application also provides a processing device comprising a memory and at least one processor; the memory is used for storing computer instructions; the at least one processor is configured to invoke the computer instructions stored in the memory to perform the operational steps of the method as described above in the first aspect or any possible implementation of the first aspect.
In a fourth aspect, the application also provides a vehicle comprising the apparatus of the second or third aspect.
In a fifth aspect, the present application also provides a computer readable storage medium storing a computer program which, when executed, enables implementation of the method steps as described above in the first aspect or any possible implementation of the first aspect.
In a sixth aspect, the application also provides a computer program product comprising a computer program or instructions which, when executed by a communication device, may carry out the operational steps of the method as described above in the first aspect or any possible implementation of the first aspect.
In addition, the technical effects of the second to sixth aspects may be referred to the description of the first aspect, and are not repeated here.
Drawings
FIG. 1 is a schematic diagram of an OWM build system architecture to which the present application is applicable;
FIG. 2 is a schematic diagram of another OWM build system architecture to which the present application is applicable;
FIG. 3 is a schematic diagram of multiple sensors on a terminal provided by the present application;
FIG. 4 is a schematic flow chart of a method for generating an occupied grid map according to the present application;
FIG. 5 is a schematic view of an occupied grid map of a mobile vehicle provided by the present application;
FIG. 6 is a representation of Morton code addresses provided by the present application;
FIG. 7 is a schematic diagram of a measurement OWM according to the present application;
FIG. 8 is a schematic diagram of an OWM employing Morton code compression in accordance with the present application;
FIG. 9 is a schematic diagram of another embodiment of the present application employing Morton code compression OWM;
FIG. 10 is a schematic view of a grid type provided by the present application;
FIG. 11 is a schematic diagram of another embodiment of the present application employing Morton code compression OWM;
FIG. 12 is a schematic diagram of another measurement OWM provided by the present application;
FIG. 13 is a schematic diagram of OWM employing run-length code compression according to the present application;
FIG. 14 is a schematic diagram of another embodiment of OWM employing run-length code compression in accordance with the present application;
FIG. 15 is a schematic view of a processing apparatus according to an embodiment of the present application;
fig. 16 is a schematic diagram of a processing apparatus according to an embodiment of the present application.
Detailed Description
The present application will be described in further detail with reference to the accompanying drawings. It will be apparent that the described embodiments are some, but not all, embodiments of the application. The specific method of operation in the method embodiment may also be applied to the device embodiment. In the description of the embodiments of the present application, it will be understood by those skilled in the art that the first, second, etc. numbers referred to in the present application are merely for convenience of description and are not intended to limit the scope of the embodiments of the present application or to indicate the sequence. The meaning of "plurality" is two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one" means one or more. At least two means two or more. "at least one," "any one," or the like, refers to any combination of these items, including any combination of single item(s) or plural items(s).
The occupancy grid map (occupancy grid map, OGM) is an environment metric map proposed earlier, and may be obtained by dividing a detection area into a number and a size of grids, determining a probability of each grid being occupied (hereinafter referred to as an occupancy probability) according to a detection result of a detector, and reflecting the probability of each grid being occupied to a corresponding grid in the detection area, wherein the detector may be a point cloud sensor. Thus, occupying the grid map may reflect obstacle information in the detection area.
Currently, in the technology of synchronous positioning and mapping (simultaneous localization and mapping, SLAM) based on point cloud, an octree (for example, for a 3D map) structure and a quadtree (for example, for a 2D map) structure are mostly adopted to compress OGM, that is, when the occupancy probability of the grid where the measured value is located is calculated, the occupancy probability is inserted into the grid sub-node corresponding to the tree structure, and after the occupancy probability converges, the sub-nodes with the same occupancy probability are trimmed to save the memory. In addition, the R-tree and ColMap methods are also proposed for OGM compression, wherein R-tress stores the grids of OGM as a series of axially aligned rectangles/cuboids, and when in compression, the complete map with the maximum resolution is obtained based on measurement, and then the grids with the same occupancy probability are combined and compressed into an R-tress structure; the ColMap method adopts a tree structure to compress the grid in the horizontal direction and adopts run-length coding compression in the vertical direction, and designs a set of corresponding data memory layout modes for the compression structure. For existing compression methods in SLAM technology, either octree, quadtree, R-trees, or ColMap, compression is essentially performed using a tree structure. In general, the map generated for a scene with a fixed spatial position and size is compressed, for example, the OGM is compressed in an indoor SLAM. If the tree structure compression is continuously adopted for the local grid map with the space position of each frame being changed, such as the vehicle-mounted OWM, the tree structure is deeper and deeper, the memory is increased, and the memory cannot be reduced.
Therefore, the application can provide an occupied grid map generation method for reducing the memory when the local grid map with the space position of each frame being changed is compressed.
In the embodiment of the application, the occupation grid map is mainly constructed according to a static binary Bayesian filtering principle, as shown in a formula (1):
l t,i =l t-1,i +ism(m i )+l 0 (1)
the above-mentioned maleIn the formula (1), if the time t corresponds to the current frame and the time t-1 corresponds to the last frame of the current frame, l t-1,i An occupancy state value of the ith grid of the updated OGM for the previous frame, ism (m i ) The occupancy state value, l, of the ith grid in the measured OWM of the current frame calculated for the inverse sensor model t,i For updating the occupancy state value, l, of the ith grid in the OGM for the current frame 0 Log of prior occupancy probability, l 0 Is constant and may be, for example, 0.
It should be noted that, the occupancy state value of any one of the grids in the embodiments of the present application may be represented by using the log logarithm value of the occupancy probability of that grid, for example, the occupancy state value of the ith grid of the updated OGM of the previous frame is the log logarithm value of the occupancy probability of the ith grid of the updated OGM of the previous frame, and the occupancy state value of the ith grid of the measured OGM of the current frame is the log logarithm value of the occupancy probability of the ith grid of the measured OGM of the current frame.
Fig. 1 is a diagram of an OGM architecture system according to an embodiment of the present application. As shown in fig. 1, the system architecture includes a prediction module, an inverse sensor model module, and an update module.
And the prediction module is used for translating the occupied grid map of the previous frame according to the pose data of the terminal of the current frame, such as the pose and motion information (such as displacement, yaw and the like) of the terminal, so as to obtain a predicted OWM of the current frame, and the occupied state values of each grid corresponding to the predicted OWM are stored as a prediction matrix.
The inverse sensor model module is configured to determine an occupancy state value of each grid in the measurement OGM of the current frame according to the sensor data of the current frame and the inverse sensor model, for example, input the sensor data to the inverse sensor model to obtain the occupancy state value of each grid in the measurement OGM of the current frame, where the sensor data is point cloud data collected by the sensor, and includes parameters such as a position of a radar echo, a distance detection precision, an angle detection precision, and the like. If a plurality of radars exist, the calculation results corresponding to the plurality of radars are required to be fused, so that the final measurement OCM of the current frame is obtained, and the occupancy state values of the grids corresponding to the measurement OCM are stored as a measurement matrix.
And the updating module is used for combining the prediction matrix obtained by the prediction module and the measurement matrix obtained by the inverse sensor model module to obtain updated OCM of the current frame, namely the OCM map data finally required by the current frame, and the updated OCM of the current frame is stored as the updated matrix.
The prediction module, the inverse sensor model module and the update module all operate in the form of matrix interfaces, and at least more than two OGM matrices need to be stored in the process of constructing the OGM by the architecture shown in fig. 1. In order to further reduce the memory, a compression module is added on the basis of the architecture shown in fig. 1, and the inverse sensor model module in fig. 1 is improved, so that all raster data is not stored in a matrix form any more, and the operation among the modules is mainly the operation of a matrix and a compression block. Another OGM building system architecture, as shown in fig. 2, includes a prediction module, an inverse sensor model module, an update module, and a compression module. Wherein the prediction module in fig. 2 is similar to the function of the prediction module in fig. 1, the difference between fig. 2 and the OGM construction system architecture shown in fig. 1 is that:
(1) After the measurement OGM of the current frame obtained in the inverse sensor model module is not stored in a matrix form, but the measurement OGM is compressed to obtain at least one compressed block, the compression mode can adopt Morton code or run code compression, the compressed block obtained by Morton code compression can be called Morton code block, and the compressed block obtained by run code compression can be called run code block. And then fusing the compression blocks respectively corresponding to the at least one sensor in the compression storage process to obtain a first compression block. To further save memory, the inverse sensor model module may directly compress and store the grid of occupancy state values (e.g., occupied grid, idle grid) of interest to the user.
(2) The updating module is used for fusing the predicted OWM of the current frame obtained by the predicting module with the first compressed block obtained by the inverse sensor model module to obtain updated OWM, namely the OWM map data finally required by the current frame.
(3) And the compression module is used for compressing the updated OWM to obtain at least one second compression block. The second compression block may be used as an input for the detection of subsequent static obstructions, passable area calculations.
In the compression module, lossless compression such as Morton code compression or run-length code compression can be performed on the updated OWM. If the requirement on the occupied probability value of the grid is not large, the occupied probability can be segmented, the grid with the occupied probability smaller than a certain threshold value is defined as an idle state, the grid with the occupied probability larger than the certain threshold value is an occupied state, the other grids are unknown states, OGMs can be further compressed, and meanwhile, the Morton code compression or the run code compression scheme is adopted to compress the OGMs after probability segmentation into Morton code blocks/run code blocks, and at the moment, the compression of the OGMs is lossy compression.
Here, the obtained updated OGM may be used to determine a predicted OGM for a next frame to the current frame.
The system architecture shown in fig. 2 only needs to store one compression block and one matrix, so that the construction of the OGM based on multi-sensor fusion can be completed, wherein the compression block corresponding to the measurement OGM output by the inverse sensor model and the compression block corresponding to the update OGM use the same memory address, and the prediction matrix and the update matrix use the same memory address. Compared to the OGM system architecture shown in fig. 1, fig. 2 can achieve further memory savings, while also reducing a portion of the computation effort due to the presence of compression blocks.
It should be noted that, the terminal in the embodiment of the present application may be, for example, a vehicle, or other devices in the vehicle. Such other devices include, but are not limited to: other sensors such as a vehicle-mounted terminal, a vehicle-mounted controller, a vehicle-mounted module, a vehicle-mounted component, a vehicle-mounted chip, a vehicle-mounted unit, a vehicle-mounted radar or a vehicle-mounted camera, and the vehicle can pass through the vehicle-mounted terminal, the vehicle-mounted controller, the vehicle-mounted module, the vehicle-mounted component, the vehicle-mounted chip, the vehicle-mounted unit, the vehicle-mounted radar or the vehicle-mounted camera. Of course, the above-described terminal may also be another intelligent terminal other than a vehicle, or a component provided in another intelligent terminal other than a vehicle. The intelligent terminal can be intelligent transportation equipment, intelligent household equipment, robots and the like. Such as, but not limited to, a smart terminal or other sensor such as a controller, chip, radar or camera within a smart terminal, and other components, etc.
The terminal may be provided with various sensors, for example, in fig. 3, the terminal is used as a vehicle for illustration, and a camera device (for example, a camera in fig. 3), a laser radar, a millimeter wave radar (for example, a long-distance millimeter wave radar, a medium/short-distance millimeter wave radar in fig. 3), an ultrasonic sensor and the like are installed on the vehicle, so that environmental information around the vehicle is obtained through the sensors, and the obtained environmental information is analyzed and processed, thereby realizing functions such as obstacle sensing, target recognition, vehicle positioning, path planning, driver monitoring/reminding and the like, and further improving the safety, the automation degree and the comfort level of vehicle driving. The environmental information obtained by the sensor is mainly aimed at things around the terminal, such as traffic light information, traffic sign information, traffic police, obstacles, and the like, which will not be described in detail later.
The camera device is used for acquiring image information of an environment where a vehicle is located, and a plurality of cameras can be installed on the vehicle at present to acquire information of more angles. The laser radar is a short name of a laser detection and ranging (light laser detection and ranging, liDAR) system, and mainly comprises a transmitter, a receiver and a signal processing unit, wherein the transmitter is a laser transmitting mechanism in the laser radar; after the laser emitted by the emitter irradiates the target object, the reflected light rays are converged on the receiver through the lens group by being reflected by the target object. The signal processing unit is responsible for controlling the emission of the emitter, processing the signals received by the receiver and calculating the position, speed, distance, size and/or other information of the target object.
The millimeter wave radar uses millimeter waves as a detection medium, and can measure the distance, angle, relative speed and the like from the millimeter wave radar to the measured object. The millimeter wave radar can be classified into a Long Range Radar (LRR), a mid-range radar (MRR), and a short range radar (short range radar, SRR) according to the distance of detection thereof. The application scene of the LRR mainly comprises active cruising, braking assistance and the like, the LRR has low requirements on the detected angular domain width, and the 3dB wave beam width of the antenna is low when the LRR reacts to the antenna. The MRR/SRR mainly faces to application scenes including automatic parking, lane combining assistance, blind spot detection and the like, and has higher requirements on the detected angular domain width, and the MRR/SRR responds to an antenna with higher requirements on the 3dB wave beam width of the antenna and requires the antenna to have lower side lobe level. The beam width is used for guaranteeing the range of the detectable angle domain, the low side lobe is used for reducing clutter energy reflected by the ground, the false alarm probability is reduced, and driving safety is guaranteed. The LRR can be arranged in front of the vehicle body, the MRR/SRR can be arranged at four corners of the vehicle, and the 360-range coverage on the periphery of the vehicle body can be realized when the MRR/SRR are used together.
The millimeter wave radar may include a housing with at least one printed circuit board (printed circuit board, PCB) built-in, for example, a power PCB and a radar PCB, wherein the power PCB may provide internal use voltage for the radar, and may also provide an interface and security functions for communication with other devices; the radar PCB may provide transceiving and processing of millimeter wave signals, with components for millimeter wave signal processing and antennas (a transmitting antenna Tx and a receiving antenna Rx) for transceiving millimeter wave signals integrated thereon. The antenna may be formed in a microstrip array on the back of the radar PCB for transmitting and receiving millimeter waves.
The ultrasonic sensor, which may be also called an ultrasonic radar, is a sensing device using ultrasonic detection, and its working principle is that ultrasonic waves are emitted outwards through an ultrasonic emission device, ultrasonic waves reflected back through an obstacle are received through a receiving device, and the distance is calculated according to the time difference of the reflected ultrasonic waves. The distance measured and calculated by the ultrasonic sensor can be used for prompting the distance from the vehicle body to the obstacle, assisting parking or reducing unnecessary collision. It should be understood that the above-described sensors are merely illustrative of sensors that may be configured on a vehicle in accordance with embodiments of the present application and are not intended to be limiting, and that in other embodiments, the sensors may include, but are not limited to, the above-described examples.
Currently, OGM mapping is typically performed using lidar and millimeter wave radar. In terms of detection precision, the laser radar has the advantages of high precision and high resolution compared with the millimeter wave radar; in the aspect of anti-interference capability, the detection performance of the laser radar is greatly influenced by factors such as environment, weather and the like, and the millimeter wave radar has strong capability of penetrating smoke and fog, so that the laser radar has the advantage of all-weather operation compared with the laser radar; in addition, the laser radar point cloud density is large, and more one dimension is achieved in space than that of the traditional millimeter wave radar, so that the calculation force and the memory required by the laser radar map building are much higher than those of the millimeter wave radar. In the embodiment of the application, the OGM mapping is performed by taking multi-millimeter wave radar fusion as an example for illustration, but the method is not limited to being applied to millimeter wave radars, and can be applied to other OGM sensors capable of being realized.
The terminal may be provided with other devices or modules in addition to the various sensors, which are not shown here.
The occupied grid map generation method according to the embodiment of the present application is described below with reference to a method flowchart.
Fig. 4 shows a schematic flow chart of an occupancy grid map generating method according to an embodiment of the present application. The method is applicable to the system shown in fig. 2. The method may be performed by a processing device, as shown in fig. 4, and may include the steps of:
In step 401, the processing device acquires terminal pose data of a current frame and sensor data of the current frame.
In step 401, taking a terminal as an example of a vehicle, terminal pose data of a current frame may be vehicle pose data of the current frame, and sensor data of the current frame may be sensor data of the current frame acquired by each sensor installed on the vehicle.
In step 402, the processing device determines the predicted OGM of the current frame according to the occupancy state values of the grids in the previous frame OGM and the terminal pose data of the current frame.
Wherein the occupancy state values of the individual grids in the predictive OGM may be stored in matrix form, e.g. as a predictive matrix.
In a specific embodiment, the previous frame OGM is obtained by dividing the area of the terminal in the preset range of the position of the previous frame into a plurality of grids, and the updated OGM of the previous frame can be translated according to the pose data of the terminal and the inter-frame displacement (displacement from the position of the previous frame to the position of the current frame) to obtain the predicted OGM. In one manner in which step 402 may be implemented, the processing device may determine, according to terminal pose data of the current frame, a lateral displacement and a longitudinal displacement of the terminal between a position of the current frame and a position of a previous frame of the terminal, then determine, according to the lateral displacement, the longitudinal displacement, and the previous frame of the terminal, a grid corresponding to an area of the previous frame of the terminal within a preset range of the position of the current frame of the terminal, and construct a grid corresponding to a newly added area compared with an area of the terminal within the preset range of the position of the current frame of the terminal, and then determine, according to the determined occupancy state value of the grid corresponding to the overlapping area in the previous frame of the terminal and the constructed occupancy state value of the grid corresponding to the newly added area of the current frame of the terminal.
In an example, taking a terminal as an example of a vehicle, the center of a map coordinate system is as close as possible to the vehicle, the vehicle moves from a point a to a point B as shown in fig. 5, the lateral displacement is 2s, the longitudinal displacement is s, the area of the last frame of the vehicle in the preset range of the point a is a 10×10 solid line grid area, the area of the last frame of the vehicle in the preset range of the point B is a 10×10 dotted line grid area, the 3 rd column to the 10 th column grid area in the area of the 1 st row to the 9 th column in the area of the point a coincides with the 1 st column to the 8 th column grid area in the 2 nd row to the 10 th column in the area of the preset range of the point B, and the occupied state value of each grid corresponding to the 3 rd column to the 10 th grid area in the area of the vehicle in the preset range of the point a can be regarded as the occupied state value of each grid corresponding to the 1 st column to the 8 th column in the 2 nd row to the preset range of the area of the point B in the area of the point B. And constructing the occupancy state values of grids corresponding to the 1 st column of the 1 st row and the 9 th column to the 10 th column of the 2 nd row to the 10 th column which are newly added in the area of the preset range of the point B of the vehicle, so as to obtain the prediction OGM of the current frame.
In step 403, the processing means determines a measured OGM for the current frame based on the sensor data and the inverse sensor model for the current frame.
By way of example, taking a sensor as a plurality of millimeter wave radars, map data detected by the plurality of millimeter wave radars is taken as raster data of each raster in the measurement OGM of the current frame. The occupancy probability of each grid in the prediction OWM of the current frame can be calculated according to the parameters such as the position, the distance detection precision, the angle detection precision and the like of each millimeter wave radar echo, so that the occupancy state value of each grid is determined.
In step 404, the processing device compresses at least one group of grids with the same occupancy state value in the measured OGM of the current frame to obtain N first compressed blocks.
The ith first compression block in the N first compression blocks is obtained by measuring grids with the same occupied state value at the ith group position in the OWM in a compression mode, N is a positive integer, i is an integer between 1 and N, and the ith first compression block comprises address information of a first grid at the ith group position, occupied state values of the grids at the ith group position and the number of grids at the ith group position. For example, if N is 4, the 1 st first compression block is obtained by measuring the same grid compression of the occupancy state value at the 1 st group position in the OGM, the 2 nd first compression block is obtained by measuring the same grid compression of the occupancy state value at the 2 nd group position in the OGM, the 3 rd first compression block is obtained by measuring the same grid compression of the occupancy state value at the 3 rd group position in the OGM, the 4 th first compression block is obtained by measuring the same grid compression of the occupancy state value at the 4 th group position in the OGM, and it should be understood that the same grid of the occupancy state value at the 1 st group position in the OGM may be one grid or a plurality of grids, that is, the N first compression blocks may be obtained by one grid or a plurality of grids.
There are many possible implementations of step 404 described above.
In a possible embodiment a1, a coding manner of a morton code is used for compression, the first compression block is a first morton code block, the ith first compression block includes address information of a first grid at the ith group of positions as a morton code address, and the processing device may compress four adjacent grids with the same occupancy state value and continuous morton code addresses in at least one group of measured OGMs of the current frame to obtain N first morton code blocks. That is, the i-th first compressed block includes the morton code address of the first trellis at the i-th group position, the occupancy state value of the trellis at the i-th group position, and the number of the trellis at the i-th group position.
The morton code is a form of compressed raster data in GIS, which is also another representation of a quadtree, and the morton code address table shown in fig. 6 includes 8 rows and 8 columns of address codes, wherein the row numbers start from row 0 to row 7 and the column numbers start from column 0 to column 7. The morton code utilizes a linear quadtree structure to construct the address code, but there is no constraint on the tree structure. And the Morton code has higher compression efficiency than the tree structure, is convenient for inserting, deleting and modifying raster data, and is more suitable for being used as a compression coding mode of the OGM in a mobile environment than the tree structure.
In the embodiment of the application, the grid for measuring the OWM is compressed by taking the decimal Morton code address as an address code as an example. Firstly, the row and column numbers of the Morton code are converted into binary numbers, then the row and column numbers of the binary addresses are arranged in a crossing way, and finally the binary results are converted into decimal numbers, namely the decimal Morton code addresses of the grids. The coding mode of the Morton code specifically comprises the following steps: for the adjacent 4 grids corresponding to the quadtree child node, the adjacent four grids, for example, the morton codes 0, 1, 2 and 3 in the 0-1 column in the 0-1 row, for example, the morton codes 4, 5, 6 and 7 in the 2-3 column in the 0-1 row, if the attribute values (i.e. the occupancy state values of the grids) of the adjacent 4 grids are the same, the adjacent 4 grids are combined, the measurement OGM shown in fig. 7 is used for compression, the four grids with the morton code addresses of 0, 1, 2 and 3 with the occupancy state value of 0.5 are compressed into a compressed block with the occupancy state value of 0.5 shown in fig. 8, the four grids with the morton code addresses of 4, 5, 6 and 7 are compressed into a compressed block with the occupancy state value of 0.2 shown in fig. 8, if adjacent blocks with the same specification and the attribute values are the same, for the adjacent 4 grids are combined, for example, the four grids with the morton code addresses of 32-35, 39-40 and 4-44, 4.5 are compressed into a compressed block with the occupancy state value of 0.5 shown in fig. 8, and the compressed block with the occupancy state value of 0.2 can be further compressed into a compressed block with the occupancy state of 0.13, and the compressed block with the occupancy state value of 0.4 is compressed into the compressed block with the occupancy state value of 0.3 as shown in fig. 8, and the compressed block with the occupancy state of 0.13 can be further compressed. The first compressed blocks are square, and only the first address of each compressed block and the attribute value of the compressed block need to be recorded.
In the foregoing possible embodiment a1, the shape of the compression block is limited to be square, in other embodiments, the shape of the compression block may not be limited, so that the compression mode of the morton code in the possible embodiment a1 is improved, the compression condition is not limited to the adjacent 4 blocks with the same attribute value, the prediction OGM may be further compressed into fewer compression blocks, and a specific implementation may be seen in the following possible embodiment a2.
In a possible implementation a2, the first compression block is a first morton code block, the i first compression block includes that address information of a first grid at the i-th group of positions is a morton code address, and the processing device may compress at least one group of grids in the measured OGM of the current frame, where the occupancy state values are the same and the morton code addresses are continuous, to obtain N first morton code blocks. The ith first compression block comprises the Morton code address of the first grid at the ith group position, the occupancy state value of the grid at the ith group position and the number of grids at the ith group position.
Taking the measurement OGM shown in fig. 7 as an example, the compression of the grid with the same occupied state value and continuous morton code addresses can obtain the compression result shown in fig. 9, so that the measurement OGM can be compressed into 6 compression blocks. Each compressed block may record the first address of the compressed block, the number of grids in the compressed block, and the attribute value (occupancy state value of the grid), and according to the morton code address in fig. 6, the grid with 16 occupancy state values of 0.2 corresponding to the morton code addresses 4-19 in fig. 7 may be compressed into a first compressed block, which is recorded as [4,0.2,16] in fig. 9.
Compared with the embodiment a1, the embodiment a2 can compress the measured OGM into a compressed block with smaller volume, so as to reduce the memory requirement in the OGM generating process.
To further save memory, it may not be necessary to compress all raster data, but only the raster of the attribute values of interest, see possible embodiment a3 for a specific embodiment.
In a possible implementation a3, the first compression block is a first morton code block, the ith first compression block includes an address information of a first grid at an ith group of locations as a morton code address, and the processing device may compress a grid of at least one group of occupancy state values in the measurement OGM of the current frame, where the morton code addresses are continuous and the occupancy state values are of interest to the user, to obtain N first morton code blocks. The ith first compression block comprises the Morton code address of the first grid at the ith group position, the occupancy state value of the grid at the ith group position and the number of grids at the ith group position.
In the embodiment of the present application, the grids may be classified into three types according to the size of the occupied state value, for example, as shown in fig. 10, and the grids are classified into the following types: the system comprises an occupied grid, an unknown grid and an idle grid, wherein the occupied grid can be a grid with an occupied state value larger than or equal to a first threshold value, the idle grid is a grid with an occupied state value smaller than a second threshold value, the second threshold value is smaller than the first threshold value, and the unknown grid can be a grid with the occupied state value between the second threshold value and the first threshold value. Wherein the grid of occupancy state values of interest to the user comprises an idle grid and/or an occupied grid. In the embodiment of the present application, the second threshold and the first threshold may be set according to actual needs, which is not limited in the embodiment of the present application.
Along with the measurement OGM shown in fig. 7 described above, if the compression of the grid of occupancy state values of interest to the user is further considered, such as a region with a large probability (e.g., occupancy state value of 0.8) and a region with a small probability (e.g., occupancy state value of 0.2), the measurement OGM shown in fig. 7 can be further compressed into 4 compressed blocks as shown in fig. 11. Compared to embodiment a2, this embodiment a3 can compress the measurement OGM into a compressed block with a smaller volume, so that the memory requirement for compressing the local grid map with a changed spatial position for each frame can be further reduced.
In a possible embodiment a4, the processing device compresses the grid in the measurement OGM using a coding scheme of the run-length code. The first compression block is a first run code block, and the i-th first compression block comprises the address information of the first grid at the i-th group position as a run code address. The processing device may compress at least one group of grids that have the same occupancy state value and are adjacent in the row direction and/or the column direction in the measurement OGM of the current frame, to obtain N first run code blocks. The ith first compression block comprises a run code address of a first grid at the ith group of positions, an occupied state value of the grid at the ith group of positions and the number of the grids at the ith group of positions. Here, the run code address is represented by a row number and a column number.
For an occupied grid map, there are often several grids adjacent in the row (or column) direction that have the same occupancy state value (i.e., the same occupancy state value), so that the repeated record content can be compressed by a run-length encoding method. For example, the measurement OGM shown in fig. 12 sequentially records the occupancy state value and the number of grids in which the occupancy state value is repeated only when each row (or column) of data changes; alternatively, the positions where the occupancy state values of each row (or column) change and the corresponding occupancy state values are recorded one by one, so as to implement compression of the OGM, resulting in 5 compression blocks as shown in fig. 13. Each compressed block only needs to record four values, namely the first address of each compressed block (the row number and column number of the first grid in the compressed block), the length of the compressed block (the number of grids included in the compressed block), and the occupancy state value (the occupancy state value of the grid). For example, [1,4,0.8,16] shown in fig. 13 indicates that the address of the first grid in the compressed block is 1 st row 4 th column, the occupied state value of the compressed block is 0.8, and the number of grids included in the compressed block is 16.
In this embodiment a4, compared to the above embodiments a1-a3, the calculation of the addresses may be omitted when the measured OGM is subsequently fused with the predicted OGM after the compression, so that the calculation force may be reduced, but the first run code block obtained in this embodiment a4 includes a run code address that occupies a larger memory when stored than the first run code block obtained in the embodiments a1-a3, for example, four values are included in [1,4,0.8,16] of the first run code block record shown in fig. 13, and three values are included in [4,0.2,16] of the first run code block record shown in fig. 9.
In a possible embodiment a5, the processing device compresses the grid in the measurement OGM using a coding scheme of the run-length code. The first compression block is a first run code block, and the i-th first compression block comprises the address information of the first grid at the i-th group position as a run code address. The processing device may compress a grid of at least one set of occupancy state values in the measured OGM of the current frame that are the same and of interest to the user adjacent in the row direction and/or in the column direction, to obtain N first run code blocks. The ith first compression block comprises a run code address of a first grid at the ith group of positions, an occupied state value of the grid at the ith group of positions and the number of the grids at the ith group of positions.
Along with the measurement OGM shown in fig. 12 described above, if the compression of the grid of the occupancy state values of interest to the user, such as a region with a large probability (e.g., occupancy state value of 0.8) and a region with a small probability (e.g., occupancy state value of 0.2), is further considered, the measurement OGM shown in fig. 12 can be further compressed into 3 compressed blocks as shown in fig. 14.
In this embodiment a5, compared with embodiment a4, the compressed storage of the grid corresponding to the region of the occupancy state value that is considered to be of interest to the user is added, so that the measurement OGM can be compressed into a compressed block with a smaller volume, and the memory can be further saved.
The above possible embodiments a 1-a 5 are all lossless compression, and in other embodiments, the measurement OGM may be lossy compressed, for example, the probability resolution of occupying the grid map is reduced, thereby reducing the compression ratio.
For example, a probability resolution of 0.01 is typically used for an occupied grid map, then the probability between 0 and 1 may be divided into 100 segments, if the probability resolution is reduced to 0.2, then the probability between 0 and 1 is divided into 5 segments, 0.2,0.4,0.6,0.8,1.0 each, the occupied grid map includes 8×8 grids, then the number of grids corresponding to the same occupancy state value is greater than for an occupied grid map with a probability resolution of 0.01, and after the probability resolution is reduced, the measurement OGM may be compressed into a smaller number of compressed blocks in any of the possible embodiments a1 to a 5.
In step 405, the processing device fuses the occupancy state values included in the ith first compressed block with the occupancy state values of each grid at the ith group of positions in the predicted OGM, respectively, to obtain an updated OGM of the current frame.
In one manner in which the step 405 may be implemented, the occupancy state value of each grid at the i-th set of locations in the predictive OGM is added to the occupancy state value included in the i-th first compressed block, respectively, to obtain the occupancy state value of each grid at the i-th set of locations in the updated OGM. With this design, updated OGMs can be more accurately obtained.
Taking the example of 6 first compressed blocks obtained by compressing the measured OGM shown in fig. 9, where the first compressed block records [0,0.5,4], the second first compressed block records [4,0.2,16], the third first compressed block records [20,0.8,12], the fourth first compressed block records [48,0.8,12], the fifth first compressed block records [32,0.2,16], and the sixth first compressed block records [60,0.5,4], the occupancy state values included in the 6 first compressed blocks corresponding to the measured OGM are respectively combined with the occupancy state values of the grids at the i-th group position corresponding to each first compressed block in the predicted OGM, for example, the i-th group position in the predicted OGM corresponding to the first compressed block [0,0.5,4] is respectively: first row first column, first row second column, second row first column, second row second column, then 0.5 in the first compression block is added to the occupancy state value of the first row first column of the predicted OGM as the occupancy state value of the grid of the first row first column in the updated OGM; 0.5 in the first compressed block is added to the occupancy state value of the first row and the second column of the predicted OGM as an occupancy state value of the grid of the first row and the second column of the updated OGM, 0.5 in the first compressed block is added to the occupancy state value of the second row and the first column of the predicted OGM as an occupancy state value of the grid of the second row and the first column of the updated OGM, and 0.5 in the first compressed block is added to the occupancy state value of the second row and the second column of the predicted OGM as an occupancy state value of the grid of the second row and the second column of the updated OGM; and so on, respectively adding each first compression block with the occupied state value of the corresponding ith group position in the predicted OWM to obtain the updated OWM.
After the step 405, the processing device may further compress at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, where a kth second compression block in the L second compression blocks is obtained by compressing grids with the same occupancy state value at a kth group of positions in the updated OGM, L is a positive integer, k is an integer between 1 and L, where the kth second compression block includes address information of a first grid at the kth group of positions in the updated OGM, occupancy state values of grids at the kth group of positions in the updated OGM, and the number of grids at the kth group of positions in the updated OGM. By further compressing the grids in the updated OGM of the current frame, a group of grids with the same occupancy state value is compressed into a second compression block, so that the L second compression blocks with different corresponding occupancy state values obtained after compression can further save the memory.
The processing device compresses at least one group of grids with the same occupied state value in the updated OGM of the current frame to obtain L second compressed blocks, and various possible implementation manners are possible. Possible embodiments b1, b2, b3, b4 and b5 are described below.
In a possible embodiment b1, the encoding mode of the morton code is adopted for compression, the second compression block is a second morton code block, and the kth second compression block includes address information of the first grid at the kth group of positions as a morton code address. The processing device may compress four adjacent grids with the same occupancy state value and consecutive morton code addresses in the updated OGM of the current frame to obtain L second morton code blocks. Wherein the kth second compression block includes the morton code address of the first trellis at the kth group of positions, the occupancy state value of the trellis at the kth group of positions, and the number of the trellis at the kth group of positions.
In a possible embodiment b2, the encoding mode of the morton code is adopted for compression, the second compression block is a second morton code block, and the kth second compression block includes address information of the first grid at the kth group of positions as a morton code address. The processing device may compress a grid with at least one group of occupied state values being the same and morton code addresses being continuous in the updated OGM of the current frame, to obtain L second morton code blocks. Wherein the kth second compression block includes the morton code address of the first trellis at the kth group of positions, the occupancy state value of the trellis at the kth group of positions, and the number of the trellis at the kth group of positions. With this embodiment b2, the updated OGM can be compressed into a compressed block with a smaller volume, so that the memory occupied by the updated OGM that is finally generated can be reduced.
In a possible embodiment b3, the encoding mode of the morton code is adopted for compression, the second compression block is a second morton code block, and the kth second compression block includes address information of the first grid at the kth group of positions as a morton code address. The processing device may compress a grid of at least one set of occupancy state values in the updated OGM of the current frame that are the same and have consecutive morton code addresses and occupancy state values of interest to the user, to obtain L second morton code blocks. Wherein the kth second compression block includes the morton code address of the first trellis at the kth group of positions, the occupancy state value of the trellis at the kth group of positions, and the number of the trellis at the kth group of positions. Compared to embodiment b2, this embodiment b3 can compress the measurement OGM into a compressed block with a smaller volume, so that the memory requirement for compressing the local grid map with a changed spatial position for each frame can be further reduced.
In a possible embodiment b4, the processing device compresses the grid in the updated OGM by using a coding scheme of the run-length code. The second compression block is a second run code block, and the kth second compression block comprises the address information of the first grid at the kth group of positions as a run code address. The processing device may compress at least one group of grids that have the same occupancy state value and are adjacent in the row direction and/or the column direction in the updated OGM of the current frame, to obtain L second run code blocks. The kth second compression block comprises a run code address of the first grid at the kth group of positions, an occupied state value of the grid at the kth group of positions and the number of grids at the kth group of positions. The first run code block obtained in embodiment b4 includes a run code address that occupies a larger memory when stored than the first morton code block obtained in embodiments b1-b 3.
In a possible embodiment a5, the processing device compresses the grid in the measurement OGM using a coding scheme of the run-length code. The second compression block is a second run code block, and the kth second compression block comprises the address information of the first grid at the kth group of positions as a run code address. The processing device may compress at least one set of occupancy state value grids of the updated OGM of the current frame, where the occupancy state values are the same and are of interest to users adjacent in the row direction and/or the column direction, to obtain L second run code blocks. The kth second compression block comprises a run code address of the first grid at the kth group of positions, an occupied state value of the grid at the kth group of positions and the number of grids at the kth group of positions. In the embodiment b5, compared with the embodiment b4, the consideration factor, that is, the compressed storage of the grid corresponding to the area considering the occupied state value interested by the user is added, so that the updated OGM can be compressed into the compressed block with smaller volume, and the memory can be further saved.
The above possible embodiments b 1-b 5 are all lossless compression, and in other embodiments, the updated OGM may be lossy compressed, for example, the probability resolution of occupying the grid map is reduced, thereby reducing the compression ratio. Specific implementation of lossy compression can be found in the above description of lossy compression for measurement OGM, and will not be described here.
In the embodiment provided by the application, the method provided by the embodiment of the application is introduced from the point of view that the terminal is taken as an execution main body. In order to implement the functions in the method provided by the embodiment of the present application, the terminal may include a hardware structure and/or a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Some of the functions described above are performed in a hardware configuration, a software module, or a combination of hardware and software modules, depending on the specific application of the solution and design constraints.
Based on the above embodiments and the same conception, the embodiments of the present application further provide a processing device, which is configured to execute the steps executed by the processing device in the above method embodiments, and the related features may be referred to the above method embodiments, which are not described herein again.
As shown in fig. 15, the processing apparatus 1500 may include an acquisition unit 1501, a determination unit 1502, a compression unit 1503, and a fusion unit 1504.
An acquisition unit 1501 for acquiring terminal pose data and sensor data of a current frame;
a determining unit 1502, configured to determine a predicted OGM of a current frame according to an occupancy state value of each grid in the previous frame occupancy grid map OGM and terminal pose data of the current frame; determining a measured OGM for the current frame based on the sensor data and the inverse sensor model for the current frame;
the compression unit 1503 is configured to compress at least one group of grids with the same occupancy state value in the measurement OGM of the current frame to obtain N first compression blocks, where an i-th first compression block in the N first compression blocks is obtained by compressing the grids with the same occupancy state value at an i-th group position in the measurement OGM, N is a positive integer, i is an integer between 1 and N, i is an integer, and the i-th first compression block includes address information of a first grid at the i-th group position, an occupancy state value of a grid at the i-th group position, and a number of grids at the i-th group position;
the fusion unit 1504 is specifically configured to fuse the occupancy state values included in the ith first compression block with the occupancy state value of each grid at the ith group of positions in the predicted OGM, respectively, to obtain updated OGM of the current frame.
In a possible implementation manner, the previous frame OGM is obtained by dividing a plurality of grids according to a region of the terminal in a preset range of the position of the previous frame;
the determining unit 1502 is specifically configured to:
according to the terminal pose data of the current frame, determining the transverse displacement and the longitudinal displacement between the position of the current frame and the position of the last frame of the terminal;
determining grids corresponding to the overlapping areas of the terminal in the preset range of the position of the current frame in the previous frame OWM according to the transverse displacement, the longitudinal displacement and the previous frame OWM, and constructing grids corresponding to the newly added areas compared with the areas of the terminal in the preset range of the position of the current frame;
and determining the prediction OCM of the current frame according to the determined occupied state value of the grid corresponding to the overlapping region in the previous frame OCM and the constructed occupied state value of the grid corresponding to the newly added region.
In a possible implementation manner, in a case where the first compression block is a first morton code block and the address information of the first trellis at the i-th group position included in the i-th first compression block is a morton code address, the compression unit 1503 is specifically configured to: compressing a grid with at least one group of occupied state values being the same and Morton code addresses being continuous in the measurement OWM of the current frame to obtain N first Morton code blocks; or,
Compressing a grid of at least one group of occupied state values in the measurement OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interesting to a user, so as to obtain N first Morton code blocks; or,
in the case that the first compressed block is a first run-length code block, and the i-th first compressed block includes the address information of the first trellis at the i-th group position as the run-length code address, the compressing unit 1503 is specifically configured to:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the measurement OWM of the current frame to obtain N first run code blocks; or,
and compressing a grid of at least one group of occupancy state values which are the same in occupancy state value and are adjacent to each other in the row direction and/or the column direction in the measurement OWM of the current frame to obtain N first run code blocks.
In a possible implementation manner, the fusing unit 1504 is specifically configured to: and adding the occupancy state value of each grid at the ith group of positions in the predicted OWM with the occupancy state value included in the ith first compression block respectively to obtain the occupancy state value of each grid at the ith group of positions in the updated OWM.
In a possible implementation, the compressing unit 1503 is further configured to: compressing at least one group of grids with the same occupied state value in the updated OGM of the current frame to obtain L second compression blocks, wherein the kth second compression block in the L second compression blocks is obtained by compressing grids with the same occupied state value at the kth group position in the updated OGM, L is a positive integer, k is an integer between 1 and L, and the kth second compression block comprises address information of the first grid at the kth group position in the updated OGM, the occupied state value of the grid at the kth group position in the updated OGM and the number of grids at the kth group position in the updated OGM.
In a possible implementation manner, in a case where the second compression block is a second morton code block and the kth second compression block includes that address information of the first grid at the kth group of positions is a morton code address, the compression unit 1503 is specifically configured to: compressing at least one group of grids which have the same occupied state value and have continuous Morton code addresses in the updated OWM of the current frame to obtain L second Morton code blocks; or,
compressing a grid of at least one group of occupied state values in the updated OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain L second Morton code blocks; or,
in the case that the second compressed block is a second run-length code block, and the kth second compressed block includes the address information of the first trellis at the kth group of positions as the run-length code address, the compressing unit 1503 is specifically configured to:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the updated OWM of the current frame to obtain L second run code blocks; or,
and compressing a grid of at least one group of occupancy state values which are the same in occupancy state value and are adjacent to each other in the row direction and/or the column direction and are of interest to the user in the updated OWM of the current frame to obtain L second run code blocks.
According to the foregoing method, fig. 16 is a schematic structural diagram of a processing apparatus according to an embodiment of the present application, and as shown in fig. 16, the processing apparatus 1600 may be the processing apparatus according to the foregoing embodiment. The processing device 1600 may include a memory 1601, a processor 1602, and may also include a bus system, where the processor 1602 and the memory 1601 may be coupled by a bus system.
It should be appreciated that the processor 1602 may be a chip. For example, the processor 1602 may be a field programmable gate array (field programmable gate array, FPGA), an application specific integrated chip (application specific integrated circuit, ASIC), a system on chip (SoC), a central processing unit (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), a microcontroller (micro controller unit, MCU), a programmable controller (programmable logic device, PLD) or other integrated chip.
In implementation, the steps of the methods described above may be performed by integrated logic circuitry in hardware or instructions in software in the processor 1602. The steps of a method disclosed in connection with an embodiment of the present application may be embodied directly in a hardware processor for execution, or in a combination of hardware and software modules in the processor 1602. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in the memory 1601, and the processor 1602 reads information in the memory 1601 and performs the steps of the method described above in connection with its hardware.
It should be noted that the processor 1602 in an embodiment of the present application may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method embodiments may be implemented by integrated logic circuits of hardware in a processor or instructions in software form. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, or discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
It is to be appreciated that the memory 1601 in embodiments of the application may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. The volatile memory may be random access memory (random access memory, RAM) which acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and direct memory bus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
The application also provides a terminal which can comprise the processing device. In one example, the terminal may be a vehicle to which the present application relates.
According to a method provided by an embodiment of the present application, the present application also provides a computer program product, including: computer program code or instructions which, when run on a computer, cause the computer to perform the method of any of the above-described method embodiments.
According to the method provided by the embodiment of the application, the application further provides a computer readable storage medium, wherein the computer readable storage medium stores a program code, and when the program code runs on a computer, the program code causes the computer to execute the method of any one of the above method embodiments.
The above embodiments may be implemented in whole or in part by software, hardware, firmware, or any other combination. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded or executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another, for example, by wired (e.g., coaxial cable, optical fiber, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more sets of available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. The semiconductor medium may be a solid state disk (solid state drive, SSD).
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the technical scheme of the application.
The foregoing is only a specific embodiment of the present application. Variations and alternatives will occur to those skilled in the art based on the detailed description provided herein and are intended to be included within the scope of the application.
Claims (16)
1. An occupancy grid map generating method, the method comprising:
acquiring terminal pose data and sensor data of a current frame;
determining a predicted OCM of the current frame according to the occupied state value of each grid in the occupied grid map OCM of the previous frame and the terminal pose data of the current frame;
determining a measured OGM for the current frame based on the sensor data and an inverse sensor model for the current frame;
compressing at least one group of grids with the same occupancy state value in the measurement OWM of the current frame to obtain N first compression blocks, wherein an ith first compression block in the N first compression blocks is obtained by compressing grids with the same occupancy state value at an ith group of positions in the measurement OWM, N is a positive integer, i is an integer between 1 and N, the ith first compression block comprises address information of a first grid at the ith group of positions, occupancy state values of the grids at the ith group of positions and the number of grids at the ith group of positions;
And respectively fusing the occupancy state values included in the ith first compression block with the occupancy state values of each grid at the ith group of positions in the prediction OWM to obtain the updated OWM of the current frame.
2. The method of claim 1, wherein the previous frame OGM is obtained from a plurality of grids divided according to a region of the terminal within a preset range of a position of the previous frame;
the determining the predicted OGM of the current frame according to the occupancy state value of each grid in the previous frame occupancy grid map OGM and the terminal pose data of the current frame includes:
according to the terminal pose data of the current frame, determining the transverse displacement and the longitudinal displacement of the terminal between the position of the current frame and the position of the terminal of the previous frame;
determining grids corresponding to the overlapping areas of the previous frame OGM, which are in the preset range of the position of the current frame, of the terminal according to the transverse displacement, the longitudinal displacement and the previous frame OGM, and constructing grids corresponding to the newly added areas compared with the areas of the terminal, which are in the preset range of the position of the current frame;
And determining the prediction OCM of the current frame according to the determined occupied state value of the grid corresponding to the coincident region in the previous frame OCM and the constructed occupied state value of the grid corresponding to the newly added region.
3. The method of claim 1 or 2, wherein the first compressed block is a first morton code block, and the i-th first compressed block includes address information of a first trellis at the i-th set of locations as a morton code address;
compressing at least one group of grids with the same occupancy state value in the measurement OWM of the current frame to obtain N first compression blocks, wherein the method comprises the following steps:
compressing a grid with at least one group of occupied state values being the same and having continuous Morton code addresses in the measurement OWM of the current frame to obtain N first Morton code blocks; or,
compressing a grid of at least one group of occupied state values in the measurement OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain N first Morton code blocks; or,
the first compression block is a first run code block, and the ith first compression block comprises the address information of the first grid at the ith group of positions as a run code address;
Compressing at least one group of grids with the same occupancy state value in the measurement OWM of the current frame to obtain N first compression blocks, wherein the method comprises the following steps:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the OGMs of the current frame to obtain N first run code blocks; or,
and compressing a grid of at least one group of occupied state values which are the same in the occupied state value in the measurement OWM of the current frame and are adjacent to each other in the row direction and/or the column direction, so as to obtain N first run code blocks.
4. A method as claimed in any one of claims 1 to 3, wherein said fusing the occupancy state values comprised in said i-th first compressed block with the occupancy state values of each grid at said i-th set of locations in said predictive OGM, respectively, comprises:
and adding the occupancy state value of each grid at the i-th group position in the prediction OCM to the occupancy state value included in the i-th first compression block respectively to obtain the occupancy state value of each grid at the i-th group position in the update OCM.
5. The method of any of claims 1-4, further comprising, after obtaining the updated OGM for the current frame:
Compressing at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, wherein the kth second compression block in the L second compression blocks is obtained by compressing grids with the same occupancy state value at the kth group position in the updated OGM, L is a positive integer, k is an integer between 1 and L, and the kth second compression block comprises address information of the first grid at the kth group position in the updated OGM, occupancy state values of the grids at the kth group position in the updated OGM and the number of grids at the kth group position in the updated OGM.
6. The method of claim 5, wherein the second compressed block is a second morton code block, and the kth second compressed block includes address information of a first trellis at the kth set of locations as morton code addresses;
compressing at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, including:
compressing at least one group of grids which have the same occupied state value and have continuous Morton code addresses in the updated OWM of the current frame to obtain L second Morton code blocks; or,
Compressing a grid of at least one group of occupied state values in the updated OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain L second Morton code blocks; or,
the second compression block is a second run code block, and the kth second compression block comprises the address information of the first grid at the kth group of positions as a run code address;
compressing at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, including:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the updated OWM of the current frame to obtain L second run code blocks; or,
and compressing a grid of at least one group of occupied state values which are the same in the updated OWM of the current frame and are adjacent to each other in the row direction and/or the column direction and are of interest to the user, so as to obtain L second run code blocks.
7. A processing apparatus, comprising:
the acquisition unit is used for acquiring terminal pose data and sensor data of the current frame;
a determining unit, configured to determine a predicted OGM of the current frame according to an occupancy state value of each grid in the previous frame occupancy grid map OGM and terminal pose data of the current frame; determining a measured OGM for the current frame based on the sensor data and an inverse sensor model for the current frame;
The compression unit is used for compressing at least one group of grids with the same occupancy state value in the measurement OWM of the current frame to obtain N first compression blocks, an ith first compression block in the N first compression blocks is obtained by compressing grids with the same occupancy state value at an ith group of positions in the measurement OWM, N is a positive integer, i is an integer between 1 and N, and the ith first compression block comprises address information of a first grid at the ith group of positions, occupancy state values of the grids at the ith group of positions and the number of grids at the ith group of positions;
and the fusion unit is used for respectively fusing the occupancy state values included in the ith first compression block with the occupancy state values of each grid at the ith group of positions in the prediction OWM to obtain the updated OWM of the current frame.
8. The apparatus of claim 7, wherein the last frame OGM is obtained from a plurality of grids divided according to a region of the terminal within a preset range of a position of the last frame;
the determining unit is specifically configured to:
according to the terminal pose data of the current frame, determining the transverse displacement and the longitudinal displacement of the terminal between the position of the current frame and the position of the terminal of the previous frame;
Determining grids corresponding to the overlapping areas of the previous frame OGM, which are in the preset range of the position of the current frame, of the terminal according to the transverse displacement, the longitudinal displacement and the previous frame OGM, and constructing grids corresponding to the newly added areas compared with the areas of the terminal, which are in the preset range of the position of the current frame;
and determining the prediction OCM of the current frame according to the determined occupied state value of the grid corresponding to the coincident region in the previous frame OCM and the constructed occupied state value of the grid corresponding to the newly added region.
9. The apparatus of claim 7 or 8, wherein the first compressed block is a first morton code block, and the i-th first compressed block includes address information of a first trellis at the i-th set of locations as a morton code address; the compression unit is specifically configured to:
compressing a grid with at least one group of occupied state values being the same and having continuous Morton code addresses in the measurement OWM of the current frame to obtain N first Morton code blocks; or,
compressing a grid of at least one group of occupied state values in the measurement OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain N first Morton code blocks; or,
The first compression block is a first run code block, and the ith first compression block comprises the address information of the first grid at the ith group of positions as a run code address; the compression unit is specifically configured to:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the OGMs of the current frame to obtain N first run code blocks; or,
and compressing a grid of at least one group of occupied state values which are the same in the occupied state value in the measurement OWM of the current frame and are adjacent to each other in the row direction and/or the column direction, so as to obtain N first run code blocks.
10. The device according to any one of claims 7 to 9, wherein the fusion unit is specifically configured to:
and adding the occupancy state value of each grid at the i-th group position in the prediction OCM to the occupancy state value included in the i-th first compression block respectively to obtain the occupancy state value of each grid at the i-th group position in the update OCM.
11. The apparatus of any of claims 7-10, wherein the compression unit is further configured to:
compressing at least one group of grids with the same occupancy state value in the updated OGM of the current frame to obtain L second compression blocks, wherein the kth second compression block in the L second compression blocks is obtained by compressing grids with the same occupancy state value at the kth group position in the updated OGM, L is a positive integer, k is an integer between 1 and L, and the kth second compression block comprises address information of the first grid at the kth group position in the updated OGM, occupancy state values of the grids at the kth group position in the updated OGM and the number of grids at the kth group position in the updated OGM.
12. The apparatus of claim 11, wherein the second compressed block is a second morton code block, the kth second compressed block including address information of a first trellis at the kth set of locations as morton code addresses; the compression unit is specifically configured to:
compressing at least one group of grids which have the same occupied state value and have continuous Morton code addresses in the updated OWM of the current frame to obtain L second Morton code blocks; or,
compressing a grid of at least one group of occupied state values in the updated OWM of the current frame, wherein the occupied state values are the same, the Morton code addresses are continuous, and the occupied state values are interested by a user, so as to obtain L second Morton code blocks; or,
the second compression block is a second run code block, and the kth second compression block comprises the address information of the first grid at the kth group of positions as a run code address; the compression unit is specifically configured to:
compressing at least one group of grids which have the same occupied state value and are adjacent in the row direction and/or the column direction in the updated OWM of the current frame to obtain L second run code blocks; or,
and compressing a grid of at least one group of occupied state values which are the same in the updated OWM of the current frame and are adjacent to each other in the row direction and/or the column direction and are of interest to the user, so as to obtain L second run code blocks.
13. A processing device comprising a memory and at least one processor; the memory is used for storing computer instructions; the at least one processor configured to invoke the computer instructions stored in the memory to perform the method of any of claims 1-6.
14. A vehicle, characterized in that it comprises a device according to any one of claims 7 to 12.
15. A computer readable storage medium, characterized in that the computer readable storage medium stores a computer program, which, when run, implements the method according to any of the preceding claims 1-6.
16. A computer program product, characterized in that it comprises a computer program or instructions which, when executed by a communication device, implement the method according to any of the preceding claims 1-6.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260023.0A CN116804554A (en) | 2022-03-16 | 2022-03-16 | Occupancy grid map generation method and device |
PCT/CN2022/143505 WO2023173898A1 (en) | 2022-03-16 | 2022-12-29 | Occupancy grid map generation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210260023.0A CN116804554A (en) | 2022-03-16 | 2022-03-16 | Occupancy grid map generation method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116804554A true CN116804554A (en) | 2023-09-26 |
Family
ID=88022173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210260023.0A Pending CN116804554A (en) | 2022-03-16 | 2022-03-16 | Occupancy grid map generation method and device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116804554A (en) |
WO (1) | WO2023173898A1 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020042726A (en) * | 2018-09-13 | 2020-03-19 | 株式会社東芝 | Ogm compression circuit, ogm compression extension system, and moving body system |
CN109631919B (en) * | 2018-12-28 | 2022-09-30 | 芜湖哈特机器人产业技术研究院有限公司 | Hybrid navigation map construction method integrating reflector and occupied grid |
JP2021052293A (en) * | 2019-09-24 | 2021-04-01 | ソニー株式会社 | Information processing device, information processing method, and information processing program |
US11713977B2 (en) * | 2019-12-19 | 2023-08-01 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and medium |
CN111476286A (en) * | 2020-04-02 | 2020-07-31 | 哈尔滨工程大学 | Map construction method for mobile robot |
CN113093221A (en) * | 2021-03-31 | 2021-07-09 | 东软睿驰汽车技术(沈阳)有限公司 | Generation method and device of grid-occupied map |
CN113311827B (en) * | 2021-05-08 | 2022-07-12 | 东南大学 | Robot indoor map capable of improving storage efficiency and generation method thereof |
CN113225090B (en) * | 2021-05-19 | 2024-03-22 | 上海高仙自动化科技发展有限公司 | Compression method, compression device, electronic equipment and storage medium |
-
2022
- 2022-03-16 CN CN202210260023.0A patent/CN116804554A/en active Pending
- 2022-12-29 WO PCT/CN2022/143505 patent/WO2023173898A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023173898A1 (en) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11214268B2 (en) | Methods and apparatus for unsupervised multimodal anomaly detection for autonomous vehicles | |
TWI834772B (en) | Radar deep learning | |
US20230072637A1 (en) | Vehicle Drivable Area Detection Method, System, and Autonomous Vehicle Using the System | |
KR20220119396A (en) | Estimation of object size using camera map and/or radar information | |
WO2020243962A1 (en) | Object detection method, electronic device and mobile platform | |
CN112513679B (en) | Target identification method and device | |
CN112347999A (en) | Obstacle recognition model training method, obstacle recognition method, device and system | |
CN112083441A (en) | Obstacle detection method and system based on deep fusion of laser radar and millimeter wave radar | |
WO2022120839A1 (en) | Anti-interference method, apparatus and system based on vehicle-mounted millimeter wave radars, and vehicle | |
Singh | Vision-radar fusion for robotics bev detections: A survey | |
CN113536850A (en) | Target object size testing method and device based on 77G millimeter wave radar | |
CN116774228A (en) | Determination method and device for drivable area, electronic device and storage medium | |
CN116310673A (en) | Three-dimensional target detection method based on fusion of point cloud and image features | |
CN114529539A (en) | Method and device for detecting road surface obstacle of unmanned equipment, unmanned equipment and storage medium | |
CN111880532B (en) | Autonomous mobile device, method, apparatus, device, and storage medium thereof | |
CN116804554A (en) | Occupancy grid map generation method and device | |
CN114384486A (en) | Data processing method and device | |
CN114648882B (en) | Parking space detection method and device | |
CN116824152A (en) | Target detection method and device based on point cloud, readable storage medium and terminal | |
CN115331214A (en) | Sensing method and system for target detection | |
CN116863325A (en) | Method for multiple target detection and related product | |
CN111723866A (en) | Point cloud clustering method and device, unmanned vehicle and readable storage medium | |
US20230410373A1 (en) | Method for training depth estimation model, electronic device and readable storage medium | |
WO2023036032A1 (en) | Lane line detection method and apparatus | |
WO2024141039A1 (en) | Object recognition method and related apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |