Pose determination method and apparatus, and electronic device

By performing integrated position interpolation and position correction in autonomous driving positioning technology, the problem of mismatch between the observation position and the integrated positioning time of the GNSS and visual sensors is solved, and the stability and accuracy of the positioning positioning positioning are improved.

WO2025118434A1PCT designated stage expired Publication Date: 2025-06-12ZHEJIANG GEELY HLDG GRP CO LTD +1

Patent Information

Application Number
PCT/CN2024/082022
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-04
Filing Date
2024-03-15
Publication Date
2025-06-12

AI Technical Summary

Technical Problem

In the existing autonomous driving positioning technology, the observation positioning posture of GNSS and vision sensors may be earlier than or later than the integral positioning posture in time, resulting in unstable positioning posture and forward and backward jumps or horizontal jumps, affecting the stability and accuracy of the final positioning result.

Method used

By obtaining the current first integrated position, the first observation position and the second observation position of the vehicle, the integral position interpolation is performed to obtain the second integrated position pose the same as the target observation time, and the target position correction matrix is ​​determined based on these position poses and the current position correction matrix, and then a stable position pose is obtained.

Benefits of technology

The stability and accuracy of the positioning positioning posture are improved, and the unstable positioning result is avoided due to the mismatch between the time of the observation position and the integral positioning posture.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024082022_12062025_PF_FP_ABST
    Figure CN2024082022_12062025_PF_FP_ABST
Patent Text Reader

Abstract

A pose determination method and apparatus, and an electronic device, which are used to solve the problem of the positioning result being unstable due to the observed pose temporally preceding an integrated pose. The method comprises: acquiring the current first integrated pose, first observed pose and second observed pose of a vehicle (101); when the integration moment of the first integrated pose is different from a target observed moment, performing integrated pose interpolation to obtain a second integrated pose having an integration moment the same as the target observed moment (102); on the basis of the first observed pose, the second observed pose, the second integrated pose and a current pose correction matrix, determining a target pose correction matrix (103); and on the basis of the first integrated pose and the target pose correction matrix, obtaining a positioning pose of the vehicle (104). On the basis of the method, the stability and precision of a positioning pose can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device and electronic equipment for determining posture Technical Field

[0001] The present application relates to the field of autonomous driving technology, and in particular to a posture determination method, device, and electronic device. Background Art

[0002] Currently, mainstream high-precision positioning in the autonomous driving field uses a multi-sensor fusion solution that combines the Global Navigation Satellite System (GNSS), inertial measurement units (IMUs), visual sensors, high-precision maps, and wheel speed sensors. This solution uses the IMU, or an IMU and wheel speed sensors, for integration, and observations using GNSS, visual sensors, and high-precision maps. Positioning is then integrated based on the observed corrections.

[0003] Summary of the Invention

[0004] The present application provides a posture determination method, device and electronic equipment.

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

[0006] Obtain the vehicle's current first integral pose, first observation pose, and second observation pose;

[0007] When the integration moment of the first integral pose is different from the target observation moment, performing integral pose interpolation to obtain a second integral pose whose integration moment is the same as the target observation moment, wherein the target observation moment is the observation moment that meets the preset requirements between the first observation moment of the first observation pose and the second observation moment of the second observation pose;

[0008] Determining a target pose correction matrix according to the first observation pose, the second observation pose, the second integral pose, and the current pose correction matrix;

[0009] Based on the first integral pose and the target pose correction matrix, a positioning pose of the vehicle is obtained.

[0010] In one possible design, when the integration moment of the first integral pose is different from the target observation moment, performing integral pose interpolation to obtain a second integral pose whose integration moment is the same as the target observation moment includes: when the integration moment of the first integral pose is later than the target observation moment, performing integral pose interpolation to obtain the second integral pose whose integration moment is the same as the target observation moment; or, when the integration moment of the first integral pose is earlier than the target observation moment, continuing integration based on the first integral pose until the integration moment is greater than or equal to the target observation moment, performing integral pose interpolation to obtain the second integral pose whose integration moment is the same as the target observation moment.

[0011] In one possible design, determining the target pose correction matrix based on the first observation pose, the second observation pose, the second integral pose and the current pose correction matrix includes: multiplying the second integral pose by the current pose correction matrix to obtain a predicted pose; filtering the predicted pose, the first observation pose and the second observation pose to obtain a filtered pose; and calculating the target pose correction matrix based on the filtered pose and the second integral pose.

[0012] In one possible design, the integral pose interpolation includes: finding two frames of historical integral poses, the integration moments of the two frames of historical integral poses being respectively the moment before and the moment after the target observation moment; and interpolating the two frames of historical integral poses.

