Vehicle pose determination method and device, equipment and storage medium

By performing error processing on the vehicle's IMU and wheel speedometer data, the first and second positions of the vehicle are determined, and the effective positions are selected using Kalman gain, the problem of low accuracy of the median position of the autonomous driving is solved, and the accuracy and reliability of position determination are improved.

CN119915282APending Publication Date: 2025-05-02HANGZHOU FABU TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510122528.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-24
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

During the vehicle's autonomous driving process, the accuracy of determining the obtained position is low, especially when the tires are slippery or the road surface is uneven.

Method used

By acquiring the inertial measurement unit (IMU) data and wheel speedometer data and performing error processing in the data, the first position and the second position of the vehicle are determined. Then, at least one effective position is determined in the two position according to the Kalman gain, and the target position is determined in this way.

Benefits of technology

Improve the accuracy of vehicle position determination, especially in the case of slippage or uneven road surfaces, ensuring the reliability of key decisions such as navigation, path planning and obstacle avoidance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119915282A_ABST
    Figure CN119915282A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a vehicle pose determination method and device, equipment and a storage medium. The method comprises the following steps: acquiring inertial measurement unit (IMU) data, IMU error data, wheel speed meter data and wheel speed error data of a vehicle; determining a first pose of the vehicle according to the IMU data and the IMU error data; determining a second pose of the vehicle according to the wheel speed meter data and the wheel speed error data; and determining at least one effective pose in the first pose and the second pose, and determining a target pose according to the at least one effective pose. According to the scheme of the embodiment of the invention, the accuracy of vehicle pose determination can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving, and in particular to a method, device, equipment and storage medium for determining a vehicle posture. Background Art

[0002] During the process of autonomous driving, the vehicle needs to be positioned in order to make key decisions such as navigation, path planning, and obstacle avoidance.

[0003] In the related art, the positioning module of the vehicle may include a posture estimation module and a track deduction module. The posture estimation module combines the information provided by multiple sensors to determine the posture of the vehicle at the corresponding moment, and the posture is not real-time. The track deduction module uses the posture provided by the posture estimation module and the vehicle's Inertial Measurement Unit (IMU) data to calculate the real-time posture of the vehicle. However, if the vehicle's tires slip or the road surface is uneven, the posture provided by the posture estimation module or the IMU data may be inaccurate, which may lead to a low accuracy of the determined posture. Summary of the invention

[0004] The embodiments of the present application provide a method, device, equipment and storage medium for determining a vehicle posture, which are used to solve the problem of low accuracy of the posture determined during the vehicle's automatic driving process.

[0005] In a first aspect, an embodiment of the present application provides a method for determining a vehicle posture, comprising:

[0006] Obtaining the vehicle's inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data;

[0007] Determine the first position of the vehicle based on the IMU data and IMU error data;

[0008] Determine a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data;

[0009] At least one valid pose is determined from the first pose and the second pose, and a target pose is determined according to the at least one valid pose.

[0010] In a possible implementation, the IMU data includes a first acceleration and a first angular velocity, and the IMU error data includes an acceleration error and an angular velocity error; determining a first posture of the vehicle according to the IMU data and the IMU error data includes:

[0011] Determine a second acceleration according to the first acceleration and the acceleration error;

[0012] Determine a second angular velocity according to the first angular velocity and the angular velocity error;

[0013] Get the third pose of the vehicle at the last moment;

[0014] The first posture is determined according to the second acceleration, the second angular velocity and the third posture.

[0015] In a possible implementation, determining the first posture according to the second acceleration, the second angular velocity, and the third posture includes:

[0016] Integrate the second acceleration to obtain a first displacement of the vehicle from the previous moment to the current moment;

[0017] Determining a first position based on the position in the third pose and the first displacement;

[0018] Determine the change in angular velocity of the vehicle from the last moment to the current moment according to the second angular velocity;

[0019] Determine the first posture according to the posture and angular velocity changes in the third posture;

[0020] Determining the first pose includes the first pose and the first posture.

[0021] In a possible implementation, the wheel speed meter data includes a first rotation speed and a first rotation angle, and the wheel speed error data includes a speed error and an angle error; determining a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data includes:

[0022] determining a second rotation speed according to the first rotation speed and the speed error;

[0023] Determining a second rotation angle according to the first rotation angle and the angle error;

[0024] Get the third pose of the vehicle at the last moment;

[0025] A second posture is determined according to the second rotation speed, the second rotation angle, and the third posture.

[0026] In a possible implementation, determining the second posture according to the second rotation speed, the second rotation angle, and the third posture includes:

[0027] Integrating the second rotation speed to obtain a second displacement of the vehicle from a previous moment to a current moment;

[0028] Determining a second position based on the position in the third pose and the second displacement;

[0029] Determine the angle change of the vehicle from the last moment to the current moment according to the second rotation angle;

[0030] Determine the second posture according to the posture and angle changes in the third posture;

[0031] Determining a second pose includes a second position and a second pose.

[0032] In a possible implementation, determining at least one valid posture in the first posture and the second posture includes:

[0033] Get multiple historical poses before the current moment;

[0034] Get the historical Kalman gain for each historical pose;

[0035] Determine the current Kalman gain according to the first pose and the second pose;

