Positioning method and device, storage medium and electronic equipment
By using attitude data and inertial data to predict the device state vector when RTK signal is lost, and combining point cloud data to adjust noise, the problem of large positioning error of lidar is solved, and positioning accuracy and operation safety are improved.
Patent Information
- Application Number
- CN202411783251.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-03-18
AI Technical Summary
When the RTK signal is lost, the positioning error of the lidar is high, which affects the safety and efficiency of outdoor operations.
In response to the loss of the satellite navigation signal, the attitude data of the device is determined using the satellite navigation signal before the loss, and the state vector of the device is predicted in combination with the inertial data. The state noise and state vector are adjusted based on point cloud data and inertial data until the satellite navigation signal is reacquired.
It improves the positioning accuracy of the equipment when the RTK signal is missing, and enhances the safety and efficiency of outdoor operations.
Smart Images

Figure CN119642806A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of autonomous driving, and in particular to a positioning method, device, storage medium and electronic device. Background Art
[0002] At present, with the development of positioning technology, Real-time Kinematic (RTK) as a high-precision positioning method has greatly improved the efficiency of outdoor operations. However, due to the complex outdoor environment, there may be various interferences such as RTK signal being blocked, which will cause the RTK signal to disappear for a short period of time, affecting the efficiency of outdoor operations.
[0003] In the prior art, taking unmanned driving equipment as an example, if the unmanned driving equipment encounters the situation of RTK signal loss, it will collect point cloud data of the environment through the on-board lidar, and then locate the vehicle based on the point cloud data, so as to continue outdoor operations based on the positioning results.
[0004] However, the positioning error of LiDAR is often between tens of centimeters and several meters, which is much larger than the centimeter-level error of RTK positioning. As a result, when the RTK signal is temporarily missing, the positioning result determined by LiDAR is less accurate. Although outdoor operations can still be performed, the safety and efficiency of outdoor operations are reduced. Therefore, how to improve positioning accuracy when the RTK signal is missing has become an urgent problem to be solved. This application provides a positioning method, device, storage medium and electronic device. Summary of the invention
[0005] This specification provides a positioning method, device, storage medium and electronic device to partially solve the above problems existing in the prior art.
[0006] This manual adopts the following technical solutions:
[0007] In response to a loss of a satellite navigation signal, determining attitude data of the device based on the satellite navigation signal before the loss, and acquiring inertial data collected by an inertial unit of the device;
[0008] Determine a state vector of the device at a current moment according to the posture data and the inertia data as a first vector;
[0009] Predicting a state vector of the device at a next moment according to a preset state noise and the first vector as a second vector;
[0010] Based on preset radar observation conditions and inertial observation conditions, adjusting the state noise and the second vector according to point cloud data and inertial data collected when reaching the next moment;
[0011] Determining a positioning result of the device according to the adjusted second vector;
[0012] The adjusted second vector is used again as the first vector, and the state vector at the subsequent moment is continuously predicted according to the adjusted state noise, and is used again as the second vector, so as to continue to adjust the state noise and the second vector to locate the device until the satellite navigation signal is reacquired.
[0013] Optionally, determining a state vector of the device at a current moment according to the posture data and the inertia data specifically includes:
[0014] Determine the posture data of the mileage coordinate system according to the posture data and the pre-initialized transformation matrix;
[0015] Determine the state vector of the device at a current moment according to the posture data in the mileage coordinate system and the inertial data;
[0016] Determining a positioning result of the device according to the adjusted second vector specifically includes:
[0017] Determining the posture data of the device at the next moment according to the adjusted second vector;
[0018] The positioning result of the device at the next moment is determined according to the posture data at the current moment and the conversion matrix.
[0019] Optionally, determining a pre-initialized conversion matrix includes:
[0020] Before the satellite navigation signal is lost, acquiring inertial data of the device at a historical moment in a historical period, and the satellite navigation signal in the historical period;
[0021] Determining the acceleration and the first coordinate of the device at the historical moment according to the satellite navigation signal in the historical period;
[0022] Determining a direction of gravitational acceleration of the device according to the inertial data at the historical moment and the acceleration at the historical moment;
[0023] A mileage coordinate system is constructed according to the first coordinates, and a transformation matrix between the mileage coordinate system and a world coordinate system is determined.
[0024] Optionally, determining the acceleration of the device at the historical moment according to the satellite navigation signal in the historical period specifically includes:
[0025] Acquire a number of positioning points according to the satellite navigation signals within the historical period;
[0026] Fitting a trajectory curve of the device within the historical period according to the positioning point;
[0027] The acceleration of the device at the historical moment is determined according to the trajectory curve.
[0028] Optionally, the state vector includes at least the orientation of the device, the positioning result, the speed, the random walk deviation of the inertial data, the direction of the gravitational acceleration of the device, the angular velocity of the device and the acceleration of the device.
[0029] Optionally, predicting a state vector of the device at a next moment as a second vector according to preset state noise and the first vector specifically includes:
[0030] Determine the time difference between the current moment and the next moment;
[0031] Predicting the orientation and positioning result of the device at the next moment according to the angular velocity, speed, orientation, positioning result and the time difference of the device at the current moment;
[0032] Determine the global acceleration of the device at the current moment according to the orientation, acceleration and gravity acceleration direction of the device at the current moment, and predict the speed of the device at the next moment according to the speed of the device at the current moment, the global acceleration and the time difference;
[0033] Determine the Gaussian noise of the inertial unit when collecting the inertial data at the current moment, and predict the random walk deviation of the inertial unit at the next moment according to the random walk deviation of the device at the current moment, the Gaussian noise and the time difference;
[0034] Predicting the angular velocity and acceleration of the device at the next moment according to the angular velocity noise variance, the acceleration noise variance, the angular velocity, the acceleration and the time difference of the device at the current moment;
[0035] According to the orientation, positioning result, speed, random walk deviation, gravity acceleration direction, angular velocity, and acceleration of the device at the next moment, a predicted state vector of the device at the next moment is determined as the second vector.
[0036] Optionally, based on preset radar observation conditions and inertial observation conditions, and according to point cloud data and inertial data collected when reaching the next moment, adjusting the state noise and the second vector specifically includes:
[0037] Determining a predicted angular velocity, acceleration, and a predicted positioning result according to the second vector;
[0038] Determine the angular velocity and acceleration collected by the inertial unit at the next moment as inertial observation conditions;
[0039] Determine the point cloud data collected by the device when the next moment arrives, and determine the target positioning result of the device according to the point cloud data at the next moment as a radar observation condition;
[0040] Determine the difference between the collected angular velocity and acceleration and the inertial observation condition, respectively, as a first difference, and determine the difference between the radar observation condition and the predicted positioning result, as a second difference;
[0041] The state noise and the second vector are adjusted according to the first difference and the second difference.
[0042] Optionally, positioning the device until a satellite navigation signal is reacquired specifically includes:
[0043] When the satellite navigation signal is reacquired, determining a second coordinate according to a positioning result determined based on the prediction adjustment of the state vector;
[0044] determining a third coordinate of the device according to the acquired satellite navigation signal, and determining an intermediate coordinate between the second coordinate and the third coordinate, so as to determine a target positioning result of the device when reacquiring the satellite navigation signal based on the intermediate coordinate;
[0045] Based on the target positioning result, the first vector is re-determined, and the positioning results at subsequent moments are continuously predicted until the deviation between the predicted positioning result and the coordinates determined according to the satellite navigation signal is less than a preset value, and the device is positioned according to the acquired satellite navigation signal.
[0046] Optionally, determining an intermediate coordinate between the second coordinate and the third coordinate specifically includes:
[0047] determining a deviation between the second coordinate and the third coordinate, dividing the deviation into a plurality of sub-deviations;
[0048] According to the sub-deviation, the second coordinate is adjusted so that the adjusted second coordinate is close to the third coordinate, and the adjusted second coordinate is used as the intermediate coordinate.
[0049] This specification provides a positioning device, including:
[0050] A response module, configured to respond to the loss of a satellite navigation signal, determine the attitude data of the device according to the satellite navigation signal before the loss, and obtain the inertial data collected by the inertial unit of the device;
[0051] A prediction module, configured to determine a state vector of the device at a current moment as a first vector according to the posture data and the inertial data; and predict a state vector of the device at a next moment as a second vector according to a preset state noise and the first vector;
[0052] An adjustment module, configured to adjust the state noise and the second vector based on preset radar observation conditions and inertial observation conditions and according to point cloud data and inertial data collected when the next moment is reached;
[0053] The positioning module is used to determine the positioning result of the device according to the adjusted second vector; re-use the adjusted second vector as the first vector, and continue to predict the state vector at subsequent moments according to the adjusted state noise, and re-use it as the second vector, so as to continue to adjust the state noise and the second vector to position the device until the satellite navigation signal is re-acquired.
[0054] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above positioning method is implemented.
[0055] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the above-mentioned positioning method is implemented when the processor executes the program.
[0056] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects:
[0057] In the positioning method provided in this specification, in response to the loss of the satellite navigation signal, the attitude data of the device is determined according to the satellite navigation signal before the loss, and the surrounding point cloud data and the inertial data of the device are obtained to determine the first vector of the device at the current moment, so as to predict the second vector of the device at the next moment according to the preset state noise. Thus, based on the preset radar observation conditions and inertial observation conditions, the state noise and the second vector are adjusted, and the positioning result of the device is determined according to the adjusted second vector. Then the adjusted second vector is used as the first vector again, and the next moment state vector of the next moment is continuously predicted and used as the second vector again, so as to continue to adjust the state noise and the second vector to locate the device until the satellite navigation signal is reacquired.
[0058] In the above method, on the basis of the point cloud data collected by the lidar, inertial data and point cloud data are obtained together as observation values to predict the positioning of the equipment at different times, thereby improving the positioning accuracy of the equipment when the positioning signal is missing. At the same time, the inertial data collected at a high frequency is used to supplement the point cloud data collected at a low frequency, adapting to the high-frequency control signal of the equipment, making the driving of the unmanned driving equipment more stable, and further improving the accuracy of the positioning of the equipment. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] The drawings described herein are used to provide a further understanding of this specification and constitute a part of this specification. The exemplary embodiments and descriptions of this specification are used to explain this specification and do not constitute an improper limitation on this specification.
[0060] In the figure:
[0061] Figure 1 A flowchart of a positioning method provided in this specification;
[0062] Figure 2 A flowchart of a positioning source switching process provided in this specification;
[0063] Figure 3 A schematic diagram of the structure of a device provided in this specification;
[0064] Figure 4 A schematic diagram of a positioning device provided in this specification;
[0065] Figure 5 A method corresponding to the Figure 1 Schematic diagram of the structure of an electronic device. DETAILED DESCRIPTION
[0066] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this specification will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0067] With the development of positioning technology, users have higher and higher requirements for positioning accuracy. At present, high-precision positioning of devices is often achieved based on satellite navigation signals. For example, the positioning signal provided by the Global Navigation Satellite System (GNSS) is used, and then high-precision positioning is achieved through real-time differential positioning (RTK) technology. However, due to the influence of the outdoor environment, satellite navigation signals cannot be obtained at any time. Therefore, in order to achieve high-precision positioning, this manual provides a positioning method for achieving high-precision positioning through the collected point cloud data and inertial data when the satellite navigation signal is lost.
[0068] It should be noted that in one or more embodiments of this specification, the satellite navigation signal is not limited to a specific high-precision positioning signal, such as a global positioning system (GPS) positioning signal, an RTK signal, etc. This specification does not limit this. For the convenience of subsequent description, the positioning method is described by taking the satellite navigation signal as an RTK signal as an example.
[0069] The technical solutions provided by the embodiments of this specification are described in detail below in conjunction with the accompanying drawings.
[0070] Figure 1 A flow chart of a positioning method provided in an embodiment of this specification includes the following steps:
[0071] S100: In response to a satellite navigation signal being lost, determining attitude data of a device according to the satellite navigation signal before the loss, and acquiring inertial data collected by an inertial unit of the device.
[0072] In one or more embodiments of this specification, there is no restriction on which device the positioning method is performed by. It can be performed by unmanned driving equipment, such as unmanned vehicles, drones, etc., or by manned driving equipment with positioning requirements, such as cars, trams, etc. It can also be performed by a terminal, which is used for users carrying the terminal to locate their own positions through the terminal. This specification does not limit this. Of course, there is no restriction on whether the device is installed with a laser radar and an inertial measurement unit (IMU). The device can obtain the surrounding point cloud data and the inertial data of the device, which can be set according to actual needs.
[0073] When the device is temporarily unable to obtain the RTK signal, in order not to affect subsequent navigation, the device can switch the positioning source from RTK positioning to positioning through the laser-IMU odometer, and then obtain the surrounding point cloud data, the inertial data of the device, and the position and posture of the device before the RTK signal is lost.
[0074] Specifically, in response to the loss of RTK signal, the device determines the attitude data of the device based on the RTK signal most recently acquired before the RTK signal was lost. The attitude data includes the orientation of the device, the angle with the horizontal plane, and other data used to describe the device status. Then, the point cloud data around the current moment and the inertial data of the device are obtained.
[0075] S102: Determine a state vector of the device at a current moment according to the posture data and the inertia data as a first vector.
[0076] After acquiring the point cloud data, inertial data, and posture data of the device at the first moment, the device can first determine its own state vector at the current moment, so as to subsequently locate the device at subsequent moments based on the state vector at the current moment.
[0077] Specifically, the device can first construct a state vector of the device at the current moment based on the point cloud data, inertial data, and posture data. The state vector is used to represent the state of the device at the current moment. The state vector includes at least the orientation, positioning result, speed, random walk deviation of the inertial data, direction of gravity acceleration of the device, angular velocity of the device, and acceleration of the device. For example, x=[ G R I , G p I , G v I , b, G g, I ω, I a], where GR I , G p I , G v I They represent the attitude, position coordinates and speed of the device respectively, b represents the random walk deviation of IMU, G g represents the gravity vector, I ω, I a respectively represent the angular velocity and acceleration of the device in the IMU coordinate system measured by the IMU. Since the collected inertial data is divided into at least two parts, namely the gravitational acceleration and acceleration of the device, the random walk deviation of the IMU can also be divided into two parts, that is, the state vector can also be defined as x = [ G R I , G p I , G v I , b g , b a , G g,I ω, I a], where b g , b a They represent the random walk deviation of gravity acceleration collected by IMU and the random walk deviation of acceleration collected. g , b a Gaussian noise as well as drive, and Respectively represent b g and b a The covariance of . To more accurately represent the state of the device, so as to achieve more accurate positioning of the device in the future. Based on this, the first vector of the device at time k can be determined as
[0078] S104: predicting a state vector of the device at a next moment according to preset state noise and the first vector as a second vector.
[0079] Since the update frequencies of point cloud data and inertial data are different, in order to achieve the fusion of point cloud data and inertial data and thus locate the device, the device can provide a unified time reference through the state prediction method, so that in the absence of newly collected data, the state estimation can be provided for the device, thereby maintaining the continuity and stability of positioning. That is, the device predicts its own state vector at the next moment as the second vector based on the preset state noise and the first vector.
[0080] Specifically, the device determines the time difference between the current moment and the next moment, and then predicts the orientation and positioning result of the device at the next moment based on the time difference, the angular velocity and speed of the device at the current moment, and the orientation and positioning result of the device at the current moment. According to the orientation, acceleration and gravity acceleration direction of the device at the current moment, the global acceleration of the device at the current moment is determined, and the speed of the device at the next moment is predicted based on the time difference, global acceleration and the speed of the device at the current moment. Then, the Gaussian noise of the device's IMU when collecting inertial data at the current moment is determined, and the random walk deviation of the inertial unit at the next moment is predicted based on the time difference, Gaussian noise and the random walk deviation of the device at the current moment. Then, the angular velocity and acceleration of the device at the next moment are predicted based on the time difference, the angular velocity noise variance of the device at the current moment, the acceleration noise variance, the angular velocity and acceleration of the device at the current moment. Thus, according to the predicted orientation, positioning result, speed, random walk deviation, gravity acceleration direction, angular velocity, and acceleration of the device at the next moment, the predicted state vector of the device at the next moment is determined as the second vector.
[0081] In addition, the device can first predict the state vector at the next moment based on the preset state equation. Among them, x k Represents the state vector of the device at the current moment, that is, the first vector, x k+1 Represents the state vector of the device at the next moment, that is, the second vector, represents generalized addition, that is, the addition between two vectors or two matrices, △t k represents the time difference between the current moment and the next moment, and f(x,w) represents the state transfer function, which is used to predict the state vector of the device at the next moment. Here, f(x,w) can be defined as G R I I a+ G g represents the global acceleration of the device, w g , w a represents the noise variance of the device. W k Can be defined as represents the covariance matrix of the process noise w, Then they represent the covariance matrix of gravity acceleration and the covariance matrix of acceleration respectively. According to the defined state equation, the second vector can be determined as Then the covariance matrix of the predicted noise at the second moment is in, is the process noise w k The covariance matrix of Represents the state transfer matrix, which is used to describe the change law of the device's state vector from the current moment to the next moment, that is,
[0082]
[0083] in F 31 Describes the state increment The first component of the next moment state x k+1 The influence of the third component of , I represents the identity matrix. Represents the noise matrix, which is used to describe how noise affects the positioning results, that is,
[0084]
[0085] The “-” above the symbol indicates an estimated value, the “^” indicates a predicted value, and the one without a symbol indicates a true value.
[0086] It should be noted that in one or more embodiments of this specification, the specific method used by the device to determine the time difference between the current moment and the next moment is not limited. The time difference may be determined according to the frequency of collecting inertial data, or the next moment may be determined according to a preset time difference, which may be set according to actual needs. When determining the second vector of the device, the second vector may be determined by the above formula, or by other methods or formulas. This specification does not limit this, and it may be set according to actual needs. The above is only one embodiment provided in this specification.
[0087] S106: Based on preset radar observation conditions and inertial observation conditions, and according to point cloud data and inertial data collected when the next moment is reached, adjusting the state noise and the second vector.
[0088] Since the state of the device at the next moment is predicted and thus the second vector is determined, there is often an error between the determined second vector and the actual state of the device. In order to prevent the positioning accuracy from becoming lower and lower due to error accumulation, the device can update the preset noise to solve the problem of error accumulation.
[0089] Specifically, after determining the second vector, the device determines the predicted angular velocity, acceleration and predicted positioning result according to the second vector. Then, the angular velocity and acceleration collected by the inertial unit of the device when arriving at the next moment are determined as inertial observation conditions, and the point cloud data collected by the device when arriving at the next moment is determined. According to the point cloud data at the next moment, the target positioning result of the device is determined as the radar observation condition. Then, the difference between the collected angular velocity and acceleration and the inertial observation condition is determined as the first difference, and the difference between the radar observation condition and the predicted positioning result is determined as the second difference. Finally, the state noise and the second vector are adjusted according to the first difference and the second difference.
[0090] Of course, the device can also define radar observation conditions as Indicates the target positioning result of the device determined based on the point cloud data, n Lk represents the observation noise of the device that collects point cloud data. Then the inertial observation condition is defined as The error state of noise according to inertial observation conditions Weighting function Kalman Gain And the covariance matrix Therefore, the second vector can be determined at this time Among them, H k+1 represents the Jacobian matrix at time k+1, r x+1represents the residual between the measured state vector and the predicted state vector, Represents the covariance matrix of the observation noise.
[0091] After updating the second vector, the device also needs to adjust the second vector representing the adjusted and the truth value x k+1 The covariance matrix of the errors between is adjusted, that is Among them, J k+1 represents the projection matrix, that is A(θ k+1 ) represents the state transfer matrix, that is Among them Represents subtraction between vectors or matrices, A(θ k+1 ) -T Denotes the matrix A(θ k+1 ), and T is used as the transpose symbol of the matrix when it is used as a subscript, so it will not be repeated here. Therefore, we can get
[0092] S108: Determine the positioning result of the device according to the adjusted second vector.
[0093] S110: re-using the adjusted second vector as the first vector, and continuing to predict the state vector at a subsequent time according to the adjusted state noise, and re-using it as the second vector, so as to continue to adjust the state noise and the second vector to locate the device until the satellite navigation signal is re-acquired.
[0094] After the adjusted second vector is obtained, the positioning result of the device at the next moment can be determined according to the posture data and positioning coordinates of the device represented by the second vector.
[0095] Then, the device can use the adjusted second vector as the first vector again, and continue to predict the next moment state vector as the second vector, so as to continue to adjust the state noise and the second vector to position the device until the RTK signal is acquired again, thereby achieving the positioning of the device during the period of loss of the RTK signal.
[0096] based on Figure 1In the positioning method shown, in response to the loss of the satellite navigation signal, the attitude data of the device is determined based on the satellite navigation signal before the loss, and the surrounding point cloud data and the inertial data of the device are obtained to determine the first vector of the device at the current moment, so as to predict the second vector of the device at the next moment based on the preset state noise. Thus, based on the preset radar observation conditions and inertial observation conditions, the state noise and the second vector are adjusted, and the positioning result of the device is determined based on the adjusted second vector. The adjusted second vector is then used as the first vector again, and the next moment state vector of the next moment is continuously predicted and used as the second vector again, so as to continue to adjust the state noise and the second vector to locate the device until the satellite navigation signal is reacquired.
[0097] In the above method, the device acquires inertial data based on the point cloud data collected by the laser radar, and uses the acquired inertial data and point cloud data as observation values to predict the positioning of the device at different times, that is, the inertial data collected at a high frequency is used to supplement the point cloud data collected at a low frequency, so that the positioning frequency is more adapted to the high-frequency control signal of the device, and prevents the high-frequency control signal from being incompatible with the low-frequency positioning signal due to the high control signal frequency of the device, while the acquisition frequency of the point cloud data is low, and the positioning frequency is also low, causing the high-frequency control signal to be incompatible with the low-frequency positioning signal, resulting in jamming during the operation of the device. The stability of the device's operation is improved, and the accuracy of device positioning is further improved through higher-frequency positioning.
[0098] Since the device uses the odometer coordinate system when positioning through lidar and IMU, which is different from the world coordinate system used in RTK positioning, in order to prevent the positioning position from jumping due to the different coordinate systems after the positioning source is switched, the device can also use the conversion matrix between the odometer coordinate system and the world coordinate system to convert the collected point cloud data, inertial data and positioning results determined by the RTK signal to a unified world coordinate system to facilitate subsequent positioning.
[0099] Specifically, the device can convert the attitude data determined according to the RTK signal into attitude data in the mileage coordinate system according to the conversion matrix obtained in advance. Then, the state vector of the device at the current moment is determined according to the attitude data in the mileage coordinate system and the inertial data collected by the IMU. Then, when determining the positioning result, the attitude data at the next moment is determined according to the adjusted second vector, and then the attitude data of the device in the world coordinate system at the next moment is determined according to the conversion matrix, and the positioning result of the device is determined according to the attitude data in the world coordinate system.
[0100] In addition, when determining the pre-initialized transformation matrix, the device can be first in a stationary state, and then determine the direction of the device's gravity acceleration based on the inertial data measured in the stationary state, thereby determining the deviation between the direction of gravity acceleration measured by the IMU and the actual direction of gravity acceleration, and determine the mileage coordinate system with the coordinates in the stationary state, thereby determining the transformation matrix between the mileage coordinate system and the world coordinate system.
[0101] However, since IMU will introduce measurement errors during the measurement process, in order to prevent the accumulation of errors that will cause the inertial data measured by IMU to have large errors, the device needs to be initialized frequently, which causes the device to be frequently stationary, affecting the operating efficiency of the device. Therefore, when the RTK signal is good, the device can also dynamically initialize the laser-IMU odometer to obtain the gravity acceleration vector in the IMU coordinate system and the conversion matrix between the odometer coordinate system and the world coordinate system.
[0102] Specifically, before the RTK signal is lost, the device obtains the inertial data of the historical moment in the historical period, and the RTK signal in the historical period. Then, according to the RTK signal in the historical period, the acceleration and the first coordinate of the device at the historical moment are determined. Thus, according to the inertial data at the historical moment and the acceleration at the historical moment, the direction of the gravity acceleration measured by the IMU of the device is determined, and then according to the first coordinate at the historical moment, the mileage coordinate system is constructed, and the conversion matrix between the mileage coordinate system and the world coordinate system is determined.
[0103] Then, the measurement deviation of the IMU of the device can be determined according to the direction of gravity acceleration measured by the IMU of the device and the actual direction of gravity acceleration, thereby determining the conversion matrix between the IMU coordinate system and the mileage coordinate system of the device. Therefore, the aforementioned inertial data in the mileage coordinate system refers to the inertial data after the inertial data measured by the IMU is converted to the mileage coordinate system, and the measured data also refers to the inertial data in the mileage coordinate system. That is, when the device is dynamically initialized, two conversion matrices should be determined, namely, the conversion matrix between the IMU coordinate system and the mileage coordinate system, and the conversion matrix between the mileage coordinate system and the world coordinate system. Among them, the conversion matrix between the IMU coordinate system and the mileage coordinate system is determined by the device according to the determined direction of gravity acceleration measured by the IMU, and the conversion matrix between the mileage coordinate system and the world coordinate system is the conversion matrix directly determined by the device according to the mileage coordinate system and the world coordinate system.
[0104] It should be noted that in one or more embodiments of this specification, there is no restriction on how the device determines the historical moment and the historical period. It can be any historical period and historical moment in the current operation of the device with a good RTK signal, and the specific duration of the historical period is not limited. Of course, there is no restriction on the specific method used by the device to determine the acceleration of the historical moment. Since the frequency of the RTK signal is relatively high, the device may consider the route of the device between the two acquired RTK positioning points to be a straight line. In this case, the device may determine the acceleration of the historical moment through the speed change between several positioning points of the device in the historical segment. It is also possible to obtain several positioning points based on the RTK signal in the first time period, fit the trajectory curve of the device in the first time period based on the positioning points, and perform a second-order derivative on the trajectory curve to determine the acceleration of the device at the historical moment. Of course, there is no restriction on how the device establishes a mileage coordinate system. The coordinate system can use the first coordinate as the origin, the orientation of the device as the horizontal coordinate, and the direction of the vertical horizontal plane as the vertical coordinate to establish the mileage coordinate system. Of course, other coordinates can also be used as the origin, or other methods can be used to construct a mileage coordinate system. Other methods can also be used to select the horizontal and vertical coordinates. This manual does not impose any restrictions on this, and it can be set according to actual needs.
[0105] Of course, in one or more embodiments of this specification, the device is not limited to the specific method used to fit the trajectory curve in the historical period, such as fitting the trajectory curve by the B-spline method. Where P(t) is the position of the device at parameter t. represents the B-spline basis function, which depends on the knot vector and the degree of the spline l. t is a parameter that defines the curve, which can be associated with parameters such as timestamps or spatial coordinates. Among them, the degree of the B-spline is usually 3, that is, l is usually 3. Knot vector = [t0, t1, ..., tm], and satisfies t0≤t1≤...≤tm. Assume that the distance from the data point to the target curve is d(P(t), X i ), then the objective function f(p) can be designed, and the objective function can be minimized by solving the target curve P(t), thereby determining the fitted trajectory curve.
[0106] in, and is the data error term, which is a measure of the distance from point Xi to the curve. F1 and F2 are the regularization terms of the smooth correlation of the first-order and second-order curves, respectively, that is,
[0107]
[0108] Among them, C, T m1 、T m2 、T int1 and T int2It can be set according to actual experience, and this manual does not limit it.
[0109]
[0110] Then use Newton's method to solve the target curve. Assuming that in a certain iteration, the increment of the control point matrix is △P, the second-order approximation of the target function is: Among them, vec() is the matrix expanded into a vector function in column-first order, which can solve the incremental equation of Newton's method and iterate until convergence, that is, P←P+△P * . Among them, the first-order derivative and second-order derivative of f with respect to the control point P are:
[0111]
[0112] In addition, due to the different precisions of the positioning sources used by the device, when the positioning source is switched, a positioning jump may occur. Therefore, in order to solve the problem of positioning jump, when the device reacquires the RTK signal, it determines the positioning result determined based on the laser-IMU odometer when reacquiring the RTK signal, that is, the positioning result determined by the above-mentioned predicted and adjusted state vector, determines the second coordinate, and then determines the third coordinate of the device according to the acquired RTK signal, and determines the intermediate coordinate according to the second coordinate and the third coordinate, so as to determine the target positioning result of the device when reacquiring the RTK signal based on the intermediate coordinate. Then, based on the target positioning result, the first vector is re-determined, and the positioning result of the subsequent moment is continuously predicted, and the second coordinate is re-determined according to the predicted and adjusted positioning result, and the third coordinate is re-determined according to the most recently acquired RTK signal, until the deviation between the determined second coordinate and the third coordinate is less than the preset value, the device is positioned according to the acquired RTK signal, that is, the laser-IMU positioning result is gradually and smoothly transitioned to the positioning result of the RTK signal by the linear interpolation method. in, represents the target positioning result, M i represents the second coordinate, △M represents the determined deviation, and n can be set according to actual needs.
[0113] When determining the intermediate coordinates, the device may first determine the deviation between the second coordinate and the third coordinate, divide the deviation into several sub-deviations, and then adjust the second coordinate according to one sub-deviation so that the adjusted second coordinate is close to the third coordinate, and use the adjusted second coordinate as the intermediate coordinate. When determining the intermediate coordinates at subsequent moments, the second coordinate determined at each moment may be readjusted according to the determined sub-deviations so that the adjusted second coordinate is close to the third coordinate at that moment, until the deviation between the adjusted second coordinate and the third coordinate at that moment is less than a preset value, the positioning of the device is determined according to the RTK signal.
[0114] Of course, it is also possible to redetermine the deviation between the second coordinate and the third coordinate at each subsequent moment, and then redetermine the sub-deviation, and determine the intermediate coordinate based on the redetermined sub-deviation. This manual does not limit this and can be set according to actual needs.
[0115] In addition, after determining the target positioning result, the device can no longer locate the device through the laser-IMU odometer, but determine the displacement of the device at a subsequent time based on the RTK signal, and then re-determine the second coordinate of the device based on the displacement, as shown in the following example. Figure 2 As shown, Figure 2 A flow chart of a positioning source switching process provided in this specification, wherein the first figure on the left represents the positioning results determined by two positioning sources. The device divides the deviation between the positioning results determined by the two positioning sources into two sub-deviations, and then adds a sub-deviation on the basis of the positioning determined by the positioning source before the switching, so as to realize a smooth transition of the positioning results. That is, the deviation between the second coordinate and the third coordinate is determined, the deviation is divided into several sub-deviations, and then the displacement of the device is determined according to the RTK signal obtained at the next moment, so as to determine the target positioning result of the device at the next moment according to the sum of the second coordinate, the sub-deviation and the displacement. Until the deviation between the determined target positioning result and the positioning result determined by the RTK signal is less than the preset value.
[0116] Based on the above content, this specification also provides a schematic diagram of the structure of a device, such as Figure 3 As shown, Figure 3A schematic diagram of a device provided in this specification, wherein a laser radar and an IMU are installed on the device. When an RTK signal is available, the device determines the external positioning information of the device through the RTK signal, and at the same time determines the conversion matrix between the odometer coordinate system of the device and the world coordinate system through a dynamic initialization module, and determines the direction of the gravity acceleration measured by the IMU. The laser radar is used to collect point cloud data, and the IMU is used to collect inertial data. The device can determine the real-time posture of the device based on the point cloud data and the inertial data through a calculation module. When the positioning source needs to be switched, the device can achieve a smooth transition between the laser-IMU odometer positioning result and the RTK positioning result through a smoothing module.
[0117] Based on the same idea of a positioning method provided in one or more embodiments of this specification, this specification also provides a corresponding positioning device, such as Figure 4 shown.
[0118] Figure 4 A schematic diagram of a positioning device provided in this specification specifically includes:
[0119] A response module 400, configured to respond to the loss of the satellite navigation signal, determine the attitude data of the device according to the satellite navigation signal before the loss, and obtain the inertial data collected by the inertial unit of the device;
[0120] The prediction module 401 is used to determine the state vector of the device at the current moment according to the posture data and the inertial data as a first vector; and predict the state vector of the device at the next moment according to the preset state noise and the first vector as a second vector;
[0121] An adjustment module 402, configured to adjust the state noise and the second vector based on preset radar observation conditions and inertial observation conditions and according to point cloud data and inertial data collected when the next moment is reached;
[0122] The positioning module 403 is used to determine the positioning result of the device according to the adjusted second vector; re-use the adjusted second vector as the first vector, and continue to predict the state vector at subsequent moments according to the adjusted state noise, and re-use it as the second vector, so as to continue to adjust the state noise and the second vector to position the device until the satellite navigation signal is re-acquired.
[0123] Optionally, the device also includes a conversion module 404, which is used to determine the posture data of the mileage coordinate system based on the posture data and the pre-initialized transformation matrix; determine the state vector of the device at the current moment based on the posture data in the mileage coordinate system and the inertial data; determine the posture data of the device at the next moment based on the adjusted second vector; determine the positioning result of the device at the next moment based on the posture data at the current moment and the transformation matrix.
[0124] Optionally, the conversion module 404 is used to obtain the inertial data of the device at a historical moment in a historical period, and the satellite navigation signal within the historical period before the satellite navigation signal is lost; determine the acceleration and the first coordinate of the device at the historical moment according to the satellite navigation signal within the historical period; determine the direction of the gravitational acceleration of the device according to the inertial data at the historical moment and the acceleration at the historical moment; construct a mileage coordinate system according to the first coordinate, and determine the conversion matrix between the mileage coordinate system and the world coordinate system.
[0125] Optionally, the conversion module 404 is used to obtain a number of positioning points based on the satellite navigation signals within the historical period; fit a trajectory curve of the device within the historical period based on the positioning points; and determine the acceleration of the device at the historical moment based on the trajectory curve.
[0126] Optionally, the prediction module 401 is used to determine the time difference between the current moment and the next moment; predict the orientation and positioning result of the device at the next moment according to the angular velocity, speed, orientation, positioning result and the time difference of the device at the current moment; determine the global acceleration of the device at the current moment according to the orientation, acceleration and gravity acceleration direction of the device at the current moment, and predict the speed of the device at the next moment according to the speed of the device at the current moment, the global acceleration and the time difference; determine the inertial unit to collect the inertial at the current moment According to the Gaussian noise in the data, the random walk deviation of the inertial unit at the next moment is predicted according to the random walk deviation of the device at the current moment, the Gaussian noise and the time difference; the angular velocity and acceleration of the device at the next moment are predicted according to the angular velocity noise variance, the acceleration noise variance, angular velocity, acceleration and the time difference of the device at the current moment; and the predicted state vector of the device at the next moment is determined as the second vector according to the orientation, positioning result, speed, random walk deviation, gravity acceleration direction, angular velocity and acceleration of the device at the next moment.
[0127] Optionally, the adjustment module 402 is used to determine the predicted angular velocity, acceleration and predicted positioning result based on the second vector; determine the angular velocity and acceleration collected by the inertial unit when arriving at the next moment as inertial observation conditions; determine the point cloud data collected by the device when arriving at the next moment, and determine the target positioning result of the device based on the point cloud data at the next moment as radar observation conditions; determine the differences between the collected angular velocity and acceleration and the inertial observation conditions, respectively, as the first difference, and determine the difference between the radar observation condition and the predicted positioning result as the second difference; and adjust the state noise and the second vector according to the first difference and the second difference.
[0128] Optionally, the device also includes a smoothing module 405, which is used to determine a second coordinate based on a positioning result determined by adjusting the state vector based on prediction when the satellite navigation signal is reacquired; determine a third coordinate of the device based on the acquired satellite navigation signal, and determine an intermediate coordinate between the second coordinate and the third coordinate to determine a target positioning result of the device when the satellite navigation signal is reacquired based on the intermediate coordinate; redetermine the first vector based on the target positioning result, and continue to predict the positioning results at subsequent times until the deviation between the predicted positioning result and the coordinate determined according to the satellite navigation signal is less than a preset value, and then locate the device according to the acquired satellite navigation signal.
[0129] Optionally, the device also includes a smoothing module 405, which is used to determine the deviation between the second coordinate and the third coordinate, and divide the deviation into a number of sub-deviations; according to the sub-deviations, adjust the second coordinate so that the adjusted second coordinate is close to the third coordinate, and use the adjusted second coordinate as the intermediate coordinate.
[0130] This specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 A positioning method is provided.
[0131] This manual also provides Figure 5 The one shown corresponds to Figure 1 Schematic diagram of the structure of the electronic equipment. Figure 5 As shown, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 A positioning method described.
[0132] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is to say, the executor of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0133] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.
[0134] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.
[0135] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0136] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0137] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0138] This specification is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of this specification. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0139] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0140] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0141] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0142] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.
[0143] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0144] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0145] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0146] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0147] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0148] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.
Claims
1. A positioning method, characterized in that: include: In response to a loss of a satellite navigation signal, determining attitude data of the device based on the satellite navigation signal before the loss, and acquiring inertial data collected by an inertial unit of the device; Determine a state vector of the device at a current moment according to the posture data and the inertia data as a first vector; Predicting a state vector of the device at a next moment according to a preset state noise and the first vector as a second vector; Based on preset radar observation conditions and inertial observation conditions, adjusting the state noise and the second vector according to point cloud data and inertial data collected when reaching the next moment; Determining a positioning result of the device according to the adjusted second vector; The adjusted second vector is used again as the first vector, and the state vector at the subsequent moment is continuously predicted according to the adjusted state noise, and is used again as the second vector, so as to continue to adjust the state noise and the second vector to locate the device until the satellite navigation signal is reacquired.
2. The method according to claim 1, characterized in that Determining the state vector of the device at a current moment according to the posture data and the inertia data specifically includes: Determine the posture data of the mileage coordinate system according to the posture data and the pre-initialized transformation matrix; Determine the state vector of the device at a current moment according to the posture data in the mileage coordinate system and the inertial data; Determining a positioning result of the device according to the adjusted second vector specifically includes: Determining the posture data of the device at the next moment according to the adjusted second vector; The positioning result of the device at the next moment is determined according to the posture data at the current moment and the conversion matrix.
3. The method according to claim 2, characterized in that Determine the pre-initialized transformation matrix, including: Before the satellite navigation signal is lost, acquiring inertial data of the device at a historical moment in a historical period, and the satellite navigation signal in the historical period; Determining the acceleration and the first coordinate of the device at the historical moment according to the satellite navigation signal in the historical period; Determining a direction of gravitational acceleration of the device according to the inertial data at the historical moment and the acceleration at the historical moment; A mileage coordinate system is constructed according to the first coordinates, and a transformation matrix between the mileage coordinate system and a world coordinate system is determined.
4. The method according to claim 3, characterized in that Determining the acceleration of the device at the historical moment according to the satellite navigation signal in the historical period specifically includes: Acquire a number of positioning points according to the satellite navigation signals within the historical period; Fitting a trajectory curve of the device within the historical period according to the positioning point; The acceleration of the device at the historical moment is determined according to the trajectory curve.
5. The method according to claim 1, characterized in that The state vector includes at least the orientation of the device, the positioning result, the speed, the random walk deviation of the inertial data, the direction of the gravitational acceleration of the device, the angular velocity of the device, and the acceleration of the device.
6. The method according to claim 5, characterized in that Predicting a state vector of the device at a next moment according to the preset state noise and the first vector as a second vector specifically includes: Determine the time difference between the current moment and the next moment; Predicting the orientation and positioning result of the device at the next moment according to the angular velocity, speed, orientation, positioning result and the time difference of the device at the current moment; Determine the global acceleration of the device at the current moment according to the orientation, acceleration and gravity acceleration direction of the device at the current moment, and predict the speed of the device at the next moment according to the speed of the device at the current moment, the global acceleration and the time difference; Determine the Gaussian noise of the inertial unit when collecting the inertial data at the current moment, and predict the random walk deviation of the inertial unit at the next moment according to the random walk deviation of the device at the current moment, the Gaussian noise and the time difference; Predicting the angular velocity and acceleration of the device at the next moment according to the angular velocity noise variance, the acceleration noise variance, the angular velocity, the acceleration and the time difference of the device at the current moment; According to the orientation, positioning result, speed, random walk deviation, gravity acceleration direction, angular velocity, and acceleration of the device at the next moment, a predicted state vector of the device at the next moment is determined as the second vector.
7. The method according to claim 6, characterized in that Based on preset radar observation conditions and inertial observation conditions, and according to point cloud data and inertial data collected when reaching the next moment, adjusting the state noise and the second vector specifically includes: Determining a predicted angular velocity, acceleration, and a predicted positioning result according to the second vector; Determine the angular velocity and acceleration collected by the inertial unit at the next moment as inertial observation conditions; Determine the point cloud data collected by the device when the next moment arrives, and determine the target positioning result of the device according to the point cloud data at the next moment as a radar observation condition; Determine the difference between the collected angular velocity and acceleration and the inertial observation condition, respectively, as a first difference, and determine the difference between the radar observation condition and the predicted positioning result, as a second difference; The state noise and the second vector are adjusted according to the first difference and the second difference.
8. The method according to claim 1, characterized in that Positioning the device until the satellite navigation signal is reacquired, specifically comprising: When the satellite navigation signal is reacquired, determining a second coordinate according to a positioning result determined based on the prediction adjustment of the state vector; determining a third coordinate of the device according to the acquired satellite navigation signal, and determining an intermediate coordinate between the second coordinate and the third coordinate, so as to determine a target positioning result of the device when reacquiring the satellite navigation signal based on the intermediate coordinate; Based on the target positioning result, the first vector is re-determined, and the positioning results at subsequent moments are continuously predicted until the deviation between the predicted positioning result and the coordinates determined according to the satellite navigation signal is less than a preset value, and the device is positioned according to the acquired satellite navigation signal.
9. The method according to claim 8, characterized in that Determining an intermediate coordinate between the second coordinate and the third coordinate specifically includes: determining a deviation between the second coordinate and the third coordinate, dividing the deviation into a plurality of sub-deviations; According to the sub-deviation, the second coordinate is adjusted so that the adjusted second coordinate is close to the third coordinate, and the adjusted second coordinate is used as the intermediate coordinate.
10. A positioning device, characterized in that: include: A response module, configured to respond to the loss of a satellite navigation signal, determine the attitude data of the device according to the satellite navigation signal before the loss, and obtain the inertial data collected by the inertial unit of the device; A prediction module, configured to determine a state vector of the device at a current moment as a first vector according to the posture data and the inertial data; and predict a state vector of the device at a next moment as a second vector according to a preset state noise and the first vector; An adjustment module, configured to adjust the state noise and the second vector based on preset radar observation conditions and inertial observation conditions and according to point cloud data and inertial data collected when the next moment is reached; The positioning module is used to determine the positioning result of the device according to the adjusted second vector; re-use the adjusted second vector as the first vector, and continue to predict the state vector at subsequent moments according to the adjusted state noise, and re-use it as the second vector, so as to continue to adjust the state noise and the second vector to position the device until the satellite navigation signal is re-acquired.
11. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.
12. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method according to any one of claims 1 to 9 when executing the computer program.