[0013] In one possible design, obtaining the vehicle's current first integral posture, first observation posture and second observation posture includes: integrating the vehicle's wheel speed and angular velocity over the vehicle's initial posture to obtain the first integral posture, wherein the initial posture is the posture of the vehicle when it starts; obtaining the first observation posture based on the vehicle's GNSS positioning data; and obtaining the second observation posture based on the vehicle's visual sensor combined with map data.

[0014] In one possible design, obtaining the first observation posture based on the GNSS positioning data of the vehicle includes: determining whether the absolute value of the difference between the first relative posture and the second relative posture is less than a preset threshold, wherein the first relative posture is the relative posture between two adjacent frames of observation posture provided by the original GNSS positioning data, and the second relative posture is the relative posture between two frames of integral posture at corresponding moments of the two frames of observation posture; if so, obtaining the first observation posture based on the original GNSS positioning data; if not, adjusting the first covariance of the original GNSS positioning data to the first target covariance to obtain the GNSS positioning data, and obtaining the first observation posture based on the GNSS positioning data.

[0015] In one possible design, the second observation pose obtained based on the visual sensor of the vehicle in combination with the map data includes: collecting visual perception data based on the visual sensor, matching the visual perception data with the map data to obtain matching pairs, and optimizing the matching pairs to obtain residuals; judging whether the number of matching pairs is greater than or equal to a first set value, and whether the residual is less than or equal to a second set value; if the number of matching pairs is greater than or equal to the first set value, and the residual is less than or equal to the second set value, then the second covariance is not adjusted, and the second observation pose is obtained based on the visual perception data, the map data and the second covariance; if the number of matching pairs is less than the first set value, or the residual is greater than the second set value, then the second covariance is adjusted to a second target covariance, and the second observation pose is obtained based on the visual perception data, the map data and the second target covariance.

[0016] In a second aspect, the present application provides a posture determination device, the device comprising:

[0017] An acquisition module obtains the vehicle's current first integral pose, first observation pose, and second observation pose;

[0018] an interpolation module, which, when the integration moment of the first integral pose is different from the target observation moment, performs integral pose interpolation to obtain a second integral pose having the same integration moment as the target observation moment, wherein the target observation moment is an observation moment that meets a preset requirement between the first observation moment of the first observation pose and the second observation moment of the second observation pose;

[0019] a determination module, determining a target pose correction matrix based on the first observation pose, the second observation pose, the second integral pose, and the current pose correction matrix;

[0020] A positioning module obtains a positioning posture of the vehicle based on the first integral posture and the target posture correction matrix.

[0021] In one possible design, the acquisition module is specifically used to: integrate the vehicle's wheel speed and angular velocity over the vehicle's initial posture to obtain the first integrated posture, wherein the initial posture is the posture of the vehicle when it starts; obtain the first observation posture based on the vehicle's GNSS positioning data; and obtain the second observation posture based on the vehicle's visual sensor combined with map data.

[0022] In one possible design, the interpolation module is specifically used to: when the integration time of the first integral posture is later than the target observation time, perform integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time; or, when the integration time of the first integral posture is earlier than the target observation time, continue to integrate based on the first integral posture until the integration time is greater than or equal to the target observation time, perform integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time.

[0023] In one possible design, the determination module is specifically used to: multiply the second integral pose by the current pose correction matrix to obtain a predicted pose; filter the predicted pose, the first observation pose and the second observation pose to obtain a filtered pose; and calculate the target pose correction matrix based on the filtered pose and the second integral pose.

[0024] In one possible design, the interpolation module is also used to: find two frames of historical integral poses, the integration moments of the two frames of historical integral poses are respectively the moment before and the moment after the target observation moment; and interpolate the two frames of historical integral poses.

[0025] In one possible design, the device is also used to: determine whether the absolute value of the difference between the first relative posture and the second relative posture is less than a preset threshold, wherein the first relative posture is the relative posture between two adjacent frames of observation posture provided by the original GNSS positioning data, and the second relative posture is the relative posture between two frames of integral posture at corresponding moments of the two frames of observation posture; if the absolute value is less than the preset threshold, the first observation posture is obtained based on the original GNSS positioning data; if the absolute value is greater than or equal to the preset threshold, the first covariance of the original GNSS positioning data is adjusted to the first target covariance to obtain the GNSS positioning data, and the first observation posture is obtained based on the GNSS positioning data.

