Map updating method, device, computer equipment and medium

By collecting point cloud data during the movement of autonomous vehicles and updating the probability of dynamic obstacles in the map, the problem that the map data does not match the actual road is solved, and more accurate positioning and path planning is achieved.

CN115235482BActive Publication Date: 2025-08-22SHANGHAI XIANTU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111146247.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-28
Publication Date
2025-08-22
Estimated Expiration
2041-09-28

AI Technical Summary

Technical Problem

The map data of the autonomous driving vehicle does not match the actual road conditions, resulting in failed positioning and path planning.

Method used

By collecting point cloud data during the movement of the target object, the location of the target object is determined based on the pre-established map update method, and the probability of dynamic obstacles in the map is updated, and the map is updated to meet the actual road conditions.

Benefits of technology

The updated map can more accurately reflect the actual road conditions and ensure the accuracy of the positioning and path planning of autonomous vehicles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115235482B_ABST
    Figure CN115235482B_ABST
Patent Text Reader

Abstract

This specification provides a map updating method, apparatus, computer device, and medium. The method includes: determining the position of a target object in the pre-established map based on a pre-established map and first point cloud data and motion data collected during the movement of the target object; obtaining second point cloud data within a preset range corresponding to the target object from the pre-established map based on the position of the target object; updating a first probability that each point included in the second point cloud data belongs to a dynamic obstacle based on the first point cloud data and the second point cloud data, thereby obtaining a second probability that each point included in the second point cloud data belongs to a dynamic obstacle; and updating the pre-established map based on the second probability and the first point cloud data, so that the updated map is more consistent with actual road conditions, thereby ensuring that the positioning and path planning of the target object can be achieved based on the updated map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a map updating method, apparatus, computer equipment, and medium. Background Art

[0002] As a product of the integration of the automotive industry with new-generation information technologies such as artificial intelligence and big data, autonomous driving technology can effectively reduce the occurrence of traffic accidents and improve driving safety.

[0003] In an autonomous driving system, autonomous vehicles compare the data collected by sensors with predetermined map data to obtain information such as the location of the autonomous vehicle and the environment in which the autonomous vehicle is currently located, so that more accurate driving decisions can be made when planning paths based on the information obtained.

[0004] However, actual road conditions may change. For example, roads may be repaired, buildings may change in appearance, obstacles may change in position, etc., which may cause actual map data to change. This may cause the data collected by the sensor to be inconsistent with the predetermined map data, causing the autonomous vehicle positioning and path planning to fail. Summary of the Invention

[0005] To overcome the problems existing in the related art, this specification provides a map updating method, apparatus, computer equipment and medium.

[0006] According to a first aspect of an embodiment of this specification, a map updating method is provided, the method comprising:

[0007] Determining a position of the target object in the pre-established map based on the pre-established map and the first point cloud data and the motion data collected during the movement of the target object;

[0008] Based on the position of the target object, obtaining second point cloud data within a preset range corresponding to the target object from a pre-established map;

[0009] Based on the first point cloud data and the second point cloud data, updating a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, where the first probability is a probability that each point in a pre-established map, as determined, belongs to a dynamic obstacle;

[0010] The pre-established map is updated based on the second probability and the first point cloud data.

[0011] In some embodiments, the first point cloud data is collected by a laser sensor disposed within a set range of the target object;

[0012] Based on the first point cloud data and the second point cloud data, updating a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, including:

[0013] Determining, based on the second point cloud data, the spherical coordinates of each point included in the second point cloud data;

[0014] Based on the detection angle of the laser sensor and the spherical coordinates of each point included in the second point cloud data, determining a target point located within the detection angle of the laser sensor from each point included in the second point cloud data;

[0015] The first probability is updated based on the first point cloud data and the second point cloud data to obtain a second probability.

[0016] In some embodiments, updating the first probability based on the first point cloud data and the second point cloud data to obtain the second probability includes:

[0017] Based on the spherical coordinates of the target point, determining, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point;

[0018] Based on the azimuth of the candidate point and the azimuth of the target point, the first probability is updated to obtain a second probability.

[0019] In some embodiments, based on the spherical coordinates of the target point, determining, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point includes:

[0020] Sort the points included in the first point cloud data in ascending order of corresponding azimuth angles;

[0021] The point at the target position is determined as the root node, and a search tree is constructed according to the adjacent relationship between each point;

[0022] The search tree is searched starting from the root node to determine the candidate points.

[0023] In some embodiments, based on the spherical coordinates of the target point, determining, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point includes:

[0024] Constructing a table based on the spherical coordinates of each point included in the first point cloud data according to a set step size;

[0025] Based on the azimuth of the target point, starting from the first item in the table, the azimuths of each point in the table are queried to determine the candidate points.

[0026] In some embodiments, the first probability is updated based on the azimuth of the candidate point and the azimuth of the target point to obtain a second probability, including any of the following:

[0027] If the angle difference between the azimuth of the candidate point and the azimuth of the target point is greater than the preset angle threshold, the first preset value is added to the first probability to obtain a second probability;

[0028] If the angle difference is less than or equal to a preset angle threshold, the first probability is updated based on the first distance and the second distance to obtain a second probability, where the first distance is the distance between the target point and the origin of the laser sensor, and the second distance is the distance between the candidate point and the origin of the laser sensor.

[0029] In some embodiments, updating the first probability based on the first distance and the second distance to obtain the second probability includes any of the following:

[0030] If the first distance is greater than the second distance, and the distance difference between the first distance and the second distance is greater than the preset distance threshold, the first probability is used as the second probability;

[0031] If the first distance is smaller than the second distance, and the distance difference is greater than the preset distance threshold, then the second preset value is added to the first probability to obtain a second probability;

[0032] If the distance difference is less than the preset distance threshold, the third preset value is reduced on the basis of the first probability to obtain a second probability.

[0033] In some embodiments, the first preset value, the second preset value, and the third preset value are determined based on an angle between a plane to which an obstacle corresponding to the target point belongs and a ray emitted by the radar.

[0034] In some embodiments, updating a pre-established map based on the second probability and the first point cloud data includes any of the following:

[0035] For any point in the first point cloud data, if the second probability of any point is greater than a preset probability threshold, remove the point from the pre-established map;

[0036] If the second probability of any point is less than or equal to a preset probability threshold, and there is a point in the pre-established map that matches the coordinates of any point, then updating the reflection intensity information of any point in the pre-established map;

[0037] If the second probability of any point is less than or equal to a preset probability threshold, and there is no point in the pre-established map that matches the coordinates of any point, then the point is added to the pre-established map.

[0038] In some embodiments, the motion data includes Global Positioning System (GPS) coordinates of the target object;

[0039] Determining a position of the target object in the pre-established map based on the pre-established map and the first point cloud data and motion data collected during the movement of the target object includes:

[0040] Based on the GPS coordinates of the target object, obtain the point cloud data within the target range corresponding to the GPS coordinates from the pre-established map;

[0041] The ground point corresponding to the point cloud data having the highest matching degree with the first point cloud data in the point cloud data within the target range is determined as the location of the target object.

[0042] According to a second aspect of the embodiments of this specification, a map updating device is provided, the device comprising:

[0043] a determining unit, configured to determine a position of the target object in the pre-established map based on the pre-established map and the first point cloud data and the motion data collected during the movement of the target object;

[0044] an acquiring unit, configured to acquire, based on the position of the target object, second point cloud data within a preset range corresponding to the target object from a pre-established map;

[0045] a probability updating unit, configured to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle, to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, wherein the first probability is a probability that each point in a pre-established map, as determined, belongs to a dynamic obstacle;

[0046] A map updating unit is configured to update the pre-established map based on the second probability and the first point cloud data.

[0047] In some embodiments, the first point cloud data is acquired by a radar set within a set range of the target object;

[0048] a probability updating unit, configured to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, comprising a coordinate determining subunit, a target point determining subunit, and a probability updating subunit;

[0049] a coordinate determining subunit, configured to determine, based on the second point cloud data, the spherical coordinates of each point included in the second point cloud data;

[0050] a target point determination subunit, configured to determine, from the points included in the second point cloud data, a target point located within the detection angle of the radar based on the detection angle of the radar and the spherical coordinates of the points included in the second point cloud data;

[0051] The probability updating subunit is used to update the first probability based on the first point cloud data and the second point cloud data to obtain a second probability.

[0052] In some embodiments, the probability updating subunit, when used to update the first probability based on the first point cloud data and the second point cloud data to obtain the second probability, includes a candidate point determination module and a probability updating module;

[0053] a candidate point determination module, configured to determine, based on the spherical coordinates of the target point, a candidate point having the smallest azimuth difference from the target point from among the points included in the first point cloud data;

[0054] The probability updating module is used to update the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain a second probability.

[0055] In some embodiments, the candidate point determination module, when used to determine, based on the spherical coordinates of the target point, from the points included in the first point cloud data, the candidate point having the smallest azimuth difference from the target point, is specifically configured to:

[0056] Sort the points included in the first point cloud data in ascending order of corresponding azimuth angles;

[0057] The point at the target position is determined as the root node, and a search tree is constructed according to the adjacent relationship between each point;

[0058] The search tree is searched starting from the root node to determine the candidate points.

[0059] In some embodiments, the candidate point determination module, when used to determine, based on the spherical coordinates of the target point, from the points included in the first point cloud data, the candidate point having the smallest azimuth difference from the target point, is specifically configured to:

[0060] Constructing a table based on the spherical coordinates of each point included in the first point cloud data according to a set step size;

[0061] Based on the azimuth of the target point, starting from the first item in the table, the azimuths of each point in the table are queried to determine the candidate points.

[0062] In some embodiments, the probability updating module, when used to update the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain the second probability, includes a first updating submodule and a second updating submodule;

[0063] A first updating submodule is configured to add a first preset value to the first probability to obtain a second probability if the angle difference between the azimuth angle of the candidate point and the azimuth angle of the target point is greater than a preset angle threshold;

[0064] The second updating submodule is configured to update the first probability based on the first distance and the second distance to obtain a second probability if the angle difference is less than or equal to a preset angle threshold, where the first distance is the distance between the target point and the radar origin, and the second distance is the distance between the candidate point and the radar origin.

[0065] In some embodiments, the second updating submodule, when used to update the first probability based on the first distance and the second distance to obtain the second probability, is specifically used for any of the following:

[0066] If the first distance is greater than the second distance, and the distance difference between the first distance and the second distance is greater than the preset distance threshold, the first probability is used as the second probability;

[0067] If the first distance is smaller than the second distance, and the distance difference is greater than the preset distance threshold, then the second preset value is added to the first probability to obtain a second probability;

[0068] If the distance difference is less than the preset distance threshold, the third preset value is reduced on the basis of the first probability to obtain a second probability.

[0069] In some embodiments, the first preset value, the second preset value, and the third preset value are determined based on an angle between a plane to which an obstacle corresponding to the target point belongs and a ray emitted by the radar.

[0070] In some embodiments, the map updating unit, when used to update a pre-established map based on the second probability and the first point cloud data, is specifically used for any of the following:

[0071] For any point in the first point cloud data, if the second probability of any point is greater than a preset probability threshold, remove the point from the pre-established map;

[0072] If the second probability of any point is less than or equal to a preset probability threshold, and there is a point in the pre-established map that matches the coordinates of any point, then updating the reflection intensity information of any point in the pre-established map;

[0073] If the second probability of any point is less than or equal to a preset probability threshold, and there is no point in the pre-established map that matches the coordinates of any point, then the point is added to the pre-established map.

[0074] In some embodiments, the motion data includes Global Positioning System (GPS) coordinates of the target object;

[0075] The determining unit, when used to determine the position of the target object in the pre-established map based on the pre-established map and the first point cloud data and motion data collected during the movement of the target object, is specifically used to:

[0076] Based on the GPS coordinates of the target object, obtain the point cloud data within the target range corresponding to the GPS coordinates from the pre-established map;

[0077] The ground point corresponding to the point cloud data having the highest matching degree with the first point cloud data in the point cloud data within the target range is determined as the location of the target object.

[0078] According to a third aspect of the embodiments of this specification, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the operations performed by the above-mentioned map updating method when executing the computer program.

[0079] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided, on which a program is stored. The program is used by a processor to execute the operations performed by the above-mentioned map updating method.

[0080] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, comprising a computer program, which implements the operations performed by the above-mentioned map updating method when executed by a processor.

[0081] The technical solutions provided by the embodiments of this specification may have the following beneficial effects:

[0082] In an embodiment of the present specification, the position of the target object in the pre-established map is determined based on a pre-established map and first point cloud data and motion data collected during the movement of the target object, thereby obtaining second point cloud data within a preset range corresponding to the target object from the pre-established map based on the position of the target object. Then, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle is updated to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, so that the pre-established map is updated based on the second probability and the first point cloud data, so that the updated map is more consistent with actual road conditions, thereby ensuring that the positioning and path planning of the target object can be achieved based on the updated map.

[0083] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0084] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the specification and, together with the description, serve to explain the principles of the specification.

[0085] Figure 1 This is a flowchart of a map updating method according to an exemplary embodiment of this specification.

[0086] Figure 2 This is a flowchart of a probability update process according to an exemplary embodiment of this specification.

[0087] Figure 3 FIG. 1 is a flowchart of a map updating process according to an exemplary embodiment of the present specification.

[0088] Figure 4 This is a block diagram of a map updating device according to an exemplary embodiment of the present specification.

[0089] Figure 5 This is a structural diagram of a computer device according to an exemplary embodiment of the present specification. DETAILED DESCRIPTION

[0090] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with this specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of this specification, as detailed in the appended claims.

[0091] The terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit this specification. As used in this specification and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0092] It should be understood that although the terms first, second, third, etc. may be used in this specification to describe various information, such information should not be limited to these terms. These terms are merely used to distinguish information of the same type from one another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information without departing from the scope of this specification. Depending on the context, the term "if" as used herein may be interpreted as "when," "when," or "in response to determining."

