Positioning method, positioning device, self-propelled equipment and storage medium
By combining satellite positioning data obtained from mobile devices with open source maps, determining key road information and solving motion constraints, the problem of accumulated positioning deviations is solved, achieving higher-precision positioning and a better user experience.
Patent Information
- Application Number
- CN202310376872.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2025-09-23
- Estimated Expiration
- 2043-03-31
AI Technical Summary
The existing positioning methods have a problem of continuous accumulation of deviations, which makes the positioning results unusable or inaccurate, especially affecting the positioning accuracy and user experience in mobile devices.
By obtaining the satellite positioning data of the current frame, combining it with open source maps and the initial position information of the mobile device, key road information is determined, and the corrected positioning data is solved according to motion constraints to reduce positioning drift and accumulated errors.
It improves positioning accuracy, enhances the positioning accuracy and user experience of self-mobile devices, and enhances work efficiency.
Smart Images

Figure CN116466713B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of positioning technology, and in particular to a positioning method, a positioning device, a self-moving device, and a storage medium. Background Art
[0002] With the continuous development of computer technology and artificial intelligence, autonomous robots, similar to smart devices, have gradually become part of people's lives. The theoretical research and practical application of visual image positioning for autonomous robot motion planning have made significant progress. Common visual positioning techniques use visual odometry to provide a visual positioning method. However, this method suffers from the problem of cumulative deviations when determining the position or posture of an object, ultimately rendering the positioning results unusable or inaccurate. Summary of the Invention
[0003] The embodiments of the present application provide a positioning method, a positioning device, a self-mobile device, and a storage medium, which can solve the problem in existing positioning technologies where deviations accumulate continuously, resulting in unusable positioning results or low positioning accuracy. This can improve the accuracy of the positioning method and thereby enhance the user experience of using the self-mobile device.
[0004] In a first aspect, an embodiment of the present application provides a positioning method, applied to a mobile device, comprising:
[0005] When the satellite positioning data of the current frame is obtained, an open source map is obtained according to the satellite positioning data of the current frame.
[0006] Key road information in the open source map is determined according to the initial position information of the mobile device, the satellite positioning data of the current frame, and the open source map.
[0007] The motion constraint of the self-moving device is determined according to the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information.
[0008] The corrected positioning data to be solved is solved according to the motion constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0009] In a second aspect, an embodiment of the present application further provides a positioning device, including:
[0010] The data acquisition module is used to acquire an open source map according to the satellite positioning data of the current frame when the satellite positioning data of the current frame is acquired.
[0011] The data analysis module is used to determine key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map.
[0012] A data constraint module is used to determine the motion constraint of the mobile device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information.
[0013] The data solving module is used to solve the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0014] In a third aspect, an embodiment of the present application further provides a self-mobile device, which includes a processor, a memory, a computer program stored in the memory and executable by the processor, and a data bus for realizing connection and communication between the processor and the memory, wherein when the computer program is executed by the processor, the steps of any positioning method provided in the specification of this application are implemented.
[0015] In a fourth aspect, an embodiment of the present application further provides a storage medium for computer-readable storage, characterized in that the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of any positioning method provided in the specification of this application.
[0016] In an embodiment of the present application, due to the problem that deviations in existing positioning methods continue to accumulate, resulting in the positioning results being unusable or the positioning accuracy being low, the present application provides a positioning method. When obtaining satellite positioning data of the current frame, an open source map is obtained based on the satellite positioning data of the current frame; then, based on the initial position information of the self-mobile device, the satellite positioning data of the current frame and the open source map, the key road information in the open source map is determined; based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved and the key road information, the motion constraints of the self-mobile device are determined; and the corrected positioning data to be solved are solved according to the motion constraints to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0017] By integrating the satellite positioning data of the current frame and the road information corresponding to the open source map corresponding to the satellite positioning data of the current frame into the motion constraints, the collected positioning data can be corrected based on the road information, and the positioning data can be constrained to the area where the road is located, thereby reducing the impact of positioning drift and positioning cumulative error, improving positioning accuracy, and thereby improving the user experience of using self-moving equipment and the work efficiency of self-moving equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0019] Figure 1 A flowchart of a positioning method provided in an embodiment of the present application;
[0020] Figure 2 A schematic diagram of initial position information and satellite positioning data of the current frame provided in an embodiment of the present application;
[0021] Figure 3 A schematic diagram of initial position information and satellite positioning data of the current frame provided in an embodiment of the present application;
[0022] Figure 4 yes Figure 1 A flowchart of steps corresponding to a specific implementation of step S3;
[0023] Figure 5 A schematic diagram of the module structure of a positioning device provided in an embodiment of the present application;
[0024] Figure 6 A schematic block diagram of the structure of a self-moving device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0026] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, combined, or partially merged, so the actual execution order may vary depending on the actual situation.
[0027] It should be understood that the terms used in this specification are only for the purpose of describing specific embodiments and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise.
[0028] For example, when autonomous vehicles rely on satellite positioning data for navigation, they can experience drift. For example, a vehicle may be traveling on a road but its satellite positioning may indicate it is inside a building, resulting in inaccurate positioning. Furthermore, autonomous vehicles are equipped with visual inertial odometry (VIO), but when using VO to provide navigation and positioning for autonomous vehicles, the resulting position or posture can experience cumulative deviations, ultimately rendering the results unusable or inaccurate.
[0029] Therefore, it can be seen that there is an urgent need for a positioning method that enables the self-moving device to be accurately positioned, thereby improving the user experience of the self-moving device or improving the working efficiency of the self-moving device.
[0030] It is understood that the positioning method provided in the embodiments of the present application can be applied not only to the self-mobile device, but also to other electronic devices capable of controlling the self-mobile device, such as mobile phones, tablet computers, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other electronic devices. The embodiments of the present application do not impose any restrictions on the specific type of electronic device. Specifically, a communication connection channel can be established between the electronic device and the self-mobile device, and the electronic device can control the self-mobile device through the communication connection channel.
[0031] The aforementioned autonomous device may include a self-mobility assistance function. The self-mobility assistance function may be implemented by a vehicle-mounted terminal, and the corresponding autonomous device may be a vehicle equipped with the vehicle-mounted terminal. The autonomous device may also be a semi-autonomous device or a fully autonomous device, such as a lawn mower, a sweeper, or other robot with navigation capabilities.
[0032] The following embodiments of the present application are described in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features therein may be combined with each other.
[0033] Please refer to Figure 1 , Figure 1 A flowchart of a positioning method provided in an embodiment of the present application.
[0034] like Figure 1 As shown, the positioning method includes steps S1 to S4.
[0035] Step S1: when satellite positioning data of the current frame is obtained, an open source map is obtained according to the satellite positioning data of the current frame.
[0036] During the movement, the self-propelled robot can call the satellite positioning sensor to obtain the satellite positioning data of the current frame in real time.
[0037] After obtaining the positioning data of the current frame, the open source map server can be accessed according to the satellite positioning data of the current frame to obtain the open source map corresponding to the satellite positioning data of the current frame.
[0038] For example, taking the Global Positioning System (GPS) and OpenStreeMap open source maps as examples, a self-moving robot can call the GPS satellite positioning sensor during movement to obtain the GPS satellite positioning data of the current frame in real time, and at the same time obtain the surrounding open source map information of the positioning position in the OpenStreeMap open source map based on the GPS satellite positioning data. For example, an open source map of 50 meters around the position corresponding to the GPS satellite positioning data can be obtained.
[0039] It is understandable that satellite positioning data can be obtained by using GPS positioning, Galileo satellite navigation system, Global Navigation Satellite System (GLONASS) system, Beidou satellite navigation system, etc.
[0040] The above-mentioned open source map may include road information of one or more roads, such as road location, road direction, road length and other information.
[0041] Step S2: determining key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map.
[0042] After obtaining the above-mentioned open source map, key road information on which the mobile device may travel in the open source map can be obtained based on the initial location information and current location information of the mobile device and the open source map.
[0043] For example, Figure 2As shown, the initial position of the self-mobile device is A, and the satellite positioning position obtained according to the current frame is B. The horizontal and vertical lines in the figure are assumed to be relevant road information. When the self-mobile device travels from A to B, there are many ways to take the route. However, without considering the specific driving method, it can be seen that when correcting the positioning data of the current frame, the road information corresponding to the lower left corner of the initial position A is useless for correcting the positioning data of the current frame. Therefore, the road information in the open source map that may be relevant to correcting the positioning data of the current frame can be used as candidate road information, and the road information similar to the one corresponding to the lower left corner of the initial position A is not used. When there are multiple candidate road information, the most relevant (e.g., closest) road information can be determined as the key road information based on the location of B.
[0044] It can be understood that the key road information in the open source map is determined by the initial location information of the self-mobile device, the satellite positioning data of the current frame and the open source map, wherein the key road information is the road information related to the positioning data of the current frame for correcting the key road information. Therefore, the key road information is the information of the road that is most relevant to the satellite positioning data of the current frame.
[0045] Step S3: determining the motion constraints of the self-moving device according to the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information.
[0046] Exemplarily, the motion constraints of the self-mobile device are determined based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information, and then the motion constraints are used to solve the corrected positioning data corresponding to the positioning data of the current frame of the self-mobile device.
[0047] Corresponding motion constraints are constructed based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the key road information, so that the self-moving device can obtain more accurate positioning data and improve the working efficiency of the self-moving device.
[0048] Step S4: Solving the corrected positioning data to be solved according to the motion constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0049] After the motion constraints are determined, the motion constraints can be optimized according to a preset optimization algorithm. The optimization process can also be regarded as a process of solving the correction data to be solved.
[0050] For example, in some optimization algorithms, the possible values corresponding to the corrected positioning data to be solved can be substituted into the motion constraints to determine whether the motion constraints satisfy preset conditions. Furthermore, the possible values corresponding to the motion constraints satisfying the preset conditions are used as the solution to the corrected positioning data to be solved, i.e., the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0051] For example, when a mobile device is operating outdoors, it typically travels on roads. Therefore, it can be assumed that the corrected positioning data to be solved should be at a certain location on a critical road. By subjecting each point on the critical road to a motion constraint and using the location corresponding to the minimum motion constraint as the solution to the corrected positioning data, the corrected positioning data corresponding to the satellite positioning data of the current frame can be obtained. Alternatively, when the constraint value corresponding to the solved motion constraint is within a preset range, the location corresponding to the preset range can be used as the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0052] Exemplarily, the motion constraint can be regarded as a nonlinear function. Therefore, when solving the corrected positioning data to be solved based on the motion constraint, a nonlinear optimization algorithm can be used for solution, or other types of optimization algorithms can be used, which is not limited in this application.
[0053] It can be understood that nonlinear optimization algorithms include but are not limited to gradient descent method, Newton method, etc.
[0054] It should be understood that the present application obtains the satellite positioning data of the current frame and the open source map corresponding to the satellite positioning data of the current frame; and determines the key road information in the open source map based on the initial position information of the self-mobile device, the satellite positioning data of the current frame and the open source map; determines the motion constraints of the self-mobile device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved and the key road information; solves the corrected positioning data to be solved based on the motion constraints to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame. By introducing the satellite positioning data of the current frame and the key road information in the open source map to construct the motion constraints of the self-mobile device, the problem of the existing self-mobile device positioning technology having accumulated deviations that makes the positioning results unusable or of low accuracy is solved, the positioning accuracy is improved, and the user experience of using the self-mobile device and the working efficiency of the self-mobile device are improved.
[0055] In some embodiments, in step S2, determining key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map includes:
[0056] According to the initial position information and the satellite positioning data of the current frame, a key road where the mobile device is located is determined from the open source map, and key road information of the key road is obtained.
[0057] Optionally, the method for obtaining key roads and key road information can be: determining an initial travel direction based on the initial position information and the satellite positioning data of the current frame; screening candidate roads from the open source map based on the initial travel direction; determining the key road where the mobile device is located based on the candidate roads and the satellite positioning data of the current frame, and obtaining key road information of the key road.
[0058] For example, an initial travel direction is determined based on the initial location information of the mobile device and the satellite positioning data of the current frame. Based on this initial travel direction, candidate roads are selected from the open source map according to preset conditions. These roads are the roads on which the mobile device may be traveling. Furthermore, based on the satellite positioning data of the current frame, key roads that the mobile device may be traveling on are further determined from the candidate roads, and key road information corresponding to the key roads is obtained.
[0059] The key road information may include location information of the key road, which is used to determine the deviation between the satellite positioning data of the current frame and the key road.
[0060] When the key road is composed of multiple location points, the location information of the key road may include location information corresponding to the multiple location points constituting the key road.
[0061] In some embodiments, the key road information may also include road name, road grade, one-way and two-way traffic conditions, whether it is a bridge, whether it is a tunnel, etc. Road grades may be divided into pedestrian roads, provincial roads, county roads, rural roads, small roads, etc.
[0062] It is understandable that when screening candidate roads, you can also use the information in the open source map. For example, according to the one-way and two-way traffic conditions and the initial direction of travel, you can screen out roads that do not meet the one-way and two-way traffic conditions; furthermore, you can also screen out roads that meet the current positioning requirements based on the road grade. For example, if a self-propelled device is operating on the sidewalk, such as cleaning the road, the motor vehicle lane cannot be used as a candidate road; if a motor vehicle (such as a vehicle with an autonomous driving function) uses this positioning method, the pedestrian road cannot be used as a candidate road. Therefore, it is also possible to perform an initial screening of candidate roads based on the data information in the open source map, and remove roads that obviously do not meet the current needs from the candidate roads.
[0063] For example, after determining the candidate roads, the distance information from the satellite positioning data of the current frame to the candidate roads can be calculated. When the minimum distance information is detected, the candidate road corresponding to the distance information is used as the key road that the mobile device should be traveling on, and the key road information corresponding to the key road is obtained.
[0064] For example, Figure 3 As shown in the figure, when the initial location of the mobile device is at point C and the location corresponding to the satellite positioning data of the current frame is at point D, the analysis of points C and D shows that the candidate roads may be Road 1, Road 2, Road 3, and Road 4. Calculating the distances between the satellite positioning data of the current frame and Roads 1, 2, 3, and 4, respectively, shows that the satellite positioning data of the current frame is closest to Road 3, so Road 3 is selected as the key road.
[0065] The above is only a schematic description of the method of determining the critical road in the embodiment of the present application. In some other embodiments, the mobile device can also determine the critical road based on other factors besides distance, and the present application does not limit this.
[0066] See also Figure 4 In some embodiments, the motion constraints include satellite positioning data residual items and map constraint items. In step S3, the motion constraints of the self-moving device are determined based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information, including steps S31 to S33.
[0067] Wherein, step S31 constructs the satellite positioning data residual term according to the initial position information, the satellite positioning data of the current frame and the corrected positioning data to be solved.
[0068] Exemplarily, the satellite positioning data of the initial frame corresponding to the initial position information and the corrected positioning data to be solved are connected according to the satellite positioning data of the current frame to form a satellite positioning data residual term, as shown in Formula 1.
[0069]
[0070] in, The reliability of the satellite positioning data of key frame j is related to the satellite positioning method used. For example, GPS positioning or Beidou positioning use different numbers of satellites and different accuracy. Indicates the rotation matrix required to transform other position information from the world coordinate system to the initial position coordinate system in the coordinate system corresponding to the initial position information (i.e., the initial position coordinate system); The position corresponding to the corrected positioning data to be solved is represented in the initial position coordinate system; Indicates the initial position information in the world coordinate system; P j w Represents the satellite positioning data of key frame j in the world coordinate system; Indicates the pitch angle corresponding to the initial position information output by the sensor, Indicates the roll angle corresponding to the initial position information output by the sensor; ψ0 indicates the yaw angle corresponding to the initial position information; Represents the residual term of satellite positioning data of key frame j.
[0071] It can be understood that the key frame j can be understood as the current frame in this application.
[0072] The above formula can be understood as follows: First, calculate the satellite positioning data P of the current frame in the world coordinate system j w Transformed to the initial position coordinate system representation P j 0 , and then calculate the initial position information in the world coordinate system Convert the representation in the initial coordinate system Then calculate P j 0 and The difference vector between the difference vector and the correction positioning data to be solved in the initial position coordinate system is expressed as Calculate the difference and multiply it by the reliability parameter of the satellite positioning data of the current frame The final result is used as the satellite positioning data residual.
[0073] It can be understood that the rotation matrix is a matrix for coordinate transformation in different coordinate systems, which can be obtained through existing technical means and will not be described in detail here.
[0074] Step S32: Determine a perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information based on the corrected positioning data to be solved and the key road information.
[0075] When constructing map constraint items, the road position information of each road in the key road information and the corrected positioning data to be solved can be converted to the same coordinate system. In the same coordinate system, the coordinate points corresponding to the road position information in the key road information are fitted and connected to obtain a straight line or line segment corresponding to the key road information. A perpendicular line is drawn from the coordinate point corresponding to the corrected positioning data to be solved to the straight line or line segment to obtain the coordinate point of the intersection of the coordinate point corresponding to the corrected positioning data to be solved and the straight line or line segment. The distance between the intersecting coordinate point and the coordinate point corresponding to the corrected positioning data to be solved is calculated as the perpendicular distance.
[0076] For example, the road location information in the key road information and the corrected positioning data to be solved are converted to the world coordinate system. The world coordinates corresponding to the road location information in the key road information may not perfectly align with a straight line or line segment. Therefore, a regression analysis can be performed on the world coordinates corresponding to the road location information in the key road information to obtain a regression line. The road locations in the key road information are placed as much as possible on the regression line or evenly distributed on both sides of the regression line. Then, a perpendicular line is drawn from the world coordinate point corresponding to the corrected positioning data to be solved to the regression line to obtain the intersection point. The distance between the intersection point and the world coordinate point corresponding to the corrected positioning data to be solved is the vertical distance.
[0077] Step S33: construct the map constraint item according to the vertical distance and the positioning accuracy of the satellite positioning data of the current frame.
[0078] For example, after obtaining the vertical distance, the vertical distance is compared with the positioning accuracy of the satellite positioning data of the current frame. When the vertical distance is less than or equal to the positioning accuracy of the satellite positioning data of the current frame, the map constraint item is set to 0. When the vertical distance is greater than the positioning accuracy of the satellite positioning data of the current frame, the map constraint item is set to the vertical distance minus the positioning accuracy of the satellite positioning data of the current frame, divided by the positioning accuracy of the satellite positioning data of the current frame, as shown in formula (2).
[0079]
[0080] in, represents the map constraint; σ(p * ) represents the positioning accuracy of the satellite positioning data of the current frame; d i It represents the distance between the corrected positioning data to be solved obtained in step S32 and the key road, that is, the vertical distance.
[0081] In some embodiments, determining the perpendicular distance between the corrected positioning data to be solved and the critical road corresponding to the critical road information based on the corrected positioning data to be solved and the critical road information includes: constructing a distance expression between the corrected positioning data to be solved and the critical road based on the corrected positioning data to be solved and the position information of each road point in the critical road information; and minimizing the distance expression to obtain an expression corresponding to the perpendicular distance.
[0082] When calculating the vertical distance, the corrected positioning data to be solved and the position information of each road point in the key road information can be converted to the same coordinate system. The distance information between the corrected positioning data to be solved and the position information of each road point in the key road information in the same coordinate system can be solved, and the minimum distance information can be used as the result of the vertical distance solution, as shown in formula (3).
[0083]
[0084] in, Represents the road position information in the key road information in the initial position coordinate system; P i w Indicates the representation of the correction positioning data to be solved in the world coordinate system; Indicates the initial position information in the world coordinate system; Represents the transformation matrix from the world coordinate system to the initial position coordinate system.
[0085] Furthermore, in open source maps, the road location information in the key road information of key roads can be sparse and uneven. Therefore, when solving for the shortest distance, it may not be possible to obtain the optimal value. Therefore, in some embodiments, new location points can be added to the road location information contained in the key road information using interpolation methods such as bilinear interpolation to ensure that the intervals between road location points are stable and finite, thereby more accurately solving for the perpendicular distance between the corrected positioning data to be solved and the key road.
[0086] It can be understood that the method of adding new location points to the road location information in the key road information includes but is not limited to bicubic interpolation, nearest neighbor interpolation, etc.
[0087] It is understood that the method for adding new location points to the road location information in the key road information can also be to fit a line or line segment corresponding to the key road information based on the road location information in the key road information through a fitting regression method, thereby obtaining the road location information in the key road information to add the new location points. Fitting regression methods include but are not limited to support vector regression, least squares regression, and the like.
[0088] In some embodiments, the self-mobile device is provided with an odometer, and the odometer is used to collect odometer positioning data. The method further includes: obtaining first odometer positioning data corresponding to the satellite positioning data of the current frame, and obtaining corrected positioning data and second odometer positioning data corresponding to the satellite positioning data of the previous frame; constructing the odometer constraint corresponding to the odometer based on the first odometer positioning data, the second odometer positioning data, the corrected positioning data to be solved, and the corrected positioning data corresponding to the satellite positioning data of the previous frame; accordingly, solving the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data of the self-mobile device includes: solving the corrected positioning data to be solved according to the motion constraint and the odometer constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0089] If an odometer is installed on the mobile device, the odometer can be used to collect odometer positioning data. This is done by obtaining first odometer positioning data corresponding to the satellite positioning data of the current frame of the mobile device, second odometer positioning data corresponding to the satellite positioning data of the previous frame, and correction data corresponding to the satellite positioning data of the previous frame. Odometry constraints are then constructed based on the first odometer positioning data, the second odometer positioning data, the corrected positioning data to be solved, and the corrected positioning data corresponding to the satellite positioning data of the previous frame.
[0090] An optimization problem is constructed by calculating the relationship between the pose of the current frame and the previous frame based on the odometry constraint. The pose constraint between the current frame and the previous frame is used as the edge, and the pose of the current frame is used as the node to be optimized, that is, the corrected positioning data to be solved.
[0091] In the odometer system, the unobservable degrees of freedom of the posture are 4. The pitch angle φ and roll angle θ in the posture are observable, and the translation transformation and yaw angle ψ are unobservable. Therefore, when constraining the odometer, the translation transformation of the current frame relative to the world coordinate system is and yaw angle ψ i As the optimization variable. In order to conveniently express the rotation, the rotation matrix is expressed as shown in Formula 4:
[0092] R=(R(ψ)R(φ)R(θ)) (Formula 4)
[0093] Where R(ψ) is the rotation matrix corresponding to the yaw angle, R(φ) is the rotation matrix corresponding to the pitch angle, and R(θ) is the rotation matrix corresponding to the roll angle. The specific forms of each rotation matrix are shown in formulas (5) to (7):
[0094]
[0095]
[0096]
[0097] Knowing the rotation matrix, we can find the yaw angle ψ, pitch angle φ and roll angle θ. Assume that there is a motion constraint between the previous frame i and the current frame j. The odometer positioning data of the previous frame i in the world coordinate system is expressed as and The odometry positioning data of the current frame j is expressed in the world coordinate system as and The yaw angles of the previous frame i and the current frame j are and Then the associated pose between the previous frame i and the current frame j is as shown in formula 8 and formula
[0098] As shown in formula 9:
[0099]
[0100]
[0101] Specifically, represents the translation matrix (i.e., position coordinates) in the world coordinate system provided in the second odometry positioning data (i.e., the odometry positioning data of the previous frame i), represents the translation matrix in the world coordinate system provided in the first odometry positioning data (i.e., the odometry positioning data of the current frame j), Represents the yaw angle provided in the second odometer positioning data, Indicates the yaw angle of the current frame provided in the first odometry positioning data.
[0102] If there is an odometry constraint between the previous frame i and the current frame j, the residual function constructed based on the odometry constraint is shown in Formula 10:
[0103]
[0104] Where s represents the scale factor, P i w represents the translation matrix of the corrected positioning data corresponding to the satellite positioning data of the previous frame i relative to the world coordinate system, ψ i represents the yaw angle corresponding to the corrected positioning data corresponding to the satellite positioning data of the previous frame i, P j w Represents the translation matrix of the corrected positioning data to be solved for the current frame j relative to the world coordinate system, ψ j Indicates the yaw angle corresponding to the corrected positioning data to be solved in the current frame j, is the odometry constraint.
[0105] For example, when the corrected positioning data to be solved is solved according to the motion constraints and the odometry constraints to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame, the overall constraint target can be obtained by combining the motion constraints and the odometry constraints, and then the corrected positioning data to be solved is solved to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0106] For example, assigning different weights to motion constraints and odometry constraints indicates their different importance in solving the corrected positioning data. When the constraints obtained by solving the motion and odometry constraints meet the preset constraint targets, the data used at this time can be used as the corrected positioning data to be solved.
[0107] In some embodiments, solving the corrected positioning data to be solved according to the motion constraint and the odometer constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame includes: adding the motion constraint and the odometer constraint to obtain a constraint sum; optimizing the constraint sum to determine a minimum value of the constraint sum; and when determining that the constraint sum is the minimum value, obtaining the value taken by the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0108] Exemplarily, the constraint sum obtained by adding the motion constraint and the odometry constraint is used as the overall optimization target. When the constraint sum is the minimum value, the value taken by the corrected positioning data corresponding to the satellite positioning data of the current frame is used as the corrected positioning data corresponding to the satellite positioning data of the current frame.
[0109] Combining the formula (1) corresponding to the satellite positioning data residual term in the motion constraint, the formula (2) corresponding to the satellite positioning data map constraint term in the motion constraint, and the formula (10) corresponding to the odometry constraint, the overall optimization objective can be obtained, as shown in formula 11.
[0110]
[0111] It is understandable that the minimum value can be a local optimal value or a global optimal value. Therefore, the constraint obtained by adding the motion constraint and the odometry constraint and the overall optimization target can be solved using a nonlinear optimization method, such as gradient descent method, Newton method, etc. The specific nonlinear optimization method is not limited.
[0112] See also Figure 5 , Figure 5A positioning device 200 provided in an embodiment of the present application is applied to a mobile terminal, and the positioning device 200 includes: a data acquisition module 201, a data analysis module 202, a data constraint module 203, and a data solution module 204. The data acquisition module 201 is configured to, upon acquiring satellite positioning data of a current frame, acquire an open source map based on the satellite positioning data of the current frame; the data analysis module 202 is configured to determine key road information in the open source map based on the initial position information of the self-mobile device, the satellite positioning data of the current frame, and the open source map; the data constraint module 203 is configured to determine motion constraints of the self-mobile device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the key road information; and the data solution module 204 is configured to solve the corrected positioning data to be solved based on the motion constraints to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0113] In some embodiments, the data analysis module 202 performs the following steps in determining the key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map:
[0114] According to the initial position information and the satellite positioning data of the current frame, a key road where the mobile device is located is determined from the open source map, and key road information of the key road is obtained.
[0115] In some embodiments, the data analysis module 202, in determining the key road on which the mobile device is located from the open source map based on the initial location information and the satellite positioning data of the current frame, and obtaining key road information of the key road, performs:
[0116] Determining an initial traveling direction according to the initial position information and the satellite positioning data of the current frame;
[0117] Filtering candidate roads from the open source map according to the initial traveling direction;
[0118] The key road where the mobile device is located is determined according to the candidate road and the satellite positioning data of the current frame, and key road information of the key road is obtained.
[0119] In some embodiments, the motion constraint includes a satellite positioning data residual term and a map constraint term. In determining the motion constraint of the mobile device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information, the data constraint module 203 executes:
[0120] Constructing the satellite positioning data residual term according to the initial position information, the satellite positioning data of the current frame and the corrected positioning data to be solved;
[0121] Determining a perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information according to the corrected positioning data to be solved and the key road information;
[0122] The map constraint item is constructed according to the vertical line distance and the positioning accuracy of the satellite positioning data of the current frame.
[0123] In some implementations, the data constraint module 203, during the process of determining the perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information based on the corrected positioning data to be solved and the key road information, performs:
[0124] Constructing a distance expression from the corrected positioning data to be solved to the key road according to the corrected positioning data to be solved and the position information of each road point in the key road information;
[0125] The distance expression is minimized to obtain an expression corresponding to the perpendicular distance.
[0126] In some embodiments, the self-mobile device is provided with an odometer, and the odometer is used to collect odometer positioning data. The data solving module 204 further executes:
[0127] Obtaining first odometer positioning data corresponding to the satellite positioning data of the current frame, and obtaining corrected positioning data and second odometer positioning data corresponding to the satellite positioning data of the previous frame;
[0128] Constructing an odometer constraint corresponding to the odometer according to the first odometer positioning data, the second odometer positioning data, the corrected positioning data to be solved, and the corrected positioning data corresponding to the satellite positioning data of the previous frame;
[0129] Accordingly, solving the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data of the self-moving device includes:
[0130] The corrected positioning data to be solved is solved according to the motion constraint and the odometer constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0131] In some embodiments, the data solving module solves the corrected positioning data to be solved according to the motion constraint and the odometry constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame, performing:
[0132] Adding the motion constraint to the odometry constraint to obtain a constraint sum;
[0133] Optimizing the constraint sum to determine a minimum value of the constraint sum;
[0134] When it is determined that the constraint sum is the minimum value, the value taken by the corrected positioning data corresponding to the satellite positioning data of the current frame is obtained.
[0135] It should be noted that those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the device described above can refer to the corresponding process in the aforementioned positioning method embodiment, and will not be repeated here.
[0136] See also Figure 6 , Figure 6 A schematic block diagram of the structure of a self-moving device provided in an embodiment of the present application.
[0137] like Figure 6 As shown, the mobile device 300 includes a processor 301 and a memory 302 , and the processor 301 and the memory 302 are connected via a bus 303 , such as an I 2 C (Inter-integrated Circuit) bus.
[0138] Specifically, the processor 301 is used to provide computing and control capabilities to support the operation of the entire server. The processor 301 can be a central processing unit (CPU), and the processor 301 can also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc.
[0139] Specifically, the memory 302 may be a Flash chip, a read-only memory (ROM) disk, an optical disk, a USB flash drive, or a mobile hard disk.
[0140] Those skilled in the art will understand that Figure 4The structure shown in the figure is merely a block diagram of a portion of the structure related to the embodiment scheme of the present application, and does not constitute a limitation on the mobile terminal to which the embodiment scheme of the present application is applied. The specific mobile terminal may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
[0141] The processor 301 is configured to run a computer program stored in the memory and implement the positioning method provided in any embodiment of the present application when executing the computer program.
[0142] In some embodiments, the processor 301 is configured to run a computer program stored in the memory, applied to the mobile terminal, and implement the following steps when executing the computer program:
[0143] When satellite positioning data of the current frame is obtained, an open source map is obtained according to the satellite positioning data of the current frame;
[0144] Determining key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map;
[0145] Determining the motion constraints of the self-moving device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information;
[0146] The corrected positioning data to be solved is solved according to the motion constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0147] In some embodiments, the processor 301, in determining the key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map, executes:
[0148] According to the initial position information and the satellite positioning data of the current frame, a key road where the mobile device is located is determined from the open source map, and key road information of the key road is obtained.
[0149] In some embodiments, the processor 301, in determining the key road on which the mobile device is located from the open source map based on the initial location information and the satellite positioning data of the current frame, and obtaining key road information of the key road, performs:
[0150] Determining an initial traveling direction according to the initial position information and the satellite positioning data of the current frame;
[0151] Filtering candidate roads from the open source map according to the initial traveling direction;
[0152] The key road where the mobile device is located is determined according to the candidate road and the satellite positioning data of the current frame, and key road information of the key road is obtained.
[0153] In some embodiments, the motion constraint includes a satellite positioning data residual term and a map constraint term. In determining the motion constraint of the mobile device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information, the processor 301 executes:
[0154] Constructing the satellite positioning data residual term according to the initial position information, the satellite positioning data of the current frame and the corrected positioning data to be solved;
[0155] Determining a perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information according to the corrected positioning data to be solved and the key road information;
[0156] The map constraint item is constructed according to the vertical line distance and the positioning accuracy of the satellite positioning data of the current frame.
[0157] In some implementations, the processor 301, in determining the perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information based on the corrected positioning data to be solved and the key road information, executes:
[0158] Constructing a distance expression from the corrected positioning data to be solved to the key road according to the corrected positioning data to be solved and the position information of each road point in the key road information;
[0159] The distance expression is minimized to obtain an expression corresponding to the perpendicular distance.
[0160] In some embodiments, the self-mobile device is provided with an odometer, and the odometer is used to collect odometer positioning data. The processor 301 further executes:
[0161] Obtaining first odometer positioning data corresponding to the satellite positioning data of the current frame, and obtaining corrected positioning data and second odometer positioning data corresponding to the satellite positioning data of the previous frame;
[0162] Constructing an odometer constraint corresponding to the odometer according to the first odometer positioning data, the second odometer positioning data, the corrected positioning data to be solved, and the corrected positioning data corresponding to the satellite positioning data of the previous frame;
[0163] Accordingly, solving the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data of the self-moving device includes:
[0164] The corrected positioning data to be solved is solved according to the motion constraint and the odometer constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
[0165] In some implementations, the processor 301, while solving the corrected positioning data to be solved according to the motion constraint and the odometry constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame, executes:
[0166] Adding the motion constraint to the odometry constraint to obtain a constraint sum;
[0167] Optimizing the constraint sum to determine a minimum value of the constraint sum;
[0168] When it is determined that the constraint sum is the minimum value, the value taken by the corrected positioning data corresponding to the satellite positioning data of the current frame is obtained.
[0169] It should be noted that those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working process of the mobile terminal described above can refer to the corresponding process in the aforementioned positioning method embodiment, and will not be repeated here.
[0170] An embodiment of the present application also provides a storage medium for computer-readable storage, wherein the storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of any positioning method provided in the embodiment of the present application specification.
[0171] The storage medium may be an internal storage unit of the mobile terminal in the aforementioned embodiment, such as a mobile terminal memory. The storage medium may also be an external storage device of the mobile terminal, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc., equipped on the mobile terminal.
[0172] It will be appreciated by those skilled in the art that all or some of the steps in the method disclosed above, and the functional modules / units in the device can be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware embodiment, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media generally embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0173] It should be understood that the term "and / or" used in this specification and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations. It should be noted that, in this article, the terms "include", "comprise" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system that includes a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements that are inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "including a..." does not exclude the presence of other identical elements in the process, method, article or system that includes the element.
[0174] The serial numbers of the embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments. The above are only specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various equivalent modifications or replacements within the technical scope disclosed in this application, and these modifications or replacements should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A positioning method, characterized in that: Applied to a self-mobile device, the method includes: When satellite positioning data of the current frame is obtained, an open source map is obtained according to the satellite positioning data of the current frame; Determining key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map; Determining the motion constraints of the self-moving device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information; The corrected positioning data to be solved is solved according to the motion constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
2. The method according to claim 1, characterized in that The determining of key road information in the open source map based on the initial location information of the mobile device, the satellite positioning data of the current frame, and the open source map includes: According to the initial position information and the satellite positioning data of the current frame, a key road where the mobile device is located is determined from the open source map, and key road information of the key road is obtained.
3. The method according to claim 2, characterized in that The determining, from the open source map, the key road where the mobile device is located based on the initial position information and the satellite positioning data of the current frame, and obtaining key road information of the key road includes: Determining an initial traveling direction according to the initial position information and the satellite positioning data of the current frame; Filtering candidate roads from the open source map according to the initial traveling direction; The key road where the mobile device is located is determined according to the candidate road and the satellite positioning data of the current frame, and key road information of the key road is obtained.
4. The method according to claim 1, wherein The motion constraint includes a satellite positioning data residual term and a map constraint term; and determining the motion constraint of the self-moving device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information includes: Constructing the satellite positioning data residual term according to the initial position information, the satellite positioning data of the current frame and the corrected positioning data to be solved; Determining a perpendicular distance between the corrected positioning data to be solved and the key road corresponding to the key road information according to the corrected positioning data to be solved and the key road information; The map constraint item is constructed according to the vertical line distance and the positioning accuracy of the satellite positioning data of the current frame.
5. The method according to claim 4, characterized in that The determining, based on the corrected positioning data to be solved and the key road information, a vertical distance between the corrected positioning data to be solved and the key road information includes: Constructing a distance expression from the corrected positioning data to be solved to the key road according to the corrected positioning data to be solved and the position information of each road point in the key road information; The distance expression is minimized to obtain an expression corresponding to the perpendicular distance.
6. The method according to claim 1, characterized in that The self-mobile device is provided with an odometer, and the odometer is used to collect odometer positioning data. The method further includes: Obtaining first odometer positioning data corresponding to the satellite positioning data of the current frame, and obtaining corrected positioning data and second odometer positioning data corresponding to the satellite positioning data of the previous frame; Constructing an odometer constraint corresponding to the odometer according to the first odometer positioning data, the second odometer positioning data, the corrected positioning data to be solved, and the corrected positioning data corresponding to the satellite positioning data of the previous frame; Accordingly, solving the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data of the self-moving device includes: The corrected positioning data to be solved is solved according to the motion constraint and the odometer constraint to obtain corrected positioning data corresponding to the satellite positioning data of the current frame.
7. The method according to claim 6, characterized in that Solving the corrected positioning data to be solved according to the motion constraint and the odometer constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame includes: Adding the motion constraint to the odometry constraint to obtain a constraint sum; Optimizing the constraint sum to determine a minimum value of the constraint sum; When it is determined that the constraint sum is the minimum value, the value taken by the corrected positioning data corresponding to the satellite positioning data of the current frame is obtained.
8. A positioning device, characterized in that: include: A data acquisition module, configured to acquire an open source map based on the satellite positioning data of the current frame when the satellite positioning data of the current frame is acquired; a data analysis module, configured to determine key road information in the open source map based on initial location information of the mobile device, satellite positioning data of the current frame, and the open source map; a data constraint module, configured to determine the motion constraint of the self-moving device based on the initial position information, the satellite positioning data of the current frame, the corrected positioning data to be solved, and the critical road information; The data solving module is used to solve the corrected positioning data to be solved according to the motion constraint to obtain the corrected positioning data corresponding to the satellite positioning data of the current frame.
9. A self-propelled device, characterized in that: The self-mobile device includes a processor and a memory; The memory is used to store computer programs; The processor is configured to execute the computer program and implement the positioning method according to any one of claims 1 to 7 when executing the computer program.
10. A computer storage medium for computer storage, characterized in that: The computer storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps of the positioning method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Map matching
CN104969032A
Track reconstruction method based on floating car satellite positioning data
CN115481207A