[0026] In one possible design, the device is further used to: collect visual perception data based on the visual sensor, match the visual perception data with the map data to obtain matching pairs, and optimize the matching pairs to obtain residuals; determine whether the number of matching pairs is greater than or equal to a first set value, and whether the residual is less than or equal to a second set value; if the number of matching pairs is greater than or equal to the first set value, and the residual is less than or equal to the second set value, then do not adjust the second covariance, and obtain the second observation pose based on the visual perception data, map data and the second covariance; if the number of matching pairs is less than the first set value, or the residual is greater than the second set value, then adjust the second covariance to a second target covariance, and obtain the second observation pose based on the visual perception data, map data and the second target covariance.

[0027] In a third aspect, the present application provides an electronic device, comprising:

[0028] Memory for storing computer programs;

[0029] The processor is used to implement the above-mentioned posture determination method steps when executing the computer program stored in the memory.

[0030] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the above-mentioned posture determination method steps.

[0031] For each of the above-mentioned aspects from the second to the fourth aspects and the technical effects that may be achieved by each of the aspects, please refer to the above-mentioned description of the technical effects that can be achieved by the first aspect or various possible solutions in the first aspect, and no further details will be given here. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] FIG1 is a schematic diagram of a posture determination method provided by the present application;

[0033] FIG2 is an algorithm diagram illustrating a posture determination method provided by the present application;

[0034] FIG3 is a schematic diagram of a posture determination device provided by the present application;

[0035] FIG4 is a schematic diagram of the structure of an electronic device provided by the present application. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solutions and advantages of this application more clear, the application will be further described in detail below with reference to the accompanying drawings. The specific operation methods in the method embodiments can also be applied to the device embodiments or system embodiments.

[0037] In the description of this application, "multiple" is understood to mean "at least two." "And / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. A and B are connected, which can mean: A and B are directly connected, and A and B are connected through C. In addition, in the description of this application, words such as "first" and "second" are used only for the purpose of distinguishing descriptions and should not be understood as indicating or implying relative importance or order.

[0038] Currently, mainstream high-precision positioning in the autonomous driving field uses a multi-sensor fusion solution that combines GNSS, IMU, visual sensors, high-precision maps, and wheel speed sensors. This solution uses an IMU or an IMU and wheel speed sensor for integration, and GNSS, visual sensors, and high-precision maps for observation. Positioning is then integrated based on the observed corrections.

[0039] Since GNSS and vision sensors require a certain amount of time to receive signals, the observation pose generated by GNSS, or the observation pose generated by the vision sensor combined with the high-precision map, may be earlier than the integrated pose in time. When the observation pose is earlier than the integrated pose in time, the positioning pose will jump back and forth or sideways, resulting in unstable final positioning results.

[0040] In order to solve the above technical problems, the present application provides a posture determination method to improve the stability and accuracy of positioning posture.

[0041] 1 is a flow chart of a method for determining a posture according to an embodiment of the present invention. The method includes the following steps 101-104:

[0042] Step 101: Obtain the vehicle's current first integral pose, first observation pose, and second observation pose.

[0043] In an embodiment of the present application, the first integral pose is obtained by integrating the wheel speed and angular velocity of the vehicle, the first observation pose is the pose provided by the global navigation satellite system GNSS, and the second observation pose is the pose provided by the vehicle's visual sensor combined with map data.

[0044] It should be noted that the pose is represented by the letter T, which is a 4×4 matrix. The specific composition of the matrix is: R is a 3×3 matrix, which represents the rotation of the carrier system to the world coordinate system, and t is a 3×1 vector, which represents the translation of the carrier system to the world coordinate system.

[0045] Specifically, the wheel speed is obtained through the wheel speed sensor, the angular velocity is provided by the inertial sensor IMU, and the initial posture of the vehicle when starting is provided by GNSS. Based on the vehicle's wheel speed and angular velocity, the first integral posture is obtained by integration recursion on the basis of the initial posture, which can be expressed by T I Represents the first integral posture, and the integral can be but is not limited to the median integral. The specific integration process is to integrate the wheel speed and angular velocity to obtain the relative posture, and multiply the relative posture with the initial posture of the vehicle to obtain the first integral posture T I .

[0046] In the embodiment of the present application, the wheel speed and angular velocity are obtained in real time, so the first integral posture T at each moment is obtained by continuous integration based on the wheel speed and angular velocity at each moment. I .

[0047] The first observation pose is provided by the vehicle's GNSS positioning data, which can be used to G Represents the first observed pose. Because GNSS positioning data provides an observed pose with a first covariance, the first covariance of the observed pose participates in the calculation of the filter gain during filtering, thereby affecting the final output positioning pose. Therefore, adjusting the first covariance as needed can reduce its impact on the filtered pose.