[0093] The present application provides a map updating method for updating a pre-established map (such as a pre-established high-precision map). The map updating method can be executed by a computer device, which can be a terminal device or a server. In the case where the computer device is a terminal device, the terminal device can be a fixed terminal, such as a desktop computer, an advertising machine, an all-in-one machine, etc. installed on a target object; optionally, the terminal device can also be a mobile terminal, such as a mobile phone, a tablet computer, a game console, a portable computer, etc. In the case where the computer device is a server, the server can be one server, multiple servers, a server cluster, a cloud computing platform, etc. The present application does not limit the specific type of the computer device.

[0094] In this application, a laser sensor is positioned within a set range of a target object so that, during the target object's motion, the laser sensor collects point cloud data, and then transmits the collected first point cloud data to a computer device. After receiving the first point cloud data, the computer device updates a pre-established map based on the first point cloud data, making the updated map more consistent with actual road conditions, thereby ensuring that the target object can be located and a path planned based on the updated map.

[0095] Taking the target object as an autonomous driving vehicle, such as an autonomous driving street sweeper, and the computer device as an on-board terminal of the autonomous driving street sweeper as an example, the autonomous driving street sweeper is equipped with at least one laser sensor (for example, a single-line laser radar, a multi-line laser radar, a millimeter-wave radar, and a binocular stereo camera that can generate point cloud data, etc.). During the driving process of the autonomous driving street sweeper, the at least one laser sensor installed on the autonomous driving street sweeper is used to collect the first point cloud data of the environment in which the autonomous driving street sweeper is located. After collecting the first point cloud data, the at least one laser sensor sends the collected first point cloud data to the on-board terminal of the autonomous driving street sweeper. The on-board terminal receives the first point cloud data sent by the at least one laser sensor, and thereby updates the pre-established map based on the received first point cloud data.

[0096] The above is an exemplary description of the application scenario of the present application and does not constitute a limitation on the application scenario of the present application. In more possible implementation methods, the present application can be applied to a variety of scenarios involving the map update process.

[0097] The above is an introduction to the application scenarios of this application. Next, the map updating method provided by this application is described in detail in conjunction with the embodiments of this specification.

[0098] like Figure 1 As shown, Figure 1 FIG. 1 is a flowchart of a map updating method according to an exemplary embodiment of the present specification. The map updating method includes the following steps:

[0099] Step 101: Determine the position of the target object in the pre-established map based on the pre-established map and the first point cloud data and motion data collected during the movement of the target object.

[0100] The pre-established map is a pre-established high-precision map, such as a pre-established high-precision point cloud map. Optionally, the pre-established map is another type of map, which is not limited in this application. The first point cloud data includes three-dimensional coordinate information of each point. Optionally, the first point cloud data also includes other information, such as laser reflection intensity information of each point. This application does not limit the specific type of information included in the first point cloud data.

[0101] A laser sensor may be provided within the set range corresponding to the target object to collect the first point cloud data via the laser sensor. Optionally, other sensors may be provided within the set range of the target object to obtain motion data of the target object via the other sensors. For example, a Global Positioning System (GPS) sensor may be provided within the set range of the target object to obtain the GPS coordinates of the target object via the GPS sensor as the motion data of the target object.

[0102] The set range corresponding to the target object can be a circular range with the target object as the center and the first set length as the radius, or the set range corresponding to the target object can be on the target object, or the set range corresponding to the target object can be other types, which are not limited in this application. The first set length can be any length, which is not limited in this application.

[0103] The laser sensors and other sensors set within the set range corresponding to the target object can move with the movement of the target object, so that data of the target object at different positions can be collected during the movement of the target object.

[0104] In one possible implementation, after obtaining the first point cloud data, the ground point cloud belonging to the ground is determined based on the obtained first point cloud data, and road surface extraction based on the first point cloud data is realized. Then, the determined ground point cloud is removed from the first point cloud data, and the obstacle point cloud of the obstacle included in the first point cloud data can be obtained, thereby realizing obstacle segmentation based on the first point cloud data.

[0105] When determining the ground point cloud belonging to the ground based on the acquired first point cloud data, based on the set height of the laser sensor, a first point cloud having a vertical coordinate value less than the set height is acquired from the first point cloud data, and a second point cloud having a roll angle less than a preset angle is acquired from the first point cloud as the ground point cloud included in the first point cloud data. The roll angle is the angle between the line connecting each point to the coordinate origin and the z-axis. The preset angle is an arbitrary angle value, for example, the preset angle is 10 degrees. Optionally, the preset angle can be other angle values, which are not limited in this application.

[0106] Taking the laser sensor as having a setting height of 1 meter and a preset angle of 10 degrees as an example, a first point cloud with a vertical coordinate value less than 1 meter is obtained from the first point cloud data, and then a second point cloud with a roll angle less than 10 degrees is obtained from the first point cloud, and the obtained second point cloud is used as the ground point cloud.

[0107] The above is an exemplary method for performing road surface extraction and obstacle segmentation based on the acquired point cloud data. In more possible implementations, other methods are used to perform road surface extraction and obstacle segmentation, which is not limited in this application.

[0108] By performing road surface extraction and obstacle segmentation based on the first point cloud data, the road surface point cloud and obstacle point cloud are distinguished from each other in the first point cloud data. By distinguishing the road surface point cloud, when determining the position of the target object in the pre-established map, the position can be determined based on the pre-established map, the ground point cloud included in the first point cloud data collected during the target object's movement, and the motion data collected during the target object's movement. By distinguishing the obstacle point cloud, when subsequently updating the probability that each point included in the second point cloud data belongs to a dynamic obstacle, the probability is updated based on the determined obstacle point cloud.

[0109] Step 102: Based on the position of the target object, obtain second point cloud data within a preset range corresponding to the target object from a pre-established map.

[0110] The preset range is a circular range with the target object's location as the center and the second set length as the radius, or the preset range is of another type, and this application does not limit the specific type of the preset range. The second set length is any length, for example, the second set length is a length greater than the detection radius of the laser sensor. Alternatively, the second set length is of another length, and this application does not limit this.

[0111] In some embodiments, based on the position of the target object, the coordinates of each point in the second point cloud data obtained from a pre-established map are all coordinates in the world coordinate system. After obtaining the second point cloud data, the coordinates of each point in the second point cloud data can be converted from the world coordinate system to a target coordinate system with the position of the target object as the origin and the direction of movement of the target object as the positive direction of the x-axis, so as to subsequently update the probability that each point included in the second point cloud data belongs to a dynamic obstacle.

[0112] Step 103: Based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data is a dynamic obstacle is updated to obtain a second probability that each point included in the second point cloud data is a dynamic obstacle. The first probability is the probability that each point in the pre-established map is a dynamic obstacle.

[0113] In one possible implementation, after converting the coordinates of each point in the second point cloud data from the world coordinate system to the target coordinate system, the coordinates of each point in the second point cloud data are converted from the target coordinate system to a laser sensor coordinate system with the laser emission center as the origin and the laser emission direction as the positive direction, so as to update the first probability that each point included in the second point cloud data belongs to a dynamic obstacle based on the coordinates of the second point cloud data in the laser sensor coordinate system and the first point cloud data.

