Method and device for correcting installation angle of imu of vehicle, electronic equipment, storage medium and program product
By acquiring the speed and steering angle of the front wheel speedometer and combining it with multi-sensor data fusion, the pitch, roll, and yaw installation angles of the IMU are accurately corrected, solving the problem of inaccurate autonomous driving or assisted driving decisions caused by IMU installation angle errors and improving the accuracy of decision-making.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-05
- Publication Date
- 2026-03-31
AI Technical Summary
Existing technologies struggle to accurately correct the pitch, roll, and yaw installation angles of inertial measurement units (IMUs) within vehicles, leading to inaccurate autonomous driving or assisted driving decisions.
By acquiring the speed and angle from the front wheel speedometer, the speed is decomposed into forward and lateral speeds. Combined with multi-sensor data fusion, the IMU mounting angle error is determined and corrected, including corrections for pitch, roll, and yaw mounting angles.
It achieves accurate correction of the IMU installation angle, improving the accuracy of autonomous driving or assisted driving decisions.
Smart Images

Figure CN119437292B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving or assisted driving technology for vehicles, and in particular to a method, device, electronic device, storage medium, and program product for correcting the IMU mounting angle of a vehicle. Background Technology
[0002] Vehicles are equipped with inertial measurement units (IMUs), which collect data to control the vehicle's driving process. When controlling the vehicle using IMU data, the IMU's mounting angles must be determined, and the collected data must be corrected based on these angles. The IMU mounting angles include the pitch angle, roll angle, and yaw angle.
[0003] Therefore, there is an urgent need for a method that can correct all three different mounting angles of the IMU. Summary of the Invention
[0004] This application provides a method, device, electronic device, storage medium, and program product for correcting the IMU mounting angle of a vehicle, so as to achieve the effect of correcting three different mounting angles of the IMU.
[0005] In a first aspect, embodiments of this application provide a method for correcting the IMU mounting angle of a vehicle, including:
[0006] In response to acquiring the first speed at the current moment collected by the front wheel speedometer on the vehicle, the front wheel steering angle of the vehicle at the previous moment is acquired, and a second speed is determined based on the first speed and the front wheel steering angle; wherein, the second speed includes the vehicle's forward speed and lateral speed;
[0007] Get the vehicle's speed at the previous moment;
[0008] Based on the forward and lateral speeds in the second speed and the vehicle speed at the previous moment, the IMU mounting angle at the current moment is corrected to obtain the corrected IMU mounting angle at the current moment; wherein, the corrected IMU mounting angle includes the IMU pitch mounting angle, the IMU roll mounting angle and the IMU heading mounting angle.
[0009] Secondly, embodiments of this application provide a device for correcting the IMU mounting angle of a vehicle, comprising:
[0010] The determination module is used to, in response to acquiring the first speed collected by the front wheel speed sensor on the vehicle at the current moment, acquire the front wheel steering angle on the vehicle at the previous moment, and determine the second speed based on the first speed and the front wheel steering angle; wherein, the second speed includes the vehicle's forward speed and lateral speed;
[0011] The acquisition module is used to acquire the vehicle's speed at the previous moment.
[0012] The correction module is used to correct the IMU mounting angle at the current moment based on the forward and lateral speeds in the second speed and the vehicle speed at the previous moment, so as to obtain the corrected IMU mounting angle at the current moment; wherein the corrected IMU mounting angle includes the IMU pitch mounting angle, the IMU roll mounting angle and the IMU heading mounting angle.
[0013] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0014] The memory stores computer-executed instructions;
[0015] The processor executes computer execution instructions stored in the memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the first aspect and / or various possible implementations of the first aspect.
[0017] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.
[0018] The vehicle IMU mounting angle correction method, apparatus, electronic device, storage medium, and program product provided in this application embodiment obtain the latest front wheel steering angle of the vehicle if a first speed collected by the front wheel speedometer at the current moment is obtained, and decomposes the first speed based on the front wheel steering angle to obtain a second speed. The second speed includes the vehicle's forward speed and lateral speed. Simultaneously, the vehicle speed at the previous moment is obtained by fusing the acquired multi-sensor data. Based on the second speed and the acquired vehicle speed at the previous moment, the IMU mounting angle error is determined. The IMU mounting angle error includes the error values of the IMU pitch mounting angle, IMU roll mounting angle, and IMU yaw mounting angle. The IMU mounting angle at the current moment is then corrected based on the IMU mounting angle error to obtain the corrected IMU mounting angle at the current moment. The corrected IMU mounting angle includes the IMU pitch mounting angle, IMU roll mounting angle, and IMU yaw mounting angle.
[0019] Since the second speed includes the vehicle's forward speed and lateral speed, it is possible to distinguish whether the speed difference is due to forward acceleration measurement error or IMU pitch installation angle, and also whether the speed difference is due to vehicle turning or IMU yaw installation angle. Therefore, the IMU pitch installation angle and IMU yaw installation angle can be accurately corrected.
[0020] Furthermore, when a vehicle rolls, its lateral velocity increases, while its forward velocity may remain constant or change slightly. By considering both velocities simultaneously, the vehicle's roll angle can be accurately predicted. At the same time, the data collected by the IMU is affected by the IMU's roll angle, which in turn affects the vehicle's roll angle at the current moment, obtained by fusing data from multiple sensors, including the IMU. Consequently, this affects the lateral and forward velocities at the current moment, obtained by fusing data based on the vehicle's roll angle at the current moment.
[0021] Next, based on the difference between the lateral velocity of the vehicle in the second speed and the lateral velocity of the vehicle in the previous moment, as well as the difference between the forward velocity of the vehicle in the second speed and the forward velocity of the vehicle in the previous moment, the error value of the IMU roll installation angle can be determined. Then, based on the error value of the IMU roll installation angle, the IMU roll installation angle at the current moment can be corrected, and the corrected IMU roll installation angle at the current moment can be accurately obtained. Attached Figure Description
[0022] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0023] Figure 1 A flowchart illustrating a method for correcting the IMU mounting angle of a vehicle provided in this application;
[0024] Figure 2 A flowchart illustrating another method for correcting the IMU mounting angle of a vehicle provided in this application;
[0025] Figure 3 A flowchart illustrating another method for correcting the IMU mounting angle of a vehicle provided in this application;
[0026] Figure 4 A schematic diagram of the structure of the IMU mounting angle correction device for the vehicle provided in this application;
[0027] Figure 5 A schematic diagram of the structure of the electronic device provided in this application.
[0028] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0029] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0030] First, let me explain the terms used in this application:
[0031] An Inertial Measurement Unit (IMU) is a sensor that uses changes in inertia to collect data on the acceleration and rotation of an object. An IMU may include, for example, an accelerometer, a gyroscope, and a magnetometer. The accelerometer collects the acceleration of an object (e.g., the acceleration of a vehicle), the gyroscope collects the angular velocity of an object (e.g., the angular velocity of a vehicle), and the magnetometer collects the magnetic field strength of an object. By integrating the vehicle's acceleration and angular velocity, the vehicle's angle can be predicted.
[0032] IMU coordinate system: This is a reference coordinate system fixed to the IMU. This coordinate system moves with the IMU and is used to measure and report the IMU's own motion and orientation. For example, the origin can be located at the center of the IMU sensor, the lateral axis (X-axis) can be parallel to the width direction of the vehicle and point to the right side of the vehicle, the longitudinal axis (Y-axis) can be parallel to the length direction of the vehicle and point to the front of the vehicle, and the vertical axis (Z-axis) can be perpendicular to the lateral and longitudinal axes.
[0033] Vehicle coordinate system: This is a reference coordinate system fixed on the vehicle. This coordinate system moves as the vehicle moves and is used to describe the dynamic behavior of the vehicle itself and the position of vehicle components. For example, the origin of the coordinate system can be located at the center of the rear axle of the vehicle, the lateral axis (X-axis) can point forward of the vehicle, the longitudinal axis (Y-axis) can point to the right of the vehicle, and the vertical axis (Z-axis) can point downward of the vehicle.
[0034] Global coordinate system: This is a fixed reference coordinate system used to describe the absolute position and orientation of a vehicle in its environment. This coordinate system is typically referenced to the Earth, and can be used, for example, in high-definition maps.
[0035] Euler angles are a method for describing the rotation of a rigid body in three-dimensional space, using a set of three angles to represent the rotation angles around three different coordinate axes. The definition of Euler angles (including the order of rigid body rotation and the axis of rotation used) can differ in different application scenarios. Within the same application scenario, the Euler angle definition for the same rigid body must be identical to ensure consistency. Euler angles can be vectors in the form of a 3x1 matrix (where the three values in the 3x1 matrix represent the rotation angles around the three coordinate axes) or quadruples (where the first three elements of the quadruples represent the rotation angles around the three coordinate axes, and the last element is a constant 1, indicating that this is an Euler angle rather than a quaternion). In the embodiments of this application, Euler angles are illustrated using a vector in the form of a 3x1 matrix as an example.
[0036] A rotation matrix is a mathematical tool used to represent the rotation of a rigid body in three-dimensional space. It is a 3×3 matrix. Euler angles and their corresponding rotation matrices can be converted to each other using preset formulas (different definitions of Euler angles correspond to different preset formulas for the conversion between Euler angles and rotation matrices). Euler angles and their corresponding rotation matrices can be understood as essentially the same, only differing in their form and application scenarios. Because rotation matrices are essentially orthogonal matrices (their determinant is 1, and their transpose is equal to their inverse), they exhibit good numerical stability when multiple combinations of rotation matrices are performed, making them more suitable for complex mathematical operations. Euler angles, being intuitive and easy to understand, are more suitable for applications involving simple angle adjustments.
[0037] IMU mounting angle: This refers to the rotation angle of the IMU relative to its ideal mounting position on the vehicle. Ideally, the IMU should be mounted in a fixed position on the vehicle, with its coordinate axes aligned with the vehicle's coordinate axes. However, in practical applications, due to factors such as installation errors, manufacturing tolerances, vehicle vibrations during operation, and IMU wear, the IMU's coordinate axes may deviate from the vehicle's coordinate axes. These deviations are called the IMU mounting angle, which is the angle in the IMU coordinate system relative to the vehicle's coordinate system when the IMU is mounted on the vehicle. This angle includes:
[0038] IMU pitch angle: The tilt angle of the IMU's longitudinal axis (usually parallel to the vehicle's longitudinal direction) relative to the vehicle's horizontal plane.
[0039] IMU roll-up angle: The angle of inclination of the IMU's lateral axis (usually parallel to the vehicle's left-right direction) relative to the vehicle's horizontal plane.
[0040] IMU yaw angle: The angle of rotation of the IMU's vertical axis (usually parallel to the vehicle's vertical direction) relative to the vehicle's forward direction.
[0041] The IMU mounting angle in each embodiment of this application is illustrated using Euler angles in the form of a 3*1 matrix vector. It is assumed that when determining the IMU mounting angle, the Euler angle is defined as follows: first, rotate around the z-axis of the vehicle coordinate system to determine the IMU heading mounting angle; then, rotate around the y-axis of the vehicle coordinate system to determine the IMU pitch mounting angle; and finally, rotate around the x-axis of the vehicle coordinate system to determine the IMU roll mounting angle.
[0042] Vehicle angle: refers to the vehicle's attitude in three-dimensional space, including:
[0043] Vehicle pitch angle: refers to the vertical tilt angle of a vehicle along its direction of travel. A change in pitch angle occurs when the front of the vehicle rises or falls relative to its rear.
[0044] Roll angle: refers to the angle at which a vehicle tilts left or right along its vertical axis. A change in roll angle occurs when one side of the vehicle is raised relative to the other.
[0045] A vehicle's yaw angle is the angle of rotation of the vehicle relative to a fixed reference direction (such as geographic north). The yaw angle describes the vehicle's direction of travel.
[0046] The vehicle angles in the various embodiments of this application are illustrated using Euler angles in the form of a 3*1 matrix vector. It is assumed that when determining the vehicle angle, the Euler angle is defined as follows: first, rotate around the z-axis of the global coordinate system to determine the vehicle's heading angle; then, rotate around the y-axis of the global coordinate system to determine the vehicle's pitch angle; and finally, rotate around the x-axis of the global coordinate system to determine the vehicle's roll angle.
[0047] The rotation order of the coordinate axes in the Euler angle definition for determining the vehicle angle and the rotation order of the coordinate axes in the Euler angle definition for determining the IMU mounting angle can be the same or different (different Euler angle definitions correspond to different rotation matrices). In this application, the embodiments are illustrated by taking the example that the rotation order of the coordinate axes in the Euler angle definition for determining the vehicle angle and the rotation order of the coordinate axes in the Euler angle definition for determining the IMU mounting angle are the same.
[0048] Wheel speed sensor: A sensor used to measure vehicle speed. It can be mounted, for example, on the wheel hub. It calculates the vehicle speed by first measuring the wheel's rotational speed, and then using parameters such as wheel rotational speed, tire circumference, and tire diameter. For example, one wheel speed sensor can be installed on one rear wheel hub to collect vehicle speed data, or one wheel speed sensor can be installed on each of the two rear wheel hubs to collect vehicle speed data together. Similarly, one wheel speed sensor can be installed on one front wheel hub to collect vehicle speed data, or one wheel speed sensor can be installed on each of the two front wheel hubs to collect vehicle speed data together. This embodiment does not limit the installation method of the wheel speed sensor or the method of calculating vehicle speed, as long as the vehicle speed can be collected by the wheel speed sensor.
[0049] Wheel speed gauge adjustment factors: Wheel speed gauges use tire circumference and diameter when calculating vehicle speed. When tires wear down or the tire pressure is insufficient, causing tire deformation and a reduction in tire diameter, the calculated vehicle speed will be inaccurate. Therefore, adjustment factors are needed to correct the vehicle speed collected by the wheel speed gauge. Due to differences in vehicle drive type, suspension system, road conditions, and load distribution, the motion states of the front and rear wheels differ during turning, acceleration, and braking. Therefore, the vehicle speed collected by the front wheel speed gauge and the rear wheel speed gauge will differ. Consequently, wheel speed gauge adjustment factors include the front wheel adjustment factor for the front wheel speed gauge and the rear wheel adjustment factor for the rear wheel speed gauge.
[0050] In autonomous or assisted driving scenarios, when an IMU (Integrated Measurement Unit) is installed at an angle, the vehicle's acceleration and angular velocity data collected by the IMU are relative to its own coordinate system. Since the IMU coordinate system is not perfectly aligned with the vehicle's coordinate system, the collected vehicle acceleration and angular velocity data will contain deviations caused by the IMU installation angle. Consequently, the autonomous or assisted driving decisions made based on the vehicle's acceleration and angular velocity will be inaccurate.
[0051] Therefore, it is necessary to correct the vehicle acceleration and angular velocity data collected by the IMU based on the IMU mounting angle. This can eliminate biases in the IMU-collected data, making it more accurate and thus enabling more accurate autonomous driving or assisted driving decisions. The IMU mounting angle includes the IMU pitch angle, IMU roll angle, and IMU yaw angle.
[0052] In one example, the vehicle can determine the IMU mounting angle deviation based on the rear wheel speed (including only the vehicle's forward speed) collected by the rear wheel speedometer at the current moment and the vehicle speed at the previous moment. This IMU mounting angle deviation includes the deviation values of the IMU pitch and yaw mounting angles. The IMU mounting angle is then updated based on this deviation, resulting in the updated IMU mounting angle for the current moment, which includes both the pitch and yaw mounting angles.
[0053] It is worth noting that the "current moment" in the various embodiments of this application can be understood as the current point in time. For example, the rear wheel speed of the vehicle at the current moment, collected by the rear wheel speed meter on the vehicle, can be understood as the rear wheel speed of the vehicle at the current point in time, collected by the rear wheel speed meter on the vehicle.
[0054] It is understood that a vehicle may be equipped with multiple sensors (e.g., rear wheel speedometer, front wheel speedometer, steering angle sensor for front wheel rotation, IMU, etc.). Each sensor collects data at a certain frequency (the frequencies of data collection by each sensor can be the same, different, partially the same, and partially different; the embodiments in this application do not impose such limitations). After acquiring new data from a certain sensor, the acquired multi-sensor data (sensors that have not acquired new data can use the sensor data acquired at the previous moment), the updated IMU mounting angle at the current moment, the vehicle angle, the vehicle speed, and the vehicle position at the previous moment can be fused based on a filtering algorithm (e.g., ESKF or KF). This fusion process yields the vehicle speed, vehicle angle, and vehicle position at the current moment. In the embodiments of this application, "previous moment" can be understood as the moment when the data fusion process of the IMU and other multi-sensor data was last performed to obtain the vehicle speed, vehicle angle, and vehicle position.
[0055] The vehicle's pitch angle affects its acceleration in the forward and vertical directions. Therefore, when a vehicle is traveling on roads with varying inclines, the data collected by the IMU (Infrared Detector) will be affected by the IMU's pitch installation angle. This affects the vehicle's pitch angle at the current moment, which is obtained from the fusion processing of data collected by the IMU and other multiple sensors. Furthermore, it affects the forward velocity at the current moment, which is obtained from the fusion processing based on the vehicle's pitch angle at the current moment.
[0056] Furthermore, the deviation value of the IMU pitch mounting angle can be determined based on the difference between the forward speed of the vehicle in the rear wheel vehicle speed and the forward speed in the vehicle speed at the previous moment (since a new sensor data is acquired, the fusion process will be performed again, and the frequency of sensor data acquisition is very high, so the vehicle speed at the previous moment obtained by the fusion process can be used as the vehicle speed at the current moment), and then the IMU pitch mounting angle at the current moment can be updated based on the deviation value of the IMU pitch mounting angle to obtain the updated IMU pitch mounting angle at the current moment.
[0057] The vehicle's heading angle affects its yaw direction. In some cases, even without the vehicle's lateral velocity, the IMU heading angle deviation can be estimated using the vehicle's kinematic model and forward velocity. For example, when the vehicle is traveling in a straight line on a level road, the deviation of the IMU heading angle can be determined by the difference between the forward velocity of the rear wheels and the forward velocity of the vehicle at the previous moment. The IMU heading angle is then updated to the current moment.
[0058] However, since the rear wheel vehicle speed only includes the vehicle's forward speed and not its lateral speed, and when the vehicle rolls, the roll angle determined by the data collected by the IMU affects the vehicle's acceleration in both the lateral and vertical directions. Therefore, based on the rear wheel vehicle speed and the vehicle speed at the previous moment, it is impossible to determine the IMU roll angle deviation, and consequently, it is impossible to correct the IMU roll angle.
[0059] Furthermore, relying solely on the vehicle's forward speed without considering its lateral speed makes it difficult to distinguish whether the speed difference is due to a deviation in forward acceleration measurement or an issue caused by the IMU pitch mounting angle. Therefore, it's impossible to accurately correct the IMU pitch mounting angle. Similarly, when the vehicle is turning, relying solely on its forward speed without considering its lateral speed makes it impossible to distinguish whether the speed difference is due to the turn itself or the IMU yaw mounting angle. Therefore, it's also impossible to accurately correct the IMU yaw mounting angle.
[0060] This application provides a method, apparatus, electronic device, storage medium, and program product for correcting the IMU mounting angle of a vehicle to solve the above-mentioned technical problems.
[0061] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0062] Figure 1 A flowchart illustrating a method for correcting the IMU mounting angle of a vehicle provided in this application is shown below. Figure 1 As shown, the method includes:
[0063] S101. In response to obtaining the first speed at the current moment collected by the front wheel speed sensor on the vehicle, obtain the front wheel steering angle of the vehicle at the previous moment, and determine the second speed based on the first speed and the front wheel steering angle; wherein, the second speed includes the forward speed and the lateral speed of the vehicle.
[0064] For example, the executing entity of this embodiment can be a terminal device, a client, or other apparatus or device that can implement the solution of this application, and there is no limitation thereto. Among them, the terminal device can be an in-vehicle terminal or navigation terminal in a vehicle, or a mobile terminal, robot, Internet of Things device, etc.
[0065] This embodiment describes the process using a terminal device as the executing entity.
[0066] For example, the front wheel speedometer on the vehicle can acquire the vehicle's first speed at the current moment, where the first speed is the vehicle speed in the vehicle coordinate system, and the first speed only includes the vehicle's forward speed. Simultaneously, the vehicle can also acquire the front wheel steering angle at the previous moment, which can be understood as the latest front wheel steering angle acquired by the vehicle up to the present (since the first speed and front wheel steering angle are usually acquired at different frequencies, the front wheel steering angle at the previous moment can be acquired simultaneously when the first speed is acquired). The front wheel steering angle indicates the angle of rotation of the vehicle's front wheels relative to a plane perpendicular to the vehicle's direction of travel. For example, the front wheel steering angle can be acquired through a steering angle sensor on the vehicle. This embodiment does not limit the method of acquiring the front wheel steering angle.
[0067] If the first speed is obtained, the front wheel angle of the vehicle at the previous moment is obtained, and the first speed is decomposed based on the front wheel angle to obtain the second speed, which includes the vehicle's forward speed and lateral speed.
[0068] In one example, assuming the first velocity is V1 and the front wheel rotation angle of the vehicle at the previous moment is μ, then the second velocity is... Where (V1 cosμ) is the forward velocity of the vehicle at the current moment, collected by the front wheel speed sensor, and (V1sinμ) is the lateral velocity of the vehicle at the current moment, collected by the front wheel speed sensor.
[0069] The principle behind decomposing the first velocity V1 based on the front wheel angle μ to obtain the second velocity is as follows: When the vehicle is traveling in a straight line, the front wheel angle μ is close to zero, so cosμ is approximately equal to 1 and sinμ is approximately equal to 0. At this time, the forward velocity in the second velocity is almost equal to the first velocity, and the lateral velocity in the second velocity is close to 0. When the vehicle is turning, the front wheel angle μ is not zero, so both cosμ and sinμ are non-zero values. At this time, part of the first velocity is converted into the forward velocity in the second velocity, and the other part is converted into the lateral velocity in the second velocity.
[0070] S102, Obtain the vehicle speed at the previous moment.
[0071] In one example, at the initial moment before IMU mounting angle correction, the vehicle speed at the previous moment is obtained, including the following process:
[0072] Acquire IMU data collected by the vehicle via the IMU at the initial moment, and acquire GNSS data collected by the vehicle via the GNSS module at the initial moment.
[0073] The IMU data and GNSS data are fused to obtain the vehicle speed, vehicle angle, and vehicle position at the initial moment.
[0074] For example, the vehicle speed, vehicle angle, and vehicle position at the previous moment can be understood as the vehicle speed, vehicle angle, and vehicle position obtained from the last fusion processing of multi-sensor data up to the present.
[0075] In one example, at the initial moment before IMU installation angle correction, for instance, we can acquire IMU data collected by the vehicle via its IMU and GNSS data collected by the GNSS module at the initial moment. Then, based on a filtering algorithm (such as an Error-State Kalman Filter (ESKF) or a Kalman Filter (KF)), we fuse the IMU and GNSS data to obtain the vehicle's speed, angle, and position at the initial moment. The vehicle speed at the initial moment is then used as the vehicle speed at the previous moment, the vehicle angle at the initial moment is used as the vehicle angle at the previous moment, and the vehicle position at the initial moment is used as the vehicle position at the previous moment.
[0076] In one example, a vehicle can be equipped with multiple sensors, each of which collects data at a certain frequency. After acquiring new data from a certain sensor, the acquired multi-sensor data (sensors that have not acquired new data can use the sensor data acquired at the previous moment), the corrected IMU mounting angle at the current moment, the vehicle angle, vehicle speed, and vehicle position at the previous moment can be fused based on a filtering algorithm (such as ESKF or KF) to obtain the vehicle speed, vehicle angle, and vehicle position at the current moment.
[0077] The corrected IMU installation angle at the current moment can be understood as the latest IMU installation angle up to the present. At the initial moment (which can be understood as before the IMU installation angle has been corrected), the corrected IMU installation angle at the current moment can be obtained, for example, by inputting the acceleration measured by the IMU's accelerometer into a preset first formula when the vehicle is stationary, to obtain the IMU pitch and roll installation angles; and by inputting the magnetic field strength value measured by the IMU's magnetometer into a preset second formula, to obtain the IMU heading installation angle. The embodiments in this application do not limit the method of obtaining the corrected IMU installation angle at the current moment from the initial moment. At moments after the initial moment, the IMU installation angle at the current moment can be understood as the latest corrected IMU installation angle obtained up to the present moment.
[0078] At times after the initial moment, the vehicle speed, vehicle angle, and vehicle position obtained from the last fusion processing of multi-sensor data up to the present moment can be used as the vehicle speed, vehicle angle, and vehicle position at the previous moment, respectively.
[0079] At this point, the vehicle speed obtained in the previous moment is the speed in the global coordinate system. To facilitate the subsequent calculation of the correction for the IMU mounting angle, it is necessary to convert the vehicle speed in the previous moment into the vehicle speed in the vehicle body coordinate system based on the vehicle angle in the previous moment and the corrected IMU mounting angle in the current moment. In this application, the embodiments do not restrict the method of converting the vehicle speed in the global coordinate system to the vehicle speed in the vehicle body coordinate system in the previous moment, as long as the conversion from the global coordinate system to the vehicle body coordinate system can be achieved.
[0080] S103. Based on the forward and lateral speeds in the second speed and the vehicle speed at the previous moment, the IMU mounting angle at the current moment is corrected to obtain the corrected IMU mounting angle at the current moment; wherein, the corrected IMU mounting angle includes the IMU pitch mounting angle, the IMU roll mounting angle and the IMU heading mounting angle.
[0081] For example, after obtaining the second velocity and the vehicle velocity in the vehicle coordinate system at the current moment, the IMU mounting angle error can be determined based on the forward and lateral velocities in the second velocity and the vehicle velocity at the previous moment. The IMU mounting angle error includes the error values of the IMU pitch mounting angle, the IMU roll mounting angle, and the IMU yaw mounting angle. Then, based on the IMU mounting angle error, the IMU mounting angle at the current moment is corrected to obtain the corrected IMU mounting angle at the current moment.
[0082] It is worth noting that the front wheel speed sensor can collect the first speed at a certain frequency. After each collection of the first speed, steps S101-S103 can be executed, thereby enabling dynamic correction of the IMU installation angle during the autonomous driving or assisted driving process of the vehicle.
[0083] The method for correcting the IMU mounting angle of a vehicle provided in this application involves acquiring the first speed collected by the front wheel speedometer at the current moment, obtaining the latest front wheel steering angle, and decomposing the first speed based on the front wheel steering angle to obtain a second speed. The second speed includes the vehicle's forward speed and lateral speed. Simultaneously, the vehicle speed at the previous moment is obtained by fusion processing of the acquired multi-sensor data. Based on the second speed and the acquired vehicle speed at the previous moment, the IMU mounting angle error is determined. This IMU mounting angle error includes errors in the IMU pitch mounting angle, IMU roll mounting angle, and IMU yaw mounting angle. The IMU mounting angle at the current moment is then corrected based on this error to obtain the corrected IMU mounting angle at the current moment. The corrected IMU mounting angle includes the IMU pitch mounting angle, IMU roll mounting angle, and IMU yaw mounting angle.
[0084] Since the second speed includes the vehicle's forward speed and lateral speed, it is possible to distinguish whether the speed difference is due to forward acceleration measurement error or IMU pitch installation angle, and also whether the speed difference is due to vehicle turning or IMU yaw installation angle. Therefore, the IMU pitch installation angle and IMU yaw installation angle can be accurately corrected.
[0085] Furthermore, when a vehicle rolls, its lateral velocity increases, while its forward velocity may remain constant or change slightly. By considering both velocities simultaneously, the vehicle's roll angle can be accurately predicted. At the same time, the data collected by the IMU is affected by the IMU's roll angle, which in turn affects the vehicle's roll angle at the current moment, obtained by fusing data from multiple sensors, including the IMU. Consequently, this affects the lateral and forward velocities at the current moment, obtained by fusing data based on the vehicle's roll angle at the current moment.
[0086] Next, based on the difference between the lateral velocity of the vehicle in the second speed and the lateral velocity of the vehicle in the previous moment, as well as the difference between the forward velocity of the vehicle in the second speed and the forward velocity of the vehicle in the previous moment, the error value of the IMU roll installation angle can be determined. Then, based on the error value of the IMU roll installation angle, the IMU roll installation angle at the current moment can be corrected, and the corrected IMU roll installation angle at the current moment can be accurately obtained.
[0087] Figure 2 A flowchart illustrating another method for correcting the IMU mounting angle of a vehicle provided in this application is shown below. Figure 2 As shown, in this embodiment... Figure 1Based on the embodiments, a method for correcting the IMU mounting angle of a vehicle is described in detail. This method includes:
[0088] S201. In response to obtaining the first speed at the current moment collected by the front wheel speed sensor on the vehicle, obtain the front wheel steering angle of the vehicle at the previous moment, and determine the second speed based on the first speed and the front wheel steering angle; wherein, the second speed includes the forward speed and the lateral speed of the vehicle.
[0089] For example, the executing entity of this embodiment can be a terminal device, a client, or other apparatus or device that can implement the solution of this application, and there is no limitation thereto. Among them, the terminal device can be an in-vehicle terminal or navigation terminal in a vehicle, or a mobile terminal, robot, Internet of Things device, etc.
[0090] This embodiment describes the process using a terminal device as the executing entity.
[0091] For example, steps S201 and S101 are implemented in a similar manner. For a detailed description of step S101, please refer to the description of step S101. It will not be repeated here.
[0092] S202, Obtain the vehicle speed at the previous moment.
[0093] For example, steps S202 and S102 are implemented in a similar manner. For a detailed description, please refer to the description in step S102. It will not be repeated here.
[0094] S203. Based on the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment, adjust the forward speed and lateral speed in the second speed to obtain the third speed.
[0095] For example, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment can be understood as the latest front wheel adjustment coefficient up to the present. Specifically, at the initial moment before the front wheel adjustment coefficient has been corrected, a preset initial front wheel adjustment coefficient can be used as the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment; for example, the preset initial front wheel adjustment coefficient can be 1. After the front wheel adjustment coefficient is corrected for the first time through step S206, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment can be understood as the latest front wheel adjustment coefficient corrected through step S206 up to the present.
[0096] In one example, based on the example in step S101, assuming that the front wheel adjustment coefficient corresponding to the front wheel speedometer at the previous moment is k1, then the third speed can be the second speed. Divide by k1, that is Where (V1 cosμ) / k1 is the vehicle's forward velocity after more accurately adjusting the forward velocity in the second velocity, and (V1 sinμ) / k1 is the vehicle's lateral velocity after more accurately adjusting the lateral velocity in the second velocity.
[0097] S204. If the difference between the third speed and the vehicle speed at the previous moment is less than the first preset threshold, then the first installation angle error is determined based on the second speed, the third speed, and the vehicle speed at the previous moment.
[0098] In one example, step S204, "determining the first mounting angle error based on the second speed, the third speed, and the vehicle speed at the previous moment," includes the following process:
[0099] The vehicle angle at the previous moment is processed by matrix transformation to obtain the third rotation matrix, which indicates the rotation matrix corresponding to the vehicle angle at the previous moment.
[0100] A matrix transformation is performed on the IMU mounting angle at the current moment to obtain a second rotation matrix, which indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0101] Based on the third rotation matrix, the second rotation matrix, the second velocity, the third velocity, the vehicle velocity at the previous moment, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment, and the first installation angle error to be solved, the first error equation is established.
[0102] The first error equation is solved to obtain the first installation angle error.
[0103] In one example, the first mounting angle error includes the first error value of the IMU pitch mounting angle, the first error value of the IMU roll mounting angle, and the first error value of the IMU yaw mounting angle.
[0104] For example, if the difference between the third speed and the vehicle speed at the previous moment is not less than the first preset threshold, it can be understood that the third speed collected from the front wheel speedometer is significantly different from the vehicle speed at the previous moment obtained after fusing data from multiple sensors. In this case, the third speed may not be accurate, so processing can be stopped and execution can be stopped.
[0105] If the difference between the third speed and the vehicle speed at the previous moment is less than the first preset threshold, it can be understood that the difference between the third speed collected from the front wheel speed sensor and the vehicle speed at the previous moment obtained after fusing data from multiple sensors is small. In this case, the third speed is relatively accurate. Therefore, the first installation angle error can be determined based on the second speed, the third speed, and the vehicle speed at the previous moment.
[0106] As mentioned above, the third speed is a 3x1 matrix, and the vehicle's speed at the previous moment is also a 3x1 matrix. Therefore, the difference between the third speed and the vehicle's speed at the previous moment is also a 3x1 matrix. If the first preset threshold is also a 3x1 matrix, then each value in the matrix corresponding to the difference between the third speed and the vehicle's speed at the previous moment must be less than each value in the matrix corresponding to the first preset threshold for it to be determined that the difference between the third speed and the vehicle's speed at the previous moment is less than the first preset threshold. If the first preset threshold is a constant, then each value in the matrix corresponding to the difference between the third speed and the vehicle's speed at the previous moment must be less than the first preset threshold for it to be determined that the difference between the third speed and the vehicle's speed at the previous moment is less than the first preset threshold. This embodiment does not restrict the form of the first preset threshold.
[0107] The first installation angle error is determined based on the second speed, the third speed, and the vehicle speed at the previous moment. For example:
[0108] The vehicle's angle at the previous moment can be understood as the vehicle angle obtained from the last fusion processing of multi-sensor data up to that point. In one example, at the initial moment before IMU installation angle correction, we can acquire IMU data collected by the vehicle at that initial moment, GNSS data collected by the GNSS module at that initial moment, and then fuse the IMU data, GNSS data, vehicle angle, vehicle speed, and vehicle position at that initial moment using a filtering algorithm (such as ESKF). This yields the vehicle speed, vehicle angle, and vehicle position at the initial moment. The vehicle angle at the initial moment is then used as the vehicle angle at the previous moment.
[0109] In one example, at a time after the initial time, the vehicle angle obtained from the last fusion processing of multi-sensor data up to the present (that is, the latest vehicle angle obtained after the processing in step S207 up to the present) can be used as the vehicle angle at the previous time.
[0110] Assume the vehicle's angle at the previous moment was... Where θ represents the vehicle's pitch angle, Characterizing the roll angle of a vehicle, The heading angle represents the vehicle's heading angle.
[0111] After obtaining the vehicle angle at the previous moment, the vehicle angle at the previous moment can be converted from Euler angles to a rotation matrix according to the following formula (1) to obtain the third rotation matrix.
[0112]
[0113] The IMU mounting angle at the current moment can be found in step S102, where it is described; it will not be repeated here. Let's assume the IMU mounting angle at the current moment is... Where θi represents the IMU pitch installation angle, Characterizing the IMU roll-up angle, To characterize the IMU's heading installation angle, the IMU installation angle at the current moment can be converted from Euler angles to a rotation matrix according to the following formula (2) to obtain the second rotation matrix.
[0114]
[0115] Then, the first error equation can be established according to the following formula (3):
[0116]
[0117] in, for The difference between the vehicle's speed at the previous moment and its speed at the previous moment. The third speed is k1, which is the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment. This is the second rotation matrix; This is the antisymmetric matrix representing the vehicle's speed at the previous moment; This is the third rotation matrix; δβ is the antisymmetric matrix of the second velocity; δβ is the first vehicle angle error to be solved, which indicates the difference between the vehicle's true angle in the global coordinate system and the vehicle's angle at the previous moment; δVm is the front wheel vehicle speed error to be solved, which indicates the difference between the vehicle's true speed in the global coordinate system and the vehicle's speed at the previous moment; δγ is the first mounting angle error to be solved, which indicates the difference between the true IMU mounting angle and the IMU mounting angle at the current moment; δk1 is the front wheel adjustment coefficient error to be solved, which indicates the difference between the true front wheel adjustment coefficient and the front wheel adjustment coefficient corresponding to the front wheel speedometer at the previous moment; the blank space in the first error equation indicates that the matrices on both sides of the blank space are arranged side by side to form a new matrix.
[0118] Next, the first error equation represented by formula (3) is solved to obtain the first installation angle error.
[0119] S205. Based on the first mounting angle error, correct the IMU mounting angle at the current moment to obtain the corrected IMU mounting angle at the current moment.
[0120] In one example, step S205 includes the following steps:
[0121] The first step of step S205 is to perform matrix transformation on the first installation angle error to obtain the first rotation matrix, which indicates the rotation matrix corresponding to the first installation angle error.
[0122] The second step of step S205: Perform matrix transformation on the IMU mounting angle at the current moment to obtain the second rotation matrix. The second rotation matrix indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0123] The third step of step S205: multiply the second rotation matrix with the first rotation matrix to obtain the first intermediate matrix; the first intermediate matrix indicates the rotation matrix corresponding to the corrected IMU mounting angle at the current moment.
[0124] The fourth step of step S205: Perform matrix transformation on the first intermediate matrix to obtain the corrected IMU installation angle at the current time.
[0125] For example, after obtaining the first mounting angle error, the IMU mounting angle at the current moment can be corrected to obtain the corrected IMU mounting angle at the current moment.
[0126] For example, suppose the first installation angle error is... Wherein, θw represents the first error value of the IMU pitch installation angle, The first error value characterizing the IMU roll installation angle The first error value characterizing the IMU heading installation angle is then processed by converting the first installation angle error from Euler angles to a rotation matrix according to the following formula (4), resulting in the first rotation matrix.
[0127]
[0128] Then, the second rotation matrix is multiplied by the first rotation matrix to obtain the first intermediate matrix. The second rotation matrix has already been obtained in step S204. Since the second rotation matrix is essentially the IMU mounting angle at the current moment, and the first rotation matrix is essentially the first mounting angle error, the first intermediate matrix is essentially the corrected IMU mounting angle at the current moment, although it is currently in the form of a 3*3 rotation matrix.
[0129] Next, the first intermediate matrix is transformed from a rotation matrix to Euler angles to obtain the corrected IMU mounting angle at the current moment.
[0130] It is worth noting that the front wheel speed sensor can collect the first speed at a certain frequency. After each collection of the first speed, steps S201-S205 can be executed, thereby enabling dynamic correction of the IMU installation angle during the autonomous driving or assisted driving process of the vehicle.
[0131] S206. Solve the first error equation to obtain the front wheel adjustment coefficient error; and adjust the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment according to the front wheel adjustment coefficient error to obtain the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the current moment.
[0132] In one example, the first error equation indicates the error of the front wheel adjustment coefficient to be solved.
[0133] For example, by solving the first error equation represented by formula (3), the front wheel adjustment coefficient error can also be obtained. By adding the front wheel adjustment coefficient and the front wheel adjustment coefficient error corresponding to the front wheel speed gauge at the previous moment, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the current moment can be obtained.
[0134] It is worth noting that the front wheel speed sensor can collect the first speed at a certain frequency. After each collection of the first speed, steps S201-S206 can be executed, thereby enabling dynamic correction of the front wheel adjustment coefficient during the autonomous driving or assisted driving process of the vehicle.
[0135] S207. Solve the first error equation to obtain the vehicle's first angle error and front wheel speed error. Then, based on a filtering algorithm, fuse the sensor data collected by the vehicle, the front wheel adjustment coefficient corresponding to the front wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's first angle error, the front wheel speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment to obtain the vehicle's angle, vehicle position, and vehicle speed at the current moment.
[0136] In one example, the first error equation indicates the first angle error of the vehicle to be solved and the front wheel vehicle speed error to be solved.
[0137] For example, by solving the first error equation represented by formula (3), the first vehicle angle error and the front wheel vehicle speed error can also be obtained.
[0138] In one example, the front wheel speedometer on the vehicle can collect the first speed at a certain frequency. Each time the first speed is acquired, after processing through the steps described above, the following are obtained: the front wheel adjustment coefficient corresponding to the front wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's first angle error, and the front wheel vehicle speed error. Then, based on a filtering algorithm, the sensor data collected by the vehicle, the front wheel adjustment coefficient corresponding to the front wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's first angle error, the front wheel vehicle speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment are fused to obtain the vehicle's angle, position, and speed at the current moment. The sensor data collected by the vehicle includes at least the data collected by the IMU sensor, the data collected by GNSS, the data collected by the front wheel speedometer, and the front wheel steering angle.
[0139] The methods for obtaining the vehicle's angle, speed, and position at the previous moment can be found in step S202, and will not be repeated here.
[0140] In the method for correcting the IMU mounting angle of a vehicle provided in this application embodiment, since the first mounting angle error includes the first error value of the IMU pitch mounting angle, the first error value of the IMU roll mounting angle, and the first error value of the IMU heading mounting angle, the IMU mounting angle at the current moment is corrected based on the forward and lateral speeds in the second speed and the vehicle speed at the previous moment. When the corrected IMU mounting angle at the current moment is obtained, the IMU pitch mounting angle, IMU roll mounting angle, and IMU heading mounting angle can be corrected simultaneously, making the corrected IMU mounting angle more accurate.
[0141] After obtaining the third speed each time, if the difference between the third speed and the vehicle speed at the previous moment is less than the first preset threshold, the IMU mounting angle is corrected; otherwise, processing is stopped. This avoids correcting the IMU mounting angle based on an inaccurate third speed, thus ensuring the accuracy of the corrected IMU mounting angle.
[0142] In this embodiment of the application, after each acquisition of the first speed and the obtaining of the front wheel adjustment coefficient error, the front wheel adjustment coefficient corresponding to the front wheel speed meter at the previous moment is adjusted according to the front wheel adjustment coefficient error to obtain the front wheel adjustment coefficient corresponding to the front wheel speed meter at the current moment. This can realize the dynamic correction of the front wheel adjustment coefficient during the autonomous driving or assisted driving process of the vehicle.
[0143] Then, based on the front wheel adjustment coefficient corresponding to the front wheel speed sensor at the previous moment, the forward and lateral speeds in the second speed are adjusted. The resulting third speed can more accurately reflect the true vehicle speed than the second speed. Furthermore, whenever new sensor data is acquired, the corrected front wheel adjustment coefficient is used when fusing the sensor data collected by the vehicle based on the filtering algorithm. This makes the vehicle speed obtained from the fusion process more accurate at the current moment. The first mounting angle error determined subsequently based on the vehicle speed at the previous moment and the third speed will also be more accurate, thus making the IMU mounting angle corrected based on the first mounting angle error more accurate.
[0144] Figure 3 A flowchart illustrating another method for correcting the IMU mounting angle of a vehicle provided in this application is shown below. Figure 3 As shown, in this embodiment... Figure 2 Based on the embodiments, the method for correcting the IMU mounting angle of the vehicle is further described in detail. The method includes:
[0145] S301. In response to acquiring the first speed at the current moment collected by the front wheel speed sensor on the vehicle, acquire the front wheel steering angle of the vehicle at the previous moment, and determine the second speed based on the first speed and the front wheel steering angle; wherein, the second speed includes the forward speed and the lateral speed of the vehicle.
[0146] For example, the executing entity of this embodiment can be a terminal device, a client, or other apparatus or device that can implement the solution of this application, and there is no limitation thereto. Among them, the terminal device can be an in-vehicle terminal or navigation terminal in a vehicle, or a mobile terminal, robot, Internet of Things device, etc.
[0147] This embodiment describes the process using a terminal device as the executing entity.
[0148] For example, steps S301 and S201 are implemented in a similar manner. For a detailed description of step S201, please refer to the description of step S201. It will not be repeated here.
[0149] S302, Obtain the vehicle speed at the previous moment.
[0150] For example, steps S302 and S202 are implemented in a similar manner, and the same description can be found in the description of step S202, which will not be repeated here.
[0151] Here, the differences between steps S302 and S202 are specifically explained: Figure 2 In this embodiment, since the fusion processing of multi-sensor data only occurs in step S207 after the initial time, in step 202, the vehicle speed, vehicle angle, and vehicle position obtained from the last fusion processing of multi-sensor data up to the present (that is, the latest vehicle speed, vehicle angle, and vehicle position obtained after processing in step S207 up to the present) can be used as the vehicle speed, vehicle angle, and vehicle position at the previous time, respectively.
[0152] In this embodiment, since multi-sensor data fusion processing is performed in steps S307, S311, and S317 after the initial time, in step 302, the vehicle speed, vehicle angle, and vehicle position obtained from the last multi-sensor data fusion processing up to the present (that is, the latest vehicle speed, vehicle angle, and vehicle position obtained in step S307, or step S311, or step S317 up to the present) can be used as the vehicle speed, vehicle angle, and vehicle position at the previous time, respectively.
[0153] S303. Based on the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment, adjust the forward speed and lateral speed in the second speed to obtain the third speed.
[0154] For example, steps S303 and S203 are implemented in a similar manner. For a detailed description of step S203, please refer to the description of step S203. It will not be repeated here.
[0155] S304. If it is determined that the difference between the third speed and the vehicle speed at the previous moment is less than the first preset threshold, then the first installation angle error is determined based on the second speed, the third speed, and the vehicle speed at the previous moment.
[0156] For example, steps S304 and S204 are implemented in a similar manner. For a detailed description of step S204, please refer to the description of step S204. It will not be repeated here.
[0157] Here, we need to specifically explain the differences between steps S304 and S204: At times after the initial moment, the vehicle angle obtained from the last fusion of multi-sensor data up to the present moment is used as the vehicle angle at the previous moment. Then, the vehicle angle at the previous moment is converted from Euler angles to a rotation matrix to obtain the third rotation matrix. In step S204, the last fusion of multi-sensor data refers to the latest vehicle angle obtained after the processing in step S207 up to the present moment. In step S304, the last fusion of multi-sensor data refers to the latest vehicle angle obtained after the processing in step S307, or step S311, or step S317 up to the present moment. Therefore, the third rotation matrix used in the first error equation in step S304 is more accurate.
[0158] At times after the initial moment, when converting the IMU mounting angle from Euler angles to a rotation matrix to obtain the second rotation matrix, in step S204, the IMU mounting angle at the current moment is the latest corrected IMU mounting angle at the current moment obtained up to the point of execution of step S205; in step S304, the IMU mounting angle at the current moment is the latest corrected IMU mounting angle at the current moment obtained up to the point of execution of step S305, or step S310, or step S315. Therefore, the second rotation matrix used in the first error equation in step S304 is more accurate.
[0159] S305. Based on the first mounting angle error, correct the IMU mounting angle at the current moment to obtain the corrected IMU mounting angle at the current moment.
[0160] For example, steps S305 and S205 are implemented in a similar manner. For a detailed description of step S205, please refer to the description of step S205. It will not be repeated here.
[0161] S306. Solve the first error equation to obtain the front wheel adjustment coefficient error; and adjust the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment according to the front wheel adjustment coefficient error to obtain the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the current moment.
[0162] For example, steps S306 and S206 are implemented in a similar manner. For a detailed description of step S206, please refer to the description of step S206. It will not be repeated here.
[0163] S307. Solve the first error equation to obtain the vehicle's first angle error and the front wheel speed error. Then, based on a filtering algorithm, fuse the sensor data collected by the vehicle, the front wheel adjustment coefficient corresponding to the front wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's first angle error, the front wheel speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment to obtain the vehicle's angle, vehicle position, and vehicle speed at the current moment.
[0164] For example, steps S307 and S207 are implemented in a similar manner. For a detailed description, please refer to the description of step S207, which will not be repeated here.
[0165] Here is a special explanation of the differences between steps S307 and S207: the corrected IMU mounting angle at the current moment used in the fusion process in step S207 comes from step S205 (that is, from the IMU mounting angle corrected based on the first speed collected by the front wheel speedometer), but the corrected IMU mounting angle at the current moment used in the fusion process in step S307 is the corrected IMU mounting angle at the current moment obtained last in step S305, or step S310, or step S315 up to the current moment.
[0166] Furthermore, the sensor data required for the fusion processing in step S207 includes at least the data collected by the IMU sensor, the data collected by the GNSS sensor, the data collected by the front wheel speedometer, and the front wheel angle. However, the sensor data required for the fusion processing in step S307 includes at least the data collected by the IMU sensor, the data collected by the front wheel speedometer, and the front wheel angle. It can be seen that in step S307, the GNSS data is no longer the sensor data that must be used for the fusion processing. This is because during the fusion processing, the vehicle position at the previous moment can be obtained by matching the perception data and the high-precision map data. This can then replace the vehicle position at the previous moment collected by the GNSS sensor, thereby ensuring that the fusion processing obtains more accurate vehicle speed, vehicle angle, and vehicle position. Afterwards, the IMU mounting angle can be corrected using the more accurate fused vehicle speed, resulting in a more accurate corrected IMU mounting angle.
[0167] S308. In response to obtaining the perception data of the vehicle at the current moment, obtain the vehicle position at the previous moment, and obtain the high-precision map data corresponding to the vehicle position at the previous moment.
[0168] For example, a vehicle is equipped with perception sensors (such as cameras and / or LiDAR). After receiving data collected by the perception sensors at the current moment, the vehicle can perform map construction, semantic segmentation, and object detection on the data collected by the perception sensors based on algorithms such as Simultaneous Localization and Mapping (SLAM), semantic segmentation algorithms (such as DeepLab and Mask R-CNN), and object detection algorithms (such as YOLO and Faster R-CNN). This results in perception data, which can also be understood as perception map data reflecting the real world at the current moment. The perception map may include lane lines, road traffic signals, speed limit signs, and other road markings.
[0169] If the vehicle's perception data at the current moment is obtained, then the vehicle's position at the previous moment is obtained. The vehicle's position at the previous moment can be understood as the vehicle's position obtained from the last fusion processing of multi-sensor data up to the present moment.
[0170] In one example, at the initial moment before IMU installation angle correction, for instance, we can acquire IMU data collected by the vehicle via its IMU at that initial moment, GNSS data collected by the GNSS module at that initial moment, and then, based on a filtering algorithm (such as ESKF), fuse the IMU data, GNSS data, vehicle angle, vehicle speed, and vehicle position at the previous moment to obtain the vehicle speed, vehicle angle, and vehicle position at the initial moment. This initial vehicle position is then used as the vehicle position at the previous moment.
[0171] In one example, after the initial moment, whenever the vehicle's perception data at the current moment is acquired again, the vehicle position obtained by the last fusion processing of the multi-sensor data up to the present moment (that is, the latest vehicle position obtained in step S307, or step S311, or step S317) can be used as the vehicle position at the previous moment.
[0172] After obtaining the vehicle's position at the previous moment, high-precision map data within the navigation path range at the current moment is obtained, starting from that vehicle position. The high-precision map data may include lane lines, road traffic signals, speed limit signs, and other signs.
[0173] S309. The vehicle's perception data and high-precision map data at the current moment are matched and processed to obtain the vehicle's angle to be verified; wherein, the vehicle's angle to be verified indicates the vehicle's pitch angle, roll angle and heading angle.
[0174] For example, after obtaining the vehicle's perception data at the current moment and the high-precision map data corresponding to the vehicle's position at the previous moment, the perception data and the high-precision map data can be matched based on a geometric matching algorithm (such as the iterative nearest point algorithm, normal distribution transformation, etc.) to obtain the vehicle's angle to be verified.
[0175] S310. Based on the vehicle's angle to be verified and the vehicle's angle at the previous moment, the IMU mounting angle at the current moment is corrected to obtain the corrected IMU mounting angle at the current moment; wherein, the corrected IMU mounting angle includes the IMU pitch mounting angle, the IMU roll mounting angle, and the IMU heading mounting angle.
[0176] In one example, step S310 includes the following steps:
[0177] The first step of step S310: If the difference between the vehicle angle to be verified and the vehicle angle at the previous moment is less than the second preset threshold, then the IMU installation angle at the current moment is subjected to matrix transformation processing to obtain the second rotation matrix; the second rotation matrix indicates the rotation matrix corresponding to the IMU installation angle at the current moment.
[0178] The second step of step S310: Based on the vehicle's angle to be verified, the vehicle's angle at the previous moment, the second rotation matrix, and the second installation angle error to be solved, establish the second error equation.
[0179] The third step of step S310: Solve the second error equation to obtain the second installation angle error.
[0180] In one example, the second mounting angle error includes the second error value of the IMU pitch mounting angle, the second error value of the IMU roll mounting angle, and the second error value of the IMU yaw mounting angle.
[0181] The fourth step of step S310: Based on the second mounting angle error, correct the IMU mounting angle at the current moment to obtain the corrected IMU mounting angle at the current moment.
[0182] In one example, the fourth step of step S310 includes the following process:
[0183] The second installation angle error is subjected to matrix transformation to obtain the fourth rotation matrix, which indicates the rotation matrix corresponding to the second installation angle error.
[0184] Multiply the second rotation matrix with the fourth rotation matrix to obtain the second intermediate matrix; the second intermediate matrix represents the rotation matrix corresponding to the corrected IMU installation angle at the current time; perform matrix transformation on the second intermediate matrix to obtain the corrected IMU installation angle at the current time.
[0185] For example, if the difference between the vehicle's angle to be verified and the vehicle's angle at the previous moment does not meet the requirement of being less than the second preset threshold, it can be understood that the vehicle's angle to be verified obtained by matching the perception map and high-precision map data is significantly different from the vehicle's angle at the previous moment obtained by fusing multi-sensor data. In this case, the vehicle's angle to be verified may not be accurate, so processing can be stopped and execution can be stopped.
[0186] If the difference between the vehicle's angle to be verified and the vehicle's angle at the previous moment is less than the second preset threshold, it can be understood that the vehicle's angle to be verified obtained by matching the perception map and high-precision map data is less different from the vehicle's angle at the previous moment obtained by fusing multi-sensor data. In this case, the vehicle's angle to be verified is relatively accurate. Therefore, the IMU installation angle at the current moment can be matrix transformed to obtain the second rotation matrix.
[0187] In this embodiment, assuming the vehicle's angle to be verified is a 3x1 matrix of Euler angles, and the vehicle's angle at the previous moment is also a 3x1 matrix (as previously described), the difference between the vehicle's angle to be verified and its angle at the previous moment is also a 3x1 matrix. If the second preset threshold is also a 3x1 matrix, then for it to be determined that the difference between the vehicle's angle to be verified and its angle at the previous moment is less than the second preset threshold, each value at the corresponding position in the matrix of the difference between the vehicle's angle to be verified and its angle at the previous moment must be less than the second preset threshold. If the second preset threshold is a constant, then for it to be determined that the difference between the vehicle's angle to be verified and its angle at the previous moment is less than the second preset threshold, each value at the corresponding position in the matrix of the difference between the vehicle's angle to be verified and its angle at the previous moment must be less than the second preset threshold. This embodiment does not restrict the form of the second preset threshold.
[0188] The implementation method of the second rotation matrix is obtained by performing matrix transformation on the IMU mounting angle at the current moment. Figure 2 In the embodiment, the implementation of matrix transformation processing of the IMU mounting angle at the current moment to obtain the second rotation matrix in step S204 is similar and will not be repeated here. It is important to note that, unlike the implementation of matrix transformation processing of the IMU mounting angle at the current moment to obtain the second rotation matrix in step S204, step S310 uses the latest corrected IMU mounting angle at the current moment obtained up to the present time, based on steps S305, S310, or S315.
[0189] The method for obtaining the vehicle angle at the previous moment can refer to the method for obtaining the vehicle angle at the previous moment in step S204. It should be noted that the method for obtaining the vehicle angle at the previous moment is different from that in step S204. In this embodiment, at moments after the initial moment, the vehicle angle obtained by the last fusion processing of multi-sensor data up to the present moment (that is, the latest vehicle angle obtained in step S307, or step S311, or step S317) can be used as the vehicle angle at the previous moment.
[0190] After obtaining the vehicle's angle to be verified, the vehicle's angle at the previous moment, and the second rotation matrix, the second error equation can be established according to the following formula (5):
[0191]
[0192] in, The vehicle's angle to be verified is the difference between its angle and the vehicle's angle at the previous moment. δe is the second rotation matrix; δe is the second vehicle angle error to be solved, which indicates the difference between the vehicle's true angle in the global coordinate system and the vehicle's angle at the previous moment; δh is the second mounting angle error to be solved, which indicates the difference between the true IMU mounting angle and the IMU mounting angle at the current moment; the blank space in the second error equation indicates that the matrices on both sides of the blank space are placed side by side to form a new matrix.
[0193] Next, the second error equation represented by formula (5) is solved to obtain the second installation angle error.
[0194] Then, assume the second installation angle error is... Wherein, θc represents the second error value of the IMU pitch installation angle. The second error value characterizing the IMU roll installation angle The second error value characterizing the IMU heading installation angle is then processed by converting the second installation angle error from Euler angles to a rotation matrix according to the following formula (6), resulting in the fourth rotation matrix.
[0195]
[0196] Then, the second rotation matrix is multiplied by the fourth rotation matrix to obtain the second intermediate matrix. Since the second rotation matrix is essentially the IMU mounting angle at the current moment, and the fourth rotation matrix is essentially the error of the second mounting angle, the second intermediate matrix is essentially the corrected IMU mounting angle at the current moment, although it is currently in the form of a 3*3 rotation matrix.
[0197] Next, the second intermediate matrix is transformed from a rotation matrix to Euler angles to obtain the corrected IMU mounting angle at the current moment.
[0198] S311. Solve the second error equation to obtain the vehicle's second angle error; and based on the filtering algorithm, fuse the sensor data collected by the vehicle, the matched vehicle position at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's second angle error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment to obtain the vehicle's angle, vehicle position, and vehicle speed at the current moment.
[0199] In one example, the second error equation indicates the second angle error of the vehicle to be solved.
[0200] In one example, the vehicle's current perception data and high-precision map data are matched to obtain the vehicle's current location.
[0201] For example, the perception sensors on the vehicle can collect perception data at a certain frequency. Each time perception data is acquired, after processing in steps S308-S310 to obtain the matched vehicle position, the corrected IMU mounting angle, and the vehicle's second angle error at the current moment, a filtering algorithm can be used to fuse the sensor data collected by the vehicle, the matched vehicle position, the corrected IMU mounting angle, the vehicle's second angle error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment to obtain the vehicle's angle, position, and speed at the current moment. The sensor data collected by the vehicle includes at least the data collected by the IMU sensor. The methods for obtaining the vehicle's angle, speed, and position at the previous moment can be referred to the description in step S302, and will not be repeated here.
[0202] It is worth noting that in the above fusion process, the corrected IMU mounting angle at the current moment is the corrected IMU mounting angle at the current moment obtained in step S305, or step S310, or step S315 up to the current moment.
[0203] S312. In response to acquiring the fourth speed at the current moment collected by the rear wheel speedometer on the vehicle, acquire the vehicle speed at the previous moment. The fourth speed includes the vehicle's forward speed.
[0204] For example, the fourth speed is the vehicle speed in the vehicle coordinate system.
[0205] The method for obtaining the vehicle speed at the previous moment is similar to that of step S302. For details, please refer to the description of step S302, which will not be repeated here.
[0206] S313. Based on the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment, adjust the forward speed in the fourth speed to obtain the fifth speed.
[0207] For example, the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment can be understood as the latest rear wheel adjustment coefficient up to the present. Specifically, at the initial moment before the rear wheel adjustment coefficient is corrected, a preset initial rear wheel adjustment coefficient can be used as the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment; for example, the preset initial rear wheel adjustment coefficient can be 1. After the rear wheel adjustment coefficient is corrected for the first time through step S316, the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment can be understood as the latest rear wheel adjustment coefficient corrected through step S316 up to the present.
[0208] In one example, let's assume the fourth velocity is... If the rear wheel adjustment coefficient corresponding to the rear wheel speedometer at the previous moment is k2, then the fifth speed can be the fourth speed. Divide by k2, that is Wherein, V2 / k2 is the vehicle's forward speed after a more accurate adjustment of the forward speed in the fourth speed.
[0209] S314. If the difference between the fifth speed and the vehicle speed at the previous moment is less than the third preset threshold, then the third installation angle error is determined based on the fifth speed, the fourth speed, and the vehicle speed at the previous moment.
[0210] In one example, step S314, "determine the third mounting angle error based on the fifth speed, the fourth speed, and the vehicle speed at the previous moment," includes the following process:
[0211] The vehicle angle at the previous moment is processed by matrix transformation to obtain the third rotation matrix, which indicates the rotation matrix corresponding to the vehicle angle at the previous moment.
[0212] A matrix transformation is performed on the IMU mounting angle at the current moment to obtain a second rotation matrix, which indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0213] Based on the third rotation matrix, the second rotation matrix, the fifth velocity, the fourth velocity, the vehicle velocity at the previous moment, the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment, and the third installation angle error to be solved, the third error equation is established.
[0214] The third error equation is solved to obtain the third installation angle error.
[0215] In one example, the third mounting angle error includes the third error value of the IMU pitch mounting angle and the third error value of the IMU heading mounting angle.
[0216] For example, if the difference between the fifth speed and the vehicle speed at the previous moment is determined to be less than the third preset threshold, it can be understood that the fifth speed collected from the rear wheel speed sensor is significantly different from the vehicle speed at the previous moment obtained after fusing data from multiple sensors. In this case, the fifth speed may not be accurate, so processing can be stopped and execution can be stopped.
[0217] If the difference between the fifth speed and the vehicle speed at the previous moment is less than the third preset threshold, it can be understood that the fifth speed collected from the rear wheel speed sensor is less different from the vehicle speed at the previous moment obtained after fusing data from multiple sensors. In this case, the fifth speed is relatively accurate. Therefore, the third installation angle error can be determined based on the fifth speed, the fourth speed, and the vehicle speed at the previous moment.
[0218] As mentioned above, the fifth speed is a 3x1 matrix, and the vehicle's speed at the previous moment is also a 3x1 matrix. Therefore, the difference between the fifth speed and the vehicle's speed at the previous moment is also a 3x1 matrix. If the third preset threshold is also a 3x1 matrix, then each value in the matrix corresponding to the difference between the fifth speed and the vehicle's speed at the previous moment must be less than each value in the matrix corresponding to the third preset threshold for it to be determined that the difference between the fifth speed and the vehicle's speed at the previous moment is less than the third preset threshold. If the third preset threshold is a constant, then each value in the matrix corresponding to the difference between the fifth speed and the vehicle's speed at the previous moment must be less than the third preset threshold for it to be determined that the difference between the fifth speed and the vehicle's speed at the previous moment is less than the third preset threshold. This embodiment does not restrict the form of the third preset threshold.
[0219] The third mounting angle error is determined based on the fifth speed, the fourth speed, and the vehicle's speed at the previous moment. For example:
[0220] Third rotation matrix Second rotation matrix The implementation method is the same as the third rotation matrix in step S304. Second rotation matrix The implementation method is similar, and will not be described in detail here.
[0221] Then, the third error equation can be established according to the following formula (7):
[0222]
[0223] in, for The difference between the vehicle's speed at the previous moment and its speed at the previous moment. The fifth speed is k2, which is the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment. This is the second rotation matrix; This is the antisymmetric matrix representing the vehicle's speed at the previous moment; This is the third rotation matrix; δk is the antisymmetric matrix of the fourth velocity; δθ is the vehicle third angle error to be solved, which indicates the difference between the vehicle's true angle in the global coordinate system and the vehicle's angle at the previous moment; δVn is the rear wheel vehicle speed error to be solved, which indicates the difference between the vehicle's true speed in the global coordinate system and the vehicle's speed at the previous moment; δα is the third mounting angle error to be solved, which indicates the difference between the true IMU mounting angle and the IMU mounting angle at the current moment; δk2 is the rear wheel adjustment coefficient error to be solved, which indicates the difference between the true rear wheel adjustment coefficient and the rear wheel adjustment coefficient corresponding to the rear wheel speedometer at the previous moment; the blank space in the third error equation indicates that the matrices on both sides of the blank space are arranged side by side to form a new matrix.
[0224] Next, the third error equation represented by formula (7) is solved to obtain the third installation angle error.
[0225] S315. Based on the third mounting angle error, correct the IMU mounting angle at the current moment to obtain the corrected IMU mounting angle at the current moment.
[0226] In one example, step S315 includes the following steps:
[0227] The first step of step S315: Perform matrix transformation on the third mounting angle error to obtain the fifth rotation matrix, which indicates the rotation matrix corresponding to the third mounting angle error.
[0228] The second step of step S315: Multiply the second rotation matrix and the fifth rotation matrix to obtain the third intermediate matrix; the third intermediate matrix indicates the rotation matrix corresponding to the corrected IMU mounting angle at the current moment.
[0229] The third step of step S315: Perform matrix transformation on the third intermediate matrix to obtain the corrected IMU installation angle at the current time.
[0230] For example, after obtaining the third mounting angle error, the IMU mounting angle at the current moment can be corrected to obtain the corrected IMU mounting angle at the current moment.
[0231] For example, suppose the error of the third mounting angle is... Where θp represents the third error value of the IMU pitch installation angle, The third error value characterizing the IMU roll angle (since the fourth velocity collected by the rear wheel speedometer does not include lateral velocity, the third error value of the IMU roll angle cannot be calculated, i.e.) (for 0) The third error value characterizing the IMU heading installation angle is then processed by converting the third installation angle error from Euler angles to a rotation matrix according to the following formula (8), resulting in the fifth rotation matrix.
[0232]
[0233] Then, the second rotation matrix and the fifth rotation matrix are multiplied to obtain the third intermediate matrix. The second rotation matrix has already been obtained in step S314. Since the second rotation matrix is essentially the IMU mounting angle at the current moment, and the fifth rotation matrix is essentially the error of the third mounting angle, the third intermediate matrix is essentially the corrected IMU mounting angle at the current moment, although it is currently in the form of a 3*3 rotation matrix.
[0234] Next, the third intermediate matrix is transformed from a rotation matrix to Euler angles to obtain the corrected IMU mounting angle at the current moment.
[0235] S316. Solve the third error equation to obtain the rear wheel adjustment coefficient error; and adjust the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the previous moment according to the rear wheel adjustment coefficient error to obtain the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the current moment.
[0236] In one example, the third error equation indicates the error of the rear wheel adjustment coefficient to be solved.
[0237] For example, by solving the third error equation represented by formula (7), the rear wheel adjustment coefficient error can also be obtained. By adding the rear wheel adjustment coefficient and the rear wheel adjustment coefficient error corresponding to the rear wheel speed gauge at the previous moment, the rear wheel adjustment coefficient corresponding to the rear wheel speed gauge at the current moment can be obtained.
[0238] S317. Solve the third error equation to obtain the vehicle's third angle error and rear wheel speed error. Then, based on a filtering algorithm, fuse the sensor data collected by the vehicle, the rear wheel adjustment coefficient corresponding to the rear wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's third angle error, the rear wheel speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment to obtain the vehicle's angle, position, and speed at the current moment.
[0239] In one example, the third error equation indicates the vehicle's third angle error and the rear wheel vehicle speed error to be solved.
[0240] For example, by solving the third error equation represented by formula (7), the vehicle's third angle error and the rear wheel vehicle speed error can also be obtained.
[0241] In one example, the rear wheel speed sensor on the vehicle can collect the fourth speed at a certain frequency. Each time the fourth speed is acquired, after processing through steps S312-S316, the following are obtained: the rear wheel adjustment coefficient corresponding to the rear wheel speed sensor at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's third angle error, and the rear wheel vehicle speed error. Then, based on a filtering algorithm, the sensor data collected by the vehicle, the rear wheel adjustment coefficient corresponding to the rear wheel speed sensor at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's third angle error, the rear wheel vehicle speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment are fused to obtain the vehicle's angle, position, and speed at the current moment.
[0242] The corrected IMU installation angle used during the fusion process is the one obtained last in steps S305, S310, or S315 up to the current moment. The sensor data collected by the vehicle includes at least data from the IMU sensors and data from the rear wheel speedometers. It can be seen that GNSS data is no longer the only sensor data required for fusion processing. This is because during fusion processing, the vehicle's position at the previous moment can be obtained by matching the perception data and high-precision map data. This position can then replace the vehicle's position at the previous moment obtained from the GNSS sensors, ensuring more accurate vehicle speed, angle, and position. Subsequently, using the more accurate fused vehicle speed to correct the IMU installation angle also yields a more accurate corrected IMU installation angle.
[0243] The methods for obtaining the vehicle's angle, speed, and position at the previous moment can be found in step S302, and will not be repeated here.
[0244] It is worth noting that the front wheel speed sensor can, for example, collect a first speed at a certain frequency. After each collection of the first speed, steps S301-S307 can be executed to dynamically correct the IMU mounting angle. The sensing sensor can also collect sensing data at a certain frequency. After each collection of sensing data, steps S308-S311 can be executed to dynamically correct the IMU mounting angle. The rear wheel speed sensor can also collect a fourth speed at a certain frequency. After each collection of the fourth speed, steps S312-S317 can be executed to dynamically correct the IMU mounting angle. The collection frequencies of the front wheel speed sensor, the sensing sensor, and the rear wheel speed sensor can be the same or different; this embodiment does not impose any restrictions on this.
[0245] The method for correcting the IMU mounting angle of a vehicle provided in this application embodiment dynamically corrects the IMU mounting angle by executing steps S301-S307 if a first speed collected by the front wheel speedometer is received; dynamically correcting the IMU mounting angle by executing steps S308-S311 in combination with high-precision map data if sensing data collected by the sensing sensor is received; and dynamically correcting the IMU mounting angle by executing steps S312-S317 if a first speed collected by the rear wheel speedometer is received.
[0246] Since the second mounting angle error includes the second error values of the IMU pitch mounting angle, the second error value of the IMU roll mounting angle, and the second error value of the IMU yaw mounting angle, the IMU mounting angle at the current moment is corrected based on the vehicle's angle to be verified and the vehicle's angle at the previous moment. When obtaining the corrected IMU mounting angle at the current moment, the IMU pitch mounting angle, IMU roll mounting angle, and IMU yaw mounting angle can be corrected simultaneously, making the corrected IMU mounting angle more accurate.
[0247] Because three methods for dynamically correcting the IMU mounting angle are set, as long as one method is effective, the IMU mounting angle can be dynamically corrected. If all three methods are effective, the IMU mounting angle can be dynamically corrected even faster (with a faster update frequency).
[0248] Furthermore, the vehicle speed, vehicle angle, vehicle position, and IMU installation angle used in any of the dynamic IMU installation angle correction methods are all the latest vehicle speed, vehicle angle, vehicle position, and IMU installation angle obtained in the previous moment among the three dynamic IMU installation angle correction methods. Therefore, the IMU installation angle can be corrected more accurately in a dynamic manner.
[0249] Given the obtained sensing data, vehicle position can be obtained by matching the sensing data with high-precision map data. This can then replace the vehicle position collected by GNSS sensors, ensuring more accurate vehicle speed, angle, and position during fusion processing. Subsequently, the more accurate fused vehicle speed and angle are used to correct the IMU mounting angle, resulting in a more accurate IMU mounting angle. This solves the problem of low accuracy in vehicle speed obtained through fusion processing when GNSS signal is poor or absent, which leads to inaccurate correction of the IMU mounting angle.
[0250] Figure 4 A schematic diagram of the structure of the vehicle IMU mounting angle correction device provided in this application is shown below. Figure 4 As shown, the vehicle IMU mounting angle correction device 40 provided in this embodiment includes:
[0251] The determination module 401 is used to obtain the first speed at the current moment collected by the front wheel speed sensor on the vehicle, obtain the front wheel steering angle of the vehicle at the previous moment, and determine the second speed based on the first speed and the front wheel steering angle; wherein, the second speed includes the forward speed and the lateral speed of the vehicle.
[0252] The acquisition module 402 is used to acquire the vehicle speed at the previous moment;
[0253] The correction module 403 is used to correct the IMU mounting angle at the current moment based on the forward and lateral speeds in the second speed and the vehicle speed at the previous moment, so as to obtain the corrected IMU mounting angle at the current moment; wherein the corrected IMU mounting angle includes the IMU pitch mounting angle, the IMU roll mounting angle and the IMU heading mounting angle.
[0254] In one possible implementation, the correction module 403 is specifically used for:
[0255] Based on the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment, the forward speed and lateral speed in the second speed are adjusted to obtain the third speed;
[0256] If the difference between the third speed and the vehicle speed at the previous moment is determined to be less than the first preset threshold, then the first installation angle error is determined based on the second speed, the third speed, and the vehicle speed at the previous moment.
[0257] Based on the first installation angle error, the IMU installation angle at the current moment is corrected to obtain the corrected IMU installation angle at the current moment.
[0258] In one possible implementation, the first mounting angle error includes a first error value for the IMU pitch mounting angle, a first error value for the IMU roll mounting angle, and a first error value for the IMU yaw mounting angle.
[0259] In one possible implementation, the function of correction module 403, "correcting the IMU mounting angle at the current moment based on the first mounting angle error to obtain the corrected IMU mounting angle at the current moment," is specifically used for:
[0260] A matrix transformation is performed on the first mounting angle error to obtain a first rotation matrix, which indicates the rotation matrix corresponding to the first mounting angle error; and a matrix transformation is performed on the IMU mounting angle at the current moment to obtain a second rotation matrix, which indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0261] The second rotation matrix is multiplied by the first rotation matrix to obtain the first intermediate matrix; the first intermediate matrix indicates the rotation matrix corresponding to the corrected IMU mounting angle at the current moment;
[0262] Perform matrix transformation on the first intermediate matrix to obtain the corrected IMU installation angle at the current time.
[0263] In one possible implementation, the "determining the first installation angle error based on the second speed, the third speed, and the vehicle speed at the current moment" in the correction module 403 is specifically used for:
[0264] The vehicle angle at the previous moment is processed by matrix transformation to obtain the third rotation matrix, which indicates the rotation matrix corresponding to the vehicle angle at the previous moment.
[0265] Perform matrix transformation on the IMU mounting angle at the current moment to obtain the second rotation matrix. The second rotation matrix indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0266] Based on the third rotation matrix, the second rotation matrix, the second speed, the third speed, the vehicle speed at the current moment, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment, and the first installation angle error to be solved, the first error equation is established.
[0267] The first error equation is solved to obtain the first installation angle error.
[0268] In one possible implementation, the first error equation indicates the front wheel adjustment coefficient error to be solved;
[0269] In one possible implementation, device 40 is also used for:
[0270] The first error equation is solved to obtain the front wheel adjustment coefficient error;
[0271] Based on the front wheel adjustment coefficient error, the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the previous moment is adjusted to obtain the front wheel adjustment coefficient corresponding to the front wheel speed gauge at the current moment.
[0272] In one possible implementation, the first error equation indicates the first vehicle angle error to be solved and the front wheel vehicle speed error to be solved;
[0273] In one possible implementation, device 40 is also used for:
[0274] The first error equation is solved to obtain the first vehicle angle error and the front wheel vehicle speed error.
[0275] The sensor data collected by the vehicle, the front wheel adjustment coefficient corresponding to the front wheel speedometer at the current moment, the corrected IMU mounting angle at the current moment, the vehicle's first angle error, the front wheel vehicle speed error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment are fused using a filtering algorithm to obtain the vehicle's angle, position, and speed at the current moment.
[0276] In one possible implementation, device 40 is also used for:
[0277] Acquire IMU data collected by the vehicle via the IMU at the initial moment; acquire GNSS data collected by the vehicle via the GNSS module at the initial moment.
[0278] The IMU data and GNSS data are fused to obtain the vehicle speed, vehicle angle, and vehicle position at the initial moment.
[0279] In one possible implementation, device 40 is also used for:
[0280] In response to obtaining the vehicle's perception data at the current moment, the vehicle's position at the previous moment is obtained, and the high-precision map data corresponding to the vehicle's position at the previous moment is obtained.
[0281] The vehicle's current perception data and high-precision map data are matched and processed to obtain the vehicle's angle to be verified; among them, the vehicle's angle to be verified indicates the vehicle's pitch angle, roll angle and heading angle.
[0282] Based on the vehicle's angle to be verified and the vehicle's angle at the previous moment, the IMU installation angle at the current moment is corrected to obtain the corrected IMU installation angle at the current moment; the corrected IMU installation angle includes the IMU pitch installation angle, the IMU roll installation angle, and the IMU heading installation angle.
[0283] In one possible implementation, the function of device 40, "correcting the IMU mounting angle at the current moment based on the vehicle's angle to be verified and the vehicle's angle at the previous moment, to obtain the corrected IMU mounting angle at the current moment," is specifically used for:
[0284] If the difference between the vehicle's angle to be verified and the vehicle's angle at the previous moment is less than the second preset threshold, then the IMU mounting angle at the current moment is subjected to matrix transformation processing to obtain the second rotation matrix; the second rotation matrix indicates the rotation matrix corresponding to the IMU mounting angle at the current moment.
[0285] Based on the vehicle's angle to be verified, the vehicle's angle at the previous moment, the second rotation matrix, and the second installation angle error to be solved, a second error equation is established.
[0286] The second error equation is solved to obtain the second installation angle error;
[0287] Based on the second mounting angle error, the IMU mounting angle at the current moment is corrected to obtain the corrected IMU mounting angle at the current moment.
[0288] In one possible implementation, the second mounting angle error includes a second error value for the IMU pitch mounting angle, a second error value for the IMU roll mounting angle, and a second error value for the IMU heading mounting angle.
[0289] In one possible implementation, the function of device 40, "correcting the IMU mounting angle at the current moment based on the second mounting angle error to obtain the corrected IMU mounting angle at the current moment," is specifically used for:
[0290] The second installation angle error is subjected to matrix transformation to obtain the fourth rotation matrix, which indicates the rotation matrix corresponding to the second installation angle error.
[0291] Multiply the second rotation matrix with the fourth rotation matrix to obtain the second intermediate matrix; the second intermediate matrix represents the rotation matrix corresponding to the corrected IMU installation angle at the current time; perform matrix transformation on the second intermediate matrix to obtain the corrected IMU installation angle at the current time.
[0292] In one possible implementation, the second error equation indicates the second angle error of the vehicle to be solved;
[0293] In one possible implementation, device 40 is further used for:
[0294] The system matches the vehicle's current perception data with high-precision map data to obtain the vehicle's current location.
[0295] The second error equation is solved to obtain the vehicle's second angle error. Based on the filtering algorithm, the sensor data collected by the vehicle, the matched vehicle position at the current moment, the corrected IMU installation angle at the current moment, the vehicle's second angle error, the vehicle's angle at the previous moment, the vehicle's speed at the previous moment, and the vehicle's position at the previous moment are fused to obtain the vehicle's angle, vehicle position, and vehicle speed at the current moment.
[0296] The vehicle IMU mounting angle correction device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.
[0297] Figure 5 A schematic diagram of the structure of the electronic device provided in this application. Figure 5 As shown, the electronic device 50 provided in this embodiment includes at least one processor 501 and a memory 502. Optionally, the device 50 further includes a communication component 503. The processor 501, memory 502, and communication component 503 are connected via a bus 504.
[0298] In a specific implementation, at least one processor 501 executes computer execution instructions stored in memory 502, causing at least one processor 501 to perform the above-described method.
[0299] The specific implementation process of processor 501 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0300] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0301] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0302] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0303] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0304] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0305] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0306] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0307] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0308] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0309] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0310] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0311] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0312] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A method of correcting an installation angle of an IMU of a vehicle, characterized by, The method comprises: in response to obtaining a first speed at a current time collected by a front wheel speed meter on the vehicle, obtaining a front wheel rotation angle at a previous time on the vehicle, and determining a second speed according to the first speed and the front wheel rotation angle; wherein the second speed comprises a forward speed and a lateral speed of the vehicle; obtaining a vehicle speed of the vehicle at the previous time; correcting the IMU installation angle at the current time according to the forward speed and the lateral speed in the second speed and the vehicle speed of the vehicle at the previous time to obtain a corrected IMU installation angle at the current time; wherein the corrected IMU installation angle comprises an IMU pitch installation angle, an IMU roll installation angle and an IMU heading installation angle; correcting the IMU installation angle at the current time according to the forward speed and the lateral speed in the second speed and the vehicle speed of the vehicle at the previous time to obtain a corrected IMU installation angle at the current time, comprising: adjusting the forward speed and the lateral speed in the second speed according to a front wheel adjustment coefficient corresponding to the front wheel speed meter at the previous time to obtain a third speed; if it is determined that a difference between the third speed and the vehicle speed of the vehicle at the previous time is less than a first preset threshold, determining a first installation angle error according to the second speed, the third speed and the vehicle speed of the vehicle at the previous time; correcting the IMU installation angle at the current time according to the first installation angle error to obtain a corrected IMU installation angle at the current time.
2. The method of claim 1, wherein, correcting the IMU installation angle at the current time according to the first installation angle error to obtain a corrected IMU installation angle at the current time, comprising: performing matrix conversion processing on the first installation angle error to obtain a first rotation matrix, the first rotation matrix indicating a rotation matrix corresponding to the first installation angle error; and performing matrix conversion processing on the IMU installation angle at the current time to obtain a second rotation matrix, the second rotation matrix indicating a rotation matrix corresponding to the IMU installation angle at the current time; multiplying the second rotation matrix and the first rotation matrix to obtain a first intermediate matrix; the first intermediate matrix indicating a rotation matrix corresponding to the corrected IMU installation angle at the current time; performing matrix conversion processing on the first intermediate matrix to obtain the corrected IMU installation angle at the current time.
3. The method of claim 1, wherein, determining a first installation angle error according to the second speed, the third speed and the vehicle speed of the vehicle at the current time, comprising: performing matrix conversion processing on the vehicle angle of the vehicle at the previous time to obtain a third rotation matrix, the third rotation matrix indicating a rotation matrix corresponding to the vehicle angle of the vehicle at the previous time; performing matrix conversion processing on the IMU installation angle at the current time to obtain a second rotation matrix, the second rotation matrix indicating a rotation matrix corresponding to the IMU installation angle at the current time; According to the third rotation matrix, the second rotation matrix, the second speed, the third speed, a vehicle speed of the vehicle at the current time, a front wheel adjustment coefficient corresponding to a front wheel speed meter at a last time, and the first installation angle error to be solved, a first error equation is established; The first error equation is solved to obtain the first installation angle error.
4. The method of claim 3, wherein, The first error equation indicates the front wheel adjustment coefficient error to be solved; the method further comprises: The first error equation is solved to obtain the front wheel adjustment coefficient error; According to the front wheel adjustment coefficient error, the front wheel adjustment coefficient corresponding to the front wheel speed meter at the last time is adjusted to obtain the front wheel adjustment coefficient corresponding to the front wheel speed meter at the current time.
5. The method of claim 3, wherein, The first error equation indicates the vehicle first angle error to be solved and the front wheel vehicle speed error to be solved; the method further comprises: The first error equation is solved to obtain the vehicle first angle error and the front wheel vehicle speed error; The sensor data collected by the vehicle, the front wheel adjustment coefficient corresponding to the front wheel speed meter at the current time, the corrected IMU installation angle at the current time, the vehicle first angle error, the front wheel vehicle speed error, a vehicle angle of the vehicle at the last time, a vehicle speed of the vehicle at the last time, and a vehicle position of the vehicle at the last time are fused based on a filtering algorithm to obtain a vehicle angle of the vehicle at the current time, a vehicle position of the vehicle at the current time, and a vehicle speed of the vehicle at the current time.
6. The method according to any one of claims 1-5, characterized in that, The method further comprises: IMU data collected by an IMU of the vehicle at an initial time and GNSS data collected by a GNSS module of the vehicle at the initial time are obtained; The IMU data and the GNSS data are fused to obtain a vehicle speed of the vehicle at the initial time, a vehicle angle of the vehicle at the initial time, and a vehicle position of the vehicle at the initial time.
7. The method according to any one of claims 1-5, characterized in that, The method further comprises: In response to obtaining perception data of the vehicle at the current time, a vehicle position of the vehicle at the last time is obtained, and high-definition map data corresponding to the vehicle position of the vehicle at the last time is obtained; The perception data of the vehicle at the current time and the high-definition map data are matched to obtain a vehicle angle to be verified; the vehicle angle to be verified indicates a pitch angle of the vehicle, a roll angle of the vehicle, and a heading angle of the vehicle; According to the vehicle angle to be verified and the vehicle angle of the vehicle at the last time, an IMU installation angle at the current time is corrected to obtain a corrected IMU installation angle at the current time; the corrected IMU installation angle includes an IMU pitch installation angle, an IMU roll installation angle, and an IMU heading installation angle.
8. The method of claim 7, wherein, According to the vehicle angle to be verified and the vehicle angle of the vehicle at the last time, an IMU installation angle at the current time is corrected to obtain a corrected IMU installation angle at the current time, comprising: If it is determined that a difference between the vehicle angle to be verified and a vehicle angle of the vehicle at a previous time is less than a second preset threshold, a matrix conversion is performed on the IMU installation angle at the current time to obtain a second rotation matrix, the second rotation matrix indicating a rotation matrix corresponding to the IMU installation angle at the current time. A second error equation is established according to the vehicle angle to be verified, the vehicle angle of the vehicle at the previous time, the second rotation matrix, and a second installation angle error to be solved. The second error equation is solved to obtain the second installation angle error. The IMU installation angle at the current time is corrected according to the second installation angle error to obtain a corrected IMU installation angle at the current time.
9. The method of claim 8, wherein, The second error equation indicates a vehicle second angle error to be solved; the perception data of the vehicle at the current time and the high-definition map data are matched to further obtain a matched vehicle position at the current time; the method further comprises: The second error equation is solved to obtain the vehicle second angle error; sensor data collected by the vehicle, the matched vehicle position at the current time, the corrected IMU installation angle at the current time, the vehicle second angle error, the vehicle angle of the vehicle at the previous time, the vehicle speed of the vehicle at the previous time, and the vehicle position of the vehicle at the previous time are fused based on a filtering algorithm to obtain the vehicle angle of the vehicle at the current time, the vehicle position of the vehicle at the current time, and the vehicle speed of the vehicle at the current time.
10. An electronic device, comprising: The electronic device comprises a memory and a processor. The memory stores computer execution instructions. The processor executes the computer execution instructions stored in the memory, so that the processor executes the method of any one of claims 1-9.
11. A computer readable storage medium / computer program product, characterized in that, The computer readable storage medium stores computer execution instructions, and the computer execution instructions are executed by the processor to implement the method of any one of claims 1-9; and / or the computer program product comprises a computer program, and the computer program is executed by the processor to implement the method of any one of claims 1-9.
Citation Information
Patent Citations
Parameter calibration method and device
CN112444266A
Method and device for calibrating installation angle of inertial measurement unit and electronic equipment
CN115900758A