[0048] Specifically, the observation poses of two adjacent frames are obtained through the original GNSS positioning data, and the first relative pose between the two adjacent frames is calculated. The first relative pose can be expressed as ΔT G At the same time, the integral poses of the two adjacent frames corresponding to the observation poses of the two adjacent frames are obtained, and the second relative pose between the integral poses of the two adjacent frames is calculated. The second relative pose can be expressed as ΔT I .

[0049] For example, the observation pose T at time t is obtained through the original GNSS positioning data G t and the observation pose T at time t+1 G t+1 , calculate the first relative posture ΔT G =(T G t+1 ) -1 T G t ; At the same time, obtain the integral posture T at time t I t and the integral pose T at time t+1 I t+1 , calculate the second relative posture ΔT I =(T I t+1 )-1 T I t .

[0050] The absolute value of the difference between the first relative posture and the second relative posture is calculated based on the first relative posture and the second relative posture. G ) -1 ΔT I │, and determines whether the absolute value is less than a preset threshold. If the absolute value is less than the preset threshold, the first covariance of the raw GNSS positioning data is not adjusted, and the first observed pose is obtained based on the raw GNSS positioning data. If the absolute value is greater than or equal to the preset threshold, indicating that the observed pose provided by the raw GNSS positioning data is of low accuracy and quality, the first covariance of the raw GNSS positioning data is adjusted to the first target covariance, and the first observed pose of the GNSS positioning data is obtained.

[0051] The second observation pose is obtained by combining the vehicle's visual sensor with the map data, which can be used to M Represents the second observation pose. Specifically, visual perception data is collected by a visual sensor, and the position information of elements in the map is known. The visual perception data is matched with the map data to obtain matching pairs, and the matching pairs are optimized to obtain residuals. The optimization can be a least squares optimization. The second covariance carried by the second observation pose is adjusted according to the matching pairs and the residuals. It is determined whether the number of matching pairs is greater than or equal to the first set value, and whether the residual is less than or equal to the second set value. If the number of matching pairs is greater than or equal to the first set value, and the residual is less than or equal to the second set value, the second covariance is not adjusted, and the second observation pose is obtained based on the visual perception data combined with the map data and the second covariance. If the number of matching pairs is less than the first set value, or the residual is greater than the second set value, the second covariance is adjusted to the second target covariance, and the second observation pose is obtained based on the visual perception data combined with the map data and the second target covariance.

[0052] Step 102: When the integration moment of the first integral pose is different from the target observation moment, perform integral pose interpolation to obtain a second integral pose whose integration moment is the same as the target observation moment.

[0053] In the embodiment of the present application, the target observation time is the observation time that meets the preset requirements between the first observation time of the first observation posture and the second observation time of the second observation posture. The preset requirement can be the observation time with the smallest time value, that is, the observation time with the smallest time value between the first observation time and the second observation time is used as the target observation time. For example, the first observation time of the first observation posture is 1s, and the second observation time of the second observation posture is 2s. The time value of the first observation time is 1, which is less than the time value of the second observation time, 2, so the first observation time is used as the target observation time.

[0054] Specifically, there are two situations where the integration moment of the first integral pose is different from the target observation moment:

[0055] Case 1: The integration time of the first integral pose is later than the target observation time. For example, if the current first integral pose is the integration pose at 3 seconds, and the current observation pose is the observation pose at 1 second, then the integration time of the current first integral pose is later than the target observation time of the current observation pose.

[0056] Case 2: The integration time of the first integral pose is earlier than the target observation time. For example, if the current first integral pose is the integration pose at 2 seconds, and the current observation pose is the observation pose at 3 seconds, then the integration time of the current first integral pose is earlier than the target observation time of the current observation pose.

[0057] Whether the integration time of the first integral pose is later than the target observation time or earlier than the target observation time depends on different data transmission methods.

[0058] When the integration moment of the first integral pose is later than the target observation moment, find two frames of historical integral poses at the moment before and after the target observation moment in the time series. For example, if the integration moment of the first integral pose is 10s and the target observation moment is 9.8s, then find the historical integral pose at 9.9s and the historical integral pose at 9.7s. After finding the two frames of historical integral poses, interpolate the two frames of historical integral poses. The interpolation can be linear interpolation for position and spherical linear interpolation for posture. After interpolation, the second integral pose with the same target observation moment is obtained, which can be calculated using T I' represents the second integral pose.