[0114] Among them, when constructing a pre-established map, the initial probability of each point in the pre-established map belonging to a dynamic obstacle is set, that is, when constructing a pre-established map, the probability of each point in the pre-established map belonging to a dynamic obstacle is set to an initial probability value, and the initial probability value is any positive value, for example, the initial probability value is 0.2, or the initial probability value can be other values, which is not limited in this application.

[0115] Optionally, the initial probabilities of each point in the pre-established map belonging to a dynamic obstacle are the same, or the initial probabilities of each point in the pre-established map belonging to a dynamic obstacle are different, which is not limited in this application.

[0116] If the initial probabilities of each point in a pre-established map belonging to a dynamic obstacle are different, the initial probability of each point belonging to a dynamic obstacle can be determined based on whether the point belongs to a road surface point cloud or an obstacle point cloud. In one possible implementation, the initial probability of a point in the road surface point cloud belonging to a dynamic obstacle is set to a first initial probability value, and the initial probability of a point in the obstacle point cloud belonging to a dynamic obstacle is set to a second initial probability value. The first initial probability value is less than the second initial probability value. For example, the first initial probability value is 0.1 and the second initial probability value is 0.2. Alternatively, the first initial probability value and the second initial probability value can be other values, as long as the first initial probability value is less than the second initial probability value. This application does not limit the specific values ​​of the first initial probability value and the second initial probability value.

[0117] It should be noted that after the pre-established map is constructed, the pre-established map can be updated at least once based on the point cloud data collected during the movement of the target object, so that the probability that each point in the pre-established map belongs to a dynamic obstacle changes, that is, the probability that each point in the pre-established map belongs to a dynamic obstacle changes from the initial probability to the first probability, and then the subsequent probability update process continues based on the first probability.

[0118] Step 104: Update the pre-established map based on the second probability and the first point cloud data.

[0119] The above process updates the pre-established map based on the first point cloud data collected during the movement of the target object, so that the updated map is more consistent with the actual road conditions, thereby ensuring that the positioning and path planning of the target object can be achieved based on the updated map.

[0120] After introducing the basic implementation process of the present application, various non-limiting implementation methods of the present application are described in detail below.

[0121] In some embodiments, the motion data includes GPS coordinates of the target object. Accordingly, determining the position of the target object in the pre-established map based on a pre-established map and the first point cloud data and the motion data collected during the movement of the target object includes the following steps:

[0122] Step 1011: Based on the GPS coordinates of the target object, obtain point cloud data within the target range corresponding to the GPS coordinates from a pre-established map.

[0123] During the movement of the target object, the GPS sensor obtains the GPS coordinates of the target object's location, and then sends the obtained GPS coordinates to the computer device so that the computer device can obtain the GPS coordinates of the target object, and then determine the target object's location based on the obtained GPS coordinates.

[0124] The target range is a circular range with the GPS coordinates as the center and the third set length as the radius, or the target range is of other types, which is not limited in this application. The third set length is an arbitrary length, and the value of the third set length is not limited in this application.

[0125] Step 1012: Determine the ground point corresponding to the point cloud data with the highest matching degree with the first point cloud data in the point cloud data within the target range as the location of the target object.

[0126] In one possible implementation, each ground point in the point cloud data within the target range is used as the center of a circle, and the detection radius of the laser sensor is used as the radius. Multiple candidate point cloud data are determined from the point cloud data within the target range, wherein each determined candidate point cloud data is point cloud data in a circular area with the ground point as the center and the detection radius as the radius; based on each candidate point cloud data, the first point cloud data and the target error function, the corresponding rotation matrix and translation matrix when the function value of the target error function is the lowest are determined; based on the rotation matrix and the translation matrix, the first point cloud data is rotated and / or translated; and the ground point corresponding to the candidate point cloud data that has the greatest degree of matching with the rotated and / or translated first point cloud data is determined as the position of the target object.

[0127] Among them, the target error function represents the error between the candidate point cloud data and the first point cloud data under the rotation matrix and the translation matrix, that is, the target error function is used to indicate the difference between the first point cloud data and each candidate point cloud data after rotation and / or translation.

[0128] In one possible implementation, when determining the rotation matrix and translation matrix corresponding to the case where the function value of the target error function is the lowest based on each candidate point cloud data, the first point cloud data and the target error function, for any candidate point cloud data, the nearest neighbor point (p i ,q i ), thus based on the nearest neighbor point (p i ,q i ) and the target error function shown in formula (1) to determine the rotation matrix and translation matrix. Formula (1) is as follows:

[0129]

[0130] Among them, R represents the rotation matrix, t represents the translation matrix, f(R,t) represents the target error function, m represents the number of nearest neighbor pairs, p i Represents a point in any candidate point cloud data, q i Represents a point in the first point cloud data.

[0131] For the target constraints involved in the above process, it can be any point p in the candidate point cloud data. i , the distance to the first point cloud data is the smallest, that is, the target constraint condition can be seen in the following formula (2):

[0132]

[0133] Among them, p i Represents a point in any candidate point cloud data, q i represents a point in the first point cloud data, Q represents the target point cloud data, d(p i ,Q) represents a point p in any candidate point cloud data i The distance to the first point cloud data Q.

[0134] It should be noted that, when the first point cloud data is rotated and / or translated based on the rotation matrix and the translation matrix, there may be a situation where the rotation matrix or the translation matrix is ​​a zero matrix. If the rotation matrix is ​​a zero matrix, it indicates that there is no need to rotate the first point cloud data, and only the first point cloud data needs to be translated; if the translation matrix is ​​a zero matrix, it indicates that there is no need to translate the first point cloud data, and only the first point cloud data needs to be rotated.

[0135] In one possible implementation, when determining the candidate point cloud data that has the greatest degree of match with the first point cloud data that has been rotated and / or translated, the distance between each candidate point cloud data and the first point cloud data that has been rotated and / or translated is determined, thereby determining the candidate point cloud data with the smallest corresponding distance as the candidate point cloud data that has the greatest degree of match with the first point cloud data that has been rotated and / or translated.

[0136] When determining the distance between each candidate point cloud data and the first point cloud data after rotation and / or translation, the following formula (3) can be used:

[0137]

