Pose determination method and device and electronic equipment
By acquiring and interpolation of the vehicle's position data in the autonomous driving system and using the position correction matrix for correction, the problem of GNSS and visual sensor signal reception time lag is solved, and the stability and accuracy of the positioning position posture are improved.
Patent Information
- Application Number
- CN202311649959.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-04
- Publication Date
- 2025-06-06
AI Technical Summary
In autonomous driving technology, there is a time lag in signal reception of GNSS and vision sensors, resulting in a forward and backward jump or horizontal jump in positioning posture, which makes the positioning result unstable.
By obtaining the vehicle's current integral position, observation position and interpolated integral position, the position correction matrix is used to correct it to ensure that the integral position and observation position time are consistent, thereby stably positioning.
The stability and accuracy of positioning postures are improved, the posture jump caused by time lag is avoided, and the accuracy of the final positioning results is ensured.
Smart Images

Figure CN120103404A_ABST
Abstract
Description
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 equipment. Background Art
[0002] At present, the mainstream high-precision positioning in the field of autonomous driving uses the Global Navigation Satellite System (GNSS), inertial sensors (IMU), visual sensors and high-precision maps or a multi-sensor fusion solution combining GNSS, IMU, wheel speed sensors, visual sensors and high-precision maps. It uses IMU or IMU and wheel speed sensors for integration, uses GNSS, visual sensors and high-precision maps for observation, and performs integrated positioning based on the observation correction.
[0003] Since GNSS and visual sensors need a certain amount of time to receive signals, the observation pose generated by GNSS, or the observation pose generated by the visual sensor combined with the high-precision map, lags behind the integrated pose in time. When the observation pose lags behind the integrated pose in time, the positioning pose will jump back and forth or sideways, resulting in unstable final positioning results. Summary of the invention
[0004] The present application provides a posture determination method, device and electronic equipment to improve the stability and accuracy of positioning posture.
[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 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;
[0008] 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;
[0009] Based on the first integral posture and the target posture correction matrix, a positioning posture of the vehicle is obtained.
[0010] In one possible design, 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 includes: when the integration time of the first integral posture is ahead of the target observation time, performing 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 lags behind the target observation time, continuing to integrate based on the first integral posture until the integration time is greater than or equal to the target observation time, performing integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time.
[0011] In one possible design, determining the target pose correction matrix based on the first observed pose, the second observed pose, the second integral pose and the current pose correction matrix includes: multiplying the second integral pose with the current pose correction matrix to obtain a predicted pose; filtering the predicted pose, the first observed pose and the second observed 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 a 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 are 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 GNSS of the vehicle; 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 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 initial GNSS, 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 initial GNSS; if not, adjusting the first covariance of the initial GNSS to the first target covariance to obtain the GNSS, and obtaining the first observation posture based on the GNSS.
[0015] In one possible design, the second observation posture 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 so, not adjusting the second covariance, and obtaining the second observation posture based on the visual perception data, the map data and the second covariance; if not, adjusting the second covariance to a second target covariance, and obtaining the second observation posture 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 is used to acquire the current first integral posture, first observation posture and second observation posture of the vehicle;
[0018] an interpolation module, which performs integral posture interpolation when the integration moment of the first integral posture is different from the target observation moment, to obtain a second integral posture whose integration moment is the same as the target observation moment, wherein the target observation 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;
[0019] 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;
[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 a possible design, the acquisition module is specifically used to: obtain the first integrated posture based on the wheel speed and angular velocity of the vehicle over the initial posture of the vehicle, wherein the initial posture is the posture of the vehicle when starting; obtain the first observed posture based on the GNSS of the vehicle; and obtain the second observed posture based on the visual sensor of the vehicle 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 ahead of 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 lags behind 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, and 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 posture by the current posture correction matrix to obtain a predicted posture; filter the predicted posture, the first observed posture and the second observed posture to obtain a filtered posture; and calculate the target posture correction matrix based on the filtered posture and the second integral posture.
[0024] In a possible design, the interpolation module is also used to: find two frames of historical integral postures, the integration moments of the two frames of historical integral postures are respectively the moment before and the moment after the target observation moment; and interpolate the two frames of historical integral postures.
[0025] In a 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 initial GNSS, 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 initial GNSS; if not, adjusting the first covariance of the initial GNSS to the first target covariance to obtain the GNSS, and obtaining the first observation posture based on the GNSS.
[0026] In a 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, the 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, the map data and the second target covariance.
[0027] In a third aspect, the present application provides an electronic device, the electronic device comprising:
[0028] Memory, used to store 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, in which a computer program is stored. When the computer program is executed by a processor, the above-mentioned posture determination method steps are implemented.
[0031] For each aspect from the second to the fourth aspect and the technical effects that may be achieved by each aspect, please refer to the above description of the technical effects that can be achieved by the first aspect or various possible schemes in the first aspect, and no further details will be given here. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 A schematic diagram of a posture determination method provided in this application;
[0033] Figure 2 An algorithm diagram illustrating a method for determining a posture provided in this application;
[0034] Figure 3 A schematic diagram of a posture determination device provided in this application;
[0035] Figure 4 A schematic diagram of the structure of an electronic device provided in this application. DETAILED DESCRIPTION
[0036] In order to make the purpose, technical solution and advantages of the present application more clear, the present application will be further described in detail below in conjunction with the accompanying drawings. The specific operation method in the method embodiment can also be applied to the device embodiment or the system embodiment.
[0037] In the description of this application, "multiple" is understood to be "at least two". "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. A is connected to B, which can represent two situations: A is directly connected to B and A is connected to B through C. In addition, in the description of this application, words such as "first" and "second" are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.
[0038] See also Figure 1 As shown, it is a flow chart of the posture determination method provided in the embodiment of the present application, and the specific implementation process of the method is as follows:
[0039] Step 101: Obtain the current first integral posture, first observation posture and second observation posture of the vehicle;
[0040] In an embodiment of the present application, the first integral posture is obtained by integrating the wheel speed and angular velocity of the vehicle, the first observation posture is the observation posture provided by the global navigation satellite system GNSS, and the second observation posture is the observation posture provided by the vehicle's visual sensor combined with map data.
[0041] It should be noted that the posture correlation 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.
[0042] 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 the GNSS. Based on the wheel speed and angular velocity of the vehicle, the first integral posture is obtained by integration recursion based on the initial posture, which can be used to calculate the initial posture. I The first integral posture is represented by the integral which can be but 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 by the initial posture of the vehicle to obtain the first integral posture T I .
[0043] 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 continuously integrating the wheel speed and angular velocity at each moment. I .
[0044] The vehicle’s GNSS provides the first observation pose, which can be used to G Represents the first observed pose. Because GNSS can provide observed poses with the first covariance, when the observed pose is filtered, the first covariance will disturb the filtered pose, thereby affecting the accuracy of the final output positioning pose. Therefore, the first covariance needs to be adjusted to reduce the disturbance of the first covariance to the filtered pose.
[0045] Specifically, the initial GNSS is used to obtain the observation poses of two adjacent frames, and the first relative pose between the observation poses of the two adjacent frames is calculated. The first relative pose can be expressed as ΔT G , and simultaneously obtain the two adjacent frames of integral poses at the corresponding moments of the two adjacent frames of observation poses, and calculate the second relative pose between the two adjacent frames of integral poses. The second relative pose can be expressed as ΔT I .
[0046] For example, the observation pose T at time t is obtained through the initial GNSS Gt and the observed position 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 posture T at time t+1 I t+1 , calculate the second relative posture ΔT I =(T I t+1 ) -1 T I t .
[0047] 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 determine 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 initial GNSS is not adjusted, and the first observation pose is obtained based on the initial GNSS; if the absolute value is greater than or equal to the preset threshold, it means that the observation pose provided by the initial GNSS is not accurate and of poor quality, then the first covariance of the initial GNSS is adjusted to the first target covariance to obtain the first observation pose of the GNSS.
[0048] 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.
[0049] Step 102: When the integration time of the first integral pose is different from the target observation time, performing integral pose interpolation to obtain a second integral pose having the same integration time as the target observation time;
[0050] 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 the 1st second, and the second observation time of the second observation posture is the 2nd second. 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.
[0051] Specifically, there are two situations where the integration time of the first integral pose is different from the target observation time:
[0052] Case 1: The integration time of the first integral pose is ahead of the target observation time. For example, if the current first integral pose is the integration pose at the 3rd second, and the current observation pose is the observation pose at the 1st second, then the integration time of the current first integral pose is ahead of the target observation time of the current observation pose.
[0053] Case 2: The integration time of the first integral pose lags behind the target observation time. For example, if the current first integral pose is the integration pose at the 2nd second, and the current observation pose is the observation pose at the 3rd second, then the integration time of the current first integral pose lags behind the target observation time of the current observation pose.
[0054] Whether the integration moment of the first integral posture is ahead of the target observation moment or lags behind the target observation moment depends on different data transmission methods.
[0055] When the integration time of the first integral pose is ahead of the target observation time, find two frames of historical integral poses at the time before and after the target observation time in the time series. For example, if the integration time of the first integral pose is 10s and the target observation time 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 that is the same as the target observation time is obtained, which can be calculated by T I' represents the second integral pose.
[0056] When the integration time of the first integral pose lags behind the target observation time, the integration is continued based on the first integral pose until the integration time is greater than or equal to the target observation time. For example, the integration time of the first integral pose is 9.8s and the target observation time is 10s, then the first integral pose is continued to be integrated until the integration is greater than or equal to 10s, and two frames of historical integral poses before and after the target observation time in the time series are found, and the two frames of historical integral poses are interpolated. The interpolation can be linear interpolation for position and spherical linear interpolation for posture. After interpolation, the second integral pose T that is the same as the target observation time is obtained. I' .
[0057] Step 103: determining a target posture correction matrix according to the first observed posture, the second observed posture, the second integrated posture and the current posture correction matrix;
[0058] Because the integration time of the current first integral posture may be ahead of or behind the target observation time, the positioning posture obtained based on the current first integral posture, the first observation posture and the second observation posture may jump back and forth or jump sideways. In view of this, a posture correction matrix is introduced in the embodiment of the present application to correct the first integral posture that is ahead of or behind the target observation time, so that the final positioning posture is stable and has high accuracy.
[0059] In the embodiment of the present application, the initial posture correction matrix is a set matrix, which can be but is not limited to a standard matrix. The posture correction matrix is dynamically updated according to the first observed posture, the second observed posture and the second integrated posture.
[0060] Specifically, the second integral pose is multiplied by the current pose correction matrix to obtain a predicted pose, and the predicted pose, the first observed pose, and the second observed pose are input into a filter for filtering. The filter may be an EKF (Extended Kalman Filter), an ESKF (Error State Kalman Filter), etc., to obtain a filtered pose, which can be obtained by T F Represents the pose after filtering.
[0061] 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:
[0062] ΔT=T F (T I' ) -1 ;
[0063] Among them, ΔT is the target posture correction matrix, TF is the filtered pose, T I' is the second integral pose.
[0064] Step 104: Based on the first integral pose and the target pose correction matrix, the positioning pose of the vehicle is obtained.
[0065] 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:
[0066] T=ΔT T I ;
[0067] 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.
[0068] In the embodiment of the present application, the use of the posture correction matrix can ensure that no matter whether the observed posture lags behind the current first integral posture or leads the current first integral posture in time, the final positioning posture will not jump, thereby improving the stability and accuracy of the positioning result.
[0069] See also Figure 2 As shown in FIG. 1 , it is an algorithm diagram of a posture determination method provided in an embodiment of the present application. The algorithm is mainly applied to the scene where the observation time of the observation posture is ahead of or behind the integration time of the integral posture. Figure 2 As shown, the algorithm can be divided into three parts: integration, observation and correction.
[0070] The integral part is a specific algorithm for determining the first integral pose.
[0071] Taking IMU+wheel speed integration as an example, IMU provides angular velocity, GNSS provides the initial posture when the vehicle starts, and the relative posture is obtained by integrating the angular velocity and wheel speed. The relative posture is multiplied by the initial posture to obtain the first integral posture. As long as the integral part continues to receive angular velocity and wheel speed information, it will continue to integrate and update the first integral posture.
[0072] The observation part is a specific algorithm for determining the observation pose. The observation pose is divided into a first observation pose provided by GNSS data and a second observation pose provided by visual perception data and map data.
[0073] 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 is calculated. G The second relative posture ΔT of the two frame integral postures at the corresponding timeI The absolute value of the difference between G ) -1 ΔT I │To adjust the first covariance of the initial GNSS. If the absolute value│(ΔT G ) -1 ΔT I │ is less than the preset threshold, the first covariance of the initial GNSS is not adjusted, and the first observation pose is provided based on the initial GNSS; 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 initial GNSS is adjusted to the first target covariance, and the first observation posture provided by the GNSS is obtained.
[0074] When providing a second observation pose based on visual perception data and map data, the visual perception data is matched with the map data to obtain a matching pair, and the matching pair is optimized by least squares, and the optimized residual is obtained, and the second covariance carried by the second observation pose is adjusted according to the matching pair and the residual. It is judged 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.
[0075] The correction part is the algorithm to determine the pose correction matrix.
[0076] When the observed posture lags behind the current first integral posture in time, find the two frames of historical integral posture closest to the target observation time in the time series. The target observation time is the observation time that is ahead of the first observation posture and the second observation posture in the time series. After finding the two frames of historical integral posture, interpolate the two frames of historical integral posture. The interpolation can be linear interpolation for position and spherical linear interpolation for posture. After interpolation, the second integral posture that is the same as the target observation time is obtained.
[0077] When the observed posture is ahead of the current first integral posture in time, integration continues based on the first integral posture until the integration time is greater than or equal to the target observation time, and then the two frames of historical integral posture closest to the target observation time in the time series are found, and these two frames of historical integral posture are interpolated. The interpolation can be linear interpolation for position and spherical linear interpolation for posture. After interpolation, the second integral posture that is the same as the target observation time is obtained.
[0078] The second integral pose is multiplied by the current pose correction matrix to obtain the predicted pose, and the predicted pose, the first observed pose, and the second observed 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 (T I' ) -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 .
[0079] 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.
[0080] Based on the same inventive concept, the present application also provides a posture determination device to improve the stability and accuracy of the positioning position, see Figure 3 As shown, the device comprises:
[0081] An acquisition module 301 is configured to acquire a first integral posture, a first observation posture, and a second observation posture of the vehicle, wherein the first observation posture is an observation posture provided by a global navigation satellite system GNSS, and the second observation posture is an observation posture provided by a visual sensor in combination with map data;
[0082] An interpolation module 302 performs an integral posture interpolation when the integral moment of the first integral posture is different from the target observation moment to obtain a second integral posture whose integral moment is the same as the target observation moment, wherein the target observation 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;
[0083] A determination module 303 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;
[0084] The positioning module 304 obtains the positioning posture of the vehicle based on the first integral posture and the target posture correction matrix.
[0085] In a possible design, the acquisition module 301 is specifically used to: obtain the first integrated posture based on the wheel speed and angular velocity of the vehicle over the initial posture of the vehicle, wherein the initial posture is the posture of the vehicle when starting; obtain the first observed posture based on the GNSS of the vehicle; and obtain the second observed posture based on the vehicle's visual sensor combined with map data.
[0086] In one possible design, the interpolation module 302 is specifically used to: when the integration time of the first integral posture is ahead of 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 lags behind 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, and perform integral posture interpolation to obtain the second integral posture whose integration time is the same as the target observation time.
[0087] In one possible design, the determination module 303 is specifically used to: multiply the second integral posture by the current posture correction matrix to obtain a predicted posture; filter the predicted posture, the first observed posture and the second observed posture to obtain a filtered posture; and calculate the target posture correction matrix based on the filtered posture and the second integral posture.
[0088] In a possible design, the interpolation module 302 is also used to: find two frames of historical integral postures, the integration moments of the two frames of historical integral postures are respectively the moment before and the moment after the target observation moment; and interpolate the two frames of historical integral postures.
[0089] In a 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 initial GNSS, 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 initial GNSS is not adjusted, and the first observation posture is obtained based on the initial GNSS; if not, the first covariance of the initial GNSS is adjusted to the first target covariance to obtain the GNSS, and the first observation posture is obtained based on the GNSS.
[0090] In a 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, the 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, the map data and the second target covariance.
[0091] Based on the same inventive concept, an electronic device is also provided in an embodiment of the present application, and the electronic device can realize the function of the aforementioned apparatus for determining a posture, referring to Figure 4 , the electronic device comprises:
[0092] At least one processor 401, and a memory 402 connected to the at least one processor 401. The specific connection medium between the processor 401 and the memory 402 is not limited in the embodiment of the present application. Figure 4 In the example, the processor 401 and the memory 402 are connected via the bus 400. The bus 400 is Figure 4 The connection between other components is shown by bold lines, 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, Figure 4 Only one thick line is used in the figure, but it 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.
[0093] In the embodiment of the present application, the memory 402 stores instructions that can be executed by at least one processor 401. The at least one processor 401 can execute the posture determination method discussed above by executing the instructions stored in the memory 402. The processor 401 can implement Figure 3 The functions of each module in the device shown.
[0094] Among them, the processor 401 is the control center of the device, and can use various interfaces and lines to connect the various parts of the entire control device. By running or executing instructions stored in the memory 402 and calling the data stored in the memory 402, the various functions of the device and process data, the device can be monitored as a whole.
[0095] In one possible design, the processor 401 may include one or more processing units, and the processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the modem processor may not be integrated into the processor 401. In some embodiments, the processor 401 and the memory 402 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on separate chips.
[0096] The processor 401 may 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 may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the posture determination method disclosed in the embodiments of the present application 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.
[0097] 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.
[0098] By designing and programming the processor 401, the code corresponding to the posture determination method described in the above embodiment can be fixed into the chip, so that the chip can execute the code when running. Figure 1Steps of the posture determination method of the embodiment shown. How to design and program the processor 401 is a technique known to those skilled in the art and will not be described in detail here.
[0099] Based on the same inventive concept, an embodiment of the present application also provides a storage medium, which stores computer instructions. When the computer instructions are executed on a computer, the computer executes the posture determination method discussed above.
[0100] 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 a program code. When the program product is run on an apparatus, 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.
[0101] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the present application may 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 may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0102] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0103] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0104] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0105] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for determining a posture, It is characterized in that The method comprises: 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, It is 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 ahead of 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 lags behind 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, It is 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, It is 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, It is characterized in that The obtaining of the current first integral posture, first observation posture and second observation posture of the vehicle comprises: Integrating the initial posture of the vehicle based on the wheel speed and angular velocity of the vehicle to obtain the first integrated posture, wherein the initial posture is the posture of the vehicle when starting; Obtaining the first observation posture based on the GNSS 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, It is characterized in that The obtaining the first observation posture based on the GNSS 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 initial GNSS, 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 yes, then the first covariance of the initial GNSS is not adjusted, and the first observation pose is obtained based on the initial GNSS; If not, the first covariance of the initial GNSS is adjusted to a first target covariance to obtain the GNSS, and the first observation posture is obtained based on the GNSS.
7. The method according to claim 5, It is 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 yes, 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 not, the second covariance is adjusted to a second target covariance, and the second observation posture is obtained based on the visual perception data, the map data and the second target covariance.
8. A posture determination device, It is characterized in that The device comprises: 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 an observation posture provided by a global navigation satellite system GNSS, and the second observation posture is an observation posture provided by a visual sensor combined with map data; an interpolation module, which performs integral posture interpolation when the integration moment of the first integral posture is different from the target observation moment, to obtain a second integral posture whose integration moment is the same as the target observation moment, wherein the target observation 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, It is characterized in that include: 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, It is characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in any one of claims 1 to 7 are implemented.