[0059] When the integration moment of the first integral posture is earlier than the target observation moment, the integration is continued based on the first integral posture until the integration moment is greater than or equal to the target observation moment. For example, if the integration moment of the first integral posture is 9.8 seconds and the target observation moment is 10 seconds, the first integral posture is continued to be integrated until the integration moment is greater than or equal to 10 seconds. After that, two frames of historical integral postures are found at the moment before and after the target observation moment in the time series, and the two frames of historical integral postures are interpolated. The interpolation can be linear interpolation for position and spherical linear interpolation for posture. After interpolation, the second integral posture T that is the same as the target observation moment is obtained. I' In one embodiment, the integration time of the first integral pose is 9.8s, and the target observation time is 10s. The first integral pose is integrated continuously, for example, an integral pose with an integration time of 9.9s and an integral pose with an integration time of 10.1s are obtained. These two integral poses are interpolated to obtain a second integral pose with the same target observation time.

[0060] Step 103: Determine a target pose correction matrix based on the first observation pose, the second observation pose, the second integrated pose, and the current pose correction matrix.

[0061] Because the integration time of the current first integral pose may be later than or earlier than the target observation time, the positioning pose derived based on the current first integral pose, the first observation pose, and the second observation pose may be unstable, jumping back and forth or sideways. In view of this, the embodiment of the present application introduces a pose correction matrix to correct the first integral pose that is later than or earlier than the target observation time, so that the final positioning pose is stable and has high accuracy.

[0062] In the embodiment of the present application, the initial pose correction matrix is ​​a set matrix, which can be but is not limited to a standard matrix. The pose correction matrix is ​​dynamically updated according to the first observation pose, the second observation pose, and the second integrated pose.

[0063] Specifically, the second integral pose is multiplied by the current pose correction matrix to obtain the predicted pose, and the predicted pose, the first observation pose, and the second observation pose are input into the filter for filtering. The filter can be EKF (Extended Kalman Filter), ESKF (Error State Kalman Filter), etc., and the filtered pose can be obtained by T F represents the pose after filtering.

[0064] Based on the filtered pose T F and the second integral pose T I' , calculate the target pose correction matrix, that is, update the pose correction matrix. The specific calculation formula is as follows:

[0065] ΔT=T F (T I' ) -1 ;

[0066] Among them, ΔT is the target pose correction matrix, T F is the filtered pose, T I' is the second integral pose.

[0067] Step 104: Based on the first integral pose and the target pose correction matrix, the positioning pose of the vehicle is obtained.

[0068] In the embodiment of the present application, after obtaining the target posture correction matrix ΔT, the first integral posture T I And the target posture correction matrix ΔT, the positioning posture of the vehicle is obtained. The specific formula for calculating the positioning posture is as follows:

[0069] T=ΔT T I ;

[0070] Among them, T is the positioning posture, ΔT is the target posture correction matrix, that is, the posture correction matrix corresponding to the current first integral posture, T I is the current first integral pose.

[0071] In an embodiment of the present application, the use of a posture correction matrix can ensure that no matter whether the observed posture is earlier or later than the current first integral posture in time, the final positioning posture will not jump, thereby improving the stability and accuracy of the positioning results.

[0072] See Figure 2, which illustrates an algorithm for determining a pose according to an embodiment of the present invention. This algorithm is primarily applicable to scenarios where the observed pose is observed later or earlier than the integrated pose. As shown in Figure 2, the algorithm can be divided into three parts: integration, observation, and correction.

[0073] The integral part is a specific algorithm for determining the first integral pose.

[0074] Taking the IMU + wheel speed integration as an example, the IMU provides angular velocity, and the GNSS provides the initial pose at vehicle start. The relative pose is integrated based on the angular velocity and wheel speed. The relative pose is multiplied by the initial pose to obtain the first integrated pose. This integration process continues as long as it receives angular velocity and wheel speed information, updating the first integrated pose.

[0075] The observation part is a specific algorithm for determining the observation pose. The observation pose is divided into the first observation pose provided by GNSS positioning data and the second observation pose provided by visual perception data and map data.

[0076] When the first observation pose is provided based on GNSS, the first relative pose ΔT of the two adjacent frames of observation pose provided by GNSS positioning data will be calculated. G The second relative pose ΔT of the two frames of integral pose at the corresponding time I The absolute value of the difference │(ΔT G ) -1 ΔT I │To adjust the first covariance of the original GNSS positioning data. If the absolute value│(ΔT G ) -1 ΔT I │ is less than the preset threshold, the first covariance of the original GNSS positioning data is not adjusted, and the first observation pose is provided based on the original GNSS positioning data; if the absolute value│(ΔT G ) -1 ΔT I│If it is greater than or equal to a preset threshold, the first covariance of the original GNSS positioning data is adjusted to the first target covariance, and the GNSS positioning data is obtained to provide a first observation pose.

[0077] When providing a second observation pose based on visual perception data and map data, the visual perception data and the map data are matched to obtain matching pairs, and the matching pairs are optimized by least squares, and the optimized residuals are obtained. The second covariance carried by the second observation pose is adjusted according to the matching pairs and the residuals. It is determined whether the number of matching pairs is greater than or equal to the first set value, and whether the residual is less than or equal to the second set value. If the number of matching pairs is greater than or equal to the first set value, and the residual is less than or equal to the second set value, the second covariance is not adjusted, and the second observation pose is obtained based on the visual perception data combined with the map data and the second covariance. If the number of matching pairs is less than the first set value, or the residual is greater than the second set value, the second covariance is adjusted to the second target covariance, and the second observation pose is obtained based on the visual perception data combined with the map data and the second target covariance. The above-mentioned first observation pose and second observation pose are collectively referred to as observation pose.

[0078] The correction part is the algorithm to determine the pose correction matrix.

[0079] When the observed pose is earlier than the current first integral pose, the two historical integral poses closest in time sequence to the target observation time are found. The target observation time is the first observation time corresponding to the first observation pose and the second observation time corresponding to the second observation pose, which are later than the earlier observation time in time sequence. After finding the two historical integral poses, they are interpolated. This interpolation can use linear interpolation for position and spherical linear interpolation for pose. After interpolation, the second integral pose is the same as the target observation time.

[0080] If the observed pose is later than the current first integral pose, integration continues based on the first integral pose until the integration time is greater than or equal to the target observation time. The two closest historical integral poses around the target observation time are then found and interpolated. This interpolation can be done using linear interpolation for position and spherical linear interpolation for pose, resulting in a second integral pose identical to the target observation time.

[0081] The second integral pose is multiplied by the current pose correction matrix to obtain the predicted pose, and the predicted pose, the first observation pose and the second observation pose are input into the filter for filtering to obtain the filtered pose. Then, based on the filtered pose T F and the second integral pose T I' , calculate and update the posture correction matrix, the calculation formula is: ΔT=T F (TI' ) -1 . Using the first integral pose T I And the latest posture correction matrix ΔT, calculate the positioning posture T, the calculation formula is: T = ΔT T I .