[0138] Where d(P,Q') represents the distance between any candidate point cloud data and the first point cloud data after rotation and / or translation, p i Represents a point in any candidate point cloud data, q i' represents a point in the first point cloud data after rotation and / or translation, P represents any candidate point cloud data, and Q' represents the first point cloud data after rotation and / or translation.

[0139] The above is only an exemplary method for determining the position of the target object. In more possible implementations, other methods can be used to determine the position, and this application does not limit this. For example, in another possible implementation, other sensors set within the set range corresponding to the target object can also include a wheel speed meter, and the motion data of the target object includes the speed of the target object. When the position of the target object is determined through the above steps 1011 to 1012, the target object continues to move, and the position determined by the above steps 1011 to 1012 is the position of the target object at the first moment. If the position of the target object at the second moment is to be determined, the position of the target object at the second moment can be determined based on the position at the first moment and the speed of the target object determined according to the wheel speed meter data.

[0140] In some embodiments, based on the first point cloud data and the second point cloud data, updating the first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain the second probability that each point included in the second point cloud data belongs to a dynamic obstacle includes the following steps:

[0141] Step 1031: Based on the second point cloud data, determine the spherical coordinates of each point included in the second point cloud data.

[0142] Taking the process of converting the point P (x, y, z) in the second point cloud data into the coordinates in the spherical coordinate system as an example, the coordinates of each point included in the second point cloud data in the lidar coordinate system are converted into the coordinates in the spherical coordinate system (that is, spherical coordinates) through the following formulas (4) to (6):

[0143]

[0144]

[0145]

[0146] Among them, x is the horizontal coordinate of point P in the laser radar coordinate system, y is the vertical coordinate of point P in the laser radar coordinate system, z is the height of point P in the laser radar coordinate system, r is the radial distance from point P to the origin of the spherical coordinate system, and θ is the elevation angle of point P, that is, the angle between the line connecting point P to the origin of the spherical coordinate system and the z-axis. is the azimuth of point P, that is, the angle between the projection of the line connecting point P to the origin of the spherical coordinate system on the xy plane and the x-axis.

[0147] Step 1032: Based on the detection angle of the laser sensor and the spherical coordinates of each point included in the second point cloud data, determine the target point located within the detection angle of the laser sensor from each point included in the second point cloud data.

[0148] It should be noted that the laser sensor has a detection angle limitation. If there are multiple laser sensors set within the set range of the target object, the detection angles of these multiple laser sensors can be the same or different, and this application does not limit this.

[0149] Taking the process of determining target points within the detection angle of any laser sensor based on its detection angle as an example, in one possible implementation, based on the detection angle of the laser sensor and the azimuth angle included in the spherical coordinates of each point in the second point cloud data, points whose azimuth angles exceed the detection angle of the laser sensor are removed from the points included in the second point cloud data, thereby obtaining target points within the detection angle of the laser sensor. For points that exceed the detection angle of the laser sensor, there is no need to perform a probability update on these points.

[0150] Step 1033: Based on the first point cloud data and the second point cloud data, update the first probability to obtain a second probability.

[0151] In one possible implementation, based on the spherical coordinates of the target point, a candidate point having the smallest azimuth difference with the target point is determined from the points included in the first point cloud data; based on the azimuth of the candidate point and the azimuth of the target point, the first probability is updated to obtain a second probability.

[0152] There are two optional implementation methods for determining candidate points:

[0153] In one possible implementation, the points included in the first point cloud data are sorted in ascending order of corresponding azimuth angles; the sorted point located at the target position is determined as the root node, and a search tree is constructed according to the adjacent relationship between the points; and the search tree is searched starting from the root node to determine the candidate point.

[0154] The target position is the position corresponding to the median of the sorted azimuth angles, or the target position is another position, which is not limited in this application.

[0155] Taking the first point cloud data as an example, the points A, B, C, D, and E are included, and the azimuths of the above points are 60 degrees, 43 degrees, 133 degrees, 26 degrees, and 92 degrees respectively. The results of sorting the points in descending order of the corresponding azimuths are D (26 degrees), B (43 degrees), A (60 degrees), E (92 degrees), and C (133 degrees). When constructing the search tree, point A at the median position is used as the root node, points B and E are used as child nodes of point B, point D is used as the child node of point B, and point C is used as the child node of point E, thereby obtaining the search tree.

[0156] Based on the above search tree example, taking the azimuth of the target point as 23 degrees, when searching, starting from point D, it can be determined that the child node of point D with the smaller azimuth difference with the target point is point B. Continuing to search downward from point B, point D, which is the child node of point B, can be found. Then, by comparing the azimuth differences between point B and point D and the target point, the candidate point can be determined to be point D.

[0157] In another possible implementation, a table is constructed based on the spherical coordinates of each point included in the first point cloud data according to a set step size; based on the azimuth of the target point, starting from the first item in the table, the azimuth of each point in the table is queried to determine the candidate point.

[0158] When constructing the table, each point in the first point cloud data is converted into the table based on the angle included in the spherical coordinates of each point and according to the set step size, thereby realizing table construction. For example, each point in the first point cloud data is converted into the table based on the azimuth and elevation included in the spherical coordinates of each point and according to the set step size, thereby realizing table construction.

[0159] The step length is set to any angle value, for example, the step length is set to 0.1 degrees, or the step length is set to other angle values, which is not limited in this application.

[0160] Taking the step size of 0.1 degrees as an example, the azimuth angle of the first point cloud data ranges from 0 degrees to 360 degrees, and the elevation angle ranges from 0 degrees to 180 degrees. The constructed table is a 3600*1800 table.

[0161] The azimuth and elevation angles are divided by a set step size so that each entry in the table contains a point, which facilitates subsequent query of the table.

[0162] Optionally, when starting the query from the first item in the table, the difference between the azimuth of each point in the table and the azimuth of the target point is determined, and then after the traversal is completed, the determined differences are compared to determine the candidate point with the smallest azimuth difference with the target point.

[0163] The above are only two exemplary methods for determining candidate points. In more possible implementations, other methods may be used to determine candidate points, and this application does not limit this.

[0164] When the first probability is updated based on the azimuth of the candidate point and the azimuth of the target point, there are two possible situations:

[0165] Case 1: If the angle difference between the azimuth of the candidate point and the azimuth of the target point is greater than the preset angle threshold, the first preset value is added to the first probability to obtain a second probability.

[0166] If the angle difference is greater than the preset angle threshold, it is considered that the target point cannot find the corresponding candidate point, that is, the target point cannot find the corresponding laser reflection point. This indicates that the point may originally belong to a dynamic obstacle, but the laser emitted by the laser sensor cannot be returned due to the movement of the dynamic obstacle. At this time, it is necessary to increase the probability that the target point belongs to a dynamic obstacle.

[0167] The preset angle threshold is an arbitrary angle value and is not limited in this application. The first set value is determined based on the angle between the plane to which the obstacle corresponding to the target point belongs and the ray emitted by the laser sensor. The larger the angle between the plane to which the obstacle corresponding to the target point belongs and the ray emitted by the laser sensor, the larger the first set value. For example, the angle between the plane to which the obstacle corresponding to the target point belongs and the ray emitted by the laser sensor is directly proportional to the first set value.

[0168] Case 2: If the angle difference is less than or equal to the preset angle threshold, the first probability is updated based on the first distance and the second distance to obtain the second probability, where the first distance is the distance between the target point and the origin of the laser sensor, and the second distance is the distance between the candidate point and the origin of the laser sensor.

[0169] The process of updating the probability based on the first distance and the second distance includes the following three possible situations:

[0170] 1. If the first distance is greater than the second distance, and the distance difference between the first distance and the second distance is greater than a preset distance threshold, the first probability is used as the second probability.

[0171] If the first distance is greater than the second distance, and the distance difference is greater than a preset distance threshold, the target point may be temporarily obstructed by a new obstacle. In this case, there is no need to update the first probability that the target point is a dynamic obstacle; instead, the first probability can be directly used as the updated second probability. The preset distance threshold is an arbitrary value and is not limited by this application.

[0172] 2. If the first distance is smaller than the second distance, and the distance difference is greater than a preset distance threshold, then the second preset value is added to the first probability to obtain a second probability.

[0173] If the first distance is less than the second distance, and the distance difference is greater than the preset distance threshold, it indicates that the obstacle originally in the area corresponding to the target point has disappeared, and the target point is more likely to be a dynamic obstacle. In this case, the probability that the target point belongs to a dynamic obstacle needs to be increased.

[0174] The second set value is determined based on the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor. The larger the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor, the larger the second set value. For example, the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor is directly proportional to the second set value.

[0175] 3. If the distance difference is less than the preset distance threshold, then the third preset value is reduced based on the first probability to obtain the second probability.

[0176] If the distance difference is less than the preset distance threshold, there are three possibilities:

[0177] 1. The first distance is greater than the second distance, but the distance difference is less than or equal to the preset distance threshold;

[0178] 2. The first distance is less than the second distance, but the distance difference is less than or equal to the preset distance threshold;

[0179] 3. The first distance is equal to the second distance.

[0180] Regardless of the above possibilities, it can be shown that there are always obstacles in the area corresponding to the target point. In this case, the obstacle to which the target point belongs is more likely to be a static obstacle. In this case, the probability that the target point belongs to a dynamic obstacle needs to be reduced.

[0181] The third set value is determined based on the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor. The larger the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor, the larger the third set value. For example, the angle between the plane containing the obstacle corresponding to the target point and the ray emitted by the laser sensor is directly proportional to the third set value.

[0182] In some embodiments, when updating a pre-established map based on the second probability and the first point cloud data, there are three possible situations:

[0183] Case 1: For any point in the first point cloud data, if the second probability of any point is greater than a preset probability threshold, then the point is removed from the pre-established map.

[0184] If the second probability of any point is greater than the preset probability threshold, it indicates that the point is very likely to be a dynamic obstacle. Therefore, the point can be directly removed from the pre-established map. The preset probability threshold is an arbitrary probability value and is not limited in this application.

[0185] Case 2: If the second probability of any point is less than or equal to the preset probability threshold, and there is a point in the pre-established map that matches the coordinates of any point, then the reflection intensity information of any point in the pre-established map is updated.

[0186] If the second probability of any point is less than or equal to the preset probability threshold, it indicates that the possibility of the point being a dynamic obstacle is small. At this time, if there is a point in the pre-established map that matches the coordinates of any point, the reflection intensity information of any point can be updated based on the point in the most recently collected first point cloud data that matches the coordinates of any point.

[0187] Optionally, if the laser sensor is a binocular stereo camera that can generate point cloud data, the surface color information of the object can be collected by this laser sensor, and the surface color information of the object at any point can be updated based on the collected surface color information of the object.

[0188] Case 3: If the second probability of any point is less than or equal to the preset probability threshold, and there is no point in the pre-established map that matches the coordinates of any point, then any point is added to the pre-established map.

[0189] If the second probability of any point is less than or equal to the preset probability threshold, it indicates that the point is less likely to be a dynamic obstacle. At this time, if there is no point matching the coordinates of any point in the pre-established map, the point can be added to the map to update the pre-established map.

[0190] The map update process involved in the above process can be found in Figure 2 , Figure 2 This is a flowchart of a map update process shown in this specification according to an exemplary embodiment. After first point cloud data is acquired by a laser sensor, road surface extraction and obstacle segmentation are performed on the first point cloud data, and based on the first point cloud data and a pre-established map, a target object is located, and then second point cloud data as local point cloud data is acquired from the pre-established map. Based on the first point cloud data and the acquired second point cloud data, the probability that a point in the pre-established map (that is, a point in the second point cloud data) belongs to a dynamic obstacle is updated, thereby updating the pre-established map based on the first point cloud data and the updated probability.

[0191] Among them, the probability of updating the points in the pre-established map belonging to dynamic obstacles can be found in Figure 3 , Figure 3 This is a flowchart of a probability update process shown in this specification according to an exemplary embodiment. After obtaining the second point cloud data, the second point cloud data is transferred to the laser sensor coordinate system, and then the spherical coordinates of each point are traversed and calculated based on the second point cloud data in the laser sensor coordinate system, and then it is determined according to the spherical coordinates whether any point in the second point cloud data (recorded as the target point) is located within the detection angle of the laser sensor. If the target point is not located within the detection angle of the laser sensor, the update process of the probability that the target point belongs to a dynamic obstacle is skipped until the traversal of each point in the second point cloud data is completed; if the target point is located within the detection angle of the laser sensor, the candidate point closest to the azimuth angle of the target point is searched from the first point cloud data. If the azimuth angle difference between the target point and the candidate point is greater than or equal to the preset angle threshold, The probability that the target point is a dynamic obstacle is increased. If the angle difference between the azimuth angles of the target point and the candidate point is less than the preset angle threshold, the distance between the target point and the candidate point is determined. If the target point is farther than the candidate point with respect to the coordinate origin of the laser sensor, and the distance difference between the target point and the coordinate origin, and the distance between the candidate point and the coordinate origin is greater than the preset distance threshold, the probability update process is skipped. If the target point is close to the candidate point, the probability that the target point is a dynamic obstacle is reduced. If the target point is closer than the candidate point with respect to the coordinate origin of the laser sensor, and the distance difference is greater than the preset distance threshold, the probability that the target point is a dynamic obstacle is increased. Based on the updated probability, the pre-established map is updated. The updating method includes but is not limited to removing points with high probability from the pre-established map.

[0192] above Figure 2 and Figure 3 This is just a procedural explanation. For the specific implementation process, please refer to the above content and will not be repeated here.

[0193] Corresponding to the aforementioned method embodiments, this specification also provides embodiments of an apparatus and a terminal to which it is applied.

[0194] like Figure 4 As shown, Figure 4 : is a block diagram of a map updating device according to an exemplary embodiment of the present specification, the map updating device including:

[0195] A determination unit 401 is configured to determine a position of a target object in a pre-established map based on the pre-established map and first point cloud data and motion data collected during the movement of the target object;

[0196] An acquiring unit 402 is configured to acquire, based on the position of the target object, second point cloud data within a preset range corresponding to the target object from a pre-established map;

[0197] a probability updating unit 403 configured to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data is a dynamic obstacle, thereby obtaining a second probability that each point included in the second point cloud data is a dynamic obstacle, wherein the first probability is a determined probability that each point in a pre-established map is a dynamic obstacle;

[0198] The map updating unit 404 is configured to update the pre-established map based on the second probability and the first point cloud data.

[0199] In some embodiments, the first point cloud data is acquired by a radar set within a set range of the target object;

[0200] The probability updating unit 403 is configured to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, and includes a coordinate determining subunit, a target point determining subunit, and a probability updating subunit.

[0201] a coordinate determining subunit, configured to determine, based on the second point cloud data, the spherical coordinates of each point included in the second point cloud data;

[0202] a target point determination subunit, configured to determine, from the points included in the second point cloud data, a target point located within the detection angle of the radar based on the detection angle of the radar and the spherical coordinates of the points included in the second point cloud data;

[0203] The probability updating subunit is used to update the first probability based on the first point cloud data and the second point cloud data to obtain a second probability.

[0204] In some embodiments, the probability updating subunit, when used to update the first probability based on the first point cloud data and the second point cloud data to obtain the second probability, includes a candidate point determination module and a probability updating module;

[0205] a candidate point determination module, configured to determine, based on the spherical coordinates of the target point, a candidate point having the smallest azimuth difference from the target point from among the points included in the first point cloud data;

[0206] The probability updating module is used to update the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain a second probability.

[0207] In some embodiments, the candidate point determination module, when used to determine, based on the spherical coordinates of the target point, from the points included in the first point cloud data, the candidate point having the smallest azimuth difference from the target point, is specifically configured to:

[0208] Sort the points included in the first point cloud data in ascending order of corresponding azimuth angles;

[0209] The point at the target position is determined as the root node, and a search tree is constructed according to the adjacent relationship between each point;

[0210] The search tree is searched starting from the root node to determine the candidate points.

[0211] In some embodiments, the candidate point determination module, when used to determine, based on the spherical coordinates of the target point, from the points included in the first point cloud data, the candidate point having the smallest azimuth difference from the target point, is specifically configured to:

[0212] Constructing a table based on the spherical coordinates of each point included in the first point cloud data according to a set step size;

[0213] Based on the azimuth of the target point, starting from the first item in the table, the azimuths of each point in the table are queried to determine the candidate points.

[0214] In some embodiments, the probability updating module, when used to update the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain the second probability, includes a first updating submodule and a second updating submodule;

[0215] A first updating submodule is configured to add a first preset value to the first probability to obtain a second probability if the angle difference between the azimuth angle of the candidate point and the azimuth angle of the target point is greater than a preset angle threshold;

[0216] The second updating submodule is configured to update the first probability based on the first distance and the second distance to obtain a second probability if the angle difference is less than or equal to a preset angle threshold, where the first distance is the distance between the target point and the radar origin, and the second distance is the distance between the candidate point and the radar origin.

[0217] In some embodiments, the second updating submodule, when used to update the first probability based on the first distance and the second distance to obtain the second probability, is specifically used for any of the following:

[0218] If the first distance is greater than the second distance, and the distance difference between the first distance and the second distance is greater than the preset distance threshold, the first probability is used as the second probability;

[0219] If the first distance is smaller than the second distance, and the distance difference is greater than the preset distance threshold, then the second preset value is added to the first probability to obtain a second probability;

[0220] If the distance difference is less than the preset distance threshold, the third preset value is reduced on the basis of the first probability to obtain a second probability.

[0221] In some embodiments, the first preset value, the second preset value, and the third preset value are determined based on an angle between a plane to which an obstacle corresponding to the target point belongs and a ray emitted by the radar.

[0222] In some embodiments, the map updating unit 404, when used to update a pre-established map based on the second probability and the first point cloud data, is specifically used for any of the following:

[0223] For any point in the first point cloud data, if the second probability of any point is greater than a preset probability threshold, remove the point from the pre-established map;

[0224] If the second probability of any point is less than or equal to a preset probability threshold, and there is a point in the pre-established map that matches the coordinates of any point, then updating the reflection intensity information of any point in the pre-established map;

[0225] If the second probability of any point is less than or equal to a preset probability threshold, and there is no point in the pre-established map that matches the coordinates of any point, then the point is added to the pre-established map.

[0226] In some embodiments, the motion data includes Global Positioning System (GPS) coordinates of the target object;

[0227] The determining unit 401, when used to determine the position of the target object in the pre-established map based on the pre-established map and the first point cloud data and motion data collected during the movement of the target object, is specifically configured to:

[0228] Based on the GPS coordinates of the target object, obtain the point cloud data within the target range corresponding to the GPS coordinates from the pre-established map;

[0229] The ground point corresponding to the point cloud data having the highest matching degree with the first point cloud data in the point cloud data within the target range is determined as the location of the target object.

[0230] The implementation process of the functions and effects of each unit in the above-mentioned device is specifically described in the implementation process of the corresponding steps in the above-mentioned method, and will not be repeated here.

[0231] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to the partial description of the method embodiments. The device embodiments described above are merely illustrative, wherein the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this specification. A person of ordinary skill in the art can understand and implement it without paying any creative work.

[0232] This application also provides a computer device, see Figure 5 , Figure 5 This is a schematic diagram of the structure of a computer device according to an exemplary embodiment of the present specification. Figure 5 As shown, the computer device includes a processor 510, a memory 520, and a network interface 530. The memory 520 is used to store computer instructions that can be executed on the processor 510. The processor 510 is used to implement the map updating method provided in any embodiment of the present application when executing the computer instructions. The network interface 530 is used to implement input and output functions. In more possible implementations, the computer device may also include other hardware, which is not limited by this application.

[0233] The present application also provides a computer-readable storage medium, which can be in various forms. For example, in different examples, the computer-readable storage medium can be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as a hard disk drive), solid-state drive, any type of storage disk (such as a CD, DVD, etc.), or similar storage medium, or a combination thereof. In particular, the computer-readable medium can also be paper or other suitable medium capable of printing programs. A computer program is stored on the computer-readable storage medium, and when the computer program is executed by the processor, the map update method provided in any embodiment of the present application is implemented.