[0036] At least one valid pose is determined in the first pose and the second pose according to the historical Kalman gain and the current Kalman gain.

[0037] In a possible implementation, determining at least one valid posture from the first posture and the second posture according to the historical Kalman gain and the current Kalman gain includes:

[0038] Get the gain difference between the current Kalman gain and the historical Kalman gain;

[0039] If the gain difference is greater than or equal to the first preset value, the second posture is determined as a valid posture;

[0040] If the gain difference is less than or equal to the second preset value, the first posture is determined as a valid posture, and the second preset value is less than the first preset value;

[0041] If the gain difference is between the second preset value and the first preset value, the first posture and the second posture are determined as valid postures.

[0042] In a possible implementation, determining a target pose according to at least one valid pose includes:

[0043] If the number of at least one valid posture is 1, the valid posture is determined as the target posture;

[0044] If the number of at least one valid posture is 2, the first weight corresponding to the first posture and the second weight corresponding to the second posture are determined according to the current Kalman gain, and the first posture and the second posture are fused according to the first weight and the second weight to obtain the target posture.

[0045] In a possible implementation, the method further includes:

[0046] Determine, according to the target posture, a first correction amount corresponding to the IMU error data and a second correction amount corresponding to the wheel speed error data;

[0047] The IMU error data is updated according to the first correction amount, and the wheel speed error data is updated according to the second correction amount.

[0048] In a second aspect, an embodiment of the present application provides a device for determining a vehicle posture, including:

[0049] An acquisition module, used to acquire the vehicle's inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data;

[0050] A first processing module is used to determine the first posture of the vehicle according to the IMU data and the IMU error data;

[0051] A second processing module, used for determining a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data;

[0052] The third processing module is used to determine at least one valid posture among the first posture and the second posture, and determine the target posture according to the at least one valid posture.

[0053] In a possible implementation manner, the first processing module is specifically configured to:

[0054] Determine a second acceleration according to the first acceleration and the acceleration error;

[0055] Determine a second angular velocity according to the first angular velocity and the angular velocity error;

[0056] Get the third pose of the vehicle at the last moment;

[0057] The first posture is determined according to the second acceleration, the second angular velocity and the third posture.

[0058] In a possible implementation manner, the first processing module is specifically configured to:

[0059] Integrate the second acceleration to obtain a first displacement of the vehicle from the previous moment to the current moment;

[0060] Determining a first position based on the position in the third pose and the first displacement;

[0061] Determine the change in angular velocity of the vehicle from the last moment to the current moment according to the second angular velocity;

[0062] Determine the first posture according to the posture and angular velocity changes in the third posture;

[0063] Determining the first pose includes the first pose and the first posture.

[0064] In a possible implementation manner, the second processing module is specifically configured to:

[0065] determining a second rotation speed according to the first rotation speed and the speed error;

[0066] Determining a second rotation angle according to the first rotation angle and the angle error;

[0067] Get the third pose of the vehicle at the last moment;

[0068] A second posture is determined according to the second rotation speed, the second rotation angle, and the third posture.

[0069] In a possible implementation manner, the second processing module is specifically configured to:

[0070] Integrating the second rotation speed to obtain a second displacement of the vehicle from a previous moment to a current moment;

[0071] Determining a second position based on the position in the third pose and the second displacement;

[0072] Determine the angle change of the vehicle from the last moment to the current moment according to the second rotation angle;

[0073] Determine the second posture according to the posture and angle changes in the third posture;

[0074] Determining a second pose includes a second position and a second pose.

[0075] In a possible implementation manner, the third processing module is specifically configured to:

[0076] Get multiple historical poses before the current moment;

[0077] Get the historical Kalman gain for each historical pose;

[0078] Determine the current Kalman gain according to the first pose and the second pose;

[0079] At least one valid pose is determined in the first pose and the second pose according to the historical Kalman gain and the current Kalman gain.

[0080] In a possible implementation manner, the third processing module is specifically configured to:

[0081] Get the gain difference between the current Kalman gain and the historical Kalman gain;

[0082] If the gain difference is greater than or equal to the first preset value, the second posture is determined as a valid posture;

[0083] If the gain difference is less than or equal to the second preset value, the first posture is determined as a valid posture, and the second preset value is less than the first preset value;

[0084] If the gain difference is between the second preset value and the first preset value, the first posture and the second posture are determined as valid postures.

[0085] In a possible implementation manner, the third processing module is further configured to:

[0086] If the number of at least one valid posture is 1, the valid posture is determined as the target posture;

[0087] If the number of at least one valid posture is 2, the first weight corresponding to the first posture and the second weight corresponding to the second posture are determined according to the current Kalman gain, and the first posture and the second posture are fused according to the first weight and the second weight to obtain the target posture.

[0088] In a possible implementation manner, the third processing module is further configured to:

[0089] Determine, according to the target posture, a first correction amount corresponding to the IMU error data and a second correction amount corresponding to the wheel speed error data;

[0090] The IMU error data is updated according to the first correction amount, and the wheel speed error data is updated according to the second correction amount.

[0091] In a third aspect, an embodiment of the present application provides a device for determining a vehicle posture, including: a memory, a processor;

[0092] Memory stores computer-executable instructions;

[0093] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the method for determining the vehicle posture as described in any one of the first aspects.