[0082] Based on the algorithm of the posture determination method provided above, a positioning posture with high stability and high precision can be obtained, ensuring that the output positioning result will not fluctuate.

[0083] Based on the same inventive concept, the present application also provides a posture determination device for improving the stability and accuracy of positioning. Referring to FIG3 , the device includes:

[0084] An acquisition module 301 acquires a first integrated pose, a first observed pose, and a second observed pose of the vehicle, wherein the first observed pose is a pose provided by a global navigation satellite system (GNSS), and the second observed pose is a pose provided by a visual sensor in combination with map data;

[0085] An interpolation module 302 performs integral pose interpolation when the integration time of the first integral pose is different from the target observation time to obtain a second integral pose having the same integration time as the target observation time, wherein the target observation time is an observation time that meets a preset requirement between the first observation time of the first observation pose and the second observation time of the second observation pose;

[0086] A determination module 303 determines a target pose correction matrix based on the first observation pose, the second observation pose, the second integral pose, and the current pose correction matrix;

[0087] The positioning module 304 obtains the positioning pose of the vehicle based on the first integral pose and the target pose correction matrix.

[0088] In one possible design, the acquisition module 301 is specifically used to: integrate the wheel speed and angular velocity of the vehicle over the initial posture of the vehicle to obtain the first integrated posture, wherein the initial posture is the posture of the vehicle when it starts; obtain the first observation posture based on the GNSS positioning data of the vehicle; and obtain the second observation posture based on the vehicle's visual sensor combined with map data.

[0089] In one possible design, the interpolation module 302 is specifically used to: when the integration time of the first integral posture is later than the target observation time, perform integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time; or, when the integration time of the first integral posture is earlier than the target observation time, continue to integrate based on the first integral posture until the integration time is greater than or equal to the target observation time, perform integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time.

[0090] In one possible design, the determination module 303 is specifically used to: multiply the second integral pose by the current pose correction matrix to obtain a predicted pose; filter the predicted pose, the first observation pose and the second observation pose to obtain a filtered pose; and calculate the target pose correction matrix based on the filtered pose and the second integral pose.