[0234] The present application also provides a computer program product, including a computer program, which implements the map updating method provided in any embodiment of the present application when the computer program is executed by a processor.

[0235] Those skilled in the art will appreciate that one or more embodiments of this specification may be provided as a method, apparatus, terminal, computer-readable storage medium, or computer program product. Thus, one or more embodiments of this specification may take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment combining software and hardware. Furthermore, one or more embodiments of this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0236] The various embodiments in this specification are described in a progressive manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, the embodiments corresponding to the computer device are generally similar to the method embodiments, so the description is relatively simple. For relevant portions, refer to the description of the method embodiments.

[0237] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0238] Embodiments of the subject matter and functional operations described in this specification may be implemented in the following: digital electronic circuits, tangibly embodied computer software or firmware, computer hardware including the structures disclosed in this specification and their structural equivalents, or a combination of one or more of them. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier to be executed by a data processing device or to control the operation of the data processing device. Alternatively or additionally, the program instructions may be encoded on an artificially generated propagation signal, such as a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information and transmit it to a suitable receiver device for execution by the data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.

[0239] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform the corresponding functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0240] Computers suitable for executing computer programs include, for example, general-purpose and / or special-purpose microprocessors, or any other type of central processing unit. Typically, the central processing unit will receive instructions and data from a read-only memory and / or random access memory. The basic components of a computer include a central processing unit for implementing or executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or the computer will be operably coupled to such mass storage devices to receive data from them or to transmit data to them, or both. However, a computer does not necessarily have such devices. In addition, a computer can be embedded in another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device such as a universal serial bus (USB) flash drive, to name a few.

