Positioning method, device, electronic device, storage medium and program product
By acquiring vehicle bus data and inertial navigation data, determining the attitude information of the target device, and combining the bus data for positioning, the problem of error accumulation in traditional strap-inner navigation combinations in certain scenarios is solved, and the accuracy of positioning is improved.
Patent Information
- Application Number
- CN202210788374.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-06
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2042-07-06
AI Technical Summary
Traditional strap-inner inertial navigation combinations are prone to accumulation of errors in some scenarios, resulting in inaccurate positioning.
By acquiring the bus data of the vehicle and the inertial navigation data of the target device, the target attitude information of the target device is determined, and the target device is positioned based on the target attitude information and bus data to obtain position information.
Avoid error accumulation, improve positioning accuracy, and ensure the accuracy of attitude and position information of the target device.
Smart Images

Figure CN117405125B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the field of positioning technology, and in particular, to a positioning method, device, electronic device, storage medium, and program product. Background Art
[0002] With the development of the Internet and high-precision maps, people have higher and higher requirements for positioning accuracy. For example, some manufacturers have achieved lane-level positioning on high-end smartphones.
[0003] In traditional technology, a strapdown inertial navigation combination is often used for positioning, that is, the IMU (Inertial measurement unit) and GPS (Global Position System) set in a mobile terminal or a vehicle-mounted central control are used to locate the vehicle.
[0004] However, the strapdown inertial navigation combination method is prone to error accumulation in some scenarios, which leads to inaccurate positioning. Summary of the invention
[0005] The embodiments of the present disclosure provide a positioning method, device, electronic device, storage medium and program product, which can avoid error accumulation and ensure positioning accuracy.
[0006] In a first aspect, an embodiment of the present disclosure provides a positioning method, the method comprising:
[0007] Acquiring bus data of a vehicle and inertial navigation data of a target device; the target device is arranged in the vehicle;
[0008] Determining target attitude information of the target device according to the inertial navigation data and the bus data;
[0009] The target device is positioned according to the target posture information and the bus data to obtain the position information of the target device.
[0010] In a second aspect, an embodiment of the present disclosure provides a positioning device, the device comprising:
[0011] A data acquisition module, used to acquire bus data of a vehicle and inertial navigation data of a target device; the target device is arranged in the vehicle;
[0012] A posture determination module, used to determine the target posture information of the target device according to the inertial navigation data and the bus data;
[0013] A positioning module is used to locate the target device according to the target posture information and the bus data to obtain the position information of the target device.
[0014] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method described in the first aspect when executing the computer program.
[0015] In a fourth aspect, an embodiment of the present disclosure provides a storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the method described in the first aspect above.
[0016] In a fifth aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which implements the method described in the first aspect when executed by a processor.
[0017] The positioning method, device, electronic device, storage medium and program product provided by the embodiments of the present disclosure obtain the bus data of the vehicle and the inertial navigation data of the target device; determine the target attitude information of the target device according to the inertial navigation data and the bus data; locate the target device according to the target attitude information and the bus data to obtain the position information of the target device. The embodiments of the present disclosure modify the attitude calculated by the inertial navigation data through the bus data, so that the attitude of the target device can be more accurate, so that the position information determined according to the attitude of the target device is more accurate; and when determining the position information, the bus data is also referred to, which can further improve the accuracy of the position information. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 A diagram of an application environment of a positioning method in an embodiment;
[0019] Figure 2 is a schematic flow chart of a positioning method in an embodiment;
[0020] Figure 3 One of the flowcharts of the step of determining target posture information in one embodiment;
[0021] Figure 4 A schematic diagram of a process for determining initial posture information in one embodiment;
[0022] Figure 5 The second flowchart of the step of determining target posture information in one embodiment;
[0023] Figure 6 A schematic diagram of angle variation in one embodiment;
[0024] Figure 7 A schematic diagram of a flow chart of a step of determining location information of a target device in one embodiment;
[0025] Figure 8A schematic diagram of a flow chart of a step of determining input data in one embodiment;
[0026] Fig. 9 One of the structural block diagrams of a positioning device in an embodiment;
[0027] Fig.10 This is a second structural block diagram of a positioning device in an embodiment;
[0028] Fig.11 FIG. 4 is a diagram showing the internal structure of an electronic device in one embodiment. DETAILED DESCRIPTION
[0029] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure more clear, the embodiments of the present disclosure are 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 embodiments of the present disclosure and are not used to limit the embodiments of the present disclosure.
[0030] First, before specifically introducing the technical solution of the embodiment of the present disclosure, the technical background or technical evolution context on which the embodiment of the present disclosure is based is introduced. At present, a strapdown inertial navigation combination is often used for positioning, that is, the IMU and GPS set in the mobile terminal or the vehicle-mounted central control are used to locate the vehicle. IMU is a device for measuring the three-axis attitude angle and acceleration of an object. Generally, an IMU includes a three-axis gyroscope and a three-axis accelerometer, and some 9-axis IMUs also include a three-axis magnetometer. The three-axis gyroscope can measure the angular velocity of the X, Y, and Z axes of the IMU carrier, the three-axis accelerometer can measure the acceleration of the X, Y, and Z axes of the IMU carrier, and the magnetometer acts as a compass. Under normal circumstances, the attitude of the IMU carrier can be solved according to the inertial navigation data measured by the IMU, and then the positioning data measured by the GPS is used to correct the solved attitude to avoid error accumulation in the attitude solution process. However, in some scenarios, the GPS signal is missing, resulting in the failure to measure the positioning data. Since there is no positioning data for correction, it will cause error accumulation, which will lead to inaccurate positioning. It should be noted that the applicant has put in a lot of creative work in the technical solutions from error accumulation leading to inaccurate positioning to the following embodiments.
[0031] The technical solutions involved in the embodiments of the present disclosure are introduced below in combination with the scenarios to which the embodiments of the present disclosure are applied.
[0032] The positioning method provided in the embodiments of the present disclosure can be applied to Figure 1The application environment shown in the figure. The application environment may include a target device 101 and a vehicle 102, wherein the target device 101 is set in the vehicle 102. The target device may include but is not limited to various vehicle-mounted central control, smart phones, tablet computers and portable wearable devices, and the portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. The vehicle 102 may include various non-motorized or motorized vehicles.
[0033] In one embodiment, Figure 2 As shown, a positioning method is provided, which is applied to Figure 1 The target device in is taken as an example to illustrate, including the following steps:
[0034] Step 201, obtaining bus data of the vehicle and inertial navigation data of the target device.
[0035] The vehicle collects data through the Controller Area Network (CAN) in the vehicle to obtain bus data. The bus data may include the acceleration, speed, steering wheel angle, wheel angle, and driving status of the vehicle. The embodiments of the present disclosure do not limit the bus data.
[0036] The target device is provided with an IMU, and the target device collects data through the IMU to obtain inertial navigation data. The inertial navigation data may include the three-axis angular velocity collected by the gyroscope in the IMU and the three-axis acceleration collected by the accelerometer. The embodiments of the present disclosure do not limit the inertial navigation data.
[0037] Taking a smartphone as an example, the target device obtains inertial navigation data through an IMU set inside the smartphone, and the smartphone establishes a communication connection with the vehicle, and obtains bus data from the vehicle based on the communication connection.
[0038] Taking the target device as a vehicle-mounted central control as an example, the vehicle-mounted central control obtains inertial navigation data through the IMU set inside the central control, and obtains bus data through the CAN bus.
[0039] In practical applications, the manner of acquiring bus data and inertial navigation data is not limited to the description in the above embodiment, and other manners may also be used.
[0040] Step 202: determining target attitude information of the target device according to the inertial navigation data and the bus data.
[0041] The target attitude information includes the target roll angle (roll), the target pitch angle (pitch) and the target heading angle (bearing).
[0042] The target device can determine the initial attitude angle of the target device according to the inertial navigation data, and then use the bus data to correct the attitude angle of the target device to obtain the target roll angle, target pitch angle and target heading angle of the target device, that is, to obtain the target attitude information of the target device.
[0043] It can be understood that the vehicle can collect bus data in real time, and data loss usually does not occur. Therefore, using bus data to correct the attitude angle of the target device can avoid error accumulation, thereby making the target attitude information of the target device more accurate.
[0044] Step 203: Position the target device according to the target posture information and the bus data to obtain the position information of the target device.
[0045] After determining the target posture information, the target device can be positioned using the target posture information and bus data to obtain the position information of the target device; or the target device can be positioned using the target posture information first, and then the positioning can be corrected using the bus data to obtain the position information of the target device.
[0046] It can be understood that the target device is disposed in a vehicle, and the location information of the target device can be regarded as the location information of the vehicle.
[0047] In the above embodiment, the bus data of the vehicle and the inertial navigation data of the target device are obtained; the target attitude information of the target device is determined based on the inertial navigation data and the bus data; the target device is positioned based on the target attitude information and the bus data to obtain the position information of the target device. The disclosed embodiment modifies the attitude calculated by the inertial navigation data through the bus data, so that the attitude of the target device can be more accurate, and therefore, the position information determined according to the attitude of the target device is more accurate; and when determining the position information, the bus data is also referred to, which can further improve the accuracy of the position information.
[0048] In one embodiment, Figure 3 As shown, the process of determining the target attitude information of the target device according to the inertial navigation data and the bus data may include the following steps:
[0049] Step 301: determine initial posture information of the target device according to inertial navigation data.
[0050] The inertial navigation data may include the initial acceleration and initial angular velocity of the target device, and the initial attitude information may include the initial roll angle, the initial pitch angle, and the initial heading angle.
[0051] The target device can first use an attitude matrix to represent the initial acceleration and the initial angular velocity; then perform filtering processing on the initial acceleration and the initial angular velocity to obtain the initial roll angle, the initial pitch angle, and the initial heading angle of the target device.
[0052] In one embodiment, the initial attitude information can also be determined according to the inertial navigation data in the form of quaternions. The present disclosure does not limit the determination method of the initial attitude information.
[0053] Step 302: Correct the initial attitude information according to the bus data to obtain the target attitude information of the target device.
[0054] Among them, the bus data includes the steering wheel angle and the wheel angle, etc.
[0055] The target device can determine the change amount of the heading angle according to the steering wheel angle and the wheel angle, etc., and then correct the initial heading angle in the initial attitude information according to the change amount of the heading angle, so as to obtain the target roll angle, the target pitch angle, and the target heading angle of the target device, that is, obtain the target attitude information of the target device.
[0056] In the above embodiment, the initial attitude information of the target device is determined according to the inertial navigation data; the initial attitude information is corrected according to the bus data to obtain the target attitude information of the target device. By correcting the attitude of the target device through the bus data in the embodiments of the present disclosure, the attitude of the target device can be made more accurate, so that the position information determined according to the attitude is more accurate.
[0057] In one embodiment, the inertial navigation data includes the initial acceleration and the initial angular velocity. As Figure 4 shown, the process of determining the initial attitude information of the target device according to the inertial navigation data may include the following steps:
[0058] Step 3011: Perform a first preprocessing on the initial acceleration to obtain the preprocessed acceleration.
[0059] Among them, the first preprocessing may include low-pass filtering processing.
[0060] Since there is high-frequency noise in the initial acceleration, the target device performs low-pass filtering processing on the initial acceleration to obtain the preprocessed acceleration.
[0061] Step 3012: Perform a second preprocessing on the initial angular velocity to obtain the preprocessed angular velocity.
[0062] Among them, the second preprocessing includes zero-bias estimation processing.
[0063] Theoretically, the angular velocity of the three axes of the gyroscope in the IMU is zero when it is stationary. But in reality, the angular velocity of the three axes of the gyroscope in the IMU has zero bias when it is stationary. Therefore, the target device performs zero bias estimation processing on the initial angular velocity to obtain the pre-processed angular velocity.
[0064] The above zero bias estimation process may include: obtaining the three-axis angular velocity collected by the gyroscope in a stationary state, calculating the average value of the three-axis angular velocity, and using the average value as the zero bias of each axis. In practical applications, other methods may also be used for zero bias estimation, which is not limited in the embodiments of the present disclosure.
[0065] Step 3013, performing complementary filtering on the preprocessed acceleration and the preprocessed angular velocity to obtain initial posture information of the target device.
[0066] After determining the preprocessed acceleration and the preprocessed angular velocity, the preprocessed acceleration and the preprocessed angular velocity are characterized by the attitude matrix and noise, and then the acceleration and angular velocity characterized by the attitude matrix and noise are subjected to complementary filtering to obtain the initial attitude information of the target attitude.
[0067] The attitude matrix calculated by acceleration contains high-frequency noise components, as shown in the following formula:
[0068] R accel =R+μ H
[0069] Among them, R is the ideal posture matrix, μ H is the high frequency noise component, R accel The attitude matrix of acceleration solution is the processed acceleration.
[0070] The attitude matrix calculated by the gyroscope contains low-frequency noise components, as shown in the following formula:
[0071] R gyro =R+μ L
[0072] Among them, R is the ideal posture matrix, μ L is the low-frequency noise component, R gyro is the attitude matrix solved by the gyroscope, which is the processed angular velocity.
[0073] The complementary filtering process can be expressed as follows:
[0074]
[0075]
[0076]
[0077]
[0078] Among them, Ω is the angle change of the three axes, is the estimated value of the posture at time t, is the estimated value of the posture at time t+1, C(s) is the weight, G L (s) is low-pass filtering, G H (s) is high-pass filtering.
[0079] In the above embodiment, the initial acceleration is subjected to a first preprocessing to obtain a preprocessed acceleration; the initial angular velocity is subjected to a second preprocessing to obtain a preprocessed angular velocity; the preprocessed acceleration and the preprocessed angular velocity are subjected to complementary filtering to obtain the initial posture information of the target device. The disclosed embodiment first preprocesses the initial acceleration and the initial angular velocity to filter out abnormal values, and then determines the initial posture information based on the preprocessed acceleration and the preprocessed angular velocity, which can improve the accuracy of the initial posture information, thereby improving the accuracy of positioning the target device.
[0080] In one embodiment, Figure 5 As shown, the process of correcting the initial posture information according to the bus data to obtain the target posture information of the target device may include the following steps:
[0081] Step 3021, determining the angle change of the vehicle based on the bus data.
[0082] The bus data includes vehicle speed data, steering wheel angle data, collection period of steering wheel angle data, mapping slope and mapping intercept.
[0083] The mapping relationship between the vehicle angle change and the bus data is established in advance, and the mapping relationship is as follows:
[0084]
[0085] in, is the angle change of the vehicle at time t, V car is the vehicle speed data, Ω steer is the steering wheel angle data, ΔT is the collection period of the steering wheel angle data, k is the mapping slope of the steering wheel angle data, and b is the mapping intercept of the steering wheel angle data.
[0086] After obtaining the bus data, substitute the bus data into the above mapping relationship to obtain the vehicle angle change. Figure 6 As shown, the horizontal axis is the number of samples, and the vertical axis is the angle change. Figure 5 It can be seen that the angle change obtained by mapping is basically consistent with the actual angle change.
[0087] Step 3022: Correct the initial posture information according to the angle variation to obtain target posture information of the target device.
[0088] After determining the angle change of the vehicle, the angle change of the vehicle is used to correct the initial heading angle in the initial posture information to obtain the target heading angle, thereby obtaining the target posture information of the target device.
[0089] In the above embodiment, the angle change of the vehicle is determined according to the bus data; the initial posture information is corrected according to the angle change to obtain the target posture information of the target device. In the embodiment disclosed herein, the initial posture information is corrected using bus data. Since the bus data can be obtained in real time and there is basically no data loss, the bus data can be used for correction to avoid error accumulation, thereby improving the accuracy of the target posture information, and further improving the accuracy of the positioning of the target device.
[0090] In one embodiment, based on the above embodiment, the following steps may also be included:
[0091] Step 303: Obtain positioning information.
[0092] The positioning information includes positioning data collected by a positioning module in the target device and / or binding route information determined according to a preset map and the positioning data.
[0093] A positioning module can be set in the target device, and data is collected through the positioning module, and then the collected data is tested to obtain positioning data.
[0094] In one embodiment, the detection may include validity detection, which is to determine whether the collected data is valid. For example, if the longitude and latitude in the collected data are -1, it can be determined that the collected data is an invalid value; or if the collected speed exceeds the normal vehicle speed range, it is determined that the collected data is an invalid value. The embodiments of the present disclosure do not limit the validity detection and can be set according to actual conditions.
[0095] In one embodiment, the detection may also include quality detection. For example, the angle change in the bus data is used as reference data. If the difference between the data collected by the positioning module and the reference data is greater than a preset difference value, it is determined that the data collected by the positioning module does not meet the quality requirements; if the difference between the data collected by the positioning module and the reference data is less than or equal to the preset difference value, it is determined that the data collected by the positioning module meets the quality requirements. The disclosed embodiment does not limit quality detection and can be set according to actual conditions.
[0096] It can be understood that the validity detection and quality detection can filter out abnormal values collected by the positioning module, and use the valid data collected by the positioning module that meets the quality requirements as the positioning data.
[0097] The target device may also use the roads in the preset map as a reference for the positioning data, bind the positioning data with the roads in the preset map, and obtain the binding road information.
[0098] It should be noted that the target device may use the positioning data as the positioning information, may use the binding information as the positioning information, or may use the positioning data and the binding information together as the positioning information. This embodiment of the disclosure does not limit this.
[0099] Correspondingly, the above step 302 may include: performing correction processing on the initial posture information according to the bus data and the positioning information to obtain the target posture information of the target device.
[0100] After the bus data and the positioning information are determined, the initial posture information is corrected using the bus data and the positioning information to obtain the target posture information of the target device.
[0101] In one embodiment, the correction process may include: determining the angle change of the vehicle according to the bus data; and correcting the initial heading angle in the initial attitude information according to the angle change of the vehicle and the heading angle in the positioning information to obtain the target attitude information. In practical applications, other correction methods may also be used, which are not limited in the present disclosure.
[0102] In the above embodiment, positioning information is obtained; the initial posture information is corrected according to the bus data and the positioning information to obtain the target posture information of the target device. In the posture correction process of the embodiment of the present disclosure, not only the bus data but also the positioning information is referred to, so that the posture of the target device can be made more accurate, thereby improving the accuracy of positioning the target device.
[0103] In one embodiment, Figure 7 As shown, the process of locating the target device according to the target posture information and the bus data to obtain the position information of the target device may include the following steps:
[0104] Step 401, determining a plurality of input data according to target posture information and bus data.
[0105] Among them, the input data includes state quantity, input quantity and observation quantity.
[0106] The target device can determine the acceleration, velocity, displacement and other data of the target device according to the target posture information and bus data, and use these data as state quantity, input quantity and observation quantity respectively.
[0107] For example, the acceleration of the target device can be determined based on the target posture information, and the acceleration of the target device can be used as the input quantity. The speed and displacement of the target device can also be determined based on the acceleration of the target device, and the speed and displacement of the target device can be used as the state quantity. In addition, the vehicle speed data, positioning data, and binding road information can also be determined based on the bus data, and the vehicle speed data, positioning data, and binding road information can be used as the observed quantity. The embodiments of the present disclosure do not limit the state quantity, input quantity, and observed quantity.
[0108] Step 402, performing Kalman filtering on multiple input data to obtain updated state quantities.
[0109] The Kalman filter may include a priori equations and a posteriori equations. The a priori equations may determine the state at a later moment according to the state at a previous moment, and the posteriori equations may correct the state at the later moment to obtain an updated state.
[0110] In practical applications, the target device performs Kalman filtering on the state quantity, input quantity and observation quantity to obtain the updated state quantity. The prior equation is as follows:
[0111]
[0112] P t '=FP t-1 F T +GQ u G T +Q'
[0113] Among them, x t-1 is the state quantity at time t-1, u t-1 is the input at time t-1, F is the state transfer equation and G is the control input transfer equation, is the state quantity at time t predicted based on the state quantity and input quantity at time t-1. T is the transposed matrix of F, Q u is the noise of the input quantity, Q' is the noise of the state quantity, P t-1 is the covariance matrix at time t-1, P t ' is the covariance matrix at time t obtained by predicting based on the covariance matrix at time t-1 and the noise of the input and state quantities.
[0114] The posterior equation is as follows:
[0115]
[0116]
[0117] P t =P t '-Kt HP t '
[0118] in, is the state quantity at time t predicted by the prior equation, K t is the Kalman gain, H is the observation matrix, z t is the observed value at time t, The updated state quantity at time t is obtained by correcting the predicted state quantity at time t according to the Kalman gain and the observation quantity at time t. t ' is the covariance matrix at time t predicted in the prior equation, H T is the transposed matrix of H, P t To correct the predicted covariance matrix at time t, the updated covariance matrix is obtained.
[0119] In one of the embodiments, a chi-square test of innovation is performed on the observed quantity to eliminate wild values in the observed quantity, so as to ensure the robustness of the Kalman filter. The above-mentioned innovation is a concept in signal processing, which characterizes the observed quantity minus the predicted observed quantity. The above-mentioned chi-square test is a hypothesis testing method for counting data, which belongs to the category of non-parametric test. It mainly compares two or more sample rates (constituent ratios) and the correlation analysis of two categorical variables; its fundamental idea is to compare the mildness or goodness of fit of the theoretical frequency and the actual frequency. The specific method of the chi-square test is not limited in the embodiment of the present disclosure.
[0120] Step 403: Determine the location information of the target device according to the updated state quantity.
[0121] After the target device determines the updated state quantity, it can perform integration processing based on the updated state quantity to obtain the position information of the target device. For example, if the updated state quantity includes acceleration, then performing time integration processing on the acceleration can obtain the velocity, and then performing time integration processing on the velocity can obtain the displacement. Based on the position information and displacement of the reference point, the current position information of the target device can be determined. The disclosed embodiment does not limit the method for determining the position information, and it can be selected according to the actual situation.
[0122] In the above embodiment, multiple input data are determined according to the target posture information and the bus data; the multiple input data are processed by Kalman filtering to obtain an updated state quantity; and the position information of the target device is determined according to the updated state quantity. The disclosed embodiment can quickly and accurately determine the position information of the target device through Kalman filtering, thereby improving the positioning efficiency and positioning accuracy of the target device.
[0123] In one embodiment, Figure 8As shown, the process of determining multiple input data according to the target posture information and the bus data may include the following steps:
[0124] Step 4011, determining the state quantity and input quantity according to the target posture information.
[0125] The target device determines the acceleration of the target device in the navigation coordinate system according to the coordinate conversion relationship between the device coordinate system and the navigation coordinate system and the target posture information, and uses the acceleration of the target device in the navigation coordinate system as an input quantity; determines the state quantity according to the acceleration of the target device in the navigation coordinate system; wherein the state quantity includes the local position and velocity of the target device in the navigation coordinate system and the acceleration offset in the device coordinate system.
[0126] For example, the target device decomposes the target posture information to obtain the acceleration of the target device in the device coordinate system; according to the coordinate conversion relationship between the device coordinate system and the navigation coordinate system, the acceleration in the device coordinate system is converted to obtain the acceleration A in the navigation coordinate system. The navigation coordinate system can be the northeast sky coordinate system, and the acceleration is the three-axis acceleration A{AN AE AD}, with the unit of m / s 2 .
[0127] According to the acceleration A in the navigation coordinate system, the velocity V in the navigation coordinate system is obtained, V{VN VEVD}, which is the three-axis velocity V{VN VE VD}, in m / s. The local position P of the target device can be obtained by integrating again, which can be the three-axis local position P{PN PE PD}, in m. In practical applications, the position of the target device can be calculated based on the three-axis local position, as shown in the following formula:
[0128] V e (t) = V e (t-1)+a e *Δt
[0129] V n (t) = V n (t-1)+a n *Δt
[0130] P e (t) = P e (t-1)+V e (t)*Δt
[0131] P n (t) = P n (t-1)+V n (t)*Δt
[0132] Among them, a e is the eastward acceleration at time t, an is the northward acceleration at time t, V e (t) is the eastward velocity at time t, V n (t) is the northward velocity at time t, P e (t) is the north distance from the reference point, P n (t) is the easting distance from the reference point.
[0133] Calculate the major and minor axes of the Earth:
[0134] R x =r*(1+e*sin 2 (lat)
[0135] R y =r*(1-2e+3e*sin 2 (lat)
[0136] Among them, r is the radius of the earth and e is the ellipsoidality of the earth.
[0137] Calculate the change in longitude and latitude:
[0138] Lat(t)=Lat(0)+P e (t) / R y
[0139] Lon(t)=Lon(0)+P n (t) / R x
[0140] Among them, the change of longitude and latitude is the change of position.
[0141] According to the acceleration in the device coordinate system, the acceleration offset Ab in the device coordinate system can also be determined. The acceleration offset is the three-axis acceleration offset (Ab{AbX AbY AbZ}, in m / s 2 .
[0142] Thus, we get the 9-dimensional state quantity x t and input u t , 9-dimensional state quantity x t Including: three-axis local position P{PN PE PD} in the navigation coordinate system, three-axis velocity V{VN VE VD} in the navigation coordinate system, three-axis acceleration offset (Ab{AbX AbY AbZ} in the device coordinate system, input u t Includes the three-axis acceleration A{AN AE AD} in the navigation coordinate system.
[0143] Step 4012, determining the observed quantity according to the bus data.
[0144] The bus data includes the speed data of the code meter.
[0145] The target device obtains the correspondence between the code dial speed and the real speed in advance, converts the code dial speed data into vehicle speed data according to the correspondence between the code dial speed and the real speed, and uses the vehicle speed data as an observed quantity.
[0146] For example, the speed data of the code dial is V', and according to the corresponding relationship, the speed data of the code dial V' can be converted into the vehicle speed data V car , then the vehicle speed data V car As the observed quantity z t .
[0147] In one of the embodiments, the process of obtaining the correspondence between the code dial speed and the actual speed may include: obtaining the code dial speed data within a preset time period and the positioning data collected by the positioning module in the target device; fitting the code dial speed data and the positioning data to obtain the correspondence between the code dial speed and the actual speed.
[0148] The target device obtains the speed data and positioning data of the code dial within a preset time period, performs a quality check on the positioning data, and uses the positioning data as reference data if the positioning data quality is high. The same amount of reference data is collected in multiple speed intervals; then, a positioning curve is established based on multiple reference data, and a code dial curve is established based on multiple code dial speed data; curve fitting is performed on the positioning curve and the code dial curve to obtain the curve fitting parameters; and the corresponding relationship between the code dial speed and the actual speed is determined based on the curve fitting parameters.
[0149] The quality of the positioning data can be determined according to the accuracy and the number of satellites; the speed range can include 0-10km / h, 10-20km / h, 20-30km / h...; 10 reference data can be collected for each speed range. The embodiments of the present disclosure do not limit this and can be set according to actual conditions.
[0150] In one embodiment, the positioning data and binding route information collected by the positioning module can also be used as observation quantities. The above positioning data can include latitude and longitude data and speed in the navigation coordinate system, and the binding route information can include longitude and latitude data. The present disclosure embodiment does not limit the positioning data, binding route information and observation quantities, and they can be selected according to actual conditions.
[0151] It can be understood that in determining the state quantity x t 、Input u t and the observed quantity z t Then, the state quantity x t 、Input u t and the observed quantity z tSubstituting it into the a priori equation and a posteriori equation of the Kalman filter, the updated state quantity can be obtained, and then the location information of the target device can be determined based on the updated state quantity.
[0152] In the above embodiment, the state quantity and input quantity are determined according to the target posture information; the observation quantity is determined according to the bus data. The disclosed embodiment determines the state quantity, input quantity and observation quantity according to the target posture information and the bus data, so as to perform Kalman filtering on the state quantity, input quantity and observation quantity to obtain the updated state quantity, and then determine the position information of the target device according to the updated state quantity. Since the target posture information and the bus data are taken into account, the positioning of the target device is more accurate.
[0153] It should be understood that although Figures 2 to 8 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figures 2 to 8 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0154] In one embodiment, Fig. 9 As shown, a positioning device is provided, comprising:
[0155] The data acquisition module 501 is used to acquire the bus data of the vehicle and the inertial navigation data of the target device; the target device is set in the vehicle;
[0156] The attitude determination module 502 is used to determine the target attitude information of the target device according to the inertial navigation data and the bus data;
[0157] The positioning module 503 is used to locate the target device according to the target posture information and the bus data to obtain the position information of the target device.
[0158] In one embodiment, the attitude determination module 502 is specifically used to determine the initial attitude information of the target device according to the inertial navigation data; and perform correction processing on the initial attitude information according to the bus data to obtain the target attitude information of the target device.
[0159] In one embodiment, the posture determination module 502 is specifically used to determine the angle change of the vehicle based on bus data; the bus data includes vehicle speed data, steering wheel angle data, steering wheel angle data collection period, mapping slope and mapping intercept; the initial posture information is corrected according to the angle change to obtain the target posture information of the target device.
[0160] In one embodiment, the inertial navigation data includes an initial acceleration and an initial angular velocity. The attitude determination module 502 is specifically used to perform a first preprocessing on the initial acceleration to obtain a preprocessed acceleration; perform a second preprocessing on the initial angular velocity to obtain a preprocessed angular velocity; perform complementary filtering on the preprocessed acceleration and the preprocessed angular velocity to obtain initial attitude information of the target device; the initial attitude information includes an initial roll angle, an initial pitch angle, and an initial heading angle.
[0161] In one embodiment, the posture determination module 502 is specifically configured to perform low-pass filtering on the initial acceleration to obtain the pre-processed acceleration.
[0162] In one embodiment, the posture determination module 502 is specifically configured to perform zero bias estimation processing on the initial angular velocity to obtain a pre-processed angular velocity.
[0163] In one embodiment, if Fig.10 As shown, the device also includes:
[0164] The information acquisition module 504 is used to acquire positioning information; the positioning information includes positioning data collected by the positioning module in the target device, and / or binding information determined according to a preset map and the positioning data;
[0165] Correspondingly, the posture determination module 502 is specifically used to correct the initial posture information according to the bus data and the positioning information to obtain the target posture information of the target device.
[0166] In one of the embodiments, the attitude determination module 502 is specifically used to determine the angle change of the vehicle based on the bus data; based on the angle change of the vehicle and the heading angle in the positioning information, the initial heading angle in the initial attitude information is corrected to obtain the target attitude information.
[0167] In one embodiment, the positioning module 503 is used to determine multiple input data based on the target posture information and bus data; the input data includes state quantities, input quantities and observation quantities, and Kalman filtering is performed on the multiple input data to obtain updated state quantities; the location information of the target device is determined based on the updated state quantities.
[0168] In one embodiment, the positioning module 503 is specifically used to determine the state quantity and the input quantity according to the target posture information; and determine the observation quantity according to the bus data.
[0169] In one embodiment, the bus data includes code dial speed data, and the positioning module 503 is specifically used to convert the code dial speed data into vehicle speed data according to the corresponding relationship between the code dial speed and the real speed, and use the vehicle speed data as the observed value.
[0170] In one embodiment, the positioning module 503 is specifically used to obtain the code dial speed data within a preset time period and the positioning data collected by the positioning module in the target device; the code dial speed data and the positioning data are fitted to obtain the corresponding relationship between the code dial speed and the actual speed.
[0171] In one of the embodiments, the positioning module 503 is specifically used to determine the acceleration of the target device in the navigation coordinate system based on the coordinate conversion relationship between the device coordinate system and the navigation coordinate system and the target posture information, and use the acceleration of the target device in the navigation coordinate system as an input quantity; determine the state quantity based on the acceleration of the target device in the navigation coordinate system; the state quantity includes the local position and velocity of the target device in the navigation coordinate system and the acceleration offset in the device coordinate system.
[0172] For the specific definition of the positioning device, please refer to the definition of the positioning method above, which will not be repeated here. Each module in the above positioning device can be implemented in whole or in part by software, hardware and a combination thereof. The above modules can be embedded in or independent of the processor in the electronic device in the form of hardware, or can be stored in the memory of the electronic device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0173] Fig.11 1 is a block diagram of an electronic device 1300 according to an exemplary embodiment. For example, the electronic device 1300 may be a vehicle-mounted central control, a mobile phone, a digital broadcast terminal, a message transceiver device, a tablet device, a personal digital assistant, etc.
[0174] Reference Fig.11 , the electronic device 1300 may include one or more of the following components: a processing component 1302, a memory 1304, a power component 1306, a multimedia component 1308, an audio component 1310, an input / output (I / O) interface 1312, a sensor component 1314, and a communication component 1316. The memory stores computer programs or instructions running on the processor.
[0175] The processing component 1302 generally controls the overall operation of the electronic device 1300, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 1302 may include one or more processors 1320 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 1302 may include one or more modules to facilitate the interaction between the processing component 1302 and other components. For example, the processing component 1302 may include a multimedia module to facilitate the interaction between the multimedia component 1308 and the processing component 1302.
[0176] The memory 1304 is configured to store various types of data to support operations on the electronic device 1300. Examples of such data include instructions for any application or method operating on the electronic device 1300, contact data, phone book data, messages, pictures, videos, etc. The memory 1304 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0177] The power supply component 1306 provides power to the various components of the electronic device 1300. The power supply component 1306 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 1300.
[0178] The multimedia component 1308 includes a touch display screen that provides an output interface between the electronic device 1300 and the user. In some embodiments, the touch display screen may include a liquid crystal display (LCD) and a touch panel (TP). The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor can not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1308 includes a front camera and / or a rear camera. When the electronic device 1300 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera can receive external multimedia data. Each front camera and rear camera can be a fixed optical lens system or have a focal length and optical zoom capability.
[0179] The audio component 1310 is configured to output and / or input audio signals. For example, the audio component 1310 includes a microphone (MIC), and when the electronic device 1300 is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 1304 or sent via the communication component 1316. In some embodiments, the audio component 1310 also includes a speaker for outputting audio signals.
[0180] I / O interface 1312 provides an interface between processing component 1302 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0181] The sensor assembly 1314 includes one or more sensors for providing various aspects of status assessment for the electronic device 1300. For example, the sensor assembly 1314 can detect the open / closed state of the electronic device 1300, the relative positioning of components, such as the display and keypad of the electronic device 1300, and the sensor assembly 1314 can also detect the position change of the electronic device 1300 or a component of the electronic device 1300, the presence or absence of user contact with the electronic device 1300, the orientation or acceleration / deceleration of the electronic device 1300, and the temperature change of the electronic device 1300. The sensor assembly 1314 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 1314 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1314 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0182] The communication component 1316 is configured to facilitate wired or wireless communication between the electronic device 1300 and other devices. The electronic device 1300 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 1316 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 1316 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0183] In an exemplary embodiment, the electronic device 1300 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above-mentioned positioning method.
[0184] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 1304 including instructions, and the instructions can be executed by a processor 1320 of the electronic device 1300 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0185] In an exemplary embodiment, a computer program product is also provided, and when the computer program is executed by a processor, the above method can be implemented. The computer program product includes one or more computer instructions. When these computer instructions are loaded and executed on a computer, part or all of the above method can be implemented in whole or in part according to the process or function described in the embodiment of the present disclosure.
[0186] Those of ordinary skill 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 memory, storage, database or other media used in the embodiments provided in the embodiments of the present disclosure 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 or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. 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).
[0187] 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.
[0188] The above-described embodiments only express several implementation methods of the embodiments of the present disclosure, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for those of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the embodiments of the present disclosure, and these all belong to the protection scope of the embodiments of the present disclosure. Therefore, the protection scope of the patent of the embodiments of the present disclosure shall be subject to the attached claims.
Claims
1. A positioning method, It is characterized in that The method comprises: Acquiring bus data of a vehicle and inertial navigation data of a target device; the target device is arranged in the vehicle; Determining target attitude information of the target device according to the inertial navigation data and the bus data; Positioning the target device according to the target posture information and the bus data to obtain the position information of the target device; The inertial navigation data includes an initial acceleration and an initial angular velocity, the initial attitude information includes an initial roll angle, an initial pitch angle, and an initial heading angle, the bus data includes at least one of steering wheel angle data and wheel angle data, the target attitude information includes a target roll angle, a target pitch angle, and a target heading angle, and determining the target attitude information of the target device according to the inertial navigation data and the bus data includes: Performing a first preprocessing on the initial acceleration to obtain a preprocessed acceleration; Performing a second preprocessing on the initial angular velocity to obtain a preprocessed angular velocity; Using a posture matrix and noise to characterize the processed acceleration and the processed angular velocity; Performing complementary filtering on the acceleration and angular velocity characterized by the attitude matrix and noise to obtain the initial roll angle, the initial pitch angle and the initial heading angle of the target device; Determine a heading angle change according to the steering wheel angle and the wheel angle; The initial heading angle is corrected according to the heading angle change to obtain the target roll angle, the target pitch angle and the target heading angle of the target device.
2. The method according to claim 1, It is characterized in that The step of determining the target attitude information of the target device according to the inertial navigation data and the bus data comprises: Determining initial attitude information of the target device according to the inertial navigation data; The initial posture information is corrected according to the bus data to obtain the target posture information of the target device.
3. The method according to claim 2, It is characterized in that The correcting the initial posture information according to the bus data to obtain the target posture information of the target device includes: Determine the angle change of the vehicle according to the bus data; the bus data includes vehicle speed data, a collection period of the steering wheel angle data, a mapping slope and a mapping intercept; The initial posture information is corrected according to the angle variation to obtain target posture information of the target device.
4. The method according to claim 1, It is characterized in that The performing a first preprocessing on the initial acceleration to obtain the preprocessed acceleration includes: The initial acceleration is subjected to low-pass filtering to obtain the pre-processed acceleration.
5. The method according to claim 1, It is characterized in that The performing a second preprocessing on the initial angular velocity to obtain a preprocessed angular velocity includes: The initial angular velocity is subjected to zero bias estimation processing to obtain the pre-processed angular velocity.
6. The method according to any one of claims 1 to 3, It is characterized in that Before the initial posture information is corrected according to the bus data to obtain the target posture information of the target device, the method further includes: Acquire positioning information; the positioning information includes positioning data collected by a positioning module in the target device, and / or binding information determined according to a preset map and the positioning data; Correspondingly, the correcting the initial posture information according to the bus data to obtain the target posture information of the target device includes: The initial posture information is corrected according to the bus data and the positioning information to obtain the target posture information of the target device.
7. The method according to claim 6, It is characterized in that The correcting the initial posture information according to the bus data and the positioning information to obtain the target posture information of the target device includes: determining an angle change of the vehicle according to the bus data; According to the angle change of the vehicle and the heading angle in the positioning information, the initial heading angle in the initial posture information is corrected to obtain the target posture information.
8. The method according to any one of claims 1 to 3, It is characterized in that The step of positioning the target device according to the target posture information and the bus data to obtain the position information of the target device includes: Determine a plurality of input data according to the target posture information and the bus data; the input data includes state quantity, input quantity and observation quantity, Performing Kalman filtering on the plurality of input data to obtain updated state quantities; The location information of the target device is determined according to the updated state quantity.
9. The method according to claim 8, It is characterized in that The determining of a plurality of input data according to the target posture information and the bus data comprises: Determine the state quantity and the input quantity according to the target posture information; The observed quantity is determined according to the bus data.
10. The method according to claim 9, It is characterized in that The bus data includes code dial speed data, and obtaining the observed value according to the bus data includes: According to the corresponding relationship between the code dial speed and the real speed, the code dial speed data is converted into vehicle speed data, and the vehicle speed data is used as the observed value.
11. The method according to claim 10, It is characterized in that The process of obtaining the corresponding relationship between the code dial speed and the real speed includes: Acquire the speed data of the code dial within a preset time period and the positioning data collected by the positioning module in the target device; The code dial speed data and the positioning data are fitted to obtain a corresponding relationship between the code dial speed and the real speed.
12. The method according to claim 9, It is characterized in that The determining the state quantity and the input quantity according to the target posture information comprises: Determine the acceleration of the target device in the navigation coordinate system according to the coordinate conversion relationship between the device coordinate system and the navigation coordinate system and the target posture information, and use the acceleration of the target device in the navigation coordinate system as the input; The state quantity is determined according to the acceleration of the target device in the navigation coordinate system; the state quantity includes a local position and a speed of the target device in the navigation coordinate system and an acceleration offset in the device coordinate system.
13. A positioning device, It is characterized in that The device comprises: A data acquisition module, used to acquire bus data of a vehicle and inertial navigation data of a target device; the target device is arranged in the vehicle; A posture determination module, used to determine the target posture information of the target device according to the inertial navigation data and the bus data; A positioning module, used to locate the target device according to the target posture information and the bus data to obtain the position information of the target device; The inertial navigation data includes initial acceleration and initial angular velocity, the initial attitude information includes initial roll angle, initial pitch angle and initial heading angle, the bus data includes at least one of steering wheel angle data and wheel angle data, and the target attitude information includes target roll angle, target pitch angle and target heading angle; The attitude determination module is specifically used to perform a first preprocessing on the initial acceleration to obtain a preprocessed acceleration; perform a second preprocessing on the initial angular velocity to obtain a preprocessed angular velocity; use an attitude matrix and noise to characterize the processed acceleration and the processed angular velocity; perform complementary filtering on the acceleration and angular velocity characterized by the attitude matrix and noise to obtain the initial roll angle, the initial pitch angle and the initial heading angle of the target device; determine the heading angle change according to the steering wheel angle and the wheel angle; and perform correction processing on the initial heading angle according to the heading angle change to obtain the target roll angle, the target pitch angle and the target heading angle of the target device.
14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, It is characterized in that When the processor executes the computer program, the steps of the method according to any one of claims 1 to 12 are implemented.
15. A storage medium having a computer program stored thereon, It is 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 12 are implemented.
16. A computer program product comprising a computer program, It is 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 12 are implemented.
Citation Information
Patent Citations
Seamless vehicle positioning method based on multi-source information fusion
CN104076382A
Navigation information processing method and device, electronic equipment and storage medium
CN113008244A