A method for generating a positioning map, a positioning method and a device
By updating the raster feature values in the prior map, a third map with compatible errors is generated, which solves the problem of insufficient error compatibility between prior maps and improves the positioning accuracy and robustness of autonomous vehicles.
Patent Information
- Application Number
- CN202010623974.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-30
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2040-06-30
AI Technical Summary
The existing prior maps have poor compatibility with errors, making it difficult to ensure the positioning accuracy of autonomous driving vehicles. Especially when the positioning reference object changes or errors are introduced due to the addition/decreasing deviation operation, the positioning results are inaccurate.
By acquiring the first grid and the second grid in the first map, the eigenvalue of the second grid is updated according to the eigenvalue of the first grid, so that it is greater than the second threshold value but less than the eigenvalue of the first grid, and a third map is generated to improve compatibility with errors and ensure robustness of positioning.
It improves the compatibility of prior maps with errors, reduces positioning inaccuracy caused by dynamic feature changes or add-bias operations, and enhances the accuracy and robustness of positioning.
Smart Images

Figure CN113865598B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of autonomous driving, and in particular, to a method and device for generating a positioning map and a positioning method. Background Art
[0002] The normal operation of an autonomous driving vehicle depends on a prior map. The prior map can be prior knowledge for the positioning of an autonomous driving vehicle and can help the autonomous driving vehicle with planning and decision-making. For example, the autonomous driving vehicle can match the current environmental information with the prior map to obtain the position and attitude of the autonomous driving vehicle in the prior map, and perform path planning based on the position and attitude.
[0003] As prior knowledge for the positioning of an autonomous driving vehicle, the prior map needs to describe the environment completely and comprehensively reflect the information in the environment that is helpful for positioning. Therefore, a large amount of feature information of positioning reference objects (such as buildings, trees, roadside landmarks, or lanes, etc.) needs to be collected during the construction of the prior map. Considering that the collection and processing of a large amount of feature information require a large amount of manpower and material resources, the construction cycle of the prior map is not very frequent. This requires that the positioning reference objects used to construct the prior map do not change within a period of time (such as shape change or position change, etc.). However, due to the influence of external factors (such as weather changes or season changes, etc.), the positioning reference objects are not absolutely unchanged. For example, the branches of a tree move from position 1 to position 2 under the blowing of the wind. There will be the following situation: there is an error between the position 2 of the branches collected by the autonomous driving vehicle in real time and the position 1 of the branches in the prior map, resulting in the inability to fully correspond the features of the branches collected in real time with the features of the branches in the prior map, thus making it difficult to ensure the accuracy of positioning. It can be seen that the current prior map has poor compatibility with errors and is difficult to ensure the accuracy of positioning. Summary of the Invention
[0004] Embodiments of the present application provide a method and device for generating a positioning map and a positioning method, so as to improve the compatibility of the prior map with errors and improve the robustness of positioning.
[0005] In a first aspect, an embodiment of the present application provides a method for generating a positioning map. This method can be executed by a network device (such as a single server, a cloud server, or a virtual machine, etc.), or by a chip or a chip system in the network device. Hereinafter, the case where the execution entity is a network device will be described as an example. The method includes: The network device obtains a first map, which includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold, where the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies the grid. The positioning reference object is used to determine the positioning information of the terminal; according to the eigenvalue of the first grid, update the eigenvalue of the second grid so that the updated eigenvalue of the second grid is greater than the second threshold but less than the eigenvalue of the first grid, obtain a second map, and generate a third map according to the second map.
[0006] In the above technical solution, updating the eigenvalue of the second grid according to the eigenvalue of the first grid, and the updated eigenvalue of the second grid is greater than the second threshold and less than the eigenvalue of the first grid, which means increasing the probability that the positioning reference object occupies the second grid, so that the influence of the updated second grid on positioning also increases accordingly. However, the influence of the updated second grid on positioning does not exceed the influence of the first grid on positioning. Therefore, the third map generated according to the updated second grid can well accommodate errors caused by dynamic features, bias addition operations, or bias subtraction operations, etc. during the positioning process, while also ensuring the influence of the original features on positioning, avoiding introducing additional errors, and being able to improve the robustness of positioning. For example, when combined with particle filtering, the third map can reduce the problem of sudden drops in particle scores that may exist around the correct positioning, thereby effectively reducing the impact of inaccurate positioning caused by sudden drops in particle scores.
[0007] In a possible design, the distance between the first grid and the second grid can be less than or equal to a first distance. By adopting this method, only the grids whose distance from the first grid is less than or equal to the first distance need to be updated, which can avoid introducing additional errors.
[0008] In a possible design, the greater the distance between the first grid and the second grid, the smaller the updated eigenvalue of the second grid. By adopting this method, as the distance between the first grid and the second grid increases, the influence of the updated second grid on positioning can gradually decrease, so as to improve the robustness of positioning.
[0009] In a possible design, the method may further include: The network device receives a first request message from the terminal, where the first request message is used to request to obtain the third map; The network device sends a first response message to the terminal, and the first response message includes the third map. In this way, the terminal can obtain the third map and perform positioning based on the third map. Since the eigenvalue of the third grid in the third map is determined according to the eigenvalue of the first grid and the eigenvalue of the third grid is greater than the second threshold, the third map has good adaptability and good compatibility with errors, and can help the terminal obtain accurate positioning information.
[0010] In a possible design, obtaining the first map includes: obtaining a fourth map, where the fourth map includes a first grid and a fourth grid, and the eigenvalue of the fourth grid is less than or equal to the second threshold; dividing the fourth map can obtain the first map and a seventh map, and the seventh map includes a fifth map and / or a sixth map, the fifth map only includes the first grid, and the sixth map only includes the fourth grid; generating the third map according to the second map includes: generating the third map according to the second map and the seventh map. In this way, after dividing the fourth map, a fifth map only including the first grid and / or a sixth map may be obtained. When generating the positioning map, the second map and the seventh map can be spliced to obtain the third map, so as to ensure the integrity of the positioning information in the third map.
[0011] In a possible design, the first map may be a two-dimensional grid map or a three-dimensional grid map.
[0012] In a possible design, the distance between the first grid and the second grid may include any one of a lateral distance, a longitudinal distance, or a radius value radiating around the first grid, etc. For example, if the first map is a two-dimensional grid map, the lateral distance may be the distance in the direction parallel to the X-axis in the coordinate system, and the longitudinal distance may be the distance in the direction perpendicular to the X-axis in the coordinate system. For another example, if the first map is a three-dimensional grid map, the lateral distance may be the distance in the direction parallel to the XOY plane in the coordinate system, and the longitudinal distance may be the distance in the direction perpendicular to the XOY plane in the coordinate system. Among them, the coordinate system may be a world coordinate system or a coordinate system with the terminal as the origin, etc.
[0013] Second aspect, an embodiment of the present application provides a positioning method. This method can be executed by a terminal (such as a vehicle, in-vehicle device, or mobile phone, etc.), or can be executed by a chip or chip system in the terminal. Hereinafter, the description will be given by taking the execution entity as the terminal as an example. The method includes: The terminal obtains environmental information of its surrounding environment, and determines a third map according to the environmental information. The third map is generated according to a second map, and the second map includes a first grid and a third grid. The eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the third grid is greater than a second threshold and less than the eigenvalue of the first grid, and the eigenvalue of the third grid is determined according to the eigenvalue of the first grid. Wherein, the first threshold is greater than the second threshold, and the eigenvalue is the probability that the positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; The terminal matches the environmental information with the third map to obtain the positioning information of the terminal.
[0014] In a possible design, the distance between the first grid and the third grid can be less than or equal to a first distance.
[0015] In a possible design, the greater the distance between the first grid and the third grid, the smaller the eigenvalue of the third grid.
[0016] In a possible design, the method may further include: The terminal sends a first request message to the network device, and the first request message is used to request to obtain the third map; The terminal receives a first response message from the network device, and the first response message includes the third map.
[0017] In a possible design, the distance between the first grid and the third grid may include any one of a lateral distance, a longitudinal distance, or a radius value radiating around the first grid as the center.
[0018] Third aspect, an embodiment of the present application provides a positioning method. This method can be executed by a terminal (such as a vehicle, in-vehicle device, or mobile phone, etc.), or can be executed by a chip or chip system in the terminal. Hereinafter, the description will be given by taking the execution entity as the terminal as an example. The method includes: The terminal obtains environmental information of its surrounding environment, and obtains a first map according to the environmental information. The first map includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold. Wherein, the first threshold is greater than the second threshold, and the eigenvalue is the probability that the positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; The terminal updates the eigenvalue of the second grid according to the eigenvalue of the first grid so that the updated eigenvalue of the second grid is greater than the second threshold and less than the eigenvalue of the first grid, obtains a second map, and generates a third map according to the second map; The terminal matches the environmental information with the third map to obtain the positioning information of the terminal.
[0019] In a possible design, the distance between the first grid and the second grid can be less than or equal to the first distance.
[0020] In a possible design, the greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid.
[0021] In a possible design, obtaining a first map according to environmental information includes: obtaining a fourth map according to environmental information, where the fourth map includes a first grid and a fourth grid, and the eigenvalue of the fourth grid is less than or equal to a second threshold; dividing the fourth map to obtain a first map and a seventh map, where the seventh map includes a fifth map and / or a sixth map, the fifth map only includes the first grid, and the sixth map only includes the fourth grid; generating a third map according to a second map, including: generating a third map according to the second map and the seventh map.
[0022] In a possible design, the first map can be a two-dimensional grid map or a three-dimensional grid map.
[0023] In a possible design, the distance between the first grid and the second grid can include any one of a lateral distance, a longitudinal distance, a radius value radiating around the first grid, etc.
[0024] In a fourth aspect, an embodiment of the present application provides a positioning map generation device, including: an acquisition unit configured to acquire a first map, where the first map includes a first grid and a second grid, the eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold, where the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies a grid, and the positioning reference object is used to determine the positioning information of the terminal; an update unit configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid so that the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid, to obtain a second map; a map generation unit configured to generate a third map according to the second map.
[0025] In a possible design, the distance between the first grid and the second grid can be less than or equal to the first distance.
[0026] In a possible design, the greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid.
[0027] In a possible design, the device may further include a transceiver unit configured to receive a first request message from the terminal, where the first request message is used to request to obtain the third map; and send a first response message to the terminal, where the first response message includes the third map.
[0028] In a possible design, the obtaining unit is specifically configured to: obtain a fourth map, where the fourth map includes a first grid and a fourth grid, and the eigenvalue of the fourth grid is less than or equal to a second threshold; and divide the fourth map to obtain a first map and a seventh map, where the seventh map includes a fifth map and / or a sixth map, the fifth map only includes the first grid, and the sixth map only includes the fourth grid; the map generation unit is specifically configured to: generate a third map according to the second map and the seventh map.
[0029] In a possible design, the first map may be a two-dimensional grid map or a three-dimensional grid map.
[0030] In a possible design, the distance between the first grid and the second grid may include any one of a lateral distance, a longitudinal distance, or a radius value radiating around the first grid as the center.
[0031] In a fifth aspect, an embodiment of the present application provides a positioning device, where the device includes: an obtaining unit, configured to obtain environmental information of its surrounding environment; a positioning unit, configured to determine a third map according to the environmental information, where the third map is generated according to a second map, the second map includes a first grid and a third grid, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the third grid is greater than a second threshold and less than the eigenvalue of the first grid, and the eigenvalue of the third grid is determined according to the eigenvalue of the first grid, where the first threshold is greater than the second threshold, and the eigenvalue is the probability that the positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; and match the environmental information with the third map to obtain the positioning information of the terminal.
[0032] In a possible design, the distance between the first grid and the third grid may be less than or equal to a first distance.
[0033] In a possible design, the greater the distance between the first grid and the third grid, the smaller the eigenvalue of the third grid.
[0034] In a possible design, the device may further include a transceiver unit, configured to send a first request message to a network device, where the first request message is used to request to obtain the third map; and receive a first response message from the network device, where the first response message includes the third map.
[0035] In a possible design, the distance between the first grid and the third grid may include any one of a lateral distance, a longitudinal distance, or a radius value radiating around the first grid as the center, etc.
[0036] Sixth aspect, an embodiment of the present application provides another positioning device, the device includes: an acquisition unit, configured to acquire environmental information of its surrounding environment, and according to the environmental information, acquire a first map, the first map includes a first grid and a second grid, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the second grid is less than or equal to a second threshold, wherein the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies a grid, and the positioning reference object is used to determine the positioning information of the terminal; an update unit, configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid so that the updated eigenvalue of the second grid is greater than the second threshold and less than the eigenvalue of the first grid, to obtain a second map; a map generation unit, configured to generate a third map according to the second map; a positioning unit, configured to match the environmental information with the third map to obtain the positioning information of the terminal.
[0037] In a possible design, the distance between the first grid and the second grid may be less than or equal to a first distance.
[0038] In a possible design, the greater the distance between the first grid and the second grid, the smaller the updated eigenvalue of the second grid.
[0039] In a possible design, the acquisition unit is specifically configured to: according to the environmental information, acquire a fourth map, the fourth map includes a first grid and a fourth grid, the eigenvalue of the fourth grid is less than or equal to the second threshold; and divide the fourth map to obtain a first map and a seventh map, the seventh map includes a fifth map and / or a sixth map, the fifth map only includes the first grid, and the sixth map only includes the fourth grid; the map generation unit is specifically configured to: generate a third map according to the second map and the seventh map.
[0040] In a possible design, the first map may be a two-dimensional grid map or a three-dimensional grid map.
[0041] In a possible design, the distance between the first grid and the second grid may include any one of a lateral distance, a longitudinal distance, or a radius value radiating around the first grid as the center, etc.
[0042] Seventh aspect, an embodiment of the present application provides a communication device, including a processor and a memory, where the memory is used to store a computer program or instruction, and the processor is used to call the computer program or instruction stored in the memory to execute the method described in the first aspect or any possible design of the first aspect, or the second aspect or any possible design of the second aspect, or the third aspect or any possible design of the third aspect.
[0043] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program or instruction for executing the method described in the above first aspect or any possible design of the first aspect, or the second aspect or any possible design of the second aspect, or the third aspect or any possible design of the third aspect.
[0044] In a ninth aspect, an embodiment of the present application further provides a computer program product, including a computer program or instruction, which when executed can implement the method described in the above first aspect or any possible design of the first aspect, or the second aspect or any possible design of the second aspect, or the third aspect or any possible design of the third aspect.
[0045] In a tenth aspect, the present application further provides a chip for implementing the method described in the above first aspect or any possible design of the first aspect, or the second aspect or any possible design of the second aspect, or the third aspect or any possible design of the third aspect.
[0046] Regarding the technical effects that can be achieved by the second aspect to the tenth aspect or various possible designs, reference can be made to the introduction of the technical effects that can be achieved by the first aspect or the corresponding design of the first aspect, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 A schematic diagram of an application scenario adapted to an embodiment of the present application;
[0048] Figure 2 A schematic diagram showing a change in the positioning reference object in an embodiment of the present application;
[0049] Figure 3 Another schematic diagram showing a change in the positioning reference object in an embodiment of the present application;
[0050] Figure 4 A flowchart showing a positioning method provided by an embodiment of the present application;
[0051] Figure 5 A schematic diagram of a first map provided by an embodiment of the present application;
[0052] Figure 6A Another schematic diagram of a first map provided by an embodiment of the present application;
[0053] Figure 6B Another schematic diagram of a first map provided by an embodiment of the present application;
[0054] Figure 7AA schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0055] Figure 7B Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0056] Figure 7C Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0057] Figure 7D Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0058] Figure 8A Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0059] Figure 8B Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0060] Figure 8C Another schematic diagram of the positional relationship between the first grid and the second grid provided by the embodiment of the present application;
[0061] Figure 9 A schematic diagram of the second map provided by the embodiment of the present application;
[0062] Figure 10A A schematic diagram of the feature projected onto the three-dimensional grid map provided by the embodiment of the present application;
[0063] Figure 10B A schematic diagram of the feature projected onto the first map provided by the embodiment of the present application;
[0064] Figure 10C A schematic diagram of the feature projected onto the third map provided by the embodiment of the present application;
[0065] Figure 11 A schematic flowchart of another positioning method provided by the embodiment of the present application;
[0066] Figure 12 A schematic structural diagram of a positioning map generation device provided by the embodiment of the present application;
[0067] Figure 13 A schematic structural diagram of a positioning device provided by the embodiment of the present application;
[0068] Figure 14 Another schematic structural diagram of a positioning device provided by the embodiment of the present application;
[0069] Figure 15 A schematic structural diagram of a communication device provided by an embodiment of the present application;
[0070] Figure 16 Another schematic structural diagram of a communication device provided by an embodiment of the present application;
[0071] Figure 17 A schematic diagram of one of the four sub - maps provided by an embodiment of the present application;
[0072] Figure 18 Another schematic diagram of the four sub - maps provided by an embodiment of the present application. Detailed implementation manners
[0073] For ease of understanding, first, the special concepts and terms involved in the embodiments of the present application will be explained below.
[0074] (1) Network device. The network devices involved in the embodiments of the present application may include, but are not limited to, a single server, a server cluster, or a cloud server and other devices that provide map construction capabilities and storage capabilities. For example, when an application is installed on a terminal, the network device may be the server corresponding to the application. Here, the application may be an application related to positioning. For example, if the application is a positioning application (APP), then the server is the server corresponding to the positioning APP.
[0075] In the embodiments of the present application, the device for implementing the functions of the network device may be the network device itself, or a device that can support the network device to implement the functions, such as a chip system, and this device may be installed in the network device. In the embodiments of the present application, the chip system may be composed of chips, or may include chips and other discrete devices. In the following, the description is made by taking the device for implementing the functions of the network device as the network device as an example.
[0076] (2) Terminal. The terminals involved in the embodiments of the present application may include, but are not limited to, mobile devices that require positioning, such as mobile phones, tablet computers, wearable devices (such as glasses, gloves, watches, bracelets, clothing, shoes, etc.), vehicles, in - vehicle devices (or called in - vehicle terminals), augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra - mobile personal computers (UMPCs), netbooks, or personal digital assistants (PDAs). The embodiments of the present application do not impose any restrictions on the specific types of terminals.
[0077] In the embodiments of the present application, the device for implementing the functions of the terminal may be the terminal itself or a device capable of supporting the terminal to implement such functions, such as a chip system, and this device may be installed in the terminal. In the embodiments of the present application, the chip system may be composed of chips or may include chips and other discrete devices. In the following description, the device for implementing the functions of the terminal is taken as an example of the terminal.
[0078] (3) Prior map. The prior map involved in the embodiments of the present application may be prior knowledge for terminal positioning, which can comprehensively reflect road conditions and assist the terminal in obtaining positioning information. For example, the terminal may match the current environmental information with the prior map to obtain its own position in the prior map. For another example, the prior map may be a high-precision map with a centimeter-level accuracy.
[0079] (4) Grid map may refer to a map that divides the environment into a series of grids, where each grid may include a possible feature value. The feature value may be the probability that the positioning reference object occupies the grid, and its value may range from 0 to 1. For example, a feature value of 1 for a grid may indicate that the grid is occupied by the positioning reference object. For example, a feature value of 0 for a grid may indicate that the grid is not occupied by the positioning reference object. The larger the feature value of the grid, the greater the probability that the grid is occupied by the positioning reference object, and the greater the impact of the grid on positioning.
[0080] (5) Positioning reference object. The positioning reference objects involved in the embodiments of the present application may include, but are not limited to, objects such as lanes, trees, buildings, roadside landmarks, or flower beds that are helpful for positioning. For example, the map server may receive the environmental information collected by the measurement device, extract the features of the positioning reference object from the environmental information, and then construct a prior map based on the features of the positioning reference object. For another example, the vehicle may collect the environmental information of its current location, extract the features of the positioning reference object from the environmental information, and then match the features of the positioning reference object with the features of the positioning reference object in the prior map to obtain the position information of the vehicle.
[0081] In the embodiments of the present application, "a plurality of" means two or more. In view of this, in the embodiments of the present application, "a plurality of" can also be understood as "at least two". "At least one" can be understood as one or more, for example, it can be understood as one, two or more. For example, including at least one means including one, two or more, and it does not limit which ones are included. For example, including at least one of A, B, and C, then what can be included are A, B, C, A and B, A and C, B and C, or A and B and C. "And / or" describes the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / ", unless otherwise specified, generally means that the associated objects before and after are in an "or" relationship.
[0082] Unless otherwise stated, the ordinal numbers such as "first", "second", and "third" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the order, time sequence, priority, or importance of multiple objects.
[0083] The method for generating a positioning map and the positioning method provided by the embodiments of the present application will be further introduced below with reference to the accompanying drawings.
[0084] Figure 1 The following shows a schematic diagram of an application scenario applicable to the embodiments of the present application. As Figure 1The indicated lane driving direction information includes 4 lanes, where the driving directions of the two left lanes are the same, and the driving directions of the vehicles in the two right lanes are the same. The vehicle can be an intelligent vehicle or a non-intelligent vehicle, and the embodiments of the present application do not limit this. A sensor is provided on the vehicle, and this sensor is used to detect targets around the vehicle, for example, targets such as trees in the green belt, roadside landmarks, lane boundaries or lane lines. Among them, the sensor can include but is not limited to lidar, millimeter wave radar or camera, etc. One or more types of sensors can be provided on the vehicle, and the number of each type of sensor can be one or more. The sensor can be installed on the top of the vehicle, and specifically can be set at the middle position on the top of the vehicle. The embodiments of the present application do not limit the installation position and quantity of the sensors in the vehicle. In the embodiments of the present application, the vehicle can communicate with other objects based on vehicle-to-everything (V2X) wireless communication technology. For example, vehicle-to-vehicle (V2V) wireless communication technology can be used to achieve communication between vehicles. The communication between the vehicle and other objects can be carried out based on wireless high-fidelity (such as wireless fidelity (Wi-Fi)), 5th generation (5G) mobile communication technology, etc. For example, communication between the vehicle and an intelligent device (such as a smartphone or mobile device supporting a positioning function) can be achieved based on 5G.
[0085] For example, Figure 1 The application scenario shown may further include a map server, and this map server can be implemented by a server or virtual machine in the cloud. Taking Figure 1 the sensor in the shown scenario being a lidar sensor as an example, the preset area of the vehicle's sensor is as Figure 1 shown by the dotted-line frame circle in the figure. Taking the vehicle as the center, it is an area with a preset distance as the radius. This preset distance can be a value less than or equal to the radius of the coverage range of the lidar signal emitted by the vehicle. For example, when constructing a prior map, the vehicle (or other measurement devices with sensors) can collect lidar data of targets within the preset range through the sensor, and then send the collected lidar data to the map server. Thus, the map server can construct a prior map based on this lidar data. Further, the map server can also send the prior map to the vehicle. For another example, during positioning, the vehicle (or other devices to be positioned with sensors) can collect lidar data of targets within the preset range through the sensor, and then match the collected lidar data with the prior map. Thus, the vehicle (or other devices to be positioned with sensors) can obtain its own position and pose in the prior map. Further, the vehicle can also perform path planning, decision-making, etc. according to its own position and pose in the prior map.
[0086] Exemplarily, Figure 1 In the application scenario shown, the number of map servers can be one or more. For example, two map servers can be Map Server 1 and Map Server 2 respectively. Among them, Map Server 1 can construct prior maps of multiple regions, and the multiple regions can include the regions covered by Map Server 2. Thus, Map Server 2 can obtain the prior map of its covered region through interaction with Map Server 1 and store it. Further, Map Server 2 can also interact with the vehicle and send the prior map of its covered region to the vehicle so that the vehicle can perform positioning in the covered region of Map Server 2. Optionally, Map Server 1 can also interact with the vehicle and send the prior maps of the multiple regions to the vehicle so that the vehicle can perform positioning within the multiple regions. For another example, Map Server 2 can also construct and store the prior map of its covered region.
[0087] As prior knowledge for vehicle positioning, the prior map needs to have a complete description of the environment and be able to comprehensively reflect the information in the environment that is helpful for positioning. Therefore, a measurement device with sensors needs to collect a large amount of characteristic information of positioning reference objects to construct the prior map. For example, the positioning reference objects can include but are not limited to trees, roads, buildings, or roadside landmarks, etc. For example, these characteristic information can include road data (such as lane information like the position, type, width, slope, or curvature of lane lines) and detailed information around the lanes (such as traffic signs, traffic lights, roadside landmarks, road edge types, guardrails, or trees, etc.). Considering that obtaining and processing a large amount of characteristic information requires a large amount of human and material resources, the construction cycle of the prior map will not be very frequent. This requires that the positioning reference objects used to construct the prior map do not change within a certain period of time, such as position change, shape change, or attitude change, etc.
[0088] However, due to the influence of external factors (such as weather changes or season changes, etc.), the positioning reference objects are not absolutely unchanged. When the positioning reference objects change, the characteristics of the positioning reference objects collected by the vehicle in real time cannot completely correspond to the characteristics of the positioning reference objects in the prior map, resulting in an error in the matching result between the two and making it difficult to ensure the accuracy of the positioning information. For example, when the wind blows the trees and the branches and leaves of the trees shake, in this case, the characteristics of the trees collected by the vehicle cannot completely correspond to the characteristics of the trees in the prior map. As Figure 2 shown, the solid line part can be the position of the tree collected by the measurement device when constructing the prior map, and the dashed line part can be the position of the tree collected by the vehicle during positioning. Obviously, the two cannot completely correspond. For another example, as the seasons change, the crowns of the trees will change. In this case, the shape of the trees collected by the vehicle also cannot completely correspond to the shape of the trees in the prior map, asFigure 3 As shown, the solid line part may be the shape of the trees collected by the measuring device when constructing the prior map, and the dotted line part may be the shape of the trees collected by the vehicle during positioning. Obviously, the two cannot completely correspond. In addition, according to the requirements of the mapping standard, the map needs to be offset during the process of constructing the prior map. For example, it is offset by 20 centimeters every 100 meters. Correspondingly, during positioning, the vehicle needs to perform corresponding offset processing on the collected features or perform corresponding de-offset processing on the prior map. Errors are inevitably introduced during the offset processing or de-offset processing, which will also lead to inaccurate positioning results. It can be seen that the current prior map has poor error compatibility and it is difficult to ensure the accuracy of positioning.
[0089] In view of this, an embodiment of the present application provides a positioning map generation method. In this method, the first map includes a first grid and a second grid. The feature value of the first grid is greater than or equal to a first threshold, and the feature value of the second grid is less than or equal to a second threshold. The feature value of the second grid is updated according to the feature value of the first grid, so that the feature value of the updated second grid is greater than the second threshold but less than the feature value of the first grid. Then, a third map is generated according to the updated second grid. The feature value of the updated second grid being greater than the second threshold but less than the feature value of the first grid means that the probability of the positioning reference object occupying the second grid is increased, so that the influence of the updated second grid on positioning is also correspondingly increased. However, the influence of the updated second grid on positioning does not exceed the influence of the first grid on positioning. Therefore, the third map generated according to the updated second grid can well accommodate the errors caused by dynamic features, offset operations or de-offset operations during the positioning process, while also ensuring the influence of the original features on positioning, avoiding the introduction of additional errors, and improving the robustness of positioning.
[0090] Figure 4 The following is a schematic flowchart of a positioning method provided by an embodiment of the present application. The network device generates a third map and sends the third map to the terminal. The terminal receives the third map and performs positioning based on the third map. This method can be applied to Figure 1 the communication system shown in Figure 1 the communication system shown in. Taking the case where the network device is a map server and the terminal is a vehicle as an example, this method will be introduced.
[0091] S401: The map server obtains a fourth map.
[0092] As an example, the map server can obtain the fourth map in the following manner: A1, a measurement device equipped with sensors collects environmental information and sends the environmental information to the map server, and the map server receives the environmental information; A2, the map server extracts the features of the positioning reference object from the environmental information and constructs a prior map based on the features of the positioning reference object. The fourth map can be part or all of the prior map. Among them, the sensors of the measurement device can include, but are not limited to, at least one of a camera, a lidar sensor, or a millimeter-wave radar. By way of example, the fourth map can also be a high-precision map with a centimeter-level accuracy.
[0093] As an example, the fourth map can include a first grid and a fourth grid, the feature value of the first grid is greater than or equal to a first threshold, and the feature value of the fourth grid is less than or equal to a second threshold. Among them, the first threshold can be greater than the second threshold. The first threshold and the second threshold can be predefined. For example, the first threshold is 1 and the second threshold is 0. The feature value can be the probability that the positioning reference object occupies the grid, and the positioning reference object can be used to determine the positioning information of the vehicle.
[0094] As an example, the fourth map can be a three-dimensional grid map, or a two-dimensional grid map, or a probability map, etc. The embodiments of the present application do not limit the specific form of the fourth map.
[0095] S402: The map server divides the fourth map to obtain a first map.
[0096] For example, the map server can divide the fourth map to obtain one or more first maps. The first map can include a first grid and a second grid. Among them, the feature value of the second grid is less than or equal to the second threshold. For example, the second grid can be part or all of the fourth grid in the first map. For example, if the second grid is part of the fourth grid in the first map, the first map can include the first grid, the second grid, and the fourth grid.
[0097] As an example, if the fourth map is a two-dimensional grid map or a three-dimensional grid map, the map server can divide the fourth map into multiple sub-maps in an evenly divided manner to obtain one or more first maps. If the fourth map is a probability map, the map server can first convert the fourth map into a two-dimensional grid map (or a three-dimensional grid map), and then divide the converted two-dimensional grid map (or three-dimensional grid map) into multiple sub-maps in an evenly divided manner to obtain one or more first maps. Among them, the first map can be a two-dimensional grid map or a three-dimensional grid map, and the embodiments of the present application do not limit this.
[0098] For example, the fourth map is a two-dimensional grid map. The fourth map may include 100 grids. The map server may evenly divide the fourth map into 4 sub-maps to obtain 2 first maps. Each first map includes 25 grids, as Figure 5 shown. As another example, the fourth map is a three-dimensional grid map. The fourth map may include 10 layers, and each layer includes 100 grids. The map server may evenly divide the fourth map into 4 sub-maps to obtain 1 first map, as Figure 6A shown, Figure 6A where the thick black line in Figure 6A represents the first grid, and the rest are the fourth grids. Among them, Figure 6B the first map shown
[0099] includes 5 layers, and each layer includes 25 grids. From top to bottom, the first, second, and third layers of this first map each include one first grid, and the fourth and fifth layers of this first map each include two first grids, as Figure 6B shown,
[0100]
[0101]
[0102] where A i represents the eigenvalue of the grids in the i-th layer from top to bottom of the first map, and i is an integer greater than or equal to 1 and less than or equal to 5.
[0103] As another example, the second grid may be part of the fourth grids. For example, the second grid may be the grids among the fourth grids whose distance from the first grid is less than or equal to the first distance, that is, the distance between the second grid and the first grid is less than or equal to the first distance. That is to say, only updating the grids whose distance from the first grid is less than or equal to the first distance can avoid introducing additional errors.
[0104] For example, the distance between the second grid and the first grid may be the horizontal distance, or the vertical distance, or the horizontal distance and the vertical distance, or the distance radiating from the first grid to the surroundings, etc. When the first map is a three-dimensional grid map, the distance between the first grid and the second grid may also be the radius value radiating from the first grid to the surroundings in the horizontal direction, or the radius value radiating from the first grid to the surroundings in the vertical direction, or the radius value radiating from the first grid to the surroundings in the horizontal direction and the vertical direction, etc. For example, if the first Figure 2For a two-dimensional grid map, the horizontal distance may refer to the distance in the direction parallel to the X-axis in the coordinate system, and the vertical distance may refer to the distance in the direction perpendicular to the X-axis in the coordinate system. For another example, if the first map is a three-dimensional map, the horizontal distance may be the distance in the direction parallel to the XOY plane in the coordinate system, and the vertical distance may refer to the distance in the direction perpendicular to the XOY plane in the coordinate system. Among them, the coordinate system may be a world coordinate system, or a coordinate system with the terminal as the origin, etc., and the embodiments of the present application do not limit this comparison.
[0105] Taking the first map as a two-dimensional grid map, the first map includes 25 grids, and the first distance is a distance greater than two grids and less than three grids as an example. If the distance between the first grid and the second grid is the horizontal distance, then the first grid, the third grid, and the fourth grid in the fourth row of the first map are the second grid, as Figure 7A shown. If the distance between the first grid and the second grid is the vertical distance, then the second grid, the third grid, and the fifth grid in the second column of the first map are the second grid, as Figure 7B shown. If the distance between the first grid and the second grid includes the horizontal distance and the vertical distance, then the first grid, the third grid, and the fourth grid in the fourth row of the first map, and the second grid, the third grid, and the fifth grid in the second column are the second grid, as Figure 7C shown. If the distance between the first grid and the second grid is the radius value radiating from the first grid to the surrounding, then the first grid, the second grid, the third grid, and the fourth grid in the second row, the third row, and the fifth row of the first map, and the first grid, the third grid, and the fourth grid in the fourth row are the second grid, as Figure 7D shown.
[0106] Taking the first map as a three-dimensional grid, the first map includes 5 layers, each layer includes 25 grids, the second layer from top to bottom of the first map includes a first grid, and the first distance is a distance greater than two grids and less than three grids as an example. If the distance between the first grid and the second grid is the radius value radiating from the first grid to the surrounding in the horizontal direction, then the first grid, the second grid, the third grid, and the fourth grid in the second row, the third row, and the fifth row of the second layer from top to bottom of the first map, and the first grid, the third grid, and the fourth grid in the fourth row are the second grid, as Figure 8A shown. If the distance between the first grid and the second grid is the radius value radiating from the first grid to the surrounding in the vertical direction, then the second grid, the third grid, the fourth grid, and the fifth grid in the second column of the first layer, the third layer, and the fourth layer from top to bottom of the first map, and the second grid, the third grid, and the fifth grid in the second column of the second layer are the second grid, as Figure 8BAs shown. If the distance between the first grid and the second grid is the radius value radiating from the first grid to the surroundings, then in the first map, the first grids, second grids, third grids, and fourth grids in the second row, third row, fourth row, and fifth row of the first layer, third layer, and fourth layer from top to bottom, and the first grids, second grids, third grids, and fourth grids in the second row, third row, and fifth row of the second layer, and the first grid, third grid, and fourth grid in the fourth row of the second layer are the second grids, as Figure 8C shown.
[0107] In a possible implementation manner, the map server can divide the fourth map to obtain the first map and the seventh map. Among them, the seventh map includes the fifth map and / or the sixth map. The fifth map may only include the first grid, as Figure 5 shown in the sub-map at the lower left corner of the fourth map in Figure 5 shown in the sub-map at the lower right corner of the fourth map in. That is, the map server can divide the fourth map to obtain the first map and the fifth map, or the map server can divide the fourth map to obtain the first map and the sixth map, or the map server can divide the fourth map to obtain the first map, the fifth map, and the sixth map.
[0108] S403: The map server updates the feature value of the second grid according to the feature value of the first grid to obtain the second map.
[0109] Exemplarily, if the first map is a two-dimensional grid map, the map server can update the feature value of the second grid according to the feature value of the first grid to obtain the second map. Or, if the first map is a three-dimensional grid map, the map server can update the feature value of the second grid according to the feature value of the first grid in each layer to obtain the second map. For example, the map server can use at least one of algorithms such as morphological dilation algorithm, Gaussian smoothing algorithm, or linear smoothing algorithm to update the feature value of the second grid to obtain the second map. The embodiments of the present application do not limit the update algorithm. Among them, the second map may include the first grid and the third grid. The third grid can also be called the updated second grid, and the feature value of the third grid is greater than the second threshold. For the convenience of description, the third grid in the second map may be called the updated second grid hereinafter. Optionally, the second map may further include the fourth grid.
[0110] As an example, the eigenvalue of the updated second grid can be less than that of the first grid. The map server updates the eigenvalue of the second grid according to the eigenvalue of the first grid, such that the eigenvalue of the updated second grid is greater than the second threshold but less than the eigenvalue of the first grid, meaning that while enhancing the impact of the second grid on positioning, the impact of the updated second grid on positioning is also made less than that of the first grid on positioning, ensuring the impact of the original positioning features, thereby enhancing the compatibility of the prior map with errors while avoiding the introduction of additional errors, and improving the robustness of positioning.
[0111] As another example, the map server can also update the eigenvalue of the second grid according to the distance between the first grid and the second grid. For example, the greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid. In this way, as the distance between the first grid and the second grid increases, the impact of the updated second grid on positioning gradually decreases, avoiding the introduction of additional errors while being compatible with errors, and improving the robustness of positioning. For example, if the distances between multiple second grids and the same first grid are the same, then the eigenvalues of the updated multiple second grids are also the same. As another example, if the distances between the second grid and at least one first grid are all less than or equal to the first distance, then the eigenvalue of the updated second grid can be determined by the eigenvalue of the first grid with the smallest distance to the second grid among the at least one first grid.
[0112] Taking Figure 6B the first map shown as an example, the first distance is the distance greater than two grids and less than three grids, the distance between the first grid and the second grid is the radius value radiating from the first grid in all directions, the first threshold is 1, the second threshold is 0, and the map server updates the eigenvalue of the second grid according to the first grid in each layer to obtain the second map. The eigenvalues of the grids in each layer from top to bottom in the second map are as Figure 9 shown. If the eigenvalues of the grids in each layer of the second map are represented by a matrix, then the eigenvalues of the grids in each layer from top to bottom in the second map are as follows:
[0113]
[0114]
[0115] where B i represents the eigenvalue of the grid in the i-th layer from top to bottom in the second map, and i is an integer greater than or equal to 1 and less than or equal to 5.
[0116] S404: The map server generates a third map according to the second map.
[0117] For example, if the map server divides the fourth map into at least one first map, the map server may generate a third map based on at least one second map. Or, if the map server divides the fourth map into at least one first map and at least one fifth map, the map server may generate a third map based on at least one second map and at least one fifth map. Or if the map server divides the fourth map into at least one first map and at least one sixth map, the map server may generate a third map based on at least one second map and at least one sixth map. Or if the map server divides the fourth map into at least one first map, at least one fifth map, and at least one sixth map, the map server may generate a third map based on at least one second map, at least one fifth map, and at least one sixth map.
[0118] As an example, if the map server divides the fourth map into multiple sub-maps, in step S404, the map server may generate a third map based on at least two sub-maps, and at least one of the at least two sub-maps is a second map. For example, the map server may determine the adjacent eighth map and ninth map among the at least two sub-maps; update the eigenvalue of the sixth grid in the ninth map according to the eigenvalue of the fifth grid in the eighth map to obtain a tenth map, where the updated eigenvalue of the sixth grid is greater than the eigenvalue of the sixth grid before update and less than the eigenvalue of the fifth grid in the eighth map; the map server may generate a third map based on the tenth map and the eighth map. Among them, the eighth map includes a fifth grid, the ninth map includes a sixth grid, the eigenvalue of the fifth grid is greater than or equal to a first threshold, the eigenvalue of the sixth grid is less than the first threshold, and the distance between the sixth grid and the fifth grid is less than or equal to a first distance. For example, if the eighth map is a second map, the ninth map may be a second map, or a fifth map, or a sixth map; if the eighth map is a fifth map, the ninth map may be a sixth map. In this way, the eigenvalue of the sixth grid in an adjacent sub-map can be updated according to the eigenvalue of the fifth grid in a sub-map, so as to improve the influence of the sixth grid on positioning, and thus better compatible with the errors caused by dynamic features, bias addition operations, or bias subtraction operations during the positioning process, further improving the robustness of positioning.
[0119] For example, the distance between the fifth grid and the sixth grid can be a horizontal distance, or a vertical distance, or both a horizontal distance and a vertical distance, or a distance radiating from the fifth grid in all directions, etc. When the sub-map is a three-dimensional grid map, the distance between the fifth grid and the sixth grid can also be the radius value radiating from the fifth grid in all directions along the horizontal direction, or the radius value radiating from the fifth grid in all directions along the vertical direction, or the radius value radiating from the fifth grid in all directions along both the horizontal direction and the vertical direction, etc.
[0120] Taking Figure 5 the fourth map shown as an example, the first distance is a distance greater than two grids and less than three grids, the distance between the fifth grid and the sixth grid is the radius value radiating from the fifth grid in all directions, the first threshold is 1, the second threshold is 0. After the map server updates the eigenvalue of the second grid in the first map, two second maps, one fifth map, and one sixth map are obtained. The eigenvalues of the grids in these four sub-maps are as Figure 17 shown. Further, the map server can update the eigenvalue of the sixth grid in its adjacent sub-maps according to the eigenvalue of the fifth grid in a sub-map. The eigenvalues of the grids in each sub-map after the update are as Figure 18 shown.
[0121] Optionally, after generating the third map, the map server can also receive a first request message from the vehicle. This first request message is used to obtain the third map, that is, the map server can also execute the content shown in step S405 and step S406. Or, after generating the third map, the map server can send the third map to the vehicle, and the vehicle receives and stores the third map.
[0122] S405: The vehicle sends a first request message to the map server, and the map server receives the first request message.
[0123] Among them, the first request message is used to obtain the third map. For example, the vehicle owner can trigger the vehicle to send a first request message to the map server by operating the application installed on the vehicle and associated with the map server, and the map server receives the first request message.
[0124] S406: The map server sends a first response message to the vehicle, and the vehicle receives the first response message.
[0125] Among them, the first response message includes the third map.
[0126] S407: The vehicle obtains the environmental information of the environment where it is located.
[0127] Exemplarily, a vehicle may collect environmental information of the current environment through at least one of sensors such as cameras, lidars, or millimeter-wave radars. Taking the sensor as a camera as an example, the environmental information may be image data and / or video data captured by the camera. Taking the sensor as a lidar as an example, the environmental information may be radar data detected by the lidar.
[0128] S408: The vehicle matches the environmental information with a third map to obtain the positioning information of the vehicle.
[0129] Exemplarily, the vehicle may extract the features of a positioning reference object from the environmental information, and then match the features of the positioning reference object with the features of the positioning reference object in the third map to obtain the position information of the vehicle in the third map. Specifically, the vehicle may determine the positioning information of the vehicle through a Kalman filtering algorithm or a particle filtering algorithm.
[0130] Taking the particle filter as an example, the specific implementation process of step S408 is as follows: B1. The vehicle extracts the features of the positioning reference object according to the environmental information; B2. The vehicle generates a particle set according to the environmental information, where the particle set includes at least one particle, and each of the at least one particle may represent a possible pose of the vehicle in the third map; B3. The vehicle projects the features of the positioning reference object into the third map through each particle to obtain the projected position (i.e., the occupied grid) of the features of the positioning reference object in the third map; B4. The vehicle may accumulate the feature values of the projected positions of the features of the positioning reference object in the third map to obtain the score of each particle; B5. The vehicle may obtain the position information of the vehicle in the third map according to the score of each particle. Generally, the higher the score of a particle, the more likely it is that the particle represents the pose of the vehicle in the third map.
[0131] For example, the score of a particle may be determined according to the following formula:
[0132]
[0133] where w may represent the score of a particle, x, y, z may be the projected positions of the features projected into the third map through the particle, and g(·) may represent the feature value of the grid in the third map.
[0134] Taking the positioning reference object as a tree as an example, the map server extracts 7 features of the tree, constructs a three-dimensional grid map according to the 7 features. From top to bottom, the positions of the 7 features in the three-dimensional grid map are the second grid in the second row of the first layer of the three-dimensional grid map, the second grid in the second row of the second layer, the second grid in the second row of the third layer, the second grid in the second row of the fourth layer and the fourth grid in the third row, the second grid in the second row of the fifth layer and the fourth grid in the third row, as Figure 6BAs shown in the figure. Under the blowing of the wind, the branches shake and displace. In this case, the map server receives the environmental information from the vehicle, extracts 7 features of the trees according to the environmental information, and projects these 7 features onto the Figure 6B three-dimensional grid map shown. Looking down from top to bottom, the projection positions of these 7 features in the three-dimensional grid map are respectively the second grid in the first row of the first layer of the three-dimensional grid map, the second grid in the first row of the second layer, the second grid in the first row of the third layer, the second grid in the first row of the fourth layer and the fourth grid in the second row, the second grid in the first row of the fifth layer and the fourth grid in the second row, as Figure 10A shown. If these 7 features are projected onto the first map through particle 1, as Figure 10B shown, then the score of this particle 1 is w = 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0. If these 7 features are projected onto the third map through particle 1, as Figure 10C shown, then the score of this particle 1 is w = 0.8 + 0.8 + 0.8 + 0.8 + 0.8 + 0.8 + 0.8 = 5.6.
[0135] When the positioning reference object does not change, the features of the positioning reference object should be all projected onto the first grid through the particle, that is, the features of the positioning reference object collected by the vehicle in real time match the features of the positioning reference object in the prior map. When the positioning reference object changes or errors are introduced due to addition / subtraction bias operations, the features of the positioning reference object also deviate accordingly. As a result, the features of the positioning reference object cannot be all projected onto the first grid through the particle, but are projected onto the adjacent grids of the first grid. The adjacent grids of the first grid may be the fourth grid. As Figure 10B shown, the projection positions of the 7 features through particle 1 only deviate from the correct position (i.e., the first grid) by the distance of one grid, but are all projected into the fourth grid around the correct position, making the score of particle 1 0, greatly reducing the impact of particle 1 on positioning. That is to say, when the positioning reference object changes or errors are introduced due to addition / subtraction bias operations, the existing prior map will cause the problem that the particle scores around the correct position drop sharply, greatly reducing the impact of the particle on positioning, thus resulting in inaccurate positioning. From Figure 10B and Figure 10C it can be seen that the third map can be compatible with the errors caused by the change of the positioning reference object or the introduction of addition / subtraction bias operations, and can effectively reduce the impact of inaccurate positioning caused by the sharp drop of particle scores around the correct position.
[0136] In the above embodiments of the present application, the map server obtains a first map, which includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold. The eigenvalue of the second grid is updated according to the eigenvalue of the first grid, so that the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid, and a third map is generated according to the updated second grid. The fact that the eigenvalue of the updated second grid is greater than the second threshold means that the probability of the positioning reference object occupying the second grid is increased, so that the influence of the updated second grid on positioning is also correspondingly increased. Therefore, the third map generated according to the updated second grid can well accommodate errors caused by dynamic features, bias addition operations, or bias subtraction operations during the positioning process. At the same time, it also ensures the influence of the original features on positioning, avoids introducing additional errors, and can improve the robustness of positioning. For example, when combined with particle filtering, the third map can reduce the problem of sudden drops in particle scores that may exist around the correct positioning, thereby effectively reducing the impact of inaccurate positioning caused by sudden drops in particle scores.
[0137] Figure 11 The following is a schematic flowchart of another positioning method provided by an embodiment of the present application. This method can be applied to Figure 1 the communication system shown in the figure. The following takes this method applied to Figure 1 the communication system shown in the figure, where the network device is a map server and the terminal is a vehicle as an example to introduce this method.
[0138] S1101: The vehicle obtains environmental information about the environment it is in.
[0139] Exemplarily, the vehicle can collect environmental information about the current environment through at least one of sensors such as a camera, lidar, or millimeter-wave radar. Taking the camera as an example, the environmental information can be image data and / or video data captured by the camera. Taking the lidar as an example, the environmental information can be radar data detected by the lidar.
[0140] S1102: The vehicle obtains a first map according to the environmental information.
[0141] Among them, the first map can include a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold, and the first threshold is greater than the second threshold. For example, the first map can be a two-dimensional grid map or a three-dimensional grid map.
[0142] Exemplarily, the distance between the first grid and the second grid can be less than or equal to a first distance, such as Figure 7A , Figure 7B , Figure 7C , Figure 8A , Figure 8B orFigure 8C as shown
[0143] Exemplarily, the vehicle may send a second request message to the map server according to the environmental information, and the map server receives the second request message, which is used to request to obtain a fourth map. The vehicle receives a second response message from the map server, and the second response message includes the fourth map. Further, the vehicle may divide the fourth map to obtain a first map. Among them, the construction process of the fourth map and the acquisition process of the first map may respectively refer to Figure 4 Steps 401 and S402 in, which will not be elaborated here.
[0144] S1103: The vehicle updates the eigenvalue of the second grid according to the eigenvalue of the first grid to obtain a second map.
[0145] Among them, the updated eigenvalue of the second grid may be greater than the second threshold.
[0146] Exemplarily, the updated eigenvalue of the second grid may be greater than the second threshold but less than the eigenvalue of the first grid.
[0147] Exemplarily, the greater the distance between the first grid and the second grid, the smaller the updated eigenvalue of the second grid.
[0148] The specific implementation process of step S1103 may refer to Figure 4 the content described in step S403 in, which will not be elaborated here.
[0149] S1104: The vehicle generates a third map according to the second map.
[0150] S1105: The vehicle matches the environmental information with the third map to obtain the positioning information of the vehicle.
[0151] The specific implementation processes of steps S1104 and S1105 may respectively refer to Figure 4 the content shown in steps S404 and S408 in, which will not be elaborated here.
[0152] In the above embodiments of the present application, the terminal itself can process the stored offline map (i.e., the first map) to generate a third map, that is, update the eigenvalue of the second grid according to the eigenvalue of the first grid, so that the eigenvalue of the updated second grid is greater than the second threshold, and generate a third map according to the updated second grid. Then the terminal performs positioning according to the generated third map. Since the eigenvalue of the updated second grid is greater than the second threshold, it means that the probability of the positioning reference object occupying the second grid is increased, and the influence of the updated second grid on positioning is also correspondingly increased. Therefore, the third map generated according to the updated second grid can well accommodate the errors caused by dynamic features, biasing operations or debiasing operations during the positioning process, and can improve the robustness of positioning. In addition, the terminal can save the third map in the form of a two-dimensional grid map, which can reduce the map data stored offline and improve the utilization rate of the storage space.
[0153] Based on the above method embodiments, the embodiments of the present application further provide a positioning map generation device, which is used to implement the above Figure 4 function of generating a positioning map. The positioning map generation device can be a map server or a chip set on the map server. Refer to Figure 12 As shown, the positioning map generation device 1200 includes: an acquisition unit 1201, an update unit 1202, and a map generation unit 1203. Optionally, the positioning map generation device may further include a transceiver unit 1204. The functions and connections of each unit when the positioning map generation device 1200 generates a positioning map are introduced below.
[0154] The acquisition unit 1201 is configured to acquire a first map, where the first map includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold. Among them, the first threshold is greater than the second threshold, and the eigenvalue is the probability of the positioning reference object occupying the grid, and the positioning reference object is used to determine the positioning information of the terminal.
[0155] The update unit 1202 is configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid so that the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid, and obtain a second map.
[0156] The map generation unit 1203 is configured to generate a third map according to the second map.
[0157] A possible implementation manner is that the distance between the first grid and the second grid can be less than or equal to a first distance.
[0158] A possible implementation manner is that the greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid.
[0159] A possible implementation manner, a transceiver unit 1204, is configured to receive a first request message from a terminal, where the first request message is used to request to obtain the third map; and send a first response message to the terminal, where the first response message includes the third map.
[0160] Based on the above method embodiments, an embodiment of the present application further provides a positioning device, which is used to implement the positioning function described above Figure 4 The positioning device may be a vehicle with a radar sensor or a chip disposed on a vehicle with a radar sensor. Refer to Figure 13 As shown, the positioning device 1300 includes: an acquisition unit 1301 and a positioning unit 1302. Optionally, the positioning device may further include a transceiver unit 1303. The functions and relationships of each unit when the positioning device 1300 performs positioning are introduced below.
[0161] The acquisition unit 1301 is configured to acquire environmental information of its surrounding environment.
[0162] The positioning unit 1302 is configured to determine a third map according to the environmental information, where the third map is generated according to a second map, the second map includes a first grid and a third grid, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the third grid is greater than a second threshold and less than the eigenvalue of the first grid, and the eigenvalue of the third grid is determined according to the eigenvalue of the first grid, where the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies a grid, and the positioning reference object is used to determine the positioning information of the terminal; and match the environmental information with the third map to obtain the positioning information of the terminal.
[0163] A possible implementation manner, the distance between the first grid and the third grid may be less than or equal to a first distance.
[0164] A possible implementation manner, the greater the distance between the first grid and the third grid, the smaller the eigenvalue of the third grid.
[0165] A possible implementation manner, the transceiver unit 1303 is configured to send a first request message to a network device, where the first request message is used to request to obtain the third map; and receive a first response message from the network device, where the first response message includes the third map.
[0166] Based on the above method embodiments, an embodiment of the present application further provides a positioning device, which is used to implement the functions of generating a positioning map and positioning described above Figure 11 The positioning device may be a vehicle with a radar sensor or a chip disposed on a vehicle with a radar sensor. Refer to Figure 14As shown in the figure, the positioning device 1400 includes: an acquisition unit 1401, an update unit 1402, a map generation unit 1403, and a positioning unit 1404. Optionally, the positioning device may further include a transceiver unit 1405. The functions and connections of each unit of the positioning device 1400 during positioning are introduced below.
[0167] The acquisition unit 1401 is configured to acquire environmental information of its surrounding environment, and based on the environmental information, acquire a first map. The first map includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold. Here, the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies a grid. The positioning reference object is used to determine the positioning information of the terminal.
[0168] The update unit 1402 is configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid, so that the updated eigenvalue of the second grid is greater than the second threshold and less than the eigenvalue of the first grid, to obtain a second map.
[0169] The map generation unit 1403 is configured to generate a third map based on the second map.
[0170] The positioning unit 1404 is configured to match the environmental information with the third map to obtain the positioning information of the terminal.
[0171] In a possible implementation, the distance between the first grid and the second grid may be less than or equal to a first distance.
[0172] In a possible implementation, the greater the distance between the first grid and the second grid, the smaller the updated eigenvalue of the second grid.
[0173] It should be noted that the division of units in the above embodiments of the present application is illustrative, merely a logical function division. In actual implementation, there may be other division methods. In addition, in each embodiment of the present application, each functional unit may be integrated in a processing unit, or may be a separate integrated unit, or two or more units may be integrated in one unit. One or more of the above units may be implemented by software, hardware, firmware, or a combination thereof. The software or firmware includes, but is not limited to, computer program instructions or code, and can be executed by a hardware processor. The hardware includes, but is not limited to, various integrated circuits, such as a central processing unit (CPU), a digital signal processor (DSP), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).
[0174] When an integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product can be stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods of various embodiments of this application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.
[0175] Based on the above embodiments, the embodiments of this application also provide a communication device, which can implement the above Figure 4 function of generating a positioning map. This communication device can be Figure 1 the map server shown. Refer to Figure 15 As shown, the communication device 1500 includes: a communication interface 1501, a processor 1502, and a memory 1503.
[0176] The communication interface 1501 and the memory 1503 are connected to the processor 1502. Optionally, the communication interface 1501 and the memory 1503 can be connected to the processor 1502 through a bus; the bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 15 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.
[0177] The communication interface 1501 is used to enable the positioning map generation device to communicate with other components in the positioning system. For example, the communication interface 1501 can be used to receive a first request message from a vehicle, where the first request message is used to obtain a third map, and to send a first response message to the vehicle, where the first response message includes the third map.
[0178] The processor 1502 is used to implement the above as Figure 4The positioning map generation method shown above, in one possible implementation, the processor 1502 can be used to obtain a first map, which includes a first grid and a second grid. The eigenvalue of the first grid is greater than or equal to a first threshold, and the eigenvalue of the second grid is less than or equal to a second threshold. According to the eigenvalue of the first grid, update the eigenvalue of the second grid so that the updated eigenvalue of the second grid is greater than the second threshold and less than the eigenvalue of the first grid, obtain a second map, and generate a third map based on the second map. For details, please refer to the description in the above Figure 4 embodiment shown, which will not be elaborated here. Optionally, the processor 1502 can be a central processing unit (CPU) or other hardware chips. The above hardware chips can be application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or a combination thereof. The above PLDs can be complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), generic array logics (GALs), or any combination thereof. When implementing the above functions, the processor 1502 can be implemented by hardware, or of course, it can also execute corresponding software through hardware.
[0179] The memory 1503 is used to store program instructions and data, etc. Specifically, the program instructions can include program codes, and the program codes include instructions for computer operations. The memory 1503 may include a random access memory (RAM), and may also include non-volatile memory, such as at least one disk memory. The processor 1502 executes the programs stored in the memory 1503 and, through the above components, implements the above functions, thereby finally implementing the method provided in the above embodiments.
[0180] Based on the above embodiments, the embodiments of the present application further provide a communication device, which can implement the above Figure 4 function of generating positioning, or implement the functions of generating a positioning map and positioning in the above Figure 11 . The communication device can be the Figure 1 vehicle shown above. Refer to Figure 16 shown. The communication device 1600 includes: a communication interface 1601, a processor 1602, and a memory 1603.
[0181] The communication interface 1601 and the memory 1603 are interconnected with the processor 1602. Optionally, the communication interface 1601 and the memory 1603 can be interconnected with the processor 1602 through a bus; the bus can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 16 only a thick line is used to represent it in the figure, but it does not mean that there is only one bus or one type of bus.
[0182] The communication interface 1601 is used to implement the communication between the positioning map generation device and other components in the positioning system. For example, the communication interface 1601 can be used to send a first request message (or a second request message, where the second request message is used to obtain the fourth map) to the positioning map. The first request message is used to obtain the third map, and receive a first response message (or a second response message, where the second response message includes the fourth map) from the map server. The first response message includes the third map.
[0183] The processor 1602 is used to implement the positioning map generation method as shown above Figure 4 or the positioning map generation method as shown above Figure 11 In a possible implementation manner, the processor 1602 can be used to obtain the environmental information of the surrounding environment, determine the third map according to the environmental information, match the environmental information with the third map to obtain the positioning information of the terminal. Alternatively, the processor 1602 can be used to obtain the first map, update the feature value of the second grid according to the feature value of the first grid so that the updated feature value of the second grid is greater than the second threshold and less than the feature value of the first grid to obtain the second map, and generate the third map according to the second map, and match the environmental information with the third map to obtain the positioning information of the terminal. Specifically, reference can be made to the above Figure 4 or Figure 11The descriptions in the illustrated embodiments are not repeated here. Optionally, the processor 1602 may be a central processing unit (CPU) or other hardware chips. The above-mentioned hardware chips may be application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or a combination thereof. The above-mentioned PLDs may be complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), generic array logics (GALs), or any combination thereof. When implementing the above functions, the processor 1602 may be implemented by hardware, or of course, it may also implement the corresponding software through hardware.
[0184] The memory 1603 is used to store program instructions and data, etc. Specifically, the program instructions may include program codes, and the program codes include instructions for computer operations. The memory 1603 may include a random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. The processor 1602 executes the programs stored in the memory 1603 and, through the above-mentioned various components, implements the above functions, thereby finally implementing the method provided in the above embodiments.
[0185] Based on the above embodiments, the embodiments of the present application also provide a computer program. When the computer program runs on a computer, the computer is enabled to execute the method provided in the above embodiments.
[0186] Based on the above embodiments, the embodiments of the present application also provide a computer storage medium. A computer program is stored in the computer storage medium. When the computer program is executed by a computer, the computer is enabled to execute the method provided in the above embodiments.
[0187] Based on the above embodiments, the embodiments of the present application also provide a computer product. The computer product includes a computer program or instructions. When the computer program or instructions are executed, the computer product can be enabled to execute the method provided in the above embodiments.
[0188] Based on the above embodiments, the embodiments of the present application also provide a chip. The chip is used to read the computer program stored in the memory and implement the method provided in the above embodiments.
[0189] Based on the above embodiments, the embodiments of the present application provide a chip system. The chip system includes a processor, which is used to support a computer device to implement the functions involved in the high-precision map generation device and / or the positioning device in the methods provided in the above embodiments. In a possible design, the chip system further includes a memory, and the memory is used to store the necessary programs and data of the computer device. The chip system can be composed of chips, or can include chips and other discrete devices.
[0190] Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0191] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0192] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device implements the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0193] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.
[0194] Obviously, those skilled in the art can make various changes and modifications to this application without departing from the scope of protection of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalent technologies, this application also intends to include these modifications and variations.
Claims
1. A method for generating a positioning map, characterized in that, Comprising: Obtain a first map, where the first map includes a first grid and a second grid; wherein, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the second grid is less than or equal to a second threshold, the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; Update the eigenvalue of the second grid according to the eigenvalue of the first grid to obtain a second map, and the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid; Generate a third map according to the second map.
2. The method according to claim 1, wherein: The distance between the first grid and the second grid is less than or equal to a first distance.
3. The method according to claim 1 or 2, wherein: The greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid.
4. The method according to claim 1 or 2, characterized in that, The method further includes: Receive a first request message from the terminal, where the first request message is used to request to obtain the third map; Send a first response message to the terminal, and the first response message includes the third map.
5. A positioning method, characterized in that, Comprising: Obtain the environmental information of the environment where the terminal is located; Determine a third map according to the environmental information, where the third map is generated according to a second map, the second map includes a first grid and a third grid, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the third grid is greater than the second threshold and less than the eigenvalue of the first grid, the eigenvalue of the third grid is determined according to the eigenvalue of the first grid, the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal, and the first threshold is greater than the second threshold; Match the environmental information with the third map to obtain the positioning information of the terminal.
6. The method according to claim 5, wherein: The distance between the first grid and the third grid is less than or equal to a first distance.
7. The method according to claim 5 or 6, wherein: The greater the distance between the first grid and the third grid, the smaller the eigenvalue of the third grid.
8. The method according to claim 5 or 6, characterized in that The method further includes: Send a first request message to a network device, where the first request message is used to request to obtain the third map; Receive a first response message from the network device, and the first response message includes the third map.
9. A positioning method, characterized in that, Comprising: Obtain the environmental information of the environment where the terminal is located; Obtain a first map according to the environmental information, where the first map includes a first grid and a second grid, wherein, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the second grid is less than or equal to a second threshold, the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; Update the eigenvalue of the second grid according to the eigenvalue of the first grid to obtain a second map, where the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid; Generate a third map according to the second map; Match the environmental information with the third map to obtain the positioning information of the terminal.
10. The method according to claim 9, wherein The distance between the first grid and the second grid is less than or equal to a first distance.
11. The method according to claim 9 or 10, wherein The greater the distance between the first grid and the second grid, the smaller the eigenvalue of the updated second grid.
12. A positioning map generation device, characterized in that, Comprising: An acquisition unit, configured to acquire a first map, where the first map includes a first grid and a second grid; wherein, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the second grid is less than or equal to a second threshold, the first threshold is greater than the second threshold, and the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; An update unit, configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid to obtain a second map, where the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid; A map generation unit, configured to generate a third map according to the second map.
13. A positioning device, characterized in that, Comprising: An acquisition unit, configured to acquire environmental information of the environment where the terminal is located; A positioning unit, configured to determine a third map according to the environmental information, where the third map is generated according to a second map, the second map includes a first grid and a third grid, the eigenvalue of the first grid is greater than or equal to a first threshold, the eigenvalue of the third grid is greater than the second threshold and less than the eigenvalue of the first grid, the eigenvalue of the third grid is determined according to the eigenvalue of the first grid, and the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; match the environmental information with the third map to obtain the positioning information of the terminal, and the first threshold is greater than the second threshold.
14. A positioning device, characterized in that, Comprising: An acquisition unit, configured to acquire environmental information of the environment where the terminal is located; acquire a first map according to the environmental information, where the first map includes a first grid and a second grid, wherein, the eigenvalue of the first grid is greater than or equal to a first threshold, the first threshold is greater than the second threshold, the eigenvalue of the second grid is less than or equal to the second threshold, and the eigenvalue is the probability that a positioning reference object occupies the grid, and the positioning reference object is used to determine the positioning information of the terminal; An update unit, configured to update the eigenvalue of the second grid according to the eigenvalue of the first grid to obtain a second map, where the eigenvalue of the updated second grid is greater than the second threshold and less than the eigenvalue of the first grid; A map generation unit, configured to generate a third map according to the second map; A positioning unit for matching the environmental information with the third map to obtain the positioning information of the terminal.
15. A communication device, characterized in that, Comprising a memory and a processor; The memory stores computer programs or instructions; The processor is configured to call the computer programs or instructions stored in the memory and execute the method according to any one of claims 1-4.
16. A communication device, characterized in that, Comprising a memory and a processor; The memory stores computer programs or instructions; The processor is configured to call the computer programs or instructions stored in the memory and execute the method according to any one of claims 5-8 or 9-11.
17. A computer storage medium, characterized in that, Computer programs or instructions are stored in the computer-readable storage medium, and when the computer programs or instructions are executed by the driving decision-making device, the method according to any one of claims 1-4, or 5-8, or 9-11 is implemented.
18. A computer program product, characterized in that, Comprising computer programs or instructions, and when the computer programs or instructions are executed, the method according to any one of claims 1-4, or 5-8, or 9-11 is implemented.
Citation Information
Patent Citations
Image processing method and device for grid map
CN109855634A
Equipment positioning method, grid map construction method and mobile robot
CN110858076A