[0241] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and storage devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD ROM and DVD-ROM disks. The processor and memory can be supplemented by, or incorporated in, special purpose logic circuitry.

[0242] Although this specification includes many specific implementation details, these should not be interpreted as limiting the scope of any invention or the scope of protection claimed, but are mainly used to describe the features of specific embodiments of specific inventions. Certain features described in multiple embodiments within this specification may also be implemented in combination in a single embodiment. On the other hand, the various features described in a single embodiment may also be implemented separately in multiple embodiments or in any suitable sub-combination. In addition, although features may work in certain combinations as described above and even initially claimed as such, one or more features from the claimed combination may be removed from the combination in some cases, and the claimed combination may point to a sub-combination or a variation of the sub-combination.

[0243] Similarly, although operations are depicted in a particular order in the accompanying drawings, this should not be understood as requiring that these operations be performed in the particular order shown or performed sequentially, or that all illustrated operations be performed to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system modules and components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product, or packaged into multiple software products.

[0244] Thus, specific embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the particular order shown or sequential sequence to achieve the desired results. In some implementations, multitasking and parallel processing may be advantageous.

[0245] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the present invention and practicing the invention claimed herein. This specification is intended to cover any variations, uses, or adaptations of the present invention that follow the general principles of this specification and include common knowledge or customary techniques in the art that are not claimed herein. That is, this specification is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and variations may be made without departing from the scope thereof.