[0091] In one possible design, the interpolation module 302 is also used to: find two frames of historical integral poses, where the integration moments of the two frames of historical integral poses are respectively the moment before and the moment after the target observation moment; and interpolate the two frames of historical integral poses.

[0092] In one possible design, the device is also used to: determine whether the absolute value of the difference between the first relative posture and the second relative posture is less than a preset threshold, wherein the first relative posture is the relative posture between two adjacent frames of observation posture provided by the original GNSS positioning data, and the second relative posture is the relative posture between two frames of integral posture at corresponding moments of the two frames of observation posture; if so, the first covariance of the original GNSS positioning data is not adjusted, and the first observation posture is obtained based on the original GNSS positioning data; if not, the first covariance of the original GNSS positioning data is adjusted to the first target covariance to obtain the GNSS positioning data, and the first observation posture is obtained based on the GNSS positioning data.

[0093] In one possible design, the device is also used to: collect visual perception data based on the visual sensor, match the visual perception data with the map data to obtain matching pairs, and optimize the matching pairs to obtain residuals; determine whether the number of matching pairs is greater than or equal to a first set value, and whether the residual is less than or equal to a second set value; if so, do not adjust the second covariance, and obtain the second observation posture based on the visual perception data, map data and the second covariance; if not, adjust the second covariance to a second target covariance, and obtain the second observation posture based on the visual perception data, map data and the second target covariance.

[0094] Based on the same inventive concept, an embodiment of the present application further provides an electronic device that can implement the functions of the aforementioned apparatus for determining a posture. Referring to FIG4 , the electronic device includes:

[0095] At least one processor 401, and a memory 402 connected to at least one processor 401. In the embodiments of the present application, the specific connection medium between the processor 401 and the memory 402 is not limited. FIG4 takes the connection between the processor 401 and the memory 402 via the bus 400 as an example. The bus 400 is represented by a bold line in FIG4, and the connection between other components is only for schematic illustration and is not intended to be limiting. The bus 400 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, FIG4 only uses a bold line to represent it, but this does not mean that there is only one bus or one type of bus. Alternatively, the processor 401 can also be called a controller, and there is no limitation on the name.

[0096] In the embodiment of the present application, memory 402 stores instructions executable by at least one processor 401. At least one processor 401 can perform the pose determination method discussed above by executing the instructions stored in memory 402. Processor 401 can implement the functions of each module in the apparatus shown in Figure 3.

[0097] Among them, the processor 401 is the control center of the device, which can use various interfaces and lines to connect the various parts of the entire control device, and monitor the device as a whole by running or executing instructions stored in the memory 402 and calling data stored in the memory 402, the various functions of the device and processing data.

[0098] In one possible design, processor 401 may include one or more processing units. Processor 401 may integrate an application processor and a modem processor. The application processor primarily processes the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 401. In some embodiments, processor 401 and memory 402 may be implemented on the same chip. In some embodiments, they may also be implemented on separate chips.

[0099] The processor 401 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the posture determination method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor.

[0100] The memory 402 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 402 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 402 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 402 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.

[0101] By designing and programming the processor 401, the code corresponding to the posture determination method described in the aforementioned embodiment can be fixed into the chip, so that the chip can execute the steps of the posture determination method of the embodiment shown in Figure 1 during operation. How to design and program the processor 401 is a technique well known to those skilled in the art and will not be described in detail here.

[0102] Based on the same inventive concept, an embodiment of the present application further provides a storage medium storing computer instructions. When the computer instructions are executed on a computer, the computer executes the posture determination method discussed above.

[0103] In some possible implementations, various aspects of the posture determination method provided in the present application can also be implemented in the form of a program product, which includes program code. When the program product is run on the device, the program code is used to enable the control device to execute the steps of the posture determination method according to various exemplary embodiments of the present application described above in this specification.

[0104] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0105] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

[0106] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0107] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0108] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.

Claims

1. A method for determining a posture, comprising: Obtain the vehicle's current first integral pose, first observation pose, and second observation pose; When the integration time of the first integral posture is different from the target observation time, performing integral posture interpolation to obtain a second integral posture whose integration time is the same as the target observation time, wherein the target observation time is the observation time that meets the preset requirements between the first observation time of the first observation posture and the second observation time of the second observation posture; Determine a target posture correction matrix according to the first observation posture, the second observation posture, the second integrated posture and the current posture correction matrix; Based on the first integral posture and the target posture correction matrix, a positioning posture of the vehicle is obtained.

