Positioning method, positioning device, electronic equipment and computer storage medium
1. A positioning method is used for positioning target equipment, wherein the target equipment is loaded with at least an inertial measurement module, a satellite positioning module and a vision module for fusion positioning, and the method comprises the following steps:
acquiring inertial navigation data based on the data acquired by the inertial measurement module;
acquiring satellite positioning data based on the data acquired by the satellite positioning module;
acquiring visual positioning data based on the data acquired by the visual module;
determining data with higher position accuracy by using the satellite positioning data, the visual positioning data and the inertial navigation data;
updating the navigation error parameters by using the position error corresponding to the data with higher position precision;
and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result.
2. The method of claim 1, wherein the inertial navigation data comprises inertial positioning data, and wherein determining the data of higher position accuracy using the satellite positioning data, the visual positioning data, and the inertial navigation data comprises:
when satellite positioning data is effective, determining a first position error of the target object according to the satellite positioning data and the inertial positioning data, and determining uncertainty of the first position error;
determining a second error of the position of the target object according to the visual positioning data and the inertial positioning data, and determining uncertainty of the second error of the position;
determining data with higher position precision in the satellite positioning data and the visual positioning data according to the uncertainty of the first position error and the uncertainty of the second position error;
and when the satellite positioning data is invalid, determining that the visual positioning data is data with higher position precision.
3. The method of claim 2, said determining more highly accurate position data of said satellite positioning data and said visual positioning data based on an uncertainty of said first error in position and an uncertainty of said second error in position, comprising:
when the uncertainty of the first error of the position is greater than a first threshold value and the uncertainty of the second error of the position is less than a second threshold value, determining the visual positioning data to be positioning data with higher position precision;
and when the uncertainty of the first position error is smaller than or equal to the first threshold value, determining the satellite positioning data to be positioning data with higher position precision.
4. The method of claim 2, wherein the updating the navigation error parameter with the position error corresponding to the data with higher position accuracy comprises:
updating a visual position error contained in the navigation error parameter by using the second position error, wherein the visual position error is a position error between the positions of the target object determined by visual positioning and inertial navigation;
and updating a satellite position error contained in the navigation error parameter by using the position first error, wherein the satellite position error is an error between satellite positioning and the position of the target object determined by inertial navigation.
5. The method of claim 1, wherein the target device further carries an odometer module, the inertial navigation data including estimated velocity data, the method further comprising:
and acquiring actually measured speed data based on the data acquired by the odometer module, and updating the speed error in the navigation error parameter according to the actually measured speed data and the estimated speed data.
6. The method of any of claims 1-5, wherein acquiring visual positioning data based on data acquired by the vision module comprises:
acquiring an image acquired by a visual acquisition module;
and performing semantic fusion on the image and the high-precision map to obtain visual positioning data.
7. A positioning device, comprising:
the inertial navigation module is used for acquiring inertial navigation data based on data acquired by the inertial measurement module of the target equipment;
the satellite positioning module is used for acquiring satellite positioning data based on the data acquired by the satellite positioning module of the target equipment;
the visual positioning module is used for acquiring visual positioning data based on the data acquired by the visual module of the target equipment;
the precision module is used for determining data with higher position precision by utilizing the satellite positioning data, the visual positioning data and the inertial navigation data;
the parameter updating module is used for updating the navigation error parameters by utilizing the position errors corresponding to the data with higher position precision;
and the navigation correction module is also used for correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result.
8. An electronic device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the operation corresponding to the positioning method according to any one of claims 1-6.
9. A computer storage medium, on which a computer program is stored which, when being executed by a processor, carries out the positioning method according to any one of claims 1-6.
Background
Location is the basis for various location-based services such as navigation, car appointments, and the like. With the development of aerospace industry, satellite positioning technology is more mature, and the real-time positions of vehicles and terminal equipment can be determined by utilizing the satellite positioning technology. However, satellite positioning relies on satellite signals, which are weak or absent in some scenarios such as tunnels, underground garages, resulting in positioning errors or inability. To solve the positioning problem of these scenes, various technologies can be combined to perform positioning, so as to improve the reliability of positioning. Such as satellite positioning techniques, visual positioning techniques, inertial navigation techniques, etc. When the satellite signal is strong, the positioning is carried out by using satellite positioning, and when the satellite signal is weak, the positioning is carried out by using other positioning modes. However, the demands for positioning technology in the industry are not limited to reliability, and the accuracy (precision) of positioning becomes a problem of much concern in industries such as smart cars. Therefore, the continuous improvement of the positioning accuracy is a problem that needs to be continuously solved by those skilled in the art.
Disclosure of Invention
In view of the above, embodiments of the present application provide a positioning method, an apparatus, an electronic device, and a computer storage medium to solve some or all of the above problems.
According to a first aspect of embodiments of the present application, there is provided a positioning method for positioning a target device, where the target device is equipped with at least an inertial measurement module, a satellite positioning module, and a vision module for fusion positioning, the method including: acquiring inertial navigation data based on data acquired by an inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result.
According to a second aspect of embodiments of the present application, there is provided a positioning apparatus, including: the inertial navigation module is used for acquiring inertial navigation data based on data acquired by the inertial measurement module of the target equipment; the satellite positioning module is used for acquiring satellite positioning data based on data acquired by the satellite positioning module of the target equipment; the visual positioning module is used for acquiring visual positioning data based on the data acquired by the visual module of the target equipment; the precision module is used for determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; the parameter updating module is used for updating the navigation error parameters by utilizing the position errors corresponding to the data with higher position precision; and the navigation correction module is also used for correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result.
According to a third aspect of embodiments of the present application, there is provided an electronic apparatus, including: the processor, the memory and the communication interface complete mutual communication through the communication bus; the memory is used for storing at least one executable instruction, and the executable instruction enables the processor to execute the corresponding operation of the positioning method according to the first aspect.
According to a fourth aspect of embodiments of the present application, there is provided a computer storage medium having stored thereon a computer program which, when executed by a processor, implements the positioning method according to the first aspect.
According to the positioning method, the positioning device, the electronic equipment and the computer storage medium, inertial navigation data are acquired based on data acquired by an inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the embodiments of the present application, and other drawings can be obtained by those skilled in the art according to the drawings.
Fig. 1 is a schematic view of a scenario of a positioning method according to an embodiment of the present application;
fig. 2 is a flowchart of a positioning method according to an embodiment of the present application;
fig. 3 is a scene schematic diagram of a positioning method according to a second embodiment of the present application;
fig. 4 is a logic block diagram of a positioning method according to a second embodiment of the present application;
fig. 5 is a block diagram of a visual positioning process provided in the second embodiment of the present application;
fig. 6 is a logic block diagram of another positioning method provided in the second embodiment of the present application;
fig. 7 is a block diagram of a positioning apparatus according to a third embodiment of the present application;
fig. 8 is a schematic structural diagram of an electronic device according to a fourth embodiment of the present application.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, but not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application shall fall within the scope of the protection of the embodiments in the present application.
The following further describes specific implementations of embodiments of the present application with reference to the drawings of the embodiments of the present application.
Example one
The embodiment of the present application provides a positioning method, which is applied to an electronic device, where the electronic device may be a device for performing data processing on navigation data, for example, a terminal device, a server, and the like. For convenience of understanding, an application scenario of the positioning method provided in the first embodiment of the present application is described, and fig. 1 is a schematic view of a scenario of the positioning method provided in the first embodiment of the present application. The scenario shown in fig. 1 includes an electronic device 101, a vehicle 102, a user 103, and a satellite 104; the electronic device 101 may be a device that performs the positioning method provided in the first embodiment of the present application.
The electronic device 101 may be a terminal device such as a smart phone, a tablet computer, and a notebook computer, or may be a cloud device such as a server. It should be noted that the electronic device 101 may also access a network, be connected to a cloud terminal through the network, and perform data interaction, and the electronic device 101 may be a terminal device or a cloud terminal device. In the present application, the Network includes a Local Area Network (LAN), a Wide Area Network (WAN), and a mobile communication Network; such as the World Wide Web (WWW), Long Term Evolution (LTE) networks, 2G networks (2 th Generation Mobile Network), 3G networks (3 th Generation Mobile Network), 5G networks (5 th Generation Mobile Network), etc. Of course, this is merely an example and does not represent a limitation of the present application. The cloud may include various devices connected over a network, such as servers, relay devices, Device-to-Device (D2D) devices, and the like.
In the scenario shown in fig. 1, a vehicle 102 is taken as a target device, and navigation is performed on the vehicle 102 as an example, an inertial measurement module, a satellite positioning module, and a vision module for fusion positioning may be mounted on the vehicle 102, the vehicle 102 may receive a satellite signal transmitted by a satellite 104 through the satellite positioning module, obtain satellite positioning data, transmit the satellite positioning data to an electronic device 101, and the vehicle 102 may also transmit data measured by the vision module to the electronic device 101; the vehicle 102 can also transmit data acquired by the inertial measurement module to the electronic device 101, the electronic device 101 performs data processing on the data transmitted by the vehicle 102 to obtain inertial navigation data, satellite positioning data and visual positioning data, determines data with higher position precision, updates navigation error parameters by using position errors corresponding to the data with higher position precision, and then corrects the inertial navigation data to obtain a fusion positioning result, and prompts the user 103. In the scenario shown in fig. 1, the user 103 may be a driver or passenger in the vehicle 102, and the electronic device 101 may be a terminal device on the vehicle 102 or a terminal device used by the user 103; the electronic device 101 may also be a cloud device, and transmits inertial navigation data to a terminal device on the vehicle 102, so that the terminal device prompts the user 103.
With reference to the scenario shown in fig. 1, a positioning method provided in a first embodiment of the present application is described in detail, where fig. 1 is only an application scenario of the positioning method provided in the first embodiment of the present application, and does not represent that the positioning method must be applied to the scenario shown in fig. 1, referring to fig. 2, fig. 2 is a flowchart of a positioning method provided in the first embodiment of the present application, the method is used for positioning a target device, and the target device is equipped with at least an inertial measurement module, a satellite positioning module, and a vision module for fusion positioning, and the method includes the following steps:
step 201, acquiring inertial navigation data based on the data acquired by the inertial measurement module.
The target object is an object to be located, for example, the target object may be a vehicle, a user, a terminal device, or the like. The inertial navigation of the target object may be to monitor the terminal device in the same motion state as the target object, so as to determine the motion state of the target object. For example, the target object may be a vehicle, the electronic device may be a terminal device on the vehicle, and the electronic device performs navigation according to the positioning data of the electronic device, that is, inertial navigation on the target object may be completed; for another example, the target object may be a vehicle, the electronic device may be a cloud device, and the electronic device may receive positioning data transmitted by a vehicle-mounted terminal on the vehicle to complete inertial navigation on the target object. After the inertial navigation data is obtained, the inertial navigation data can be corrected by using the navigation error parameters, and then the corrected inertial navigation data is output to prompt a user.
It should be noted that the inertial navigation may be a process of obtaining inertial navigation data by performing inertial navigation solution using inertial measurement data. The electronic equipment can receive the inertia measurement data acquired by the inertia measurement module and then carry out navigation calculation on the inertia measurement data to obtain inertia navigation data. The inertial navigation data may include one or more of position data, velocity data, heading angle, and the like. Wherein, the position data may include one or more of longitude, latitude, and altitude, the speed data is used for indicating the speed of the target object, and the heading angle is used for indicating the angle change of the target object in the left-right direction (i.e. the change amount of the angle in the left-right direction) relative to the previous cycle; the Inertial Measurement module may include an Inertial Measurement Unit (IMU), for example, the Inertial Measurement data may include acceleration in at least one direction and angular velocity in at least one axis of a target object (e.g., a vehicle) measured by the IMU, and in combination with the position data, the velocity data, and the heading angle of the previous cycle, the Inertial navigation is performed according to the Inertial Measurement data measured by the IMU to calculate the position data, the velocity data, and the heading angle of the target object in the current cycle. It is further noted that the acceleration in the at least one direction may include at least one of a forward acceleration, a lateral acceleration, and a vertical acceleration, and the angular velocity of the at least one shaft may include at least one of a heading angle angular velocity, a pitch angle angular velocity, and a roll angle angular velocity. Of course, the above is merely exemplary and does not represent that the present application is limited thereto.
During inertial navigation calculation, the inertial measurement data acquired by the inertial measurement module may have an error, and therefore, the inertial measurement data needs to be subjected to error correction, and optionally, in an application scenario, the acquiring of the inertial navigation data based on the data acquired by the inertial measurement module includes: acquiring inertial measurement data acquired by an inertial measurement module, and correcting the inertial measurement data by using a sensor error parameter; and carrying out inertial navigation calculation by using the corrected inertial measurement data to obtain inertial navigation data. Wherein, the sensor error parameter can comprise at least one item of a gyro zero offset error, an accelerometer zero offset error, a mounting angle error and a odometer scale coefficient error. The gyro zero offset error refers to the error of a static gyroscope deviating from a zero point, namely zero drift or offset; the accelerometer zero offset error refers to the error of the accelerometer offset from the zero point when the acceleration is 0; the mounting angle error refers to an angle deviation generated between a coordinate system of the accelerometer and a coordinate system of a mounting platform (for example, a coordinate system of a vehicle) in the process of mounting the accelerometer; odometer scale factor error refers to the deviation between the odometer measured distance and the actual distance traveled. Of course, this is merely an example. Because the inertial measurement data are data obtained by the sensor, the inertial measurement data are corrected by using the error parameters of the sensor, so that the measurement data of the sensor can be more accurate, and the inertial navigation data obtained by inertial navigation resolving are further ensured to be more accurate.
Optionally, the method further comprises: the sensor error parameters are updated using inertial measurement data and inertial navigation data. The sensor error parameters are updated by using the inertial measurement data and the inertial navigation data, so that the accuracy of the sensor error parameters can be improved, and the inertial measurement data can be corrected more accurately in the follow-up process. Here, two examples are given to explain how to update the mounting angle and the odometer scale factor error, respectively.
In a first example, the inertial navigation data includes estimated velocity data, and the updating of the sensor error parameter using the inertial measurement data and the inertial navigation data includes: and updating the installation angle error in the sensor error parameters according to the lateral speed and the vertical speed of the target object contained in the estimated speed data. Taking a vehicle as an example, in the actual running process of the vehicle, the lateral speed, namely the left or right moving speed of the vehicle, should be 0, and the vertical speed, namely the upward or downward moving speed of the vehicle perpendicular to the vehicle body, should also be 0, if the lateral speed and the vertical speed of the target object contained in the estimated speed data are not 0, it indicates that the installation angle error is not accurate, and when the inertial measurement data are corrected, the correction is not accurate enough, so the installation angle error can be recalculated according to the lateral speed and the vertical speed of the target object, and the accuracy of the installation angle error is improved.
In a second example, the target device further carries an odometer module, and may obtain measured speed data according to data acquired by the odometer module, where the inertial navigation data includes estimated speed data, and the updating of the sensor error parameter by using the inertial measurement data and the inertial navigation data includes: and updating the scale coefficient error of the odometer in the error parameter of the sensor according to the actually measured speed data and the pre-estimated speed data. It should be noted that, taking a vehicle as an example, the Odometer module may include an Odometer (Odometer, ODOM), and the actual measured speed data may be obtained through Odometer measurement, the actual measured speed data may include an actual measured forward speed of the vehicle, the estimated speed data may include an estimated forward speed of the vehicle, and the scale coefficient error of the Odometer may be determined by comparing the two speed values.
The above is only an exemplary description of two parameters in the error parameters of the sensor, and the remaining parameters may be updated in a similar manner, which is not described herein again.
Step 202, acquiring satellite positioning data based on the data acquired by the satellite positioning module.
The satellite positioning of the target object can be realized by performing satellite positioning on the terminal device in the same motion state as the target object. For example, the target object is a vehicle, and satellite positioning may be performed on an in-vehicle terminal on the vehicle to determine the vehicle position. It should be noted that the Satellite System may be utilized for Satellite positioning, and the Satellite System may include a Global Navigation Satellite System (GNSS), and specifically, the GNSS may include at least one of the following: a Beidou satellite navigation System, a Global Positioning System (GPS), a Wide Area Augmentation System (WAAS), a Glonass satellite navigation System, a Galileo satellite navigation System, and the like. In one example, the electronic device and the target object are in the same motion state, and the acquiring the satellite positioning data may be that the electronic device receives a satellite signal and generates the satellite positioning data according to the satellite signal; in another example, the electronic device receives satellite positioning data transmitted by a terminal device in the same motion state as the target object, or the electronic device receives a satellite signal forwarded by the terminal device in the same motion state as the target object and generates satellite positioning data according to the satellite signal.
And 203, acquiring visual positioning data based on the data acquired by the visual module.
Combine step 202, when the satellite system is effective, acquire satellite positioning data, when visual positioning is effective, acquire visual positioning data, satellite positioning data and visual positioning data acquire can synchronous acquisition, also can not synchronous acquisition, can not divide successively, and the frequency that satellite positioning data and visual positioning data acquire can be the same or different.
The electronic device can directly receive the visual positioning data sent by the terminal device in the same motion state as the target object, or the electronic device receives at least one image based on the visual angle of the target object and sent by the terminal device in the same motion state as the target object and generates the visual positioning data by utilizing the at least one image; or the electronic equipment shoots based on the visual angle of the target object to obtain at least one image, and generates the visual positioning data by using the at least one image. An embodiment is illustrated herein for how to perform visual positioning, and optionally, acquiring the visual positioning data based on the data acquired by the visual module, including: acquiring an image acquired by a visual acquisition module; and performing semantic fusion based on the image and the high-precision map to obtain visual positioning data. In an optional implementation manner, geometric feature extraction can be carried out on at least one image, and feature association is carried out according to an electronic map; and performing pose estimation on the target object according to the result of the feature association to obtain visual positioning data. The pose estimation of the target object may use a particle filter method or a re-projection residual error method, which is only exemplary.
And step 204, determining data with higher position precision by utilizing the satellite positioning data, the visual positioning data and the inertial navigation data.
Optionally, in an embodiment, the inertial navigation data includes inertial positioning data, and determining the data with higher position accuracy using the satellite positioning data, the visual positioning data, and the inertial navigation data includes: when the satellite positioning data is effective, determining a first error of the position of the target object according to the satellite positioning data and the inertial positioning data, and determining the uncertainty of the first error of the position; determining a second error of the position of the target object according to the visual positioning data and the inertial positioning data, and determining the uncertainty of the second error of the position; determining data with higher position precision in the satellite positioning data and the visual positioning data according to the uncertainty of the first position error and the uncertainty of the second position error; when the satellite positioning data is invalid, the visual positioning data is determined to be data with higher position precision. It should be noted that, in the present application, the first error and the second error of the position may be two different errors of the same position, and the uncertainty is used to represent the position accuracy, and the lower the uncertainty, the higher the position accuracy. The position first error and the position second error may be calculated using kalman filtering (english), but of course, other filtering algorithms may be used, and are only exemplary. When the satellite positioning data is invalid, the visual positioning data is determined to be data with higher position precision, the navigation error parameters are kept updated, the accuracy of the navigation error parameters is improved, and the accuracy of the inertial navigation data is further improved. It should be noted that the satellite positioning data is invalid, which means that a satellite signal cannot be received or the satellite signal is too weak, satellite positioning cannot be achieved, the reason for the invalid satellite positioning data may be that a target object is in an area where the satellite signal is weak, or the satellite signal is not received due to other reasons, for example, the satellite signal is received 1 time every 1 second, the time length of one second is a period of satellite signal reception, if the satellite signal is not received for 5 consecutive seconds, that is, the satellite system is invalid, of course, here, 5 seconds is only an exemplary illustration, and it may be that no satellite signal is received for n consecutive periods of satellite signal reception, it is determined that the satellite system is invalid, n is an integer greater than 1, and the period of one satellite signal reception is 1 second or 2 seconds, and so on.
Alternatively, here, two possible cases are enumerated for explanation, and the determination of the positioning data with higher position accuracy in the satellite positioning data and the visual positioning data based on the uncertainty of the first error in the position and the uncertainty of the second error in the position includes: when the uncertainty of the first position error is greater than a first threshold value and the uncertainty of the second position error is less than a second threshold value, determining the visual positioning data as positioning data with higher position precision; and when the uncertainty of the first error of the position is less than or equal to a first threshold value, determining the satellite positioning data as positioning data with higher position precision. Wherein the first threshold and the second threshold may be the same or different.
Step 205, updating the navigation error parameter by using the position error corresponding to the data with higher position precision.
Wherein the navigation error parameter is indicative of an error of the inertial navigation data. Illustratively, the navigation error parameters may include one or more of a position error, a velocity error, and an attitude error. The position error refers to a deviation between an estimated position determined by inertial navigation solution of the target object and an actual position measured by satellite positioning or visual positioning of the target object, the position data of the target object may include at least one of longitude, latitude and altitude, and correspondingly, the position error may also include at least one of longitude error, latitude error and altitude error; the speed error refers to the deviation between estimated speed data determined by inertial navigation resolving of the target object and actual measurement speed data obtained by measuring the target object; the attitude error refers to a deviation between an attitude of the target object determined by inertial navigation solution of the target object and an attitude determined by measurement of the target object, the attitude of the target object can be described by at least one of a heading angle, a roll angle and a pitch angle, and correspondingly, the attitude error can comprise at least one of a heading angle error, a roll angle error and a pitch angle error.
Three examples are presented herein to illustrate the updating of the position error, the velocity error, and the heading angle error, respectively.
Alternatively, in the first example, taking the example of updating the position error in the navigation error parameter, the time of acquiring the satellite positioning data and the time and frequency of acquiring the visual positioning data may be the same or different. For example, if satellite positioning data is acquired, the navigation error parameter may or may not be updated according to the satellite positioning data; if the satellite positioning data is not obtained and the visual positioning data is obtained, the navigation error parameters can be updated or not updated according to the visual positioning data; if the satellite positioning data and the visual positioning data are acquired simultaneously, the navigation error parameters are updated by using the positioning data with higher position precision in the satellite positioning data and the visual positioning data.
With reference to the embodiment in step 204, in an optional implementation manner, the updating the navigation error parameter with the position error corresponding to the data with higher position precision includes: updating the visual position error contained in the navigation error parameter by using the second position error, wherein the visual position error is the position error between the positions of the target object determined by visual positioning and inertial navigation; and updating a satellite position error contained in the navigation error parameter by using the first position error, wherein the satellite position error is an error between the satellite positioning and the position of the target object determined by inertial navigation. When the position precision of the satellite positioning data is higher than that of the visual positioning data, the navigation error parameters are updated by utilizing the satellite positioning data and the inertial positioning data; and when the position precision of the visual positioning data is higher than that of the satellite positioning data, updating the navigation error parameters by utilizing the visual positioning data and the inertial positioning data. And the navigation error parameters are updated by using the positioning data with high position precision, so that the accuracy of the navigation error parameters is improved.
Optionally, in a second example, taking the updated speed error as an example, the target device further carries an odometer module, the inertial navigation data includes estimated speed data, and the method further includes: and acquiring actually measured speed data based on the data acquired by the odometer module, and updating the speed error in the navigation error parameter according to the actually measured speed data and the pre-estimated speed data. Specifically, the speed error may be obtained by subtracting the estimated speed data from the measured speed data, which is only an exemplary illustration here. Here, when updating the speed error in the navigation error parameter, the measured speed data may be obtained by ODOM measurement, or may be calculated from satellite positioning data or visual positioning data.
Optionally, in a third example, taking the updated heading angle error as an example, the method further includes: and updating the course angle error in the navigation error parameter when the target object is static. Illustratively, in a stationary state, the heading angle is not changed, the variation of the heading angle should be 0, and if the variation of the heading angle in the inertial navigation data is not 0, the value of the heading angle in the inertial navigation data is the heading angle error.
The speed error and the attitude error (including course angle error) in the navigation error parameter are updated, so that the accuracy of the navigation error parameter can be further improved, and the accuracy of inertial navigation data is further improved.
And step 206, correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result.
The inertial navigation data are corrected by using the navigation error parameters, so that the deviation between the inertial navigation data determined by inertial navigation calculation and the actual measurement data can be reduced, and the accuracy of the inertial navigation data is improved.
With reference to step 201-. The inertial navigation is carried out to obtain inertial navigation data, the inertial navigation data is corrected by using navigation error parameters, and the corrected inertial navigation data is output; this and acquisition satellite positioning data and visual positioning data do not have inevitable precedence to navigation error parameter update, obtain satellite positioning data and visual positioning data when obtaining in-process that inertial navigation data revises and export, then update navigation error parameter, if do not obtain these two data, then do not update corresponding parameter in the navigation error parameter. In an application scenario, the electronic device acquires inertial navigation data, corrects the inertial navigation data by using a navigation error parameter, updates the navigation error parameter, and continues to correct the inertial navigation data acquired in the next period. Of course, this is merely an example.
According to the positioning method provided by the embodiment of the application, inertial navigation data are obtained based on data acquired by an inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
Example two
Based on the positioning method described in the first embodiment, a second embodiment of the present application provides a positioning method, which combines three manners of inertial navigation, satellite positioning, and visual positioning as an example, and the positioning method in the first embodiment is described in detail. For convenience of description, an application scenario of the positioning method is described, on the basis of the application scenario shown in fig. 1, fig. 3 is a scenario schematic diagram of a positioning method provided in the second embodiment of the present application, fig. 3 shows a structure of an electronic device 101, where the electronic device 101 includes a high-precision positioning engine 1011 and a high-precision map 1012, and the high-precision positioning engine 1011 includes a multi-sensor fusion positioning module 10111 and a semantic fusion module 10112. Fig. 3 also shows the sensor modules included on the vehicle 102, the vehicle 102 including an IMU1021 (inertial measurement module), a GNSS 1022 (satellite positioning module), an ODOM 1023 (ODOM module), a vision module 1024.
It should be noted that the IMU1021 is configured to perform inertial measurement to obtain inertial measurement data; the GNSS module 1022 is configured to receive satellite signals of the satellite 104 (i.e., satellites of the GNSS); the ODOM module 1023 is used for measuring mileage and obtaining mileage data; the vision module 1024 is configured to capture at least one image based on a forward perspective of the vehicle 102, and transmit the at least one image to the semantic fusion module 10112 in the electronic device 101.
And the semantic fusion module 10112 is configured to perform visual positioning to obtain visual positioning data according to at least one image captured by the visual module 1024 in combination with the high-precision electronic map 1012, and transmit the visual positioning data to the multi-sensor fusion positioning module 10111.
The multi-sensor fusion positioning module 10111 in the electronic device 101 is configured to receive inertial measurement data measured by the IMU1021, receive satellite signals transmitted by the GNSS module 1022, and receive mileage data transmitted by the ODOM module 1023; the inertial navigation is calculated by using the inertial measurement data to obtain inertial navigation data, satellite positioning is performed by using satellite signals to obtain satellite positioning data, and the actual measurement speed data is calculated by using mileage data. The multi-sensor fusion positioning module 10111 is further configured to receive the visual positioning data transmitted by the semantic fusion module 10112. The electronic device 101 prompts the user 103 according to the inertial navigation data, and optionally, prompts the user by playing voice, displaying video, displaying image, displaying text, and the like. Specifically, referring to fig. 4, fig. 4 is a logic block diagram of a positioning method according to a second embodiment of the present application. The positioning method provided by the embodiment specifically comprises the following processes:
the electronic device time-aligns a gyroscope and an accelerometer in the IMU and then determines whether initialization is complete.
And if the initialization is not completed, performing the initialization, and returning to judge whether the initialization is completed. Specifically, if the GNSS is valid, the position and the speed may be initialized according to the satellite signal of the GNSS, and the course angle may be initialized according to the course angle determined by the satellite signal of the GNSS; if the visual positioning is effective, initializing a course angle according to the course angle determined by the visual positioning; the pitch and roll angles are initialized from the measurements of the accelerometers in the IMU. The geometric GNSS and the visual positioning are initialized, so that the requirement on the initialized working condition is reduced, and the vehicle can be initialized (in a high-precision map area) when being static and can also be initialized when being in motion.
If the initialization is completed, acquiring data measured by each sensor module on the vehicle 102, determining inertial measurement data, correcting the inertial measurement data by using sensor error parameters, performing inertial navigation calculation by using the corrected inertial measurement data to obtain inertial navigation data, correcting the inertial navigation data by using navigation error parameters, and prompting a user according to the corrected navigation data of the current period.
And establishing a strapdown inertial navigation error equation, and performing time updating on a filtering algorithm, specifically, updating error parameters in the strapdown inertial navigation error equation and covariance of each error parameter by adopting Kalman filtering. The error parameters in the strapdown inertial navigation error equation include sensor error parameters and inertial navigation error parameters, such as position error, velocity error, attitude error, gyro zero offset error, accelerometer zero offset error, mounting angle error, odometer scale factor error, and the like, wherein the position error includes a visual position error and a satellite position error. In particular, the following error parameters may be included:
whether the GNSS module is updated or not is determined, and if the GNSS module is updated (namely satellite signals of the GNSS are valid), navigation error parameters (including position error, speed error and attitude error) are updated according to satellite positioning data determined by the satellite signals of the GNSS. If the GNSS module is not updated or the update is completed, the next determination is continued.
And determining whether the ODOM module is updated, and if the ODOM module is updated, updating the speed error according to the actually measured speed data determined by the mileage data transmitted by the ODOM module. And if the ODOM module is not updated or the update is finished, continuing to judge next.
And determining whether the vision module is updated, and if the vision module is updated, judging whether the time for which the GNSS module is continuously invalid is greater than or equal to a preset time length, wherein the preset time length can be 3 seconds, 5 seconds, 10 seconds and the like. If the time for the GNSS module to continuously invalid is longer than or equal to the preset time length, updating the position error, the speed error and the attitude error by using the visual positioning data; if the GNSS module is continuously invalid for less than the preset time length, calculating the uncertainty of the first position error and the uncertainty of the second position error by using the satellite positioning data and the visual positioning data, updating the visual position error contained in the navigation error parameter by using the second position error when the uncertainty of the first position error is greater than a first threshold value and the uncertainty of the second position error is less than a second threshold value, and otherwise updating the satellite position error by using the satellite positioning data. If the vision module is not updated or the updating is completed, the next judgment is continued.
It is determined whether the target object is stationary, i.e., whether the target object speed is 0, and if the target object is stationary, the course angle error is updated based on a setting that the course angle is zero. And if the speed of the target object is not 0 or the course angle error updating is finished, carrying out error state feedback, acquiring data measured by a new sensor, and continuously generating inertial measurement data to carry out inertial navigation calculation.
Of course, the updating method of several error parameters is only exemplarily described here, and may also include updating parameters such as an installation angle and an error of a scale coefficient of the odometer, which are not described herein again.
It should be noted that, in the process of performing visual positioning, the semantic fusion module may extract geometric features of at least one image, perform feature association with a high-precision map, and perform pose estimation according to a result of the feature association to obtain the visual positioning data. The semantic fusion module can estimate the pose based on particle filtering and can also estimate the pose based on a re-projection residual error. Exemplarily, as shown in fig. 5, fig. 5 is a flow chart of a visual positioning method provided in the second embodiment of the present application, and a coarse positioning is performed by using a GPS and a high-precision map; the method comprises the steps that a visual information processing module is used for collecting at least one image, semantic segmentation is carried out on the at least one image, and geometric feature extraction is carried out on the basis of the result of the semantic segmentation; identifying a target object by using a laser radar, and preselecting the target object on a high-precision map; carrying out re-projection by using a pre-selection result, carrying out feature association according to the visual positioning data and the re-projection result and the extracted geometric features, further calculating a registration residual error, and carrying out pose estimation by combining a coarse positioning result to obtain the visual positioning data, thereby realizing high-precision positioning.
Based on the positioning method described in the second embodiment, the positioning method may use a combined filter for processing. Exemplarily, fig. 6 is a logic block diagram of another positioning method provided in the second embodiment of the present application. As shown in fig. 6, the GNSS module, the IMU module, and the ODOM module form a sub-filter 1, and the vision module, the IMU module, and the ODOM module form a sub-filter 2, wherein during filtering, each sub-filter independently performs time and measurement update, the main filter performs time update, corresponding state estimation and covariance matrix calculation, and updates the sub-filter and the main filter according to information distribution coefficients after global information fusion.
According to the positioning method provided by the embodiment of the application, inertial navigation data are obtained based on data acquired by an inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
EXAMPLE III
Based on the methods described in the first and second embodiments, a third embodiment of the present application provides a positioning apparatus for performing the methods described in the first and second embodiments, and referring to fig. 7, the positioning apparatus 70 includes:
the inertial navigation module 701 is used for acquiring inertial navigation data based on data acquired by an inertial measurement module of the target device;
a satellite positioning module 702, configured to obtain satellite positioning data based on data acquired by a satellite positioning module of the target device;
the visual positioning module 703 is configured to obtain visual positioning data based on data acquired by a visual module of the target device;
an accuracy module 704 for determining data with higher position accuracy using satellite positioning data, visual positioning data, and inertial navigation data;
a parameter updating module 705, configured to update a navigation error parameter by using a position error corresponding to data with higher position accuracy;
the navigation correction module 706 is further configured to correct the inertial navigation data by using the updated navigation error parameter, so as to obtain a fusion positioning result.
Optionally, the inertial navigation data includes inertial positioning data, and the precision module 704 is configured to determine a first error of the position of the target object according to the satellite positioning data and the inertial positioning data when the satellite positioning data is valid, and determine an uncertainty of the first error of the position; determining a second error of the position of the target object according to the visual positioning data and the inertial positioning data, and determining the uncertainty of the second error of the position; determining data with higher position precision in the satellite positioning data and the visual positioning data according to the uncertainty of the first position error and the uncertainty of the second position error; when the satellite positioning data is invalid, the visual positioning data is determined to be data with higher position precision.
Optionally, the accuracy module 704 is configured to determine that the visual positioning data is positioning data with higher accuracy when the uncertainty of the first error of the position is greater than a first threshold and the uncertainty of the second error of the position is less than a second threshold; and when the uncertainty of the first error of the position is less than or equal to a first threshold value, determining the satellite positioning data as positioning data with higher position precision.
Optionally, the parameter updating module 705 is configured to update a visual position error included in the navigation error parameter by using the second position error, where the visual position error is a position error between the visual positioning and the position of the target object determined by the inertial navigation; and updating a satellite position error contained in the navigation error parameter by using the first position error, wherein the satellite position error is an error between the satellite positioning and the position of the target object determined by inertial navigation.
Optionally, the target device further carries an odometer module, the inertial navigation data includes estimated speed data, and the parameter updating module 705 is further configured to obtain actual speed data based on data acquired by the odometer module, and update a speed error in the navigation error parameter according to the actual speed data and the estimated speed data.
Optionally, the visual positioning module 703 is configured to obtain an image acquired by the visual acquisition module; and performing semantic fusion based on the image and the high-precision map to obtain visual positioning data.
The positioning device provided by the embodiment of the application acquires inertial navigation data based on the data acquired by the inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
Example four
Based on the methods described in the first embodiment and the second embodiment, a fourth embodiment of the present application provides an electronic device, which is configured to execute the methods described in the first embodiment and the second embodiment, and fig. 8 is a schematic structural diagram of the electronic device provided in the fourth embodiment of the present application, and a specific embodiment of the present application does not limit a specific implementation of the electronic device.
As shown in fig. 8, the electronic device may include: a processor (processor)802, a Communications Interface 804, a memory 806, and a communication bus 808.
Wherein:
the processor 802, communication interface 804, and memory 806 communicate with one another via a communication bus 808.
A communication interface 804 for communicating with other electronic devices, such as a terminal device or a server.
The processor 802 is configured to execute the program 810, and may specifically perform the relevant steps in the above method embodiments.
In particular, the program 810 may include program code comprising computer operating instructions.
The processor 802 may be a central processing unit CPU, or an application Specific Integrated circuit asic, or one or more Integrated circuits configured to implement embodiments of the present application. The electronic device comprises one or more processors, which can be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
The memory 806 stores a program 810. The memory 806 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 810 may specifically be configured to cause the processor 802 to execute any of the methods of the first and second embodiments described above.
For specific implementation of each step in the program 810, reference may be made to corresponding steps and corresponding descriptions in units in the foregoing embodiments of the positioning method, which are not described herein again. It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described devices and modules may refer to the corresponding process descriptions in the foregoing method embodiments, and are not described herein again.
The electronic equipment provided by the embodiment of the application acquires inertial navigation data based on the data acquired by the inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
EXAMPLE five
Based on the methods described in the first and second embodiments, a fifth embodiment of the present application provides a computer storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements any of the positioning methods described in the first and second embodiments.
The computer storage medium provided by the embodiment of the application acquires inertial navigation data based on data acquired by an inertial measurement module; acquiring satellite positioning data based on data acquired by a satellite positioning module; acquiring visual positioning data based on the data acquired by the visual module; determining data with higher position precision by utilizing satellite positioning data, visual positioning data and inertial navigation data; updating the navigation error parameters by using the position error corresponding to the data with higher position precision; and correcting the inertial navigation data by using the updated navigation error parameters to obtain a fusion positioning result. The navigation error parameters are updated by combining the satellite positioning data and the visual positioning data, so that the reliability of the navigation error parameters is improved, and the inertial navigation data is corrected by using the navigation error parameters with higher reliability, so that the accuracy of the inertial navigation data can be further improved.
It should be noted that, according to the implementation requirement, each component/step described in the embodiment of the present application may be divided into more components/steps, and two or more components/steps or partial operations of the components/steps may also be combined into a new component/step to achieve the purpose of the embodiment of the present application.
The above-described methods according to embodiments of the present application may be implemented in hardware, firmware, or as software or computer code storable in a recording medium such as a CD ROM, a RAM, a floppy disk, a hard disk, or a magneto-optical disk, or as computer code originally stored in a remote recording medium or a non-transitory machine-readable medium downloaded through a network and to be stored in a local recording medium, so that the methods described herein may be stored in such software processes on a recording medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware such as an ASIC or FPGA. It will be appreciated that the computer, processor, microprocessor controller or programmable hardware includes memory components (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code that, when accessed and executed by the computer, processor or hardware, implements the positioning methods described herein. Further, when a general-purpose computer accesses code for implementing the positioning method shown herein, execution of the code converts the general-purpose computer into a special-purpose computer for executing the positioning method shown herein.
Those of ordinary skill in the art will appreciate that the various illustrative elements and method steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the embodiments of the present application.
The above embodiments are only used for illustrating the embodiments of the present application, and not for limiting the embodiments of the present application, and those skilled in the relevant art can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application, so that all equivalent technical solutions also belong to the scope of the embodiments of the present application, and the scope of patent protection of the embodiments of the present application should be defined by the claims.
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种智能感知传感器全域感知预警系统