[0246] The above description is only an optional embodiment of this specification and is not intended to limit this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this specification should be included in the scope of protection of this specification.

Claims

1. A map updating method, characterized in that: The method comprises: Determining a position of the target object in the pre-established map based on a pre-established map and first point cloud data and motion data collected during the movement of the target object; Based on the position of the target object, obtaining second point cloud data within a preset range corresponding to the target object from a pre-established map; updating, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data is a dynamic obstacle to obtain a second probability that each point included in the second point cloud data is a dynamic obstacle, the first probability being a determined probability that each point in a pre-established map is a dynamic obstacle; updating the pre-established map based on the second probability and the first point cloud data; Wherein, the first point cloud data is collected by a laser sensor set within a set range of the target object; The updating, based on the first point cloud data and the second point cloud data, of a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle includes: Based on the spherical coordinates of the target point, determining, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point; wherein the target point is a point within the detection angle of the laser sensor among the points included in the second point cloud data; The first probability is updated based on the azimuth of the candidate point and the azimuth of the target point to obtain the second probability.

2. The method according to claim 1, characterized in that Before determining, based on the spherical coordinates of the target point, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point, the method further includes: determining, based on the second point cloud data, the spherical coordinates of each point included in the second point cloud data; Based on the detection angle of the laser sensor and the spherical coordinates of each point included in the second point cloud data, a target point located within the detection angle of the laser sensor is determined from each point included in the second point cloud data.

3. The method according to claim 1, characterized in that The determining, based on the spherical coordinates of the target point, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point, includes: sorting the points included in the first point cloud data in ascending order of corresponding azimuth angles; The point at the target position is determined as the root node, and a search tree is constructed according to the adjacent relationship between each point; The search tree is searched starting from the root node to determine the candidate point.

4. The method according to claim 1, wherein The determining, based on the spherical coordinates of the target point, from the points included in the first point cloud data, a candidate point having the smallest azimuth difference from the target point, includes: Constructing a table based on the spherical coordinates of each point included in the first point cloud data according to a set step size; Based on the azimuth of the target point, starting from the first item in the table, the azimuths of the points in the table are queried to determine the candidate points.

5. The method according to claim 1, wherein The updating of the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain the second probability includes any one of the following: If the angle difference between the azimuth of the candidate point and the azimuth of the target point is greater than a preset angle threshold, adding a first preset value to the first probability to obtain a second probability; If the angle difference is less than or equal to the preset angle threshold, the first probability is updated based on a first distance and a second distance to obtain a second probability, where the first distance is the distance between the target point and the origin of the laser sensor, and the second distance is the distance between the candidate point and the origin of the laser sensor.

6. The method according to claim 5, characterized in that The updating of the first probability based on the first distance and the second distance to obtain the second probability includes any one of the following: If the first distance is greater than the second distance, and the distance difference between the first distance and the second distance is greater than a preset distance threshold, then using the first probability as the second probability; If the first distance is smaller than the second distance, and the distance difference is greater than the preset distance threshold, adding a second preset value to the first probability to obtain the second probability; If the distance difference is less than the preset distance threshold, the third preset value is reduced based on the first probability to obtain the second probability.

7. The method according to claim 6, characterized in that The first preset value, the second preset value, and the third preset value are determined based on an angle between a plane to which the obstacle corresponding to the target point belongs and a ray emitted by the laser sensor.

8. The method according to claim 1, characterized in that The updating of the pre-established map based on the second probability and the first point cloud data includes any of the following: For any point in the first point cloud data, if the second probability of the any point is greater than a preset probability threshold, removing the any point from the pre-established map; If the second probability of the any point is less than or equal to the preset probability threshold, and there is a point in the pre-established map that matches the coordinates of the any point, updating the reflection intensity information of the any point in the pre-established map; If the second probability of the any point is less than or equal to the preset probability threshold, and there is no point in the pre-established map that matches the coordinates of the any point, then the any point is added to the pre-established map.

9. The method according to claim 1, characterized in that The motion data includes the global positioning system (GPS) coordinates of the target object; The determining of the position of the target object in the pre-established map based on the pre-established map and the first point cloud data and motion data collected during the movement of the target object includes: Based on the GPS coordinates of the target object, obtaining point cloud data within the target range corresponding to the GPS coordinates from a pre-established map; The ground point corresponding to the point cloud data having the highest matching degree with the first point cloud data in the point cloud data within the target range is determined as the position of the target object.

10. A map updating device, characterized in that: The device comprises: a determining unit, configured to determine a position of the target object in the pre-established map based on the pre-established map and the first point cloud data and the motion data collected during the movement of the target object; an acquiring unit, configured to acquire, based on the position of the target object, second point cloud data within a preset range corresponding to the target object from a pre-established map; a probability updating unit, configured to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle, to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, wherein the first probability is a probability that each point in a pre-established map, as determined, belongs to a dynamic obstacle; a map updating unit, configured to update the pre-established map based on the second probability and the first point cloud data; Wherein, the first point cloud data is collected by a laser sensor set within a set range of the target object; The probability updating unit, when used to update, based on the first point cloud data and the second point cloud data, a first probability that each point included in the second point cloud data belongs to a dynamic obstacle to obtain a second probability that each point included in the second point cloud data belongs to a dynamic obstacle, includes a probability updating subunit, wherein the probability updating subunit includes a candidate point determination module and a probability updating module; The candidate point determination module is configured to determine, based on the spherical coordinates of the target point, a candidate point having the smallest azimuth difference from the target point from among the points included in the first point cloud data; wherein the target point is a point within the detection angle of the laser sensor among the points included in the second point cloud data; The probability updating module is configured to update the first probability based on the azimuth of the candidate point and the azimuth of the target point to obtain the second probability.

11. A computer device, characterized in that: The computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the operations performed by the map updating method according to any one of claims 1 to 9 when executing the program.

12. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a program, and the processor uses the program to execute the operations performed by the map updating method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Object state acquisition method, movable platform and storage medium

    CN112313536A

  • Obstacle recognition method and device

    CN112949366A