2. The method according to claim 1, characterized in that When the integration time of the first integral posture is different from the target observation time, performing integral posture interpolation to obtain a second integral posture with the same integration time as the target observation time includes: When the integration time of the first integral posture is later than the target observation time, performing integral posture interpolation to obtain the second integral posture with the same integration time as the target observation time; or, When the integration time of the first integral posture is earlier than the target observation time, integration is continued based on the first integral posture until the integration time is greater than or equal to the target observation time, and integral posture interpolation is performed to obtain the second integral posture whose integration time is the same as the target observation time.

3. The method according to claim 1, characterized in that Determining the target posture correction matrix according to the first observation posture, the second observation posture, the second integrated posture and the current posture correction matrix includes: Multiplying the second integral pose by the current pose correction matrix to obtain a predicted pose; Filtering the predicted posture, the first observed posture, and the second observed posture to obtain a filtered posture; The target posture correction matrix is ​​calculated based on the filtered posture and the second integrated posture.

4. The method according to claim 2, characterized in that The integral pose interpolation comprises: Find two frames of historical integral poses, where the integral moments of the two frames of historical integral poses are respectively the moment before and the moment after the target observation moment; The two frames of historical integral poses are interpolated.

5. The method according to claim 1, characterized in that The obtaining of the current first integral posture, first observation posture and second observation posture of the vehicle comprises: Based on the integration of the wheel speed and angular velocity of the vehicle on the initial position of the vehicle, the first product The initial posture is the posture of the vehicle when it starts. Obtaining the first observation posture based on the GNSS positioning data of the vehicle; The second observation posture is obtained based on the visual sensor of the vehicle in combination with map data.

6. The method according to claim 5, characterized in that The obtaining the first observation posture based on the GNSS positioning data of the vehicle includes: Determine whether the absolute value of the difference between the first relative posture and the second relative posture is less than a preset threshold, wherein the first relative posture is the relative posture between two adjacent frames of observation posture provided by the original GNSS positioning data, and the second relative posture is the relative posture between two frames of integral posture at corresponding moments of the two frames of observation posture; If the absolute value is less than a preset threshold, the first covariance of the original GNSS positioning data is not adjusted, and the first observation posture is obtained based on the original GNSS positioning data; If the absolute value is greater than or equal to a preset threshold, the first covariance of the original GNSS positioning data is adjusted to a first target covariance to obtain the GNSS positioning data, and the first observation posture is obtained based on the GNSS positioning data.

7. The method according to claim 5, characterized in that The obtaining the second observation posture based on the visual sensor of the vehicle in combination with map data includes: Collecting visual perception data based on the visual sensor, matching the visual perception data with the map data to obtain a matching pair, and optimizing the matching pair to obtain a residual; Determine whether the number of matching pairs is greater than or equal to a first set value, and whether the residual is less than or equal to a second set value; If the number of the matching pairs is greater than or equal to the first set value, and the residual is less than or equal to the second set value, the second covariance is not adjusted, and the second observation pose is obtained based on the visual perception data, the map data, and the second covariance; If the number of matching pairs is less than the first set value, or the residual is greater than the second set value, the second covariance is adjusted to a second target covariance, and the second observation pose is obtained based on the visual perception data, the map data and the second target covariance.

8. A posture determination device, comprising: An acquisition module is used to acquire a first integral posture, a first observation posture and a second observation posture of the vehicle, wherein the first observation posture is a posture provided by a global navigation satellite system GNSS, and the second observation posture is a posture provided by a visual sensor combined with map data; An interpolation module is configured to interpolate the integral posture when the integral time of the first integral posture is different from the target observation time to obtain a second integral posture with the same integral time as the target observation time, wherein the target observation time The moment is an observation moment that meets a preset requirement between a first observation moment of the first observation posture and a second observation moment of the second observation posture; A determination module, which determines a target posture correction matrix according to the first observation posture, the second observation posture, the second integral posture and the current posture correction matrix; A positioning module obtains a positioning posture of the vehicle based on the first integral posture and the target posture correction matrix.

9. An electronic device, comprising: Memory, used to store computer programs; A processor, configured to implement the method steps of any one of claims 1 to 7 when executing the computer program stored in the memory.

10. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, the method steps described in any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Driving equipment positioning method and device, equipment and storage medium

    CN112880674A

  • Vehicle pose obtaining method and device based on vehicle-mounted multi-perception fusion

    CN113984044A

  • Visual inertial navigation odometer pose calibration method and system based on GNSS (Global Navigation Satellite System) data

    CN115900766A

  • Robot positioning method and device, electronic equipment and storage medium

    CN116626700A

  • Vehicle pose determination method, device and equipment

    CN116753949A

Cited By

  • Electromagnetic locator sensor sensitivity correction method and device

    CN121185335A