[0094] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer execution instructions are stored. When the computer execution instructions are executed by a processor, they are used to implement a method for determining a vehicle posture as described in any one of the first aspects.

[0095] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a controller, implements the method for determining the vehicle posture of any one of the first aspects.

[0096] The vehicle posture determination method, device, equipment and storage medium provided in the embodiments of the present application obtain the vehicle's inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data; determine the vehicle's first posture according to the IMU data and the IMU error data; determine the vehicle's second posture according to the wheel speed meter data and the wheel speed error data; determine at least one valid posture in the first posture and the second posture, and determine the target posture according to at least one valid posture. The scheme of the present application can determine the first posture according to the IMU data, determine the second posture according to the wheel speed meter data, and obtain the vehicle's target posture through at least one valid posture in the first posture and the second posture. In the above process, in the event of a vehicle slipping or an uneven road surface, the more effective posture in the first posture and the second posture will be selected to determine the vehicle's target posture, thereby improving the accuracy of posture determination. BRIEF DESCRIPTION OF THE DRAWINGS

[0097] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0098] Figure 1 A schematic diagram of an application scenario provided for an embodiment of the present application;

[0099] Figure 2 A schematic diagram of a flow chart of a method for determining a vehicle posture provided in an embodiment of the present application;

[0100] Figure 3 A schematic diagram of a flow chart of a method for determining a first posture provided in an embodiment of the present application;

[0101] Figure 4 A schematic diagram of a flow chart of a method for determining a second posture provided in an embodiment of the present application;

[0102] Figure 5 A schematic diagram of a flow chart of a method for determining a target posture provided in an embodiment of the present application;

[0103] Figure 6 A schematic diagram of a method for determining a vehicle posture provided in an embodiment of the present application;

[0104] Figure 7 A schematic diagram of the structure of a device for determining a vehicle posture provided in an embodiment of the present application;

[0105] Figure 8 A schematic diagram of the structure of a vehicle posture determination device provided in an embodiment of the present application.

[0106] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0107] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0108] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0109] Figure 1 This is a schematic diagram of an application scenario provided by the embodiment of this application. Figure 1 The vehicle 10 is provided with an IMU 11, a wheel speed meter 12 and a positioning module 13. During the driving process of the vehicle, the IMU 11 can collect IMU data and send the IMU data to the positioning module 13; the wheel speed meter 12 can collect wheel speed meter data and send the wheel speed meter data to the positioning module 13. The positioning module 13 can determine the position and posture of the vehicle according to the IMU data and the wheel speed meter data.

[0110] In the related art, the positioning module of the vehicle may include a posture estimation module and a track deduction module. The posture estimation module combines the information provided by various sensors to determine the posture of the vehicle at the corresponding moment, and the posture is not real-time. The track deduction module uses the posture provided by the posture estimation module and the IMU data of the vehicle to calculate the real-time posture of the vehicle. However, if the vehicle's tires slip or the road surface is uneven, the posture provided by the posture estimation module or the IMU data may be inaccurate, which may lead to a low accuracy of the determined posture.

[0111] In the embodiment of the present application, the first posture can be determined according to the IMU data, the second posture can be determined according to the wheel speed meter data, and the target posture of the vehicle can be obtained through at least one valid posture in the first posture and the second posture. In the above process, in the case of vehicle slippage and uneven road surface, the more effective posture in the first posture and the second posture will be selected to determine the target posture of the vehicle, thereby improving the accuracy of posture determination.

[0112] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0113] Figure 2 A flow chart of a method for determining a vehicle posture provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the method includes:

[0114] S21, acquiring the vehicle's IMU data, IMU error data, wheel speed meter data, and wheel speed error data.

[0115] The executing entity of the embodiment of the present application can be an autonomous driving vehicle, or a device for determining the vehicle posture set in the autonomous driving vehicle. The device for determining the vehicle posture can be implemented by software or by a combination of software and hardware.

[0116] Multiple sensors may be provided in the vehicle, for example, the multiple sensors may include an IMU, a wheel speed meter, etc. The multiple sensors may collect data during vehicle driving in real time, for example, obtaining IMU data through an IMU sensor, obtaining wheel speed meter data through a wheel speed meter sensor, etc.

[0117] The IMU data may include a first acceleration and a first angular velocity, wherein the first acceleration is the vehicle acceleration obtained by the IMU at the current moment; and the first angular velocity is the vehicle angular velocity obtained by the IMU at the current moment. The IMU data may be obtained in real time.

[0118] The wheel speed meter data may include a first rotation speed and a first rotation angle, wherein the first rotation speed is the rotation speed of the tire of the vehicle obtained by the wheel speed meter at the current moment; and the first rotation angle is the rotation angle of the tire of the vehicle obtained at the current moment. The wheel speed meter data may be obtained in real time.

[0119] IMU error data includes acceleration error and angular velocity error. At the initial stage (for example, when the vehicle starts), the output value of the IMU acceleration can be determined as the acceleration error, and the output value of the angular velocity can be determined as the angular velocity error; during the vehicle's driving process, the acceleration error and angular velocity error can be updated according to the vehicle's current position and posture.

[0120] The wheel speed meter error data includes speed error and angle error. At the initial stage (for example, when the vehicle starts), the output value of the rotation speed of the wheel speed meter can be determined as the speed error, and the output value of the angular velocity can be determined as the angle error; during the vehicle driving process, the speed error and angle error can be updated according to the vehicle's current position and posture.

[0121] S22, determining the first position of the vehicle according to the IMU data and the IMU error data.

[0122] The first posture is the posture of the vehicle determined by IMU data at the current moment, and the first posture includes the first position and the first posture.

[0123] During the driving process, the vehicle will be affected by various factors, such as vehicle drift, uneven road surface, etc., which will cause errors in the IMU data. The IMU data can be processed for error elimination based on the IMU error data, and the first position of the vehicle can be determined based on the IMU data after error elimination.

[0124] The first position of the vehicle can be determined in the following manner: based on the first acceleration and the acceleration error, determine the acceleration after the error is eliminated, perform continuous integration processing on the acceleration after the error is eliminated to obtain the first displacement of the vehicle from the previous moment to the current moment, and determine the first position of the vehicle based on the position of the vehicle at the previous moment and the first displacement.

[0125] The first posture of the vehicle can be determined in the following way: based on the first angular velocity and the angular velocity error, the angular velocity after eliminating the error is determined, the angular velocity after eliminating the error is integrated to obtain the angular change of the vehicle from the previous moment to the current moment, and the first posture of the vehicle is determined based on the posture of the vehicle at the previous moment and the angular change.

[0126] S23, determining a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data.

[0127] The second posture is the posture of the vehicle determined by the wheel speed meter data at the current moment, and the second posture includes a second position and a second posture.

[0128] During the driving process, the vehicle will be affected by various factors, such as vehicle drift, uneven road surface, etc., which may cause errors in the wheel speed meter data. The wheel speed meter data can be processed for error elimination based on the wheel speed error data, and the second posture of the vehicle can be determined based on the wheel speed meter data after error elimination.

[0129] The second position of the vehicle can be determined in the following manner: based on the first rotation speed and the speed error, determine the rotation speed after the error is eliminated, integrate the rotation speed after the error is eliminated to obtain the second displacement of the vehicle from the previous moment to the current moment, and determine the second position of the vehicle based on the position of the vehicle at the previous moment and the second displacement.

[0130] The second posture of the vehicle can be determined in the following way: based on the first rotation angle and the angle error, determine the rotation angle after eliminating the error, integrate the rotation angle after eliminating the error to obtain the angular change of the vehicle from the previous moment to the current moment, and determine the second posture of the vehicle based on the posture of the vehicle at the previous moment and the angle change.

[0131] S24, determining at least one valid posture among the first posture and the second posture, and determining a target posture according to the at least one valid posture.

[0132] A valid pose is one whose accuracy is greater than or equal to a preset threshold.

[0133] For example, when a vehicle is traveling on a rough road, the accuracy of the IMU data may be low. In this case, the accuracy of the first pose determined based on the IMU data is low, and the first pose is not a valid pose.

[0134] For example, when the vehicle slips, the accuracy of the wheel speed meter data may be low. In this case, the accuracy of the second posture determined based on the wheel speed meter data is low, and the second posture is not a valid posture.

[0135] The target pose is the exact pose of the vehicle at the current moment. The vehicle can make key decisions such as navigation, path planning, and obstacle avoidance based on the target pose.

[0136] At least one valid posture can be determined based on the Kalman gain. The Kalman gain is a key parameter in the Kalman filter algorithm. The Kalman gain is used to assign weights to the first posture and the second posture, and determine at least one valid posture based on the gain difference between the Kalman gain at the current moment and the Kalman gain corresponding to the historical posture. When the gain difference is greater than or equal to the first preset value, it means that the first posture at the current moment is not reliable, and the second posture is determined as a valid posture; when the gain difference is less than or equal to the second preset value, it means that the second posture at the current moment is not reliable, and the first posture is determined as a valid posture; when the gain difference is between the second preset value and the first preset value, it means that both the first posture and the second posture are reliable, and both the first posture and the second posture are determined as valid postures. Among them, the second preset value is less than the first preset value.

[0137] The target pose can be determined according to the number of valid poses: when the number of valid poses is 1, the valid pose is determined as the target pose, for example, when the valid pose is the first pose, the first pose is determined as the valid pose; when the valid pose is the second pose, the second pose is determined as the valid pose. When the number of valid poses is 2, weights are assigned to the first pose and the second pose according to the Kalman gain, and the first pose and the second pose are fused through the Kalman filter algorithm to obtain the target pose.

[0138] The method for determining the vehicle posture provided in the embodiment of the present application obtains the inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data of the vehicle; determines the first posture of the vehicle according to the IMU data and the IMU error data; determines the second posture of the vehicle according to the wheel speed meter data and the wheel speed error data; determines at least one valid posture in the first posture and the second posture, and determines the target posture according to the at least one valid posture. The scheme of the present application can determine the first posture according to the IMU data, determine the second posture according to the wheel speed meter data, and obtain the target posture of the vehicle through at least one valid posture in the first posture and the second posture. In the above process, in the event of a vehicle slipping or an uneven road surface, the more effective posture of the first posture and the second posture will be selected to determine the target posture of the vehicle, thereby improving the accuracy of posture determination.

[0139] Based on any of the above embodiments, the scheme of the embodiments of the present application is further introduced below in conjunction with the accompanying drawings.

[0140] Figure 3 A flow chart of a method for determining a first posture provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, including:

[0141] S31, determining a second acceleration according to the first acceleration and the acceleration error.

[0142] The second acceleration is the acceleration obtained after eliminating the error of the first acceleration. During the driving process, the vehicle will be affected by various factors, such as vehicle drift, uneven road surface, etc., which will cause errors in the IMU data. The second acceleration can be obtained by subtracting the acceleration error from the first acceleration.

[0143] S32, determining a second angular velocity according to the first angular velocity and the angular velocity error.

[0144] The second angular velocity is an angular velocity obtained after eliminating the error of the first angular velocity. The second angular velocity can be obtained by subtracting the angular velocity error from the first angular velocity.

[0145] S33, obtaining the third posture of the vehicle at the previous moment.

[0146] The third posture is the posture of the vehicle at the last moment, and the third posture includes the position of the vehicle at the last moment and the posture of the vehicle at the last moment.

[0147] S34, determining the first posture according to the second acceleration, the second angular velocity and the third posture.

[0148] The first posture can be determined in the following way: integrate the second acceleration to obtain the first displacement of the vehicle from the previous moment to the current moment; determine the first position based on the position in the third posture and the first displacement; determine the change in angular velocity of the vehicle from the previous moment to the current moment based on the second angular velocity; determine the first posture based on the posture and angular velocity change in the third posture; determine that the first posture includes the first position and the first posture.

[0149] Specifically, the process of determining the first position includes: integrating the second acceleration to obtain the speed of the vehicle at the current moment, integrating the speed to obtain the first displacement of the vehicle from the previous moment to the current moment. According to the position of the vehicle at the previous moment in the third posture and the first displacement, the first position of the vehicle at the current moment is determined.

[0150] The process of determining the first posture includes: integrating the second angular velocity to obtain the angular velocity change of the vehicle from the last moment to the current moment. According to the posture of the vehicle at the last moment in the third posture and the angular velocity change, the first posture of the vehicle at the current moment is determined.

[0151] The first position and the first posture are combined to obtain the first posture of the vehicle. The first posture indicates the position and rotation state of the vehicle in space, providing data support for the vehicle's subsequent navigation, path planning, obstacle avoidance, etc.

[0152] Figure 4 A flow chart of a method for determining a second posture provided in an embodiment of the present application is shown in FIG. Figure 4 As shown, including:

[0153] S41, determining a second rotation speed according to the first rotation speed and the speed error.

[0154] The second rotation speed is the wheel rotation speed obtained after eliminating the error of the first rotation speed. During the driving process, the vehicle will be affected by various factors, such as vehicle drift, uneven road surface, etc., which will cause errors in the wheel speed meter data. The second angular velocity can be obtained by subtracting the angular velocity error from the first angular velocity.

[0155] S42, determining a second rotation angle according to the first rotation angle and the angle error.

[0156] The second rotation angle is the vehicle rotation angle obtained after eliminating the error of the first rotation angle. The second rotation angle can be obtained by subtracting the angle error from the first rotation angle.

[0157] S43, obtaining the third posture of the vehicle at the previous moment.

[0158] S44, determining a second posture according to the second rotation speed, the second rotation angle and the third posture.

[0159] The second posture can be determined in the following way: integrate the second rotation speed to obtain the second displacement of the vehicle from the previous moment to the current moment; determine the second position based on the position and the second displacement in the third posture; determine the angular change of the vehicle from the previous moment to the current moment based on the second rotation angle; determine the second posture based on the posture and angular change in the third posture; determine that the second posture includes the second position and the second posture.

[0160] Specifically, the process of determining the second position includes: the second rotation speed reflects the number of rotations of the vehicle tire in a unit time, and the second rotation speed is time-integrated from the last moment to the current moment to obtain the first displacement of the vehicle from the last moment to the current moment. According to the position of the vehicle at the last moment in the third posture and the first displacement, the second position of the vehicle at the current moment is determined.

[0161] The process of determining the second posture includes: the second rotation angle reflects the steering wheel rotation angle of the vehicle from the previous moment to the current moment. According to the second rotation angle, the angle change of the vehicle from the previous moment to the current moment can be obtained. Combined with the posture of the vehicle in the third posture, the second posture of the vehicle at the current moment can be obtained.

[0162] In summary, Figure 3 and Figure 4 The steps of determining the first posture of the vehicle at the current moment through the second acceleration and the second angular velocity of the vehicle at the current moment, and according to the second acceleration, the second angular velocity and the third posture; determining the second rotation speed and the second rotation angle of the vehicle at the current moment, and determining the second posture of the vehicle at the current moment according to the second rotation speed, the second rotation angle and the third posture, can make it possible to select a valid posture from the first posture and the second posture to determine the target posture, and improve the accuracy of posture determination when the vehicle slips or the road surface is uneven.

[0163] Figure 5 A flow chart of a method for determining a target posture provided in an embodiment of the present application, as shown in Figure 5, includes:

[0164] S51, obtaining multiple historical postures before the current moment.

[0165] The multiple historical postures are the target postures corresponding to each moment determined by the vehicle at the previous moment. After the vehicle determines the target posture at each moment, it will store each target posture in chronological order for subsequent processing. The multiple historical postures between the current moment can be obtained by reading the stored target postures at each moment.

[0166] S52, obtaining the historical Kalman gain of each historical posture.

[0167] Each historical moment corresponds to a historical posture. The vehicle can determine each historical Kalman gain according to each historical posture, and store each historical Kalman gain in chronological order for subsequent processing. The historical Kalman gain of each historical posture can be obtained by reading the stored historical Kalman gain of each moment. The method for determining the historical Kalman gain is the same as the method for determining the current Kalman gain, as shown in S53.

[0168] S53, determining a current Kalman gain according to the first posture and the second posture.

[0169] At the current moment, based on the accuracy of the IMU, the accuracy of the wheel speed meter, environmental interference, motion model error, etc., the Kalman filter algorithm is used to evaluate the uncertainty of the first and second poses at this moment, and a trade-off factor is calculated, which is determined as the current Kalman gain.

[0170] S54, determining at least one valid posture in the first posture and the second posture according to the historical Kalman gain and the current Kalman gain.

[0171] At least one valid posture can be determined in the following manner: obtaining the gain difference between the current Kalman gain and the historical Kalman gain; if the gain difference is greater than or equal to a first preset value, determining the second posture as a valid posture; if the gain difference is less than or equal to the second preset value, determining the first posture as a valid posture; if the gain difference is between the second preset value and the first preset value, determining the first posture and the second posture as valid postures.

[0172] The second preset value is smaller than the first preset value. The first preset value is a positive number, and the second preset value is a negative number. The first preset value and the second preset value are used to determine the value range of the gain difference, so that at least one valid posture can be determined according to the corresponding value range.

[0173] Subtract the historical Kalman gain from the current Kalman gain to get the gain difference.

[0174] If the current Kalman gain is greater than the historical Kalman gain, the gain difference is a positive number, and it is determined whether the gain difference is greater than the first preset value. If the gain difference is greater than the first preset value, it means that the current Kalman gain is abnormally increased relative to the historical Kalman gain, and the first posture at the current moment is not reliable, and the second posture is determined as the valid posture.

[0175] If the current Kalman gain is less than the historical Kalman gain, the gain difference is a negative number, and it is determined whether the gain difference is less than the second preset value. If the gain difference is less than the second preset value, it means that the current Kalman gain is abnormally reduced relative to the historical Kalman gain, and the second posture at the current moment is not reliable, and the first posture is determined as the valid posture.

[0176] When the gain difference is between the second preset value and the first preset value, it indicates that the change of the current Kalman gain relative to the historical Kalman gain is within a normal range, and both the first posture and the second posture are reliable, and the first posture and the second posture are determined as valid postures.

[0177] S55: Determine a target posture according to at least one valid posture.

[0178] The target posture can be determined in the following way: if the number of at least one valid posture is 1, the valid posture is determined as the target posture; if the number of at least one valid posture is 2, the first weight corresponding to the first posture and the second weight corresponding to the second posture are determined according to the current Kalman gain, and the first posture and the second posture are fused according to the first weight and the second weight to obtain the target posture.

[0179] If the number of at least one valid posture is 1, the valid posture is determined as the target posture. For example, when the valid posture is the first posture, the first posture is determined as the target posture; when the valid posture is the second posture, the second posture is determined as the target posture.

[0180] If the number of at least one valid posture is 2, the current Kalman gain is determined as the weight of the second posture, that is, the second weight. Correspondingly, 1 minus the value of the current Kalman gain is determined as the weight of the first posture, that is, the first weight. Using the Kalman filter algorithm, according to the first weight and the second weight, the weighted sum of the first posture and the second posture can be obtained, and the fused posture is determined as the target posture.

[0181] After determining the target posture, the IMU error data and wheel speed error data need to be further updated so that the vehicle can obtain the target posture at the next moment based on the posture and error data at the current moment.

[0182] The IMU error data and wheel speed error data can be updated in the following manner: according to the target posture, a first correction amount corresponding to the IMU error data and a second correction amount corresponding to the wheel speed error data are determined; the IMU error data is updated according to the first correction amount, and the wheel speed error data is updated according to the second correction amount.

[0183] The first correction includes an angular velocity correction and an acceleration correction. The angular velocity correction is the difference between the second acceleration and the acceleration corresponding to the target posture, and the acceleration correction is the difference between the second angular velocity and the angular velocity corresponding to the target posture.

[0184] The second correction includes a rotation speed correction, which is the difference between the second rotation speed and the rotation speed corresponding to the target posture, and a rotation angle correction, which is the difference between the second rotation angle and the rotation angle corresponding to the target posture.

[0185] The IMU error data can be updated in the following manner: according to the target posture, determine the IMU acceleration corresponding to the target posture and the IMU angular velocity corresponding to the target posture, compare the difference between the IMU acceleration corresponding to the target posture and the second acceleration, and determine the difference as the acceleration correction; compare the difference between the IMU angular velocity corresponding to the target posture and the second angular velocity, determine the difference as the angular velocity correction, use the acceleration correction to update the acceleration error, use the angular velocity correction to update the angular velocity error, and obtain updated IMU error data.

[0186] The tachometer error data can be updated in the following manner: according to the target posture, determine the tachometer rotation speed corresponding to the target posture and the tachometer rotation angle corresponding to the target posture, compare the difference between the tachometer rotation speed corresponding to the target posture and the second rotation speed, and determine the difference as the rotation speed correction; compare the difference between the rotation angle corresponding to the target posture and the second rotation angle, and determine the difference as the rotation angle correction, use the rotation angle correction to update the speed error, use the angular velocity correction to update the angular error, and obtain updated tachometer error data.

[0187] Figure 6 The structure diagram of the method for determining the vehicle posture provided in the embodiment of the present application is as follows: Figure 6As shown, the method for determining the vehicle posture provided in the embodiment of the present application includes: using an IMU to obtain IMU data, and determining the first posture of the vehicle according to the IMU data and the IMU error data; using a wheel speed meter to obtain wheel speed meter data, and determining the second posture of the vehicle according to the wheel speed meter data and the wheel speed error data; determining a valid posture in the first posture and the second posture according to the Kalman gain, when the number of valid postures is one, determining the valid posture as the target posture, and using the target posture to navigate the vehicle; when the number of valid postures is two, determining the first posture and the second posture as the valid posture, using the Kalman filter algorithm to fuse the valid postures to obtain the target posture, and updating the IMU error data and the wheel speed error data according to the target posture.

[0188] In summary, the method for determining the vehicle posture provided by the embodiment of the present application is provided by obtaining the inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data of the vehicle; determining the first posture of the vehicle according to the IMU data and the IMU error data; determining the second posture of the vehicle according to the wheel speed meter data and the wheel speed error data; determining at least one valid posture in the first posture and the second posture, and determining the target posture according to the at least one valid posture. The scheme of the present application can determine the first posture according to the IMU data, determine the second posture according to the wheel speed meter data, and obtain the target posture of the vehicle through at least one valid posture in the first posture and the second posture. In the above process, in the event of a vehicle slipping or an uneven road surface, the more effective posture of the first posture and the second posture will be selected to determine the target posture of the vehicle, thereby improving the accuracy of posture determination.

[0189] Figure 7 A schematic diagram of the structure of the vehicle posture determination device provided in this application, such as Figure 7 As shown, the vehicle posture determination device 70 includes:

[0190] An acquisition module 71 is used to acquire the inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data of the vehicle;

[0191] A first processing module 72, for determining a first posture of the vehicle according to the IMU data and the IMU error data;

[0192] A second processing module 73, used to determine a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data;

[0193] The third processing module 74 is used to determine at least one valid posture among the first posture and the second posture, and determine the target posture according to the at least one valid posture.

[0194] In a possible implementation, the first processing module 72 is specifically configured to:

[0195] Determine a second acceleration according to the first acceleration and the acceleration error;

[0196] Determine a second angular velocity according to the first angular velocity and the angular velocity error;

[0197] Get the third pose of the vehicle at the last moment;

[0198] The first posture is determined according to the second acceleration, the second angular velocity and the third posture.

[0199] In a possible implementation, the first processing module 72 is specifically configured to:

[0200] Integrate the second acceleration to obtain a first displacement of the vehicle from the previous moment to the current moment;

[0201] Determining a first position based on the position in the third pose and the first displacement;

[0202] Determine the change in angular velocity of the vehicle from the last moment to the current moment according to the second angular velocity;

[0203] Determine the first posture according to the posture and angular velocity changes in the third posture;

[0204] Determining the first pose includes the first pose and the first posture.

[0205] In a possible implementation, the second processing module 73 is specifically configured to:

[0206] determining a second rotation speed according to the first rotation speed and the speed error;

[0207] Determining a second rotation angle according to the first rotation angle and the angle error;

[0208] Get the third pose of the vehicle at the last moment;

[0209] A second posture is determined according to the second rotation speed, the second rotation angle, and the third posture.

[0210] In a possible implementation, the second processing module 73 is specifically configured to:

[0211] Integrating the second rotation speed to obtain a second displacement of the vehicle from a previous moment to a current moment;

[0212] Determining a second position based on the position in the third pose and the second displacement;

[0213] Determine the angle change of the vehicle from the last moment to the current moment according to the second rotation angle;

[0214] Determine the second posture according to the posture and angle changes in the third posture;

[0215] Determining a second pose includes a second position and a second pose.

[0216] In a possible implementation, the third processing module 74 is specifically configured to:

[0217] Get multiple historical poses before the current moment;

[0218] Get the historical Kalman gain for each historical pose;

[0219] Determine the current Kalman gain according to the first pose and the second pose;

[0220] At least one valid pose is determined in the first pose and the second pose according to the historical Kalman gain and the current Kalman gain.

[0221] In a possible implementation, the third processing module 74 is specifically configured to:

[0222] Get the gain difference between the current Kalman gain and the historical Kalman gain;

[0223] If the gain difference is greater than or equal to the first preset value, the second posture is determined as a valid posture;

[0224] If the gain difference is less than or equal to the second preset value, the first posture is determined as a valid posture, and the second preset value is less than the first preset value;

[0225] If the gain difference is between the second preset value and the first preset value, the first posture and the second posture are determined as valid postures.

[0226] In a possible implementation, the third processing module 74 is specifically configured to:

[0227] If the number of at least one valid posture is 1, the valid posture is determined as the target posture;

[0228] If the number of at least one valid posture is 2, the first weight corresponding to the first posture and the second weight corresponding to the second posture are determined according to the current Kalman gain, and the first posture and the second posture are fused according to the first weight and the second weight to obtain the target posture.

[0229] In a possible implementation, the third processing module 74 is further configured to:

[0230] Determine, according to the target posture, a first correction amount corresponding to the IMU error data and a second correction amount corresponding to the wheel speed error data;

[0231] The IMU error data is updated according to the first correction amount, and the wheel speed error data is updated according to the second correction amount.

[0232] Figure 8 This is a schematic diagram of the structure of a vehicle posture determination device provided in an embodiment of the present application. Figure 8 As shown, the vehicle posture determination device 80 includes: at least one memory 81 and a processor 82. Among them:

[0233] A memory 81, used for storing computer-executable instructions;

[0234] The processor 82 is used to execute the computer execution instructions of the memory. Exemplarily, the memory 81 and the processor 82 are connected to each other via a bus 83.

[0235] The specific implementation process of the processor 82 can be found in the above method embodiment, and its implementation principle and technical effects are similar, so this embodiment will not be repeated here.

[0236] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the invention may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0237] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.

[0238] 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. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.

[0239] An embodiment of the present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.

[0240] An embodiment of the present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.

[0241] The above-mentioned 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 memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0242] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be an integral part of the processor. The processor and the readable storage medium can be located in an ASIC. Of course, the processor and the readable storage medium can also exist in a device as discrete components.

[0243] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.

[0244] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0245] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0246] If the function is implemented in the form of 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 the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, ROM, RAM, disk or optical disk, etc., various media that can store program codes.

[0247] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0248] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.

Claims

1. A method for determining a vehicle posture, characterized in that: include: Obtaining the vehicle's inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data; Determining a first position of the vehicle according to the IMU data and the IMU error data; Determining a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data; At least one valid posture is determined among the first posture and the second posture, and the target posture is determined according to the at least one valid posture.

2. The method according to claim 1, characterized in that The IMU data includes a first acceleration and a first angular velocity, and the IMU error data includes an acceleration error and an angular velocity error; determining a first posture of the vehicle according to the IMU data and the IMU error data, including: Determining a second acceleration according to the first acceleration and the acceleration error; determining a second angular velocity according to the first angular velocity and the angular velocity error; Obtaining the third posture of the vehicle at the last moment; The first posture is determined according to the second acceleration, the second angular velocity and the third posture.

3. The method according to claim 2, characterized in that Determining the first posture according to the second acceleration, the second angular velocity and the third posture includes: Integrating the second acceleration to obtain a first displacement of the vehicle from the previous moment to the current moment; determining a first position based on the position in the third pose and the first displacement; Determining, according to the second angular velocity, an angular velocity change of the vehicle from the previous moment to the current moment; Determining a first posture according to the posture in the third posture and the angular velocity change; Determining the first position and posture includes the first position and the first posture.

4. The method according to any one of claims 1 to 3, characterized in that: The wheel speed meter data includes a first rotation speed and a first rotation angle, and the wheel speed error data includes a speed error and an angle error; determining a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data, comprising: determining a second rotation speed according to the first rotation speed and the speed error; determining a second rotation angle according to the first rotation angle and the angle error; Obtaining the third posture of the vehicle at the last moment; The second posture is determined according to the second rotation speed, the second rotation angle and the third posture.

5. The method according to claim 4, characterized in that Determining the second posture according to the second rotation speed, the second rotation angle and the third posture includes: Integrating the second rotation speed to obtain a second displacement of the vehicle from a previous moment to a current moment; determining a second position based on the position in the third pose and the second displacement; Determining an angle change of the vehicle from the last moment to the current moment according to the second rotation angle; Determining a second posture according to the posture in the third posture and the angle change; Determining the second pose includes the second position and the second pose.

6. The method according to any one of claims 1 to 5, characterized in that: Determining at least one valid posture among the first posture and the second posture comprises: Get multiple historical poses before the current moment; Get the historical Kalman gain for each historical pose; Determining a current Kalman gain according to the first posture and the second posture; At least one valid pose is determined among the first pose and the second pose according to the historical Kalman gain and the current Kalman gain.

7. The method according to claim 6, characterized in that Determining at least one valid posture in the first posture and the second posture according to the historical Kalman gain and the current Kalman gain includes: Obtaining a gain difference between the current Kalman gain and the historical Kalman gain; If the gain difference is greater than or equal to a first preset value, determining the second posture as the valid posture; If the gain difference is less than or equal to a second preset value, determining the first posture as the valid posture, and the second preset value is less than the first preset value; If the gain difference is between the second preset value and the first preset value, the first posture and the second posture are determined as the valid postures.

8. A device for determining a vehicle posture, characterized in that: include: An acquisition module, used to acquire the vehicle's inertial measurement unit IMU data, IMU error data, wheel speed meter data, and wheel speed error data; A first processing module, used for determining a first posture of the vehicle according to the IMU data and the IMU error data; A second processing module, configured to determine a second posture of the vehicle according to the wheel speed meter data and the wheel speed error data; The third processing module is used to determine at least one valid posture among the first posture and the second posture, and determine the target posture according to the at least one valid posture.

9. A device for determining vehicle posture, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor executes the method for determining the vehicle posture as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method for determining a vehicle posture as described in any one of claims 1 to 7.