Target object positioning method, device, storage medium and computer program product
Through the methods of road network matching and lane area detection, the high-precision positioning of the target object in the target plane is achieved, and the problems of high cost and environmental dependence in the prior art are solved.
Patent Information
- Application Number
- CN202111363932.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-17
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-11-17
AI Technical Summary
The existing lane-level positioning and navigation technology relies on vision sensors and lidar, which is costly and highly affected by the weather and the environment, making it impossible to achieve low-cost and high-precision target positioning.
By obtaining the positioning data of the target object, the road network is matched to determine the target road, detect lane changes and determine the lane area of the candidate lane. When the projection point is located in the target lane area in the target plane, the target object is positioned to the target lane.
It realizes low-cost and high-precision lane-level positioning, reduces dependence on hardware conditions, and is suitable for complex environments and harsh weather.
Smart Images

Figure CN114061611B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of vehicle navigation and positioning, and in particular to a target object positioning method, device, computer equipment, storage medium and computer program product. Background Art
[0002] At present, with the rapid development of sensor technology, navigation and positioning technology has been widely used in vehicle positioning. With the increasing demand for navigation accuracy, the role of lane-level positioning and navigation is becoming more and more important.
[0003] The existing lane-level positioning and navigation technology is generally based on visual sensors, lidar and high-precision maps, and performs high-precision positioning through the distance between the center line of the lane and the current position of the vehicle. However, the cost of lidar is high, and visual sensors are greatly affected by weather, road environment, etc. The accuracy of lane estimation detection is low, and it is impossible to achieve low-cost and high-precision positioning of the target object. Summary of the invention
[0004] Based on this, it is necessary to provide a method, device, computer equipment, computer-readable storage medium and computer program product that can achieve low-cost and high-precision target object positioning in response to the above technical problems.
[0005] In a first aspect, the present application provides a method for locating a target object. The method comprises:
[0006] Obtaining the location data of the target object;
[0007] Perform road network matching according to the positioning data to determine the target road where the target object is located;
[0008] When the target object changes lanes on the target road, determining lane areas corresponding to the candidate lanes on the target road in the target plane;
[0009] Determine a target lane from the candidate lanes so that a projection point of the target object in the target plane is within a lane region corresponding to the target lane;
[0010] The target object is positioned in the target lane.
[0011] In a second aspect, the present application also provides a target object positioning device. The device comprises:
[0012] A positioning data acquisition module is used to acquire the positioning data of the target object;
[0013] A road network matching module, used to perform road network matching according to the positioning data to determine the target road where the target object is located;
[0014] A lane change detection module, used for determining lane areas corresponding to respective candidate lanes in the target road in a target plane when the target object changes lanes on the target road;
[0015] A lane positioning module, used to determine a target lane from the candidate lanes so that a projection point of the target object in the target plane is within a lane area corresponding to the target lane;
[0016] The target object is positioned in the target lane.
[0017] In a third aspect, the present application further provides a computer device. The computer device includes a memory and a processor, the memory stores a computer program, and the processor implements the following steps when executing the computer program:
[0018] Obtaining the location data of the target object;
[0019] Perform road network matching according to the positioning data to determine the target road where the target object is located;
[0020] When the target object changes lanes on the target road, determining lane areas corresponding to the candidate lanes on the target road in the target plane;
[0021] Determine a target lane from the candidate lanes so that a projection point of the target object in the target plane is within a lane region corresponding to the target lane;
[0022] The target object is positioned in the target lane.
[0023] In a fourth aspect, the present application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0024] Obtaining the location data of the target object;
[0025] Perform road network matching according to the positioning data to determine the target road where the target object is located;
[0026] When the target object changes lanes on the target road, determining lane areas corresponding to the candidate lanes on the target road in the target plane;
[0027] Determine a target lane from the candidate lanes so that a projection point of the target object in the target plane is within a lane region corresponding to the target lane;
[0028] The target object is positioned in the target lane.
[0029] In a fifth aspect, the present application further provides a computer program product. The computer program product includes a computer program, and when the computer program is executed by a processor, the following steps are implemented:
[0030] Obtaining the location data of the target object;
[0031] Perform road network matching according to the positioning data to determine the target road where the target object is located;
[0032] When the target object changes lanes on the target road, determining lane areas corresponding to the candidate lanes on the target road in the target plane;
[0033] Determine a target lane from the candidate lanes so that a projection point of the target object in the target plane is within a lane region corresponding to the target lane;
[0034] The target object is positioned in the target lane.
[0035] The above-mentioned target object positioning method, device, computer equipment, storage medium and computer program product obtain the positioning data of the target object, perform road network matching according to the positioning data, determine the target road where the target object is located, and determine the target road. The accuracy requirements of the required positioning data are low. When the target object changes lanes on the target road, the lane areas corresponding to each candidate lane in the target road in the target plane are determined, and the target lane is determined from the candidate lanes. The projection point of the target object in the target plane is within the lane area corresponding to the target lane, and the target object is positioned in the target lane. By converting the lane positioning problem into a positional relationship problem between the projection point and the lane area in the plane, there is no need to locate the positional relationship between the vehicle and the actual lane line by laser radar or visual detection. The dependence on hardware conditions in the lane-level positioning processing can be reduced, and low-cost high-precision lane-level positioning can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A diagram of an application environment of a target object positioning method in an embodiment;
[0037] Figure 2 A schematic diagram of a flow chart of a target object positioning method in one embodiment;
[0038] Figure 3 is a schematic diagram of the relative positions of candidate lanes and a target vehicle in a target road in one embodiment;
[0039] Figure 4 is a schematic diagram of a vehicle heading change in one embodiment;
[0040] Figure 5 is a schematic diagram of changes in angular velocity measurement values in one embodiment;
[0041] Figure 6 A schematic diagram of a vehicle heading change matching template in one embodiment;
[0042] Figure 7 A schematic diagram of a template for matching gyro angular velocity measurement value changes in one embodiment;
[0043] Figure 8 is a schematic diagram of a process of normalized cross-correlation matching in one embodiment;
[0044] Fig. 9 is a schematic flow chart of a target object positioning method in another embodiment;
[0045] Fig.10 A schematic diagram of a flow chart of a target object positioning method in yet another embodiment;
[0046] Fig.11 A schematic diagram of a data update process in one embodiment;
[0047] Fig.12 is a structural block diagram of a target object positioning device in one embodiment;
[0048] Fig.13 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0049] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0050] The embodiments of the present application involve artificial intelligence (AI) and machine learning technology, and are designed based on computer vision technology and machine learning (ML) in artificial intelligence. Artificial intelligence is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0051] Artificial intelligence is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation interaction systems, mechatronics and other technologies; the software technologies of artificial intelligence generally include computer vision technology, natural language processing technology, and machine learning / deep learning and other major directions. With the development and progress of artificial intelligence, artificial intelligence is being studied and applied in many fields, such as common smart homes, smart customer service, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, robots, smart medical care, etc. It is believed that with the further development of future technology, artificial intelligence will be applied in more fields and play an increasingly important role.
[0052] Among them, autonomous driving technology usually includes high-precision maps, environmental perception, behavioral decision-making, path planning, motion control and other technologies, and autonomous driving technology has broad application prospects. Among them, accurate positioning is the basis for realizing autonomous driving, and is an important operation for realizing behavioral decision-making, path planning, motion control, and building high-precision maps. It should be noted that the target object positioning method proposed in this application can be applied in scenarios including but not limited to maps, navigation, autonomous driving, Internet of Vehicles, and vehicle-road collaboration, etc.
[0053] The target object positioning method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Figure 1 This is a schematic diagram of the structure of a positioning system involved in an embodiment of the present application, and the positioning system includes: a terminal 102 and a network side device 104. Among them, the terminal 102 includes a vehicle-mounted terminal or a user terminal, etc., which is only a schematic illustration here and does not specifically limit the Internet of Things system of the embodiment of the present application. Among them, the vehicle-mounted terminal may include a driving computer or a vehicle-mounted unit, etc., the user terminal may be a wireless terminal device or a wired terminal device, the wireless terminal device may refer to a device with wireless transceiver function, the user terminal may be but not limited to various personal computers, laptops, smart phones, tablet computers, portable wearable devices, and the portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc.
[0054] Among them, the terminal 102 communicates with the network side device 104 through the network. The network side device 104 may include a data processing center of a global satellite navigation system, a road network information database, etc. For example, the vehicle-mounted device obtains satellite observation data in the global satellite navigation system from the data processing center, or obtains road network information from the road network information database, and based on at least one of the satellite observation data and the road network information, executes the target object positioning method of the embodiment of the present application to locate the lane where the target vehicle is located in the map. Specifically, taking the terminal 102 as an example of a vehicle-mounted terminal, the vehicle-mounted terminal obtains the positioning data of the target vehicle, performs road network matching according to the positioning data, determines the target road where the target vehicle is located, and when the target vehicle changes lanes on the target road, determines the lane areas corresponding to each candidate lane in the target road in the target plane. When there is a target lane in the candidate lane, so that the projection point of the target vehicle in the target plane is in the lane area corresponding to the target lane, the target vehicle is moved to the target lane, and the positioning result of the target vehicle in the target lane is displayed in the navigation display interface of the vehicle-mounted terminal.
[0055] The terminal 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. The IoT devices may be smart vehicle-mounted devices, etc. The portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The server 104 may be implemented as an independent server or a server cluster consisting of multiple servers.
[0056] In one embodiment, Figure 2 As shown, a method for locating a target object is provided, and the method is applied to Figure 1 The terminal in is used as an example to illustrate, including the following steps:
[0057] Step 202: Acquire the positioning data of the target object.
[0058] The target object is an object that needs to be positioned and analyzed, and the target object can change its position on the road based on the movement of itself or the carrier. For example, the target object can be a vehicle carrying a positioning terminal or a vehicle-mounted positioning terminal.
[0059] Positioning data is used to characterize the geographical location of the target object. The terminal obtains positioning data by responding to the positioning request. The specific method of obtaining positioning data matches the triggering scenario of the positioning request. The triggering scenario of the positioning request includes the initial positioning of the target object and the non-initial positioning of the target object.
[0060] Among them, the initial positioning matches the triggering scene corresponding to the user starting the positioning function. When the user triggers the start of the positioning function, such as clicking the application icon corresponding to the positioning program displayed on the terminal interface, the positioning program generates the first positioning request for the target object and sends it to the processor to request positioning processing for the target object. Since the target object itself is in motion, the position of the target object at different times will change. Therefore, after sending the first positioning request, the positioning program will initiate the second to N (N>2) positioning requests to the processor at a certain time interval. The second to N positioning requests are positioning requests for non-initial positioning of the target object. The processor will perform corresponding positioning processing for each positioning request initiated by the positioning program after it is started, and store the corrected positioning results. When the terminal responds to the end positioning trigger operation triggered by the user and feeds back the positioning end information to the processor, the processor performs data marking or data release on the stored positioning results, so that it can accurately judge whether the triggering scene corresponding to the positioning request is the initial positioning of the target object based on whether there is historical data stored for the target object or the identification content based on the historical data.
[0061] Specifically, when receiving a positioning request, the processor searches the stored historical positioning request data and determines whether the triggering scenario corresponding to the positioning request is the initial positioning according to whether there is historical positioning request data matching the positioning request. The historical positioning request data matching the positioning request may specifically be the existing historical positioning request data, or the identification information carried by the existing historical positioning request data matches the positioning request.
[0062] If there is no historical positioning request data that matches the positioning request, the processor determines that the positioning request is the initial positioning of the target object, and the positioning data is obtained in the following manner: the positioning data of the target object at the current moment is obtained in real time through road network data, fusion of inertial sensor data and satellite observation data, and the real-time obtained positioning data is used as positioning data, so that the positioning data corresponding to the next moment can be predicted based on the corresponding positioning data of the target object at the previous moment.
[0063] If there is historical positioning request data that matches the positioning request, and the processor determines that the positioning request is a non-initial positioning of the target object, the positioning data is obtained by: obtaining the historical positioning data obtained when the target object was positioned at the last moment, and determining the historical positioning data corresponding to the last moment as the positioning data of the target object. Specifically, after the processor determines that the target object has been positioned before, based on the positioning request at the current moment, it obtains the historical positioning data of the last moment corresponding to the current moment, and uses the historical positioning data of the last moment as the positioning data of the current target object.
[0064] In a specific application, real-time acquisition of positioning data can be achieved with the help of the inertial navigation system and the Global Navigation Satellite System (GNSS). Specifically, the terminal obtains the inertial sensor data of the target object through the inertial navigation system, obtains satellite observation data from the global satellite navigation system, and obtains the positioning data of the target object through road network matching based on the combination of inertial sensor data and satellite observation data that match the target object.
[0065] Among them, inertial sensor data refers to the data collected by the inertial sensor. The inertial sensor is installed on the target object, and the vehicle terminal is connected to the inertial sensor for communication. Inertial sensor refers to a complete MEMS (Micro-Electro-Mechanical System) that integrates mechanical elements, micro sensors, signal processing and control circuits, interface circuits, communications and power supplies. MEMS inertial sensors can constitute a low-cost INS / GPS combined navigation system. It is a type of inertial sensor that is very suitable for building a miniature strapdown inertial navigation system; inertial sensors are mainly used to detect and measure acceleration, tilt, shock, vibration, rotation and multi-degree-of-freedom motion, and are important components for solving navigation, orientation and motion carrier control. Specifically, inertial sensor data includes angular velocity measurement values and acceleration measurement values of the target object.
[0066] Satellite observation data refers to the data observed by the global satellite navigation system, which is an air-based radio navigation and positioning system that can provide users with all-weather three-dimensional coordinates, speed and time information at any location on the earth's surface or in near-Earth space. Common systems include the Global Positioning System (GPS), the BeiDou Navigation Satellite System (BDS), the Global Navigation Satellite System (GLONASS) and the Galileo Navigation Satellite System (GALILEO).
[0067] Step 204: perform road network matching according to the positioning data to determine the target road where the target object is located.
[0068] Among them, road network matching uses the road network database to match the target positioning point to the road node based on the matching algorithm; road network matching is a positioning correction method based on software technology. Its basic idea is to link the vehicle movement trajectory with the road information in the digital map, and thereby obtain the precise position relative to the map.
[0069] Road network matching can be achieved based on road network data. Road network data refers to the detailed road information in the navigation map, which is mainly used for road network matching and road condition information processing. The road network data required by the terminal for road network matching processing can be provided by the road network map database. The road network matching algorithm is a fusion of the curve matching principle and the geographic space proximity analysis method. The road matching algorithms mainly include network topology algorithm, curve fitting algorithm, similarity algorithm, fuzzy logic algorithm and road network matching algorithm based on hidden Gauss-Markov model.
[0070] Specifically, the terminal obtains road network data, performs road network matching on the target object according to the road network data and positioning data through a road matching algorithm, and determines the target road where the target object is located in the map based on the matching results of the road matching algorithm, thereby completing the road-level positioning of the target object.
[0071] In one embodiment, a road network is matched according to the positioning data to determine the target road where the target object is located, including: inputting the positioning data and satellite observation data into a hidden Markov model, so that the hidden Markov model performs road network matching on the target object based on the input data and the road network data to determine the target road where the target object is located in the map.
[0072] Among them, the hidden Markov model is a statistical model used to describe a Markov process with hidden unknown parameters. The hidden Markov model is a type of Markov chain, whose state cannot be observed directly, but can be observed through a sequence of observation vectors. Each observation vector is represented by various states through certain probability density distributions, and each observation vector is generated by a state sequence with a corresponding probability density distribution.
[0073] Road network matching based on hidden Markov model is to find the hidden sequence that produces this observation sequence under a certain observation premise, where the hidden sequence represents the specific location of the person or object holding the target object positioning device, and the observation sequence represents a series of trajectory point coordinates generated by the target object positioning device. That is, through this model, the real position (i.e. hidden sequence) is inferred from the trajectory point (i.e. observation sequence). In the map matching algorithm based on hidden Markov model, for a trajectory point, there will be one or more candidate sections within a certain distance. The projection points of the trajectory point on these candidate sections are regarded as candidate points, which are vertices in the Markov chain. The closer the trajectory point is to the position on the adjacent section, the greater the probability that this point is on this section. The closer the distance between the two real position points is, the greater the probability of state transition, or the closer the distance between the two points on the real section is to the distance between the two points observed by the trajectory point, the greater the probability of state transition.
[0074] Specifically, the terminal inputs the historical positioning data corresponding to the positioning data and the satellite observation data into the hidden Markov model, so that the hidden Markov model performs road network matching on the target object based on the road network data and the satellite observation data according to the historical positioning data, and determines the target road where the target object is located in the map based on the road network matching result.
[0075] In a specific application, the terminal can obtain the historical positioning data of the target object within 30 seconds before the current moment and the satellite observation data matching the target object within 30 seconds before the current moment, input the hidden Markov model for road network matching, and thus determine the target road where the target object is located in the map.
[0076] In this embodiment, road network matching is performed based on the positioning data and satellite observation data of the target object through the hidden Markov model. On the one hand, the fast data processing effect of the hidden Markov model in road network matching can be utilized to quickly determine the target road where the target object is located in the map. On the other hand, by using the positioning data and satellite observation data of the target object as the input of the hidden Markov model, road network matching can be performed from two aspects of positioning data and satellite observation data, avoiding the influence caused by the error of a single data and improving the accuracy of the matching result.
[0077] Step 206 : When the target object changes lanes on the target road, lane areas corresponding to the candidate lanes on the target road in the target plane are determined.
[0078] The road can be divided into multiple lanes based on lane lines. Lane change refers to the process of a target object moving from one lane to another lane in the road. Lane change can be a change of adjacent lanes or a change of multiple lanes in succession. For example, the target vehicle changes from the first lane to the second lane in a four-lane road and continues to travel in the second lane. Another example is that the target vehicle changes from the first lane to the second lane and continues to change from the second lane to the third lane.
[0079] The target plane is a virtual plane, which can be established directly based on the target road in an electronic map containing the target road, or a virtual plane can be established in any other space and the target road can be projected into the virtual plane.
[0080] Each lane in the target road may be the lane where the target object is located after lane change. During lane positioning, the terminal needs to select the target lane from the various lanes of the target road for positioning. The lanes for screening are the candidate lanes in the target road.
[0081] The lane area refers to the area formed by the projection lines corresponding to the lane lines on both sides of the lane in the target plane. In the target plane, the relative position relationship between the lane lines corresponding to each candidate lane can be determined based on the lane width and the number of lanes, wherein the lane width can be determined based on the lane width and the number of lanes, and the lane width and the number of lanes can be obtained from the road network data.
[0082] Specifically, the terminal obtains the road boundary data of the road position where the target object is currently located through the road-level positioning result of the target object, and determines the relative position relationship between each lane line in the target road, and the relative position relationship between the lane line and the road boundary line based on the road network data. Based on the relative position relationship between each lane line, and the relative position relationship between the lane line and the road boundary line, the terminal determines the lane area corresponding to each candidate lane in the target plane.
[0083] Furthermore, the terminal may determine the lane area formed by the lane lines corresponding to each candidate road based on the target virtual plane where the target road is located in the electronic map, based on the relative position relationship between the determined lane lines, and the relative position relationship between the lane lines and the road boundary lines on the target road in the target virtual plane. The terminal may also project the road boundary lines of the target road into a pre-constructed virtual plane, and project the lane lines in the target road in the virtual plane based on the relative position relationship between the determined lane lines, and the relative position relationship between the lane lines and the road boundary lines, to obtain a virtual plane containing the road boundary lines and the lane lines, and the area between the projected adjacent lane lines or road boundary lines is the lane area.
[0084] Step 208 , determining a target lane from the candidate lanes so that the projection point of the target object in the target plane is within the lane area corresponding to the target lane.
[0085] The projection point refers to the result obtained by projecting the target object on the target plane. When the target object is small, the position data of any point in the target object can be directly projected to the target plane. When the target object is large, the center point of the target object can be determined first, and the position data of the center point can be projected to the target plane.
[0086] Specifically, for each candidate lane, the terminal determines the positional relationship between the lane area and the projection point based on the lane area corresponding to the candidate lane in the target plane and the projection point of the target object in the target plane. When the projection point is within the lane area, the candidate lane is determined as the target lane after the lane change. When the projection point is outside the lane area, it is determined that the target object has not changed lanes to the candidate lane.
[0087] Step 210: Position the target object in the target lane.
[0088] Specifically, in the displayed navigation page, the terminal updates the position of the target object in the electronic map to the position corresponding to the target lane, so that the navigation object can accurately understand the updated lane positioning result, which is convenient for improving the ability to judge the road conditions during driving and reducing driving risks.
[0089] The above-mentioned method for positioning the target object obtains the positioning data of the target object, performs road network matching according to the positioning data, and determines the target road where the target object is located. The accuracy requirement of the positioning data required for determining the target road is low. When the target object changes lanes on the target road, the lane areas corresponding to the candidate lanes in the target road in the target plane are determined, and the target lane is determined from the candidate lanes so that the projection point of the target object in the target plane is in the lane area corresponding to the target lane. The target object is positioned in the target lane. By converting the lane positioning problem into a positional relationship problem between the projection point and the lane area in the plane, there is no need to locate the positional relationship between the vehicle and the lane line by laser radar or visual detection. The dependence on hardware conditions in the lane-level positioning processing can be reduced, and low-cost high-precision lane-level positioning can be achieved.
[0090] In one embodiment, determining a target lane from candidate lanes so that a projection point of a target object in a target plane is within a lane region corresponding to the target lane, and positioning the target object in the target lane includes:
[0091] For each candidate lane in the target road, a lane boundary function is constructed respectively; when there is a target lane among the candidate lanes, and the solution result of the lane boundary function corresponding to the target lane meets the result screening condition, the target object is located in the target lane; the result screening condition represents that the projection point of the target object in the target plane is within the lane area corresponding to the target lane.
[0092] Among them, the lane boundary function is a function used to define the boundary characteristics of the lane area. Specifically, the lane boundary function can be a gate function, which is also called an obstacle function. When processing optimization problems based on the gate function, in the process of searching for extreme points, in order to ensure that the search is always within the feasible domain, for points that attempt to cross the boundary from within the feasible domain, an obstacle term is added to the objective function. The function representing the obstacle term is the gate function. The closer to the boundary, the greater the obstacle. When approaching the boundary, the obstacle tends to infinity, thereby ensuring that the optimal solution does not exceed the feasible domain.
[0093] When the projection point of the target object in the target plane is within the lane area corresponding to the candidate lane, the solution result of the lane boundary function corresponding to the candidate lane is smaller; when the projection point of the target object in the target plane is outside the lane area corresponding to the candidate lane, the solution result of the lane boundary function corresponding to the candidate lane is larger. The result screening condition may be to screen the target solution result with the smallest value from the solution results of the lane boundary functions corresponding to each candidate lane, thereby taking the candidate lane corresponding to the target solution result as the target lane.
[0094] In this embodiment, by constructing a lane boundary function, it is determined whether the projection point of the target object in the target plane is within the lane area corresponding to the candidate lane based on the solution result of the lane boundary function. This makes it possible to distinguish the areas where the projection point is inside and outside the lane area, thereby improving the accuracy of the judgment result of the relative position relationship between the projection point and the lane area.
[0095] In one embodiment, for each candidate lane in the target road, a lane boundary function is constructed respectively, including:
[0096] Based on the projection lines constituting the lane area in the target plane, the matching relationship between the candidate lanes represented by the lane area and the projection lines is determined; for each candidate lane, based on the target projection line matched by the candidate lane, a segmented lane boundary function is constructed according to the positional relationship between the projection point of the target object in the target plane and the target projection line.
[0097] Among them, the projection line refers to the result obtained by projecting the lane line and the road boundary line in the target plane, wherein the area between two adjacent projection lines is the lane area corresponding to each lane in the target road, and each lane in the target road corresponds to two parallel projection lines.
[0098] The target projection line refers to two parallel projection lines that have a matching relationship for the specified candidate lane. The projection point refers to the result obtained by projecting the target object in the target plane. The positional relationship between the projection point and the target projection line includes two major cases. The first case is that the two target projection lines are located on the same side of the projection point, which can be specifically divided into the two target projection lines on the right side of the projection point or the two target projection lines on the left side of the projection point. The second case is that the projection point is located in the middle of the two target projection lines. Based on the category of the positional relationship between the projection point and the target projection line, a segmented lane boundary function is constructed.
[0099] Specifically, the terminal determines the matching relationship between the candidate lanes represented by each lane area and each projection line based on the projection lines constituting the lane area in the target plane, and each candidate lane has a target projection line matching it. For each candidate lane, the terminal constructs a three-segment lane boundary function based on the target projection line matched by the candidate lane and according to the three positional relationships between the projection point of the target object in the target plane and the target projection line. The dependent variable of the lane boundary function is the position data of the projection point. Based on the positional relationship between the position data of the projection point and the target projection line, the value range of the position data is divided into three segments.
[0100] Furthermore, the two target projection lines corresponding to the same candidate lane are respectively recorded as the first projection line and the second projection line. Based on the first projection line and the second projection line, the terminal constructs a plane coordinate system in the target plane. The plane coordinate system includes a horizontal axis and a vertical axis that are perpendicular to each other. The first projection line and the second projection line are parallel to the target coordinate axis in the plane coordinate system. The target coordinate axis can be any one of the horizontal axis and the vertical axis. In order to accurately describe the positional relationship between the projection line and the projection point, the projection line with a smaller distance from the target coordinate axis is recorded as the first projection line, the distance between the first projection line and the target coordinate axis is recorded as the first distance, the projection line with a larger distance from the target coordinate axis is recorded as the second projection line, and the distance between the second projection line and the target coordinate axis is recorded as the second distance. It can be understood that in specific applications, the horizontal axis and the vertical axis of the plane coordinate system can be interchanged, and the first projection line and the second projection line can also be interchanged.
[0101] Specifically, when the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the first projection line. When the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the second projection line. When the target distance between the projection point and the target coordinate axis is greater than or equal to the first distance and less than or equal to the second distance, the value of the lane boundary function is zero.
[0102] The lane boundary function may be a quadratic function, for example, when the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the square value of the distance between the projection point and the first projection line. For another example, when the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the square value of the distance between the projection point and the second projection line.
[0103] In a specific application, such as Figure 3As shown in the figure, assuming that the target road where the target object is located has three lanes 1, 2, and 3, the terminal first projects the center position D of the target object and the road network data to the same plane coordinate system Oxy, and draws a straight line through the center position D of the target object perpendicular to the road direction and intersects with the lane lines C, E, F, and G. The lane boundary function is a quadratic gate function, and its expression is as follows:
[0104]
[0105] in, ;
[0106] in, They respectively represent the horizontal coordinates of point C, point E, point F and point G in the Oxy coordinate system.
[0107] In this embodiment, the segmented lane boundary function can effectively limit the candidate lane area. Based on the different positional relationships between the candidate lanes and the target objects, the lane boundary function is calculated in different ways to accurately estimate whether the projection point corresponding to the target object is in the lane area corresponding to the candidate lane, thereby ensuring the accuracy of the positioning result.
[0108] In one embodiment, determining lane areas corresponding to respective candidate lanes in the target road in the target plane includes:
[0109] The road width and the number of lanes of the target road are obtained from the road network data; based on the road width and the number of lanes, the lane area corresponding to each candidate lane of the target road in the target plane is determined.
[0110] Among them, road network data refers to the detailed road information in the navigation map, which is mainly used to provide road condition information, road network matching, road condition information processing, etc. The lane area refers to the area formed by the projection lines in the target plane. The projection lines are used to represent the lane lines on both sides of the lane and the road boundary lines.
[0111] Specifically, the terminal can obtain the road information of the target road where the target object is currently located from the road network data based on the positioning data of the target object, including the road width and the number of lanes of the target road, and determine the relative position relationship between the lane lines corresponding to each candidate lane, and the relative position relationship between the lane line and the road boundary line based on the lane width and the number of lanes. According to the relative position relationship between each lane line, and the relative position relationship between the lane line and the road boundary line, the lane line is projected in the target road of the target plane to obtain a projection result including the road boundary line and the lane line, and the area between adjacent projected lane lines or between the lane line and the adjacent road boundary line is the lane area.
[0112] In a specific application, the target road where the target object is located has three lanes, 1, 2, and 3. The target plane includes two lane lines, two road boundary lines, and a total of four projection lines. From the road network data, the width of the target road is 9m, and the width of each lane is the same. It can be determined that the distance between each adjacent projection line in the target plane is 3m, that is, the width of the lane area of each lane on the target road in the target plane is 3m.
[0113] In this embodiment, based on the positioning data of the target object, the road width and the number of lanes of the road are obtained from the road network data. Without performing visual detection or radar detection on the lane lines, it is only necessary to obtain road-level positioning information to accurately obtain the projection results of each lane in the target road in the target plane, thereby reducing the dependence of the positioning processing process on hardware equipment.
[0114] In one embodiment, the method also includes: determining filtering parameters for the target object based on the positioning data and observation data of the target object, obtaining a covariance matrix corresponding to the filtering parameters and estimated parameters corresponding to the covariance matrix, using the covariance matrix and the estimated parameters as prior information, and performing nonlinear optimization in combination with the lane boundary function corresponding to the candidate lanes to obtain the target cost function value corresponding to each candidate lane, and screening out the candidate lane with the smallest target cost function value as the target lane.
[0115] Among them, the filter parameters refer to the parameters corresponding to the fusion positioning filter. The terminal includes a fusion positioning filter. The specific type of the fusion positioning filter is not limited. Optionally, the above-mentioned fusion positioning filter can be a Kalman fusion positioning filter. Taking the lane-level positioning of the vehicle as an example, in the initial stage of lane-level positioning, the terminal first establishes a MEMS IMU (inertial sensor) / GNSS (global satellite navigation system) fusion positioning algorithm, which specifically includes: initializing the vehicle posture, obtaining satellite observation values to calculate the initial position and speed of the vehicle, and thereby establishing a fusion positioning filter.
[0116] The construction process of the fusion positioning filter includes: obtaining the initial positioning data, receiver clock error data and zero bias data of the target object; based on the initial positioning data, receiver clock error data and zero bias data, constructing the fusion positioning filter to obtain the filter parameters, and using each fusion positioning filter parameter as a matrix element to obtain the covariance matrix.
[0117] Among them, the initial positioning data includes the initial velocity, initial position and initial attitude of the target object, the receiver clock error data includes the receiver clock error change rate and the receiver clock error, and the zero bias data includes the zero bias of the inertial sensor gyroscope and accelerometer.
[0118] Taking the lane-level positioning of a vehicle as an example, in the initial stage of lane-level positioning, the terminal first establishes a MEMS IMU (inertial sensor system) / GNSS (global satellite navigation system) fusion positioning algorithm, which specifically includes: initializing the vehicle posture, obtaining satellite observation values to calculate the vehicle's initial position and initial speed, and thereby establishing a fusion positioning filter.
[0119] The fusion positioning filter parameters can be set as:
[0120]
[0121] in, is the vehicle posture parameter, and are the initial velocity and initial position of the vehicle in the ECEF coordinate system, and The zero bias of the inertial sensor gyroscope and accelerometer is used to correct the measurement deviation of the angular velocity and acceleration of the MEMS IMU. represents the receiver clock error change rate, Indicates the receiver clock error.
[0122] In a specific application, the terminal can obtain the direction of the road where the vehicle is located based on map matching. , using road directions Initialize the vehicle's motion posture ,Right now:
[0123]
[0124] in,
[0125] in,
[0126] in, For road direction, is the vehicle longitude coordinate, is the vehicle's latitude coordinate.
[0127] The satellite observation values output by the vehicle satellite positioning device are combined with the weighted least squares solution to obtain the vehicle's initial position and speed, the receiver clock error, and the receiver clock error change rate, that is, p, v, , parameter.
[0128] In another specific application, the vehicle posture It represents the Euler angle between the inertial coordinate system corresponding to the MEMS IMU and the ECEF (Earth coordinate system), that is,
[0129]
[0130] in, , and is the Euler angle of the three-axis coordinate system of the inertial sensor around the z-axis, y-axis and x-axis to convert to ECEF; the conversion relationship between the three-axis coordinate system of the inertial sensor and ECEF can be expressed in matrix form as
[0131]
[0132] Therefore, in determining the vehicle posture When the initial value of is set, the following formula is used to determine the Euler angle between the inertial sensor and ECEF:
[0133]
[0134] Among them, Log is the Log operation of Lie group SO3, for The antisymmetric matrix of .
[0135] The covariance matrix corresponds to the filter parameters corresponding to the fusion positioning filter and is a matrix expression of the filter parameters. The terminal obtains the covariance matrix corresponding to the filter parameters by performing matrix conversion on the filter parameters corresponding to the fusion positioning filter. The Mahalanobis distance is used to represent the distance between a point and a distribution. It calculates the distance between two points through covariance and is an effective method for calculating the similarity of two unknown sample sets.
[0136] In a specific application, the target road where the target object is located has three lanes 1, 2, and 3. First, the terminal projects the center position D of the target object and the road network data to the same plane coordinate system Oxy, and draws a straight line through the center position D of the target object perpendicular to the road direction and intersects with the lane lines C, E, F, and G. The expression of the quadratic gate function is as follows:
[0137]
[0138] in, ;
[0139] in, They respectively represent the horizontal coordinates of point C, point E, point F and point G in the Oxy coordinate system.
[0140] Assuming the target object is in lane 1, the following nonlinear optimization equation is constructed:
[0141]
[0142] Assuming that the target object is in lane 2, the following nonlinear optimization equation is constructed:
[0143]
[0144] Assuming that the target object is in lane 3, the following nonlinear optimization equation is constructed:
[0145]
[0146] in, for The covariance matrix corresponding to the target object at the moment, Indicates that the covariance matrix and estimated parameters are used as prior information for nonlinear optimization. It means that the covariance matrix and estimated parameters are used as prior information, and the lane boundary function corresponding to lane 1 is combined for nonlinear optimization to obtain the target cost function value corresponding to lane 1. Similarly, we can get the target cost function value corresponding to lane 2 , and the target cost function value corresponding to lane 3 The candidate lane with the smallest target cost function value is selected as the target lane. When is the smallest, the target object is judged to be in lane 1; when When is the smallest, the target object is judged to be in lane 2; when When it is minimum, it is judged that the target object is in lane 3.
[0147] In this embodiment, the fusion positioning filter is combined with the lane boundary function for nonlinear optimization to determine the current lane of the target object. The lane boundary function can be used to effectively limit the candidate lane area. Based on the fusion of the fusion positioning filter and the lane boundary function, the target lane where the target object is located can be accurately estimated, thereby ensuring the accuracy of the positioning result.
[0148] In one embodiment, the method also includes: monitoring the heading change data and angular velocity change data of the target object; determining a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template; when the first matching result meets the first matching condition and the second matching result meets the second matching condition, determining that the target object has changed lanes on the target road.
[0149] The heading change data refers to the change data of the vehicle's moving direction over a period of time, and the angular velocity change data refers to the change data of the vehicle's moving angular velocity over a period of time. For example, the target vehicle moves from the north direction, changes to the north-east direction 5° after 2 seconds, and changes to the north direction after 4 seconds. Figure 4 and Figure 5 As shown in Figure 2, when a vehicle changes lanes, the measured values of its heading and angular velocity show regular changes. Figure 4When a vehicle changes lanes, the vehicle's heading change angle Heading will first increase, then decrease, and finally stabilize to the original state. Figure 5 ,When the vehicle changes lanes, the angular velocity measurement of the vehicle will first increase, then decrease, then increase, and finally stabilize to the original state.
[0150] Specifically, the heading change template is as follows: Figure 6 As shown in , dt is the time taken for the heading change, which is related to the lane width of the target lane, dT is the template matching time span, and dHeading is the heading change angle. By matching the heading change data with the heading change template, the first matching result can be obtained. The angular velocity change template is as follows Figure 7 As shown, dt1 and dt2 are the time taken for the angular velocity measurement value to change and dt1+dt2=dt; dw1 and dw2 are the changes in the angular velocity measurement value.
[0151] Lane change refers to the state where the target object moves from the current lane to another lane. When the first matching result meets the first matching condition and the second matching result meets the second matching condition, it is determined that the lane where the target vehicle is currently located has changed, that is, the target vehicle has changed lanes. When the first matching result does not meet the first matching condition or the second matching result does not meet the second matching condition, it is determined that the lane where the target vehicle is currently located has not changed, that is, the target vehicle has not changed lanes.
[0152] Specifically, the terminal obtains the heading change data and inertial gyro angular velocity measurement value obtained after the fusion positioning filtering processing, matches the heading change data with the heading change template, and matches the angular velocity change data with the angular velocity change template. When the matching results all meet the corresponding matching conditions, the target vehicle is subjected to lane change analysis based on the lane where the target vehicle is currently positioned.
[0153] In this embodiment, on the one hand, lane change analysis is performed on the target vehicle through changes in heading and angular velocity. Whether the vehicle changes lanes can be analyzed from the combination of heading and angular velocity, thereby ensuring the accuracy of the lane change analysis results. On the other hand, lane change analysis is achieved by matching the heading change template and the angular velocity change template, thereby simplifying the data to be processed and improving the data processing efficiency of the lane change analysis.
[0154] In one embodiment, determining a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template includes:
[0155] Based on the lane width of the lane where the target object is currently located, a heading change template and an angular velocity change template that match the lane width are obtained; the heading change data are normalized cross-correlation matched with the heading change template to obtain a first matching result between the heading change data and the heading change template; the angular velocity change data are normalized cross-correlation matched with the angular velocity change template to obtain a second matching result between the angular velocity change data and the angular velocity change template.
[0156] Among them, the normalized cross-correlation matching algorithm is a statistical matching algorithm, which determines the degree of matching by calculating the cross-correlation value between the template and the image to be matched. The search window position when the cross-correlation value is the largest determines the position of the template image in the image to be matched.
[0157] Specifically, the lane width of the target lane can be obtained from the road network data. Based on the lane width, the duration corresponding to the course change and angular velocity change process when the vehicle changes lanes can be determined. When the lane is wider, the duration corresponding to the course change and angular velocity change process is longer. When the lane is narrower, the duration corresponding to the course change and angular velocity change process is shorter. Further, the course change data is matched with the course change template by normalized cross-correlation matching, and the normalized cross-correlation matching used for the angular velocity change data and the angular velocity change template by normalized cross-correlation matching can be the same algorithm. Only by changing the input data combination, the matching result corresponding to the data combination can be obtained.
[0158] In a specific embodiment, Figure 8 As shown, the same normalized cross-correlation matching model can be used to process the normalized cross-correlation matching of the heading change data and the heading change template and the normalized cross-correlation matching of the angular velocity change data and the angular velocity change template to reduce the number of models required. Alternatively, two normalized cross-correlation matching models can be used to process the normalized cross-correlation matching of the heading change data and the heading change template and the normalized cross-correlation matching of the angular velocity change data and the angular velocity change template, respectively, so that the normalized cross-correlation matching of the heading change data and the heading change template and the normalized cross-correlation matching of the angular velocity change data and the angular velocity change template can be processed simultaneously, thereby improving processing efficiency.
[0159] In this embodiment, through the lane width of the target lane, the acquired heading change template and angular velocity change template can be accurately matched with the lane change data of the target lane. By performing normalized cross-correlation matching on the heading change data and the heading change template, and performing normalized cross-correlation matching on the angular velocity change data and the angular velocity change template, the judgment and processing process of lane changes can be simplified and the accuracy of the judgment results can be improved.
[0160] In one embodiment, when the first matching result meets the first matching condition and the second matching result meets the second matching condition, determining that the target object changes lanes on the target road includes:
[0161] When the heading change amount in the heading change data reaches the curve peak in the heading change template, and the angular velocity maximum value in the angular velocity change data reaches the curve peak in the angular velocity change template, it is determined that the target object changes lanes on the target road.
[0162] Among them, the curve in the heading change template represents the heading change before and after the lane change occurs, the curve peak in the heading change template refers to the maximum heading change when the lane change occurs, the curve in the angular velocity change template represents the angular velocity value before and after the lane change occurs, and the curve peak in the angular velocity change template refers to the maximum angular velocity when the lane change occurs.
[0163] The terminal obtains the maximum heading change from the monitored heading change data. When the maximum heading change reaches the peak value of the curve in the heading change template, the terminal determines that the first matching result meets the first matching condition. The terminal obtains the maximum angular velocity from the monitored angular velocity change data. When the maximum angular velocity reaches the peak value of the curve in the angular velocity change template, the terminal determines that the second matching result meets the second matching condition, thereby obtaining a determination result that the target object has changed lanes on the target road.
[0164] In this embodiment, by matching the heading change with the curve peak in the heading change template and matching the angular velocity maximum with the curve peak in the angular velocity change template, the matching process can be simplified and the determination result of whether the target object changes lanes on the target road can be quickly obtained.
[0165] In one embodiment, the method further includes: updating the initial positioning data of the target object according to inertial sensor data matching the target object to obtain intermediate data; determining an error correction amount for the intermediate data based on satellite observation data matching the target object; and performing error correction on the intermediate data according to the error correction amount to obtain updated positioning data.
[0166] The initial positioning data may be the position data collection results, speed data collection results, and posture data collection results obtained in real time in response to a positioning request triggered by a user. The initial positioning data may also be the historical position data, historical speed data, and historical posture data obtained from the historical positioning data of the previous moment in response to a positioning request automatically triggered at a certain time interval. The initial positioning data may specifically include one or more of the position data, speed data, and posture data of the target object.
[0167] Updating the initial positioning data of the target object refers to the process of transforming the positioning data of the target object at the previous moment into the positioning data at the next moment. The updated positioning data is the result obtained after the update processing based on the initial positioning data. For example, the positioning data of the target object at the current moment is recorded as the initial positioning data. Since the target object is in motion, it is necessary to determine the positioning data corresponding to the target object at the next moment. The result obtained by the terminal through the data update processing of the initial positioning data is the updated positioning data corresponding to the next moment.
[0168] Specifically, the update of the initial positioning data may include data update and error correction. Data update refers to the process of determining the ideal positioning data at the next moment based on the positioning data at the previous moment, and error correction refers to the process of correcting the ideal positioning data after the data update to reduce the error with the actual data. In a specific application, the terminal obtains the initial positioning data of the target object in response to the positioning request. If the positioning request is for the first positioning of the target object, the initial positioning data is the data obtained in real time, and the updated positioning data corresponding to the next moment is obtained based on the real-time acquired data update; if the positioning request is not for the first positioning of the target object, the initial positioning data can be obtained from the historical positioning results, and the intermediate data can be obtained through data update.
[0169] Furthermore, the terminal updates the initial positioning data of the target object based on the inertial sensor data and satellite observation data that match the target object to obtain intermediate data.
[0170] In a specific application, the terminal updates the positioning data of the previous moment based on the inertial sensor data matching the target object, obtains the ideal positioning data of the next moment as the intermediate data, and then performs error correction on the updated ideal positioning data based on the satellite observation data to obtain the updated positioning data corresponding to the next moment. By fusing the inertial sensor data matching the target object and the satellite observation data, the initial positioning data of the target object is updated and error corrected, so that the updated positioning data corresponding to the next moment can be obtained with higher accuracy.
[0171] In this embodiment, based on the filter parameters and covariance matrix of the fusion positioning filter, the inertial sensor data and satellite observation data can be fused to perform error correction on the initial positioning data, thereby improving the accuracy of the updated positioning data and achieving accurate positioning of the target object.
[0172] In one of the embodiments, the updated positioning data includes updated position data of the target object. The terminal extracts the updated position data from the updated positioning data. When the coordinate system corresponding to the updated position data is the same as the coordinate system in the road network data, the updated position data can be directly used as the coordinate position of the target object in the target road. When the coordinate system corresponding to the updated position data is different from the coordinate system in the road network data, the coordinate position of the target object in the target road can be obtained through coordinate conversion.
[0173] Specifically, the terminal determines the location data of the center point of the target object based on the updated positioning data; performs coordinate conversion on the location data according to the latitude and longitude data corresponding to the target object, and projects the center location data after coordinate conversion to the plane coordinate system corresponding to the target plane to determine the coordinate position of the target object in the target road. The location data is the coordinate data corresponding to the position of the center of the target object in the earth coordinate system. Coordinate conversion refers to the process of unifying the coordinate expressions of different coordinate systems. In a specific application, assume that the coordinates of the earth coordinate system corresponding to point O in the plane coordinate system Oxy are , then the coordinates of the center position D of the target object in the plane coordinate system Oxy are ,Right now,
[0174]
[0175] in, Indicates the longitude of the target object's current location, Indicates the latitude of the target object's current location. , , Respectively represent the coordinate data of the target object in the earth coordinate system, , , They respectively represent the coordinate data of point O in the plane coordinate system in the earth coordinate system.
[0176] In this embodiment, by performing coordinate conversion on the position data of the center point of the target object according to the longitude and latitude data, and projecting the center position data of the target object to the plane coordinate system corresponding to the target plane, data of different coordinate systems can be unified, thereby improving the accuracy of the data.
[0177] Furthermore, the error correction of the filter parameter x can be expressed as express;
[0178]
[0179] Specifically, the terminal updates the initial posture of the target object based on the angular velocity measurement value of the target object to obtain an updated posture; updates the initial velocity of the target object based on the updated posture and the acceleration measurement value of the target object to obtain an updated velocity; updates the initial position of the target object based on the initial velocity and the updated velocity to obtain an updated position; updates the covariance matrix based on the updated posture and the acceleration measurement value to obtain an updated covariance matrix.
[0180] In a specific application, the update process of the vehicle position, velocity, attitude and covariance matrix is as follows:
[0181] exist At this moment, the angular velocity measurement value and acceleration measurements for:
[0182]
[0183] in, Characterizing angular velocity measurements The decomposition result of the x-axis among the three axes of the inertial sensor; Characterizing angular velocity measurements The decomposition result of the y-axis among the three axes of the inertial sensor; Characterizing angular velocity measurements The decomposition result of the z-axis among the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the x-axis in the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the y-axis among the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the z-axis among the three axes of the inertial sensor.
[0184] Furthermore, the terminal can calculate the target vehicle in the following steps Update position, update speed and update posture at each moment:
[0185] Among them, the process of vehicle posture update is as follows:
[0186]
[0187] in, is the angular velocity of the Earth’s rotation, is the update interval, for The coordinate system conversion matrix between the inertial coordinate system and the earth coordinate system at the time of initial positioning is: From the fusion filter parameters The initial value of is determined. for The coordinate system conversion matrix between the inertial coordinate system and the earth coordinate system at the moment, that is, the updated vehicle posture;
[0188] The process of vehicle speed update is as follows:
[0189] Based on the acceleration measurement data obtained at the current moment, the speed at the previous moment, the gravity value corresponding to the current moment, and the positioning time interval, the current moment speed is determined. The specific processing process is as follows:
[0190]
[0191] in, For The gravity value in the Earth coordinate system at the moment, for The speed of the vehicle at the moment, for The speed of the vehicle at the moment, that is, the speed of the vehicle after the update;
[0192] The process of vehicle position update is as follows:
[0193]
[0194] in, for The vehicle's position at the moment, for The position of the vehicle at the moment, that is, the updated vehicle position.
[0195] The process of updating the covariance matrix is as follows:
[0196] After obtaining the updated attitude, updated speed and updated position at the current moment based on the speed measurement data obtained at the current moment, the terminal updates the corresponding parameters in the filter parameter matrix based on the updated attitude, updated speed and updated position at the current moment to obtain an intermediate parameter matrix. Further, the terminal constructs a state transfer matrix corresponding to the Kalman filter algorithm based on the acceleration measurement data and attitude in the speed measurement data at the current moment, and updates the initial covariance matrix based on the state transfer matrix and the error matrix determined by the attribute information of the inertial sensor to obtain an intermediate covariance matrix. The initial covariance matrix is the covariance matrix obtained after the last positioning is completed.
[0197] The covariance matrix x of the filter is updated using the following formula:
[0198]
[0199] in, Represents the system state transfer matrix in the filtering algorithm;
[0200]
[0201] in, is a 3×3 identity matrix, , , For calculation The intermediate variable.
[0202]
[0203] in, Indicates the distance between the current vehicle and the center of the earth. is the system noise, which can be directly obtained from the product manual of the inertial sensor of the mobile terminal, that is,
[0204]
[0205] in, and is the system noise spectral density of the accelerometer and gyroscope, which can be directly obtained from the vehicle-mounted MEMS IMU product manual.
[0206] And so on, when receiving the next moment When the inertial acceleration and angular velocity measurement values are obtained, the above steps are repeated to update the vehicle position, velocity, attitude and covariance matrix.
[0207] In this embodiment, based on the angular velocity measurement value collected by the inertial sensor and acceleration measurements , realizing the update of the initial positioning data and the update of the covariance matrix, which is equivalent to the position information of the target object, is updated to the position determined based on the data collected by the inertial sensor, so that no large adjustments are required during the subsequent correction processing, thus ensuring the accuracy of positioning.
[0208] In one embodiment, determining an error correction amount for intermediate data based on satellite observation data matching a target object includes:
[0209] Obtain pseudorange observation values and Doppler observation values from satellite observation data corresponding to the target object; construct a filter parameter error correction equation based on the pseudorange observation values and Doppler observation values; solve the filter parameter error correction equation to obtain an error correction amount.
[0210] The pseudorange observation value represents the difference between the local reception time of the signal and the time value represented by the signal. The Doppler observation value represents the average speed during the interval between two adjacent observations.
[0211] Specifically, the terminal obtains pseudorange observation values and Doppler observation values of multiple satellites from the satellite observation data corresponding to the target object, constructs a first set of equations between the pseudorange observation values and the vehicle position based on the pseudorange observation values corresponding to the multiple satellites, and constructs a second set of equations between the Doppler observation values and the vehicle position based on the Doppler observation values corresponding to the multiple satellites, and constructs a filter parameter error correction equation based on the first set of equations and the second set of equations, solves the filter parameter error correction equation, and obtains the error correction amount.
[0212] In a specific application, based on the pseudo-range observations received from n satellites, the following equation can be constructed:
[0213]
[0214] in, is the satellite observation value received by the terminal, p is the vehicle position, is the position of satellite i, is the receiver clock error, is the clock error of satellite i, c is the speed of light in vacuum, is the error correction factor (including ionosphere, troposphere and earth rotation correction, which can be calculated by empirical model);
[0215] Based on the Doppler observations received from n satellites, the following equation can be constructed:
[0216]
[0217] in, is the wavelength of the satellite's broadcast signal. is the Doppler observation value, is the satellite speed, is the terminal receiver clock drift, For satellite clock drift;
[0218] Based on the above equation, the following filter parameter error correction equation is constructed:
[0219]
[0220]
[0221] Based on the above filter parameter error correction equation, calculate the fusion filter parameter correction amount
[0222]
[0223] in, for The predicted value of the vehicle covariance matrix at the moment, is the measurement error matrix, is the carrier wavelength, is the unit observation vector from the vehicle terminal to the satellite; is the covariance matrix of the corrected fusion filter; using the error correction Modify each parameter in the fusion filter parameter matrix, that is,
[0224]
[0225] In this embodiment, corresponding equation groups are constructed respectively through pseudorange observation values and Doppler observation values of multiple satellites, and then a filter parameter error correction equation is constructed to obtain an error correction amount. Constructing a reasonable constraint can improve the positioning accuracy of the vehicle.
[0226] In a specific embodiment, Fig. 9 As shown, the target object positioning method includes:
[0227] Step 902: Update the initial positioning data of the target object according to the inertial sensing data matching the target object to obtain intermediate data.
[0228] Step 904: Acquire pseudorange observation values and Doppler observation values from satellite observation data corresponding to the target object.
[0229] Step 906: construct a filter parameter error correction equation based on the pseudorange observation value and the Doppler observation value.
[0230] Step 908, solving the filter parameter error correction equation to obtain the error correction amount.
[0231] Step 910, performing error correction on the intermediate data according to the error correction amount to obtain updated positioning data.
[0232] Step 912, performing road network matching according to the positioning data, determining the target road where the target object is located, and obtaining the road width and the number of lanes of the target road from the road network data.
[0233] Step 914: monitor the heading change data and angular velocity change data of the target object.
[0234] Step 916: Based on the lane width of the lane where the target object is currently located, a heading change template and an angular velocity change template that match the lane width are obtained.
[0235] Step 918: Perform normalized cross-correlation matching on the heading change data and the heading change template to obtain a first matching result between the heading change data and the heading change template.
[0236] Step 920: Perform normalized cross-correlation matching on the angular velocity change data and the angular velocity change template to obtain a second matching result between the angular velocity change data and the angular velocity change template.
[0237] Step 922: When the first matching result meets the first matching condition and the second matching result meets the second matching condition, it is determined that the target object changes lanes on the target road.
[0238] Step 924 , based on the road width and the number of lanes, determine the lane area corresponding to each candidate lane of the target road in the target plane.
[0239] Step 926 , based on the projection lines constituting the lane area in the target plane, determine the matching relationship between the candidate lane represented by the lane area and the projection lines.
[0240] Step 928, for each candidate lane, based on the target projection line matched by the candidate lane, a segmented lane boundary function is constructed according to the positional relationship between the projection point of the target object in the target plane and the target projection line.
[0241] Wherein, the target projection line includes a first projection line and a second projection line parallel to the target coordinate axis in the plane coordinate system. The first distance between the first projection line and the target coordinate axis is less than the second distance between the second projection line and the target coordinate axis. When the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the first projection line. When the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the second projection line. When the target distance between the projection point and the target coordinate axis is greater than or equal to the first distance and less than or equal to the second distance, the value of the lane boundary function is zero.
[0242] Step 930: Determine filtering parameters for the target object based on the positioning data and observation data of the target object.
[0243] Step 932: Obtain a covariance matrix corresponding to the filtering parameters and an estimated parameter corresponding to the covariance matrix.
[0244] In step 934, the covariance matrix and the estimated parameters are used as prior information, and the lane boundary function corresponding to the candidate lanes is combined to perform nonlinear optimization to obtain the target cost function value corresponding to each candidate lane, and the candidate lane with the smallest target cost function value is selected as the target lane.
[0245] In a specific application, such as Fig.10 and Fig.11As shown, taking the lane-level positioning of the target vehicle by the vehicle-mounted terminal as an example, the above-mentioned target object positioning method is applied to this application scenario. Specifically, the application of the target object positioning method in the application scenario of lane-level positioning of the target vehicle is as follows:
[0246] Lane-level positioning technology is widely used in ADAS (Advanced Driving Assistance System), lane departure systems and autonomous driving. Compared with the current methods using visual sensors, lidar, etc., the traditional methods using visual sensors, lidar, etc. are costly and computationally intensive. Visual sensors are greatly affected by weather, road environment, etc., and the accuracy of lane estimation and change detection is low. Effective data such as on-board MEMS IMU, satellite observation information, and road network information are not fully utilized, resulting in a lack of reliable lane change detection and lane tracking methods.
[0247] In view of the shortcomings of the current lane-level positioning method, a lane-level target object positioning method integrating MEMS IMU, multi-system multi-frequency satellite observation information and map matching is proposed, which mainly includes the following steps:
[0248] (1) In the initial stage of lane-level positioning, a MEMS IMU / GNSS fusion positioning algorithm is established.
[0249] Specifically, the process of establishing the fusion positioning algorithm is as follows: the on-board terminal uses the road direction or GNSS observation information to initialize the vehicle posture, and the satellite observation values obtained by the vehicle satellite positioning device calculate the vehicle's initial position and initial speed. Based on the initial posture, initial position and initial speed, a Kalman fusion positioning filter is established.
[0250] In a specific application, the road direction of the vehicle obtained by map matching is ,use Initialize vehicle motion posture ,Right now
[0251]
[0252] in,
[0253]
[0254] in,
[0255] in, For road direction, is the vehicle longitude coordinate, is the vehicle's latitude coordinate.
[0256] The satellite observation values output by the vehicle satellite positioning device are combined with the weighted least squares solution to obtain the vehicle's initial position and speed, the receiver clock error, and the receiver clock error change rate, that is, p, v, , parameter.
[0257] Among them, the filtering parameters of the fusion positioning filter can be set to
[0258]
[0259] in, is the vehicle posture parameter, and are the initial velocity and initial position of the vehicle in the ECEF coordinate system, and The zero bias of the inertial sensor gyroscope and accelerometer is used to correct the measurement deviation of the angular velocity and acceleration of the MEMS IMU. represents the receiver clock error change rate, Indicates the receiver clock error.
[0260] The error correction of the fusion positioning filter parameter x is expressed as express;
[0261]
[0262] (2) The MEMS IMU inertial sensor assists in updating the vehicle's motion state and covariance matrix. The updating process of the vehicle's position, velocity, attitude and covariance matrix is as follows:
[0263] exist At this moment, the angular velocity measurement value and acceleration measurements for:
[0264]
[0265] in, Characterizing angular velocity measurements The decomposition result of the x-axis among the three axes of the inertial sensor; Characterizing angular velocity measurements The decomposition result of the y-axis among the three axes of the inertial sensor; Characterizing angular velocity measurements The decomposition result of the z-axis among the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the x-axis in the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the y-axis among the three axes of the inertial sensor; Characterizing Acceleration Measurements The decomposition result of the z-axis among the three axes of the inertial sensor.
[0266] Furthermore, the terminal can calculate the target vehicle in the following steps Update position, update speed and update posture at each moment:
[0267] Among them, the process of vehicle posture update is as follows:
[0268]
[0269] in, is the angular velocity of the Earth’s rotation, is the update interval, for The coordinate system conversion matrix between the inertial coordinate system and the earth coordinate system at the time of initial positioning is: From the fusion filter parameters The initial value of is determined. for The coordinate system conversion matrix between the inertial coordinate system and the earth coordinate system at the moment, that is, the updated vehicle posture;
[0270] The process of vehicle speed update is as follows:
[0271] Based on the acceleration measurement data obtained at the current moment, the speed at the previous moment, the gravity value corresponding to the current moment, and the positioning time interval, the current moment speed is determined. The specific processing process is as follows:
[0272]
[0273] in, For The gravity value in the Earth coordinate system at the moment, for The speed of the vehicle at the moment, for The speed of the vehicle at the moment, that is, the speed of the vehicle after the update;
[0274] The process of updating the vehicle position is as follows:
[0275]
[0276] in, for The vehicle's position at the moment, for The position of the vehicle at the moment, that is, the updated vehicle position.
[0277] The process of updating the covariance matrix is as follows:
[0278] After obtaining the updated attitude, updated speed and updated position at the current moment based on the speed measurement data obtained at the current moment, the terminal updates the corresponding parameters in the filter parameter matrix based on the updated attitude, updated speed and updated position at the current moment to obtain an intermediate parameter matrix. Further, the terminal constructs a state transfer matrix corresponding to the Kalman filter algorithm based on the acceleration measurement data in the speed measurement data at the current moment and the attitude data, and updates the initial covariance matrix based on the state transfer matrix and the error matrix determined by the attribute information of the inertial sensor to obtain an intermediate covariance matrix. The initial covariance matrix is the covariance matrix obtained after the last positioning is completed.
[0279] The covariance matrix x of the filter is updated using the following formula:
[0280]
[0281] in, Represents the system state transfer matrix in the filtering algorithm;
[0282]
[0283] in, is a 3×3 identity matrix, , , For calculation The intermediate variable.
[0284]
[0285] in, Indicates the distance between the current user's vehicle and the center of the earth. is the system noise, which can be directly obtained from the product manual of the inertial sensor of the mobile terminal, that is,
[0286]
[0287] in, and is the system noise spectral density of the accelerometer and gyroscope, which can be directly obtained from the vehicle-mounted MEMSIMU product manual;
[0288] And so on, when receiving the next moment When the inertial acceleration and angular velocity measurement values are obtained, the above steps are repeated to update the vehicle position, velocity, attitude and covariance matrix.
[0289] (3) The vehicle motion state is corrected using GNSS pseudorange and Doppler measurement data based on a fusion positioning filter.
[0290] The vehicle terminal constructs the following first equation based on the pseudo-range observation values received from n satellites:
[0291]
[0292] in, is the satellite observation value received by the terminal, p is the vehicle position, is the position of satellite i, is the receiver clock error, is the clock error of satellite i, c is the speed of light in vacuum, is the error correction factor (including ionosphere, troposphere and earth rotation correction, which can be calculated by empirical model);
[0293] Based on the Doppler observations received from n satellites, the following second equation is constructed:
[0294]
[0295] in, is the wavelength of the satellite's broadcast signal. is the Doppler observation value, is the satellite speed, is the terminal receiver clock drift, For satellite clock drift;
[0296] Based on the first and second equations above, the following filter parameter error correction equation is constructed:
[0297]
[0298]
[0299] Based on the above filter parameter error correction equation, calculate the fusion filter parameter correction amount
[0300]
[0301] in, for The predicted value of the vehicle covariance matrix at the moment, is the measurement error matrix, is the carrier wavelength, is the unit observation vector from the vehicle terminal to the satellite; is the covariance matrix of the corrected fusion filter; using the error correction Modify each parameter in the fusion filter parameter matrix, that is,
[0302]
[0303] Through the pseudorange observations and Doppler observations of multiple satellites, the corresponding equation groups are constructed respectively, and then the filter parameter error correction equation is constructed to obtain the error correction amount. Constructing a reasonable constraint can improve the positioning accuracy of the vehicle.
[0304] (4) Lane change tracking. The vehicle terminal projects the current position of the vehicle onto the center line of the lane and tracks the projection point of the vehicle on the center line of the lane. It detects lane changes by fusing MEMS IMU observation data and vehicle heading information based on the normalized cross-correlation algorithm. When a lane change is detected, it uses step (5) to estimate the lane that the vehicle is currently in and outputs the position of the projection point of the current vehicle on the center line of the lane.
[0305] When a vehicle changes lanes, its heading and the gyroscopic angular velocity measurement values of the MEMS IMU show regular changes. When a vehicle changes lanes, the heading change angle of the vehicle will first increase, then decrease, and finally stabilize to the original state. The angular velocity measurement value of the vehicle will first increase, then decrease, then increase, and finally stabilize to the original state. Specifically, the heading change template is as follows Figure 6 As shown, dt is the time taken for the heading change, which is related to the lane width of the target lane. The lane width of the target lane can be obtained from the road network data. Based on the lane width, the duration of the heading change and angular velocity change process when the vehicle changes lanes can be determined. When the lane is wider, the duration of the heading change and angular velocity change process is longer. When the lane is narrower, the duration of the heading change and angular velocity change process is shorter. dT is the template matching time span, dHeading is the heading change angle, and the first matching result can be obtained by matching the heading change data with the heading change template. The angular velocity change template is as follows: Figure 8 As shown, dt1 and dt2 are the time taken for the angular velocity measurement value to change, and dt1+dt2=dt; dw1 and dw2 are the angular velocity measurement value changes. Normalized cross-correlation matching of heading change data, angular velocity change data, heading change template, and angular velocity change template can fully consider the correlation between different data, avoid the overall error caused by single data matching, and improve the accuracy of the matching result.
[0306] (5) Lane estimation. Combining the position, speed and attitude output by the fusion filter, based on the hidden Markov model map matching, the current vehicle road, lane number and lane width information are obtained. The current vehicle lane is estimated based on the quadratic gate function and nonlinear optimization.
[0307] Assume that the coordinates of the Earth coordinate system corresponding to point O in the plane coordinate system Oxy are , then the coordinates of the center position D of the target object in the plane coordinate system Oxy are ,Right now,
[0308]
[0309] in, Indicates the longitude of the target object's current location, Indicates the latitude of the target object's current location. , , Respectively represent the coordinate data of the target object in the earth coordinate system, , , They respectively represent the coordinate data of point O in the plane coordinate system in the earth coordinate system.
[0310] Assuming that the target road where the target object is located has three lanes 1, 2, and 3, the terminal first projects the center position D of the target object and the road network data to the same plane coordinate system Oxy, draws a straight line through the center position D of the target object perpendicular to the road direction, and intersects with the lane lines C, E, F, and G. The expression of the quadratic gate function is as follows:
[0311]
[0312] in, ;
[0313] in, They respectively represent the horizontal coordinates of point C, point E, point F and point G in the Oxy coordinate system.
[0314] Assuming the target object is in lane 1, the following nonlinear optimization equation is constructed:
[0315]
[0316] Assuming that the target object is in lane 2, the following nonlinear optimization equation is constructed:
[0317]
[0318] Assuming that the target object is in lane 3, the following nonlinear optimization equation is constructed:
[0319]
[0320] in, for The covariance matrix corresponding to the target object at the moment, Indicates that the covariance matrix and estimated parameters are used as prior information for nonlinear optimization. It means that the covariance matrix and estimated parameters are used as prior information, and the lane boundary function corresponding to candidate lane 1 is combined for nonlinear optimization to obtain the target cost function value corresponding to lane 1. Similarly, we can get the target cost function value corresponding to lane 2 , and the target cost function value corresponding to lane 3 The candidate lane with the smallest target cost function value is selected as the target lane. When is the smallest, the target object is judged to be in lane 1; when When is the smallest, the target object is judged to be in lane 2; when When it is minimum, it is judged that the target object is in lane 3.
[0321] Based on the above target object positioning method, the lane-level positioning of the vehicle is realized by converting the traditional visual positioning method into the lane area where the projection point of the vehicle is located on the target plane. The lane where the specific vehicle is located is determined by fusion algorithm and gate function based on the obtained positioning data and road network data. That is, the technology of low-cost hardware + algorithm supplementation is used to effectively improve the vehicle position accuracy, assist lane-level positioning and navigation, optimize user experience, and reduce lane-level positioning cost and calculation amount. It can solve the problem of inaccurate vehicle positioning in complex scenes such as high-rise buildings and urban canyons, and can also solve the problem of failure of lane-level positioning using visual sensors in harsh environments such as night and fog.
[0322] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0323] Based on the same inventive concept, the embodiment of the present application also provides a target object positioning device for implementing the target object positioning method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more target object positioning device embodiments provided below can refer to the limitations of the target object positioning method above, and will not be repeated here.
[0324] In one embodiment, Fig.12As shown, a target object positioning device is provided, which can adopt a software module or a hardware module, or a combination of the two to become a part of a computer device. The device specifically includes: a positioning data acquisition module 1202, a road network matching module 1204, a lane change detection module 1206 and a lane positioning module 1208, wherein:
[0325] A positioning data acquisition module 1202 is used to acquire positioning data of a target object;
[0326] A road network matching module 1204 is used to perform road network matching according to the positioning data to determine the target road where the target object is located;
[0327] A lane change detection module 1206, configured to determine lane areas corresponding to respective candidate lanes in the target road in a target plane when the target object changes lanes on the target road;
[0328] The lane positioning module 1208 is used to determine the target lane from the candidate lanes so that the projection point of the target object in the target plane is within the lane area corresponding to the target lane, and to position the target object in the target lane.
[0329] In one embodiment, the lane positioning module further includes a lane boundary function construction module and a positioning module; wherein:
[0330] A lane boundary function construction module, used for constructing a lane boundary function for each candidate lane in the target road;
[0331] The positioning module is used to position the target object to the target lane when a target lane is determined from the candidate lanes so that a solution result of a lane boundary function corresponding to the target lane meets a result screening condition;
[0332] The result screening condition indicates that the projection point of the target object in the target plane is within the lane area corresponding to the target lane.
[0333] In one embodiment, the lane boundary function construction module is further used to determine the matching relationship between the candidate lane represented by the lane area and the projection line based on the projection line constituting the lane area in the target plane; for each candidate lane, based on the target projection line matched by the candidate lane, a segmented lane boundary function is constructed according to the positional relationship between the projection point of the target object in the target plane and the target projection line.
[0334] In one embodiment, the target projection line includes a first projection line and a second projection line parallel to the target coordinate axis in the plane coordinate system; a first distance between the first projection line and the target coordinate axis is less than a second distance between the second projection line and the target coordinate axis;
[0335] When the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the first projection line;
[0336] When the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the second projection line.
[0337] When the target distance between the projection point and the target coordinate axis is greater than or equal to the first distance and less than or equal to the second distance, the value of the lane boundary function is zero.
[0338] In one embodiment, the lane change detection module is also used to obtain the road width and the number of lanes of the target road from the road network data; based on the road width and the number of lanes, determine the lane area corresponding to each candidate lane of the target road in the target plane.
[0339] In one embodiment, the device further includes a Mahalanobis distance calculation module, which is used to determine the filtering parameters for the target object based on the positioning data and observation data of the target object; obtain a covariance matrix corresponding to the filtering parameters, and calculate the Mahalanobis distance between the positioning data of the target object and each element in the covariance matrix;
[0340] The lane positioning module is further used to position the target object to the target lane when a target lane is determined from the candidate lanes so that the solution result of the lane boundary function and the accumulated result of the Mahalanobis distance meet the result screening condition.
[0341] In one embodiment, the lane change detection module of the device is also used to monitor the heading change data and angular velocity change data of the target object; determine a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template; when the first matching result meets the first matching condition and the second matching result meets the second matching condition, it is determined that the target object has changed lanes on the target road.
[0342] In one embodiment, the lane change detection module of the device is also used to obtain a heading change template and an angular velocity change template that match the lane width based on the lane width of the lane where the target object is currently located; perform normalized cross-correlation matching on the heading change data and the heading change template to obtain a first matching result between the heading change data and the heading change template; perform normalized cross-correlation matching on the angular velocity change data and the angular velocity change template to obtain a second matching result between the angular velocity change data and the angular velocity change template.
[0343] In one embodiment, the lane change detection module of the device is also used to determine that the target object has changed lanes on the target road when the heading change amount in the heading change data reaches the peak value of the curve in the heading change template and the maximum angular velocity in the angular velocity change data reaches the peak value of the curve in the angular velocity change template.
[0344] In one embodiment, the positioning data acquisition module is also used to update the initial positioning data of the target object according to inertial sensor data matching the target object to obtain intermediate data; determine the error correction amount of the intermediate data based on satellite observation data matching the target object; and perform error correction on the intermediate data according to the error correction amount to obtain updated positioning data.
[0345] In one embodiment, the positioning data acquisition module is also used to obtain pseudorange observation values and Doppler observation values from the satellite observation data corresponding to the target object; construct a filtering parameter error correction equation based on the pseudorange observation values and the Doppler observation values; and solve the filtering parameter error correction equation to obtain an error correction amount.
[0346] Each module in the above-mentioned target object positioning device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.
[0347] In one embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as follows: Fig.13As shown. The computer device includes a processor, a memory, a communication interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be achieved through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a method for locating a target object is implemented. The display screen of the computer device can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer device can be a touch layer covered on the display screen, or a key, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse, etc.
[0348] Those skilled in the art will understand that Fig.13 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0349] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0350] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0351] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in the above-mentioned method embodiments.
[0352] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0353] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0354] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0355] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A method for locating a target object, characterized in that: The method comprises: Obtaining the location data of the target object; Perform road network matching according to the positioning data to determine the target road where the target object is located; When the target object changes lanes on the target road, determining lane areas corresponding to the candidate lanes on the target road in the target plane; Determining, based on the projection lines constituting the lane area in the target plane, a matching relationship between the candidate lane represented by the lane area and the projection lines; For each of the candidate lanes, based on the target projection line matched by the candidate lane, a segmented lane boundary function is constructed according to the positional relationship between the target projection line and the projection point of the target object in the target plane; the lane boundary function is used to characterize the distance relationship between the target projection line and the projection point; Determine a target lane from the candidate lanes, so that a solution result of a lane boundary function corresponding to the target lane meets a result screening condition; the result screening condition indicates that a projection point of the target object in the target plane is within a lane region corresponding to the target lane; The target object is positioned in the target lane.
2. The method according to claim 1, characterized in that The target projection line includes a first projection line and a second projection line parallel to the target coordinate axis in the plane coordinate system; A first distance between the first projection line and the target coordinate axis is smaller than a second distance between the second projection line and the target coordinate axis; When the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the first projection line; When the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the second projection line; When the target distance between the projection point and the target coordinate axis is greater than or equal to the first distance and less than or equal to the second distance, the value of the lane boundary function is zero.
3. The method according to claim 1, characterized in that Determining the lane areas corresponding to the candidate lanes in the target road in the target plane includes: Obtaining the road width and the number of lanes of the target road from the road network data; Based on the road width and the number of lanes, a lane area corresponding to each candidate lane of the target road in the target plane is determined.
4. The method according to claim 1, characterized in that: The method further comprises: Determining filtering parameters for the target object based on the positioning data and the observation data of the target object; Obtaining a covariance matrix corresponding to the filtering parameters and an estimated parameter corresponding to the covariance matrix; Using the covariance matrix and the estimated parameters as prior information, and combining the lane boundary function corresponding to the candidate lanes to perform nonlinear optimization, obtain the target cost function value corresponding to each candidate lane; The determining of the target lane from the candidate lanes so that the solution of the lane boundary function combination meets the result screening condition includes: The candidate lane with the smallest target cost function value is selected as the target lane.
5. The method according to claim 1, characterized in that The method further comprises: Monitoring the heading change data and angular velocity change data of the target object; Determine a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template; When the first matching result meets a first matching condition and the second matching result meets a second matching condition, it is determined that the target object changes lanes on the target road.
6. The method according to claim 5, characterized in that The determining a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template comprises: Based on the lane width of the lane where the target object is currently located, acquiring a heading change template and an angular velocity change template that match the lane width; Performing normalized cross-correlation matching on the heading change data and the heading change template to obtain a first matching result between the heading change data and the heading change template; The angular velocity change data is matched with the angular velocity change template by normalized cross-correlation to obtain a second matching result between the angular velocity change data and the angular velocity change template.
7. The method according to claim 6, characterized in that When the first matching result meets the first matching condition and the second matching result meets the second matching condition, determining that the target object changes lanes on the target road includes: When the heading change amount in the heading change data reaches the curve peak in the heading change template and the angular velocity maximum value in the angular velocity change data reaches the curve peak in the angular velocity change template, it is determined that the target object changes lanes on the target road.
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: According to the inertial sensor data matching the target object, the initial positioning data of the target object is updated to obtain intermediate data; Determining an error correction amount for the intermediate data based on satellite observation data matching the target object; The intermediate data is error corrected according to the error correction amount to obtain updated positioning data.
9. The method according to claim 8, characterized in that The step of determining the error correction amount of the intermediate data based on the satellite observation data matching the target object includes: Obtaining pseudorange observation values and Doppler observation values from satellite observation data corresponding to the target object; Constructing a filtering parameter error correction equation based on the pseudorange observation value and the Doppler observation value; Solve the filter parameter error correction equation to obtain the error correction amount.
10. A target object positioning device, characterized in that: The device comprises: A positioning data acquisition module is used to acquire the positioning data of the target object; A road network matching module, used to perform road network matching according to the positioning data to determine the target road where the target object is located; A lane change detection module, used for determining lane areas corresponding to respective candidate lanes in the target road in a target plane when the target object changes lanes on the target road; A lane positioning module, comprising a lane boundary function building module and a positioning module; The lane boundary function construction module is used to determine the matching relationship between the candidate lane represented by the lane area and the projection line based on the projection line constituting the lane area in the target plane; for each candidate lane, based on the target projection line matched by the candidate lane, a segmented lane boundary function is constructed according to the positional relationship between the projection point of the target object in the target plane and the target projection line; the lane boundary function is used to represent the distance relationship between the target projection line and the projection point; The positioning module is used to locate the target object to the target lane when the target lane is determined from the candidate lanes so that the solution result of the lane boundary function corresponding to the target lane meets the result screening condition; the result screening condition indicates that the projection point of the target object in the target plane is within the lane area corresponding to the target lane; The lane positioning module is further used to position the target object in the target lane.
11. The device according to claim 10, characterized in that The target projection line includes a first projection line and a second projection line parallel to the target coordinate axis in the plane coordinate system; a first distance between the first projection line and the target coordinate axis is less than a second distance between the second projection line and the target coordinate axis; When the target distance between the projection point and the target coordinate axis is less than the first distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the first projection line; When the target distance between the projection point and the target coordinate axis is greater than the second distance, the value of the lane boundary function is positively correlated with the distance between the projection point and the second projection line; When the target distance between the projection point and the target coordinate axis is greater than or equal to the first distance and less than or equal to the second distance, the value of the lane boundary function is zero.
12. The device according to claim 10, characterized in that The lane change detection module is also used to obtain the road width and the number of lanes of the target road from the road network data; based on the road width and the number of lanes, determine the lane area corresponding to each candidate lane of the target road in the target plane.
13. The device according to claim 10, characterized in that The device also includes a Mahalanobis distance calculation module, which is used to determine the filtering parameters for the target object based on the positioning data and observation data of the target object; obtain the covariance matrix corresponding to the filtering parameters, and calculate the Mahalanobis distance between the positioning data of the target object and each element in the covariance matrix; The lane positioning module is further used to position the target object to the target lane when a target lane is determined from the candidate lanes so that the solution result of the lane boundary function and the accumulated result of the Mahalanobis distance meet the result screening condition.
14. The device according to claim 10, characterized in that The lane change detection module of the device is also used to monitor the heading change data and angular velocity change data of the target object; determine a first matching result between the heading change data and the heading change template and a second matching result between the angular velocity change data and the angular velocity change template; When the first matching result meets a first matching condition and the second matching result meets a second matching condition, it is determined that the target object changes lanes on the target road.
15. The device according to claim 14, characterized in that The lane change detection module of the device is also used to obtain a heading change template and an angular velocity change template that match the lane width based on the lane width of the lane currently located by the target object; perform normalized cross-correlation matching on the heading change data and the heading change template to obtain a first matching result between the heading change data and the heading change template; perform normalized cross-correlation matching on the angular velocity change data and the angular velocity change template to obtain a second matching result between the angular velocity change data and the angular velocity change template.
16. The device according to claim 15, characterized in that The lane change detection module of the device is also used to determine that the target object has changed lanes on the target road when the heading change amount in the heading change data reaches the curve peak in the heading change template and the angular velocity maximum value in the angular velocity change data reaches the curve peak in the angular velocity change template.
17. The device according to any one of claims 10 to 16, characterized in that The positioning data acquisition module is also used to update the initial positioning data of the target object according to the inertial sensor data matching the target object to obtain intermediate data; determine the error correction amount of the intermediate data based on the satellite observation data matching the target object; and perform error correction on the intermediate data according to the error correction amount to obtain updated positioning data.
18. The device according to claim 17, characterized in that The positioning data acquisition module is also used to obtain pseudorange observation values and Doppler observation values from the satellite observation data corresponding to the target object; construct a filtering parameter error correction equation based on the pseudorange observation values and the Doppler observation values; and solve the filtering parameter error correction equation to obtain an error correction amount.
19. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.
20. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
21. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.
Citation Information
Patent Citations
Navigation prompting method, navigation equipment, and storage medium
CN108917778A
Pre-warning Method and Device for Preventing Vehicle Collision
CN109345870A
Vehicle lane level positioning method, corresponding program carrier, product, device and vehicle
CN112797998A