IMU installation angle calibration method and device for flying car and flying car

By combining IMU acceleration data and navigation data of other navigation equipment for matrix transformation and linear regression analysis, the accuracy and stability problems of IMU installation angle calibration in flying cars are solved, and simpler and more accurate IMU installation angle calibration is achieved.

CN115683165BActive Publication Date: 2025-08-22GUANGDONG HUITIAN AEROSPACE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211355485.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-01
Publication Date
2025-08-22
Estimated Expiration
2042-11-01

Smart Images

  • Figure CN115683165B_ABST
    Figure CN115683165B_ABST
Patent Text Reader

Abstract

The present application relates to a method, device, and flying car for calibrating the IMU installation angle of a flying car. The method includes: obtaining acceleration data from the IMU and navigation data from other navigation devices outside the IMU after the flying car flies along a preset motion trajectory; determining the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and navigation data respectively; performing matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively to obtain the corresponding velocity increment sequence of the flying car in the carrier coordinate system; performing linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix; and determining the IMU installation angle based on the IMU installation angle rotation matrix and the regression coefficient transformation matrix. The solution provided by the present application can more simply and accurately calibrate the IMU installation angle of a flying car.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of flying cars, and in particular to a method and device for calibrating the IMU installation angle of a flying car, and a flying car. Background Art

[0002] In vehicle navigation technology, GNSS (Global Navigation Satellite System) and IMU (Inertial Measurement Unit) are generally used to locate the vehicle.

[0003] Navigation generally requires the installation angle between the IMU and a device, such as a vehicle, also known as the IMU installation angle. Currently, IMU installation angle measurements primarily include manual measurement, accelerometer static estimation, gyroscope dynamic estimation, and Kalman filter estimation. Manual measurement offers high accuracy but is also challenging to implement. Accelerometer static estimation and gyroscope dynamic estimation are common in the automotive and robotics fields, but their application is often limited to motion within a single plane. For example, accelerometer static estimation can only estimate pitch and roll angles, while gyroscope dynamic estimation can only be performed on a horizontal plane, making them inapplicable to certain devices. For example, since flying cars can move freely in three-dimensional space, accelerometer static estimation and gyroscope dynamic estimation are not well suited for them. Kalman filter estimation is challenging to model, and in situations where the installation angle deviates significantly, estimation divergence may occur, leading to installation angle estimation failure.

[0004] Therefore, it is necessary to provide an IMU installation angle calibration method suitable for flying cars, so as to achieve the calibration of the IMU installation angle of the flying car more simply and accurately. Summary of the Invention

[0005] In order to solve or partially solve the problems existing in the related art, the present application provides a method, device and flying car for calibrating the IMU installation angle of a flying car, which can more simply and accurately realize the calibration of the IMU installation angle of a flying car.

[0006] In a first aspect, the present application provides a method for calibrating the IMU installation angle of a flying car, comprising:

[0007] Obtain the acceleration data of the IMU after the flying car flies along the preset motion trajectory and the navigation data of other navigation devices other than the IMU;

[0008] Determining a velocity increment sequence of the flying car in a body coordinate system and a navigation coordinate system based on the acceleration data and the navigation data respectively;

[0009] Performing matrix transformation on the velocity increment sequences of the flying car in the body coordinate system and the navigation coordinate system respectively, and obtaining the velocity increment sequence of the flying car in the carrier coordinate system;

[0010] Performing linear regression analysis on the obtained velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix;

[0011] The IMU installation angle is determined according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0012] In one embodiment, determining the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and the navigation data, respectively, includes:

[0013] determining a first velocity increment and a first velocity increment sequence of the flying vehicle in a body coordinate system based on the acceleration data, and determining a second velocity increment and a second velocity increment sequence of the flying vehicle in a navigation coordinate system based on the navigation data of the other navigation device;

[0014] The matrix transformation is performed on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively to obtain the velocity increment sequence of the flying car in the carrier coordinate system, including:

[0015] Performing a first matrix transformation on the first speed increment sequence to obtain a third speed increment sequence of the flying car in the carrier coordinate system, and performing a second matrix transformation on the second speed increment sequence to obtain a fourth speed increment sequence of the flying car in the carrier coordinate system;

[0016] The obtained velocity increment sequence of the flying car in the carrier coordinate system is subjected to linear regression analysis according to a preset model to determine the regression coefficient transformation matrix, including:

[0017] The third speed increment sequence and the fourth speed increment sequence are subjected to linear regression analysis according to a preset model to determine a regression coefficient transformation matrix.

[0018] In one embodiment, determining the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix includes:

[0019] After determining that the regression coefficient transformation matrix converges, the IMU installation angle is determined according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0020] In one embodiment, whether the regression coefficient transformation matrix converges is determined by:

[0021] Determine the difference between the third speed increment sequence and the fourth speed increment sequence according to a preset function, and determine whether the difference between the currently determined difference and the last determined difference is less than a preset value;

[0022] If it is less than the preset value, it is determined that the regression coefficient transformation matrix is ​​converged.

[0023] In one embodiment, the preset model multiplies the regression coefficient by the third velocity increment sequence and then adds the resultant to a constant term to obtain the fourth velocity increment sequence.

[0024] In one embodiment, determining a first velocity increment and a first velocity increment sequence of the flying car in a body coordinate system based on the acceleration data, and determining a second velocity increment and a second velocity increment sequence of the flying car in a navigation coordinate system based on navigation data of the other navigation device, includes:

[0025] determining a first velocity increment of the flying vehicle in the body coordinate system at first preset intervals based on the acceleration data, and forming a first velocity increment sequence with each first velocity increment determined within the first preset interval;

[0026] According to the navigation data of the other navigation device, a second speed increment of the flying car in the navigation coordinate system is determined every second preset time, and each second speed increment determined within the second preset time period is formed into a second speed increment sequence.

[0027] In one embodiment, the preset motion trajectory is a back-and-forth motion along the X-axis, Y-axis, and Z-axis of the carrier coordinate system for a preset duration.

[0028] A second aspect of the present application provides an IMU installation angle calibration device for a flying car, comprising:

[0029] The data acquisition module is used to obtain the acceleration data of the IMU after the flying car flies along the preset motion trajectory and the navigation data of other navigation devices other than the IMU;

[0030] A velocity increment sequence module, configured to determine a velocity increment sequence of the flying vehicle in a body coordinate system and a navigation coordinate system based on the acceleration data and the navigation data respectively;

[0031] a matrix transformation module for performing matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system, respectively, to obtain the velocity increment sequence of the flying car in the carrier coordinate system;

[0032] A regression analysis module is used to perform linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix;

[0033] The installation angle determination module is used to determine the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0034] In one embodiment, the speed increment sequence module includes:

[0035] A first velocity increment sequence submodule is configured to determine a first velocity increment and a first velocity increment sequence of the flying vehicle in a body coordinate system based on the acceleration data;

[0036] A second speed increment sequence submodule, configured to determine a second speed increment and a second speed increment sequence of the flying car in the navigation coordinate system according to the navigation data of the other navigation device;

[0037] The matrix transformation module includes:

[0038] A first matrix transformation submodule is configured to perform a first matrix transformation according to the first velocity increment sequence to obtain a third velocity increment sequence of the flying vehicle in a carrier coordinate system;

[0039] A second matrix transformation submodule is configured to perform a second matrix transformation according to the second velocity increment sequence to obtain a fourth velocity increment sequence of the flying car in the carrier coordinate system;

[0040] The regression analysis module performs linear regression analysis on the third speed increment sequence and the fourth speed increment sequence according to a preset model to determine a regression coefficient transformation matrix.

[0041] A third aspect of the present application provides a flying car, comprising the IMU installation angle calibration device as described above.

[0042] A fourth aspect of the present application provides a flying car, comprising:

[0043] processor; and

[0044] The memory stores executable codes thereon, and when the executable codes are executed by the processor, the processor is caused to execute the method described above.

[0045] A fifth aspect of the present application provides a computer-readable storage medium having executable code stored thereon. When the executable code is executed by a processor of an electronic device, the processor is caused to execute the method described above.

[0046] The technical solution provided by this application may have the following beneficial effects:

[0047] The technical solution of the present application obtains the acceleration data of the IMU and the navigation data of other navigation devices outside the IMU after the flying car flies along a preset motion trajectory, and determines the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and the navigation data respectively; then performs matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively to obtain the corresponding velocity increment sequence of the flying car in the carrier coordinate system; then performs linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix; finally, the IMU installation angle can be determined based on the IMU installation angle rotation matrix and the regression coefficient transformation matrix. Through the above processing, the present application sets a preset motion trajectory for the flying car, and combines the IMU acceleration data and the navigation data of other navigation devices to process them together, respectively obtaining the speed output by the IMU and the speed output by the other navigation devices, and then performs linear regression analysis to obtain the regression coefficient transformation matrix. Using the theoretical IMU installation angle rotation matrix and the obtained regression coefficient transformation matrix, the IMU installation angle can be obtained by reverse calculation, thereby more simply and accurately achieving the calibration of the IMU installation angle of the flying car.

[0048] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The above and other objects, features and advantages of the present application will become more apparent by describing in more detail exemplary embodiments of the present application in conjunction with the accompanying drawings, wherein the same reference numerals generally represent the same components in the exemplary embodiments of the present application.

[0050] Figure 1 is a schematic diagram of the spatial coordinate system defined in the embodiments of the present application;

[0051] Figure 2 1 is a flow chart of a method for calibrating the IMU installation angle of a flying car according to an embodiment of the present application;

[0052] Figure 3 1 is a flow chart of a method for calibrating the IMU installation angle of a flying car, according to another embodiment of the present application;

[0053] Figure 4 1 is a schematic diagram illustrating an application of an IMU installation angle calibration method for a flying car according to an embodiment of the present application;

[0054] Figure 5 1 is a schematic diagram of the structure of the IMU installation angle calibration device for a flying car shown in an embodiment of the present application;

[0055] Figure 6 1 is a structural diagram of an IMU installation angle calibration device for a flying car shown in another embodiment of the present application;

[0056] Figure 7 It is a structural diagram of an electronic device shown in an embodiment of the present application. DETAILED DESCRIPTION

[0057] The following describes embodiments of the present application in more detail with reference to the accompanying drawings. Although the accompanying drawings illustrate embodiments of the present application, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments described herein. Rather, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.

[0058] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. As used in this application and the appended claims, the singular forms "a," "an," "the," and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.

[0059] It should be understood that although the terms "first", "second", "third", etc. may be used in this application to describe various information, this information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of this application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0060] In the related technologies, the methods of manual measurement, accelerometer static estimation, gyroscope dynamic estimation, Kalman filter estimation, etc. used to calibrate the IMU installation angle all have their own defects. For example, the manual measurement method is difficult to implement; the accelerometer static estimation and gyroscope dynamic estimation methods are limited to the movement of a certain plane and are not suitable for flying cars; the Kalman filter estimation method is difficult to model, and for cases with large installation angle deviations, there may be estimation divergence, resulting in failure of installation angle estimation.

[0061] In order to solve the problems in the related art, the embodiment of the present application provides a method for calibrating the IMU installation angle suitable for flying cars, so as to realize the calibration of the IMU installation angle of flying cars more simply and accurately. Vehicles equipped with IMUs, such as drones or flying cars, generally have redundant navigation equipment, that is, in addition to the IMU, they are also equipped with other navigation equipment, such as GNSS, odometers, lidar, etc., the purpose of which is to integrate the advantages of multi-source data to achieve navigation applications covering the entire scene. The embodiment of the present application proposes a method for calibrating the IMU installation angle by combining IMU data with other navigation data. This method can be an offline processing method, which is different from real-time online processing methods such as Kalman filter estimation method.

[0062] For ease of description, this embodiment of the application defines a set of spatial coordinate systems (such as Figure 1 As shown), the algorithm of the embodiment of the present application itself is independent of the coordinate system selection.

[0063] Navigation coordinate system (n system): adopts NED (North East Down) geographic coordinate system, whose origin is the center of mass of the vehicle ( Figure 1 For ease of description, it is placed in the upper right corner; its origin is actually at point O. The X-axis points north along the local meridian, the Y-axis points east along the local latitude, and the Z-axis points downward along the local geographic axis, forming a right-handed rectangular coordinate system with the X and Y axes. The plane formed by the X and Y axes is the local horizontal plane, and the plane formed by the X and Z axes is the local meridian plane.

[0064] Carrier coordinate system (V system): adopts the front lower right coordinate system, which is fixed on the carrier and moves with the carrier at all times. The X axis represents the front of the carrier, the Y axis represents the right of the carrier, and the Z axis represents the bottom of the carrier. XYZ constitutes a right-handed rectangular coordinate system.

[0065] The body coordinate system (B system) uses the front lower right coordinate system, which is fixed to the IMU device and moves with the IMU device at all times. The X-axis represents the front of the IMU device, the Y-axis represents the right of the IMU device, and the Z-axis represents the bottom of the IMU device. XYZ constitutes a right-handed rectangular coordinate system.

[0066] The technical solutions of the embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0067] Figure 2 1 is a flow chart of a method for calibrating the IMU installation angle of a flying car according to an embodiment of the present application.

[0068] See also Figure 2 , the method comprising:

[0069] S201: Acquire acceleration data of the IMU after the flying car flies along a preset motion trajectory and navigation data of other navigation devices other than the IMU.

[0070] The preset motion trajectory is a back-and-forth motion along the X-axis, Y-axis, and Z-axis of the carrier coordinate system for a preset duration.

[0071] S202: Determine the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and the navigation data respectively.

[0072] Among them, the first velocity increment and the first velocity increment sequence of the flying car in the body coordinate system can be determined based on the acceleration data, and the second velocity increment and the second velocity increment sequence of the flying car in the navigation coordinate system can be determined based on the navigation data of other navigation devices.

[0073] wherein, based on the acceleration data, a first velocity increment of the flying vehicle in the body coordinate system is determined at first preset time intervals, and each first velocity increment determined within the first preset time interval is formed into a first velocity increment sequence;

[0074] According to the navigation data of other navigation devices, a second speed increment of the flying car in the navigation coordinate system is determined every second preset time, and each second speed increment determined within the first preset time period is formed into a second speed increment sequence.

[0075] S203 , performing matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively, and obtaining the velocity increment sequence of the flying car in the carrier coordinate system.

[0076] Among them, a first matrix transformation can be performed according to the first speed increment sequence to obtain a third speed increment sequence of the flying car in the carrier coordinate system, and a second matrix transformation can be performed according to the second speed increment sequence to obtain a fourth speed increment sequence of the flying car in the carrier coordinate system.

[0077] S204: Perform linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine a regression coefficient transformation matrix.

[0078] The third speed increment sequence and the fourth speed increment sequence are subjected to linear regression analysis according to a preset model to determine a regression coefficient transformation matrix.

[0079] The preset model is to multiply the regression coefficient by the third speed increment sequence, and then add the result to the constant term to obtain the fourth speed increment sequence.

[0080] S205 : Determine the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0081] Among them, after determining that the regression coefficient transformation matrix has converged, the IMU installation angle can be determined according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0082] As can be seen from this embodiment, the technical solution of the present application obtains the acceleration data of the IMU and the navigation data of other navigation devices outside the IMU after the flying car flies along a preset motion trajectory, and determines the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and navigation data respectively; then, matrix transformation is performed on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively, to obtain the corresponding velocity increment sequence of the flying car in the carrier coordinate system; then, the corresponding velocity increment sequence of the flying car in the carrier coordinate system is subjected to linear regression analysis according to a preset model to determine the regression coefficient transformation matrix; finally, the IMU installation angle can be determined based on the IMU installation angle rotation matrix and the regression coefficient transformation matrix. Through the above processing, the present application sets a preset motion trajectory for the flying car, and combines the IMU acceleration data and the navigation data of other navigation devices to process them together, respectively, to obtain the speed output by the IMU and the speed output by the other navigation devices, and then performs linear regression analysis to obtain the regression coefficient transformation matrix. Using the theoretical IMU installation angle rotation matrix and the obtained regression coefficient transformation matrix, the IMU installation angle can be obtained by reverse calculation, thereby more simply and accurately achieving the calibration of the IMU installation angle of the flying car.

[0083] Figure 3 This is a flow chart of a method for calibrating the IMU installation angle of a flying car, shown in another embodiment of the present application. Figure 4 This is a schematic diagram of the application of the IMU installation angle calibration method for a flying car shown in the embodiment of this application. Figure 3 and Figure 4 This application scheme is further introduced in detail.

[0084] Generally speaking, the orientation of the IMU device coincides with that of the carrier, and the coordinate systems of the two also coincide with each other. However, due to reasons such as the assembly process, the body coordinate system (b system) and the carrier coordinate system (v system) maintain a certain angular deviation, which is called the IMU installation angle. The existence of this installation angle will cause the speed calculated by the IMU to have a certain rotational relationship with the movement speed of the carrier itself. The method of the embodiment of the present application provides calibration of the IMU installation angle based on this discovery, that is, to achieve offline estimation of the size of the IMU installation angle.

[0085] See also Figure 3 and Figure 4 , the method comprising:

[0086] S301. After the flying car moves along the three axes of the carrier coordinate system, acceleration data of the IMU accelerometer and navigation data of other navigation devices outside the IMU are obtained.

[0087] This application designs a motion trajectory covering three axes of the carrier coordinate system to obtain acceleration data corresponding to the three axes of the IMU accelerometer after the flying car moves along this motion trajectory, as well as navigation data from other navigation devices outside the IMU. The motion trajectory pattern designed in this application is a smooth back-and-forth motion along each axis, performing back-and-forth motion along the X, Y, and Z axes of the carrier coordinate system (V system) for a preset duration (e.g., 3 minutes). The data obtained can more closely reflect the transformation relationship of the axis.

[0088] Taking a flying car as an example, first, the flying car is controlled to climb from the ground along the Z axis to a certain height and then descend to a certain height, and this is repeated for a preset time, such as about 3 minutes; then the flying car is controlled to maintain a certain height and move forward and backward along the X axis where the fuselage is located for a preset time, such as about 3 minutes; finally, the flying car is controlled to maintain a certain height and move left and right along the Y axis perpendicular to the fuselage for a preset time, such as about 3 minutes.

[0089] It should be noted that the above motion trajectory mode is only a practical example, and other motion trajectory modes such as different flight trajectories, durations, sequences, etc. can also meet the requirements of this application solution.

[0090] S302: Store the collected data separately according to the three-axis collection order.

[0091] The collected data are divided into three parts and stored in the order of three-axis collection, for example, the motion data along the X-axis of the carrier coordinate system (v system), the motion data along the Y-axis of the carrier coordinate system (v system), and the motion data along the Z-axis of the carrier coordinate system (v system), which can be used for subsequent data processing.

[0092] S303. Process the motion data of each axis in turn according to the three-axis motion data to obtain the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system, and the velocity increment sequence in the carrier coordinate system. Perform linear regression analysis on the velocity increment sequence in the carrier coordinate system according to a preset model to obtain the regression coefficient of each axis.

[0093] The present application may process the data of each axis in the order of X-axis, Y-axis, and Z-axis. Step S303 may include:

[0094] S3031. Determine a first velocity increment sequence V1b of the flying car in the body coordinate system (system b).

[0095] Using the acquired IMU accelerometer acceleration data, the velocity increment in the body coordinate system (frame b) is calculated by integration every T1 time (e.g., 0.1 seconds). The integration calculation method can adopt an integration algorithm of related technology, which is not limited in this application.

[0096] Assume that m is the number of velocity increments, the i-th velocity increment V i for:

[0097] (v ix , v iy , v iz ) T , i=1,...,m

[0098] Where m is a natural number greater than 1, the T in the upper right corner of the formula represents transposition, V ix Indicates the velocity increment of the X axis, V iy Indicates the velocity increment of the Y axis, V iz Indicates the velocity increment of the Z axis.

[0099] The speed increments determined within the first preset time period, for example, 3 minutes, are combined to obtain a first speed increment sequence V1b, which is in the following form:

[0100]

[0101] S3032: Determine a second velocity increment sequence V2n of the flying car in the navigation coordinate system (n system).

[0102] Using navigation data from other navigation devices, the velocity increment in a navigation coordinate system (n system) is calculated every T2 time (e.g., 0.1 seconds) by velocity estimation. The velocity estimation method may adopt an estimation algorithm of related technology, which is not limited in this application.

[0103] Assume that m is the number of velocity increments, the i-th velocity increment V i for:

[0104] (v ix , v iy , v iz ) T , i=1,...,m

[0105] Where m is a natural number greater than 1, the T in the upper right corner of the formula represents transposition, V ix Indicates the velocity increment of the X axis, V iy Indicates the velocity increment of the Y axis, V iz Indicates the velocity increment of the Z axis.

[0106] The speed increments determined within a second preset time period, for example, 3 minutes, are combined together to obtain a second speed increment sequence V2n.

[0107] Among them, V2n is in the following form:

[0108]

[0109] It should be noted that the T1 time described in the process of using the acceleration data of the IMU accelerometer may be different from the T2 time here. The specific value can be determined by the output frequency of the device, but alignment can be achieved through interpolation. The specific interpolation method can adopt the interpolation algorithm of the relevant technology, which is not limited by this application.

[0110] S3033 . Perform a first matrix transformation on the first velocity increment sequence V1b in the body coordinate system (b system) to obtain a third velocity increment sequence V1 in the carrier coordinate system (v system).

[0111] Perform Cbv matrix transformation on the first velocity increment sequence V1b to obtain the third velocity increment sequence V1 in the carrier coordinate system (v system):

[0112] V1=Cbv*V1b

[0113] The transformation matrix is ​​obtained by incrementally updating the regression coefficients according to Cbv = A1 * Cbv, where Cbv is the transformation matrix. The initial transformation matrix Cbv is the identity matrix A0, and A1 is the regression coefficient transformation matrix. In other words, multiplying the first velocity increment sequence V1b by the transformation matrix Cbv yields the third velocity increment sequence V1.

[0114] The initial value of the transformation matrix Cbv is as follows:

[0115]

[0116] S3034. Perform a second matrix transformation on the second velocity increment sequence V2n in the navigation coordinate system (n system) to obtain a fourth velocity increment sequence V2 in the carrier coordinate system (v system).

[0117] The second speed increment sequence V2n is subjected to a second matrix transformation, i.e., a coordinate system transformation, to obtain a fourth speed increment sequence V2 in the carrier coordinate system (v system), wherein the transformation matrix is Derived from the attitude angles (γ, θ, ψ), attitude angle data can be obtained from devices such as gyroscopes.

[0118]

[0119]

[0120] That is, the second velocity increment sequence V2n is combined with the transformation matrix Multiplying them together, we get the fourth speed increment sequence V2.

[0121] S3035 , performing linear regression analysis on the third velocity increment sequence V1 in the carrier coordinate system (v system) and the fourth velocity increment sequence V2 in the carrier coordinate system (v system) according to a preset model to obtain regression coefficients of the three axes.

[0122] Perform linear regression analysis, assuming that the linear regression analysis model is:

[0123] V2=A*V1+B

[0124] Among them, A is the regression coefficient; B is the constant term, which can be determined based on experience.

[0125] That is, after multiplying the regression coefficient A by the third speed increment sequence V1, the result is added to the constant term to obtain the fourth speed increment sequence V2.

[0126] The regression coefficient A is obtained by calculation. Let i = 1, 2, 3 represent the X-axis, Y-axis, and Z-axis respectively, then:

[0127] A i =(a i1 , a i2 , a i3 )

[0128] Among them, a i1 , a i2 , a i3 , represents the corresponding element in the regression coefficient A. When i = 1, A1 represents the regression coefficient of the X axis; when i = 2, A2 represents the regression coefficient of the Y axis; when i = 3, A3 represents the regression coefficient of the Z axis.

[0129] The regression coefficient is a parameter in the regression equation that represents the effect of the independent variable on the dependent variable.

[0130] S304: Combine the regression coefficients of the three axes to obtain a regression coefficient transformation matrix.

[0131] Combining the regression coefficients of the three axes, we can get the regression coefficient transformation matrix A1, which is as follows:

[0132]

[0133] Where A1 represents the regression coefficient of the X axis, A2 represents the regression coefficient of the Y axis, and A3 represents the regression coefficient of the Z axis. 11 , a 12 , a 13 , a 21 , a 22 , a23 , a 31 , a 32 , a 33 is the element corresponding to the regression coefficient transformation matrix A1.

[0134] S305: Determine whether the regression coefficient transformation matrix converges. If so, proceed to S306; if not, return to S303.

[0135] Here, it is determined whether the regression coefficient transformation matrix A1 converges, that is, whether A1 is close to being stable and unchanged.

[0136] Among them, it can be determined whether the currently calculated diff is close to the last calculated diff by calculating the difference diff=mean(|A1*V1-V2|), where mean is the mean function.

[0137] That is, the difference between the third velocity increment sequence V1 and the fourth velocity increment sequence V2 is determined according to a preset function, such as a mean function, and a determination is made as to whether the difference between the currently determined difference and the previously determined difference is less than a preset value. This can be accomplished by multiplying the regression coefficient transformation matrix A1 by the third velocity increment sequence V1, then subtracting the fourth velocity increment sequence V2, taking the absolute value of the resulting difference, and then calculating the difference using the mean function to obtain the difference value diff.

[0138] If the currently calculated diff is different from the previously calculated diff, that is, the difference between the two is greater than or equal to the preset value, it indicates that convergence has not occurred, and the process returns to S303 to continue iteration. If the currently calculated diff is close to the previously calculated diff, that is, the difference between the two is less than the preset value, it indicates that convergence has occurred, and the process proceeds to S306 to continue processing. The preset value can be determined based on experience, for example, a value between 0.1 and 0.5.

[0139] It should be noted that the method for determining whether convergence is achieved is not limited to this one. This is just an example. As long as other methods can determine whether the various items of the regression coefficient transformation matrix A1 are close to being stable and unchanged, they are also applicable to the present application solution.

[0140] S306 , performing reverse calculation based on the IMU installation angle rotation matrix and the regression coefficient transformation matrix to obtain the IMU installation angle.

[0141] According to the final regression coefficient transformation matrix A1, according to the installation angle rotation matrix form The IMU installation angle RPY (roll angle γ, pitch angle θ, yaw angle ψ) is obtained by reverse solution.

[0142]

[0143]

[0144] Among them, a 32 , a 33 , a 31 a 21 , a 11 is the element corresponding to the regression coefficient transformation matrix A1.

[0145] From this embodiment, it can be found that the present application combines IMU data with other navigation data to calibrate the IMU installation angle, obtains the speed output by the IMU and the speed output by other navigation devices respectively, and then performs linear regression analysis to obtain the regression coefficient transformation matrix. The theoretical IMU installation angle rotation matrix and the obtained regression coefficient transformation matrix are used to reversely solve the IMU installation angle, thereby realizing the calibration of the IMU installation angle of the flying car more simply and accurately.

[0146] Corresponding to the aforementioned application function implementation method embodiment, the present application also provides an IMU installation angle calibration device, electronic equipment and corresponding embodiments.

[0147] Figure 5 Schematic diagram of the structure of the IMU installation angle calibration device of the flying car shown in the embodiment of the present application.

[0148] See also Figure 5 An IMU installation angle calibration device 50 for a flying car includes: a data acquisition module 51, a velocity increment sequence module 52, a matrix transformation module 53, a regression analysis module 54, and an installation angle determination module 55.

[0149] The data acquisition module 51 is used to obtain the acceleration data of the IMU after the flying car flies along a preset motion trajectory and the navigation data of other navigation devices other than the IMU.

[0150] A velocity increment sequence module 52 is used to determine the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system based on the acceleration data and the navigation data respectively;

[0151] The matrix transformation module 53 performs matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system, respectively, to obtain the velocity increment sequence of the flying car in the carrier coordinate system;

[0152] The regression analysis module 54 is used to perform linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix;

[0153] The installation angle determination module 55 is used to determine the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

[0154] The IMU installation angle calibration device of the present application combines the acceleration data of the IMU and the navigation data of other navigation devices for processing, obtains the speed output by the IMU and the speed output by other navigation devices respectively, and then performs linear regression analysis to obtain the regression coefficient transformation matrix. By using the theoretical IMU installation angle rotation matrix and the obtained regression coefficient transformation matrix, the IMU installation angle can be obtained by reverse solution, thereby realizing the calibration of the IMU installation angle of the flying car more simply and accurately.

[0155] Figure 6 Schematic diagram of the structure of an IMU installation angle calibration device for a flying car shown in another embodiment of the present application.

[0156] See also Figure 6 An IMU installation angle calibration device 50 for a flying car includes: a data acquisition module 51, a velocity increment sequence module 52, a matrix transformation module 53, a regression analysis module 54, and an installation angle determination module 55.

[0157] The speed increment sequence module 52 includes a first speed increment sequence submodule 521 and a second speed increment sequence submodule 522 .

[0158] A first velocity increment sequence submodule 521 is configured to determine a first velocity increment and a first velocity increment sequence of the flying vehicle in the body coordinate system based on the acceleration data;

[0159] The second speed increment sequence submodule 522 is configured to determine a second speed increment and a second speed increment sequence of the flying car in the navigation coordinate system according to navigation data from other navigation devices.

[0160] The matrix transformation module 53 includes a first matrix transformation submodule 531 and a second matrix transformation submodule 532 .

[0161] The first matrix transformation submodule 531 is configured to perform a first matrix transformation according to the first velocity increment sequence to obtain a third velocity increment sequence of the flying vehicle in the carrier coordinate system;

[0162] The second matrix transformation submodule 532 is configured to perform a second matrix transformation according to the second velocity increment sequence to obtain a fourth velocity increment sequence of the flying vehicle in the carrier coordinate system.

[0163] The regression analysis module 54 performs a linear regression analysis on the third speed increment sequence and the fourth speed increment sequence according to a preset model to determine a regression coefficient transformation matrix.

[0164] The installation angle determination module 55 may determine the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix after determining that the regression coefficient transformation matrix has converged.

[0165] In this case, it is determined whether the regression coefficient transformation matrix A1 has converged, that is, whether A1 is close to being stable and unchanged. For example, the difference value diff = mean(|A1*V1-V2|) can be calculated to determine whether the currently calculated diff is close to being unchanged from the previously calculated diff, where mean is the mean function. In other words, the difference between the third velocity increment sequence V1 and the fourth velocity increment sequence V2 is determined according to a preset function, such as the mean function, and it is determined whether the difference between the currently determined difference and the previously determined difference is less than a preset value. In this case, the regression coefficient transformation matrix A1 can be multiplied by the third velocity increment sequence V1, and then the fourth velocity increment sequence V2 is subtracted. The absolute value of the obtained difference is taken, and then the difference value diff is calculated using the mean function. If the currently calculated diff changes from the previously calculated diff, that is, the difference between the two is greater than or equal to the preset value, it indicates non-convergence; if the currently calculated diff is close to being unchanged from the previously calculated diff, that is, the difference between the two is less than the preset value, it indicates convergence. The preset value can be determined based on experience, for example, a value between 0.1 and 0.5.

[0166] The present application also provides a flying car, including Figure 5 or Figure 6 The IMU is installed with an angle calibration device 50.

[0167] Regarding the apparatus in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated again here.

[0168] Figure 7 FIG2 is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. The electronic device may be, for example, a flying car but is not limited thereto.

[0169] See also Figure 7 , the electronic device 1000 includes a memory 1010 and a processor 1020.

[0170] The processor 1020 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.

[0171] The memory 1010 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage. ROM may store static data or instructions required by the processor 1020 or other modules of the computer. The permanent storage may be a readable and writable storage device. The permanent storage may be a non-volatile storage device that retains stored instructions and data even when the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (e.g., a magnetic or optical disk, flash memory) as the permanent storage device. In other embodiments, the permanent storage device may be a removable storage device (e.g., a floppy disk, optical drive). The system memory may be a readable and writable storage device or a volatile readable and writable storage device, such as dynamic random access memory. The system memory may store some or all instructions and data required by the processor during operation. In addition, the memory 1010 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (e.g., DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and / or optical disks may also be used. In some embodiments, the memory 1010 may include a readable and / or writable removable storage device, such as a compact disc (CD), a read-only digital versatile disc (e.g., DVD-ROM, double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (e.g., SD card, mini SD card, Micro-SD card, etc.), a magnetic floppy disk, etc. Computer-readable storage media do not include carrier waves and transient electronic signals transmitted wirelessly or wired.

[0172] The memory 1010 stores executable codes. When the executable codes are processed by the processor 1020 , the processor 1020 may execute part or all of the above-mentioned methods.

[0173] In addition, the method according to the present application may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing some or all of the steps in the above method of the present application.

[0174] Alternatively, the present application can also be implemented as a computer-readable storage medium (or non-transitory machine-readable storage medium or machine-readable storage medium) on which executable code (or computer program or computer instruction code) is stored. When the executable code (or computer program or computer instruction code) is executed by a processor of an electronic device (or server, etc.), the processor executes part or all of the steps of the above-mentioned method according to the present application.

[0175] The embodiments of the present application have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or improvements to the technology in the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for calibrating the IMU installation angle of a flying car, characterized in that: include: Obtain the acceleration data of the IMU after the flying car flies along the preset motion trajectory and the navigation data of other navigation devices other than the IMU; Determining a velocity increment sequence of the flying car in a body coordinate system and a navigation coordinate system based on the acceleration data and the navigation data, respectively; the velocity increment sequence includes a first velocity increment sequence and a second velocity increment sequence; The first sequence of speed increments is formed based on first speed increments determined within a first preset duration, the first speed increments being determined based on the acceleration data and a first preset time; and the second sequence of speed increments is formed based on second speed increments within a second preset duration, the second speed increments being determined based on the navigation data and a second preset time. Performing matrix transformation on the velocity increment sequences of the flying car in the body coordinate system and the navigation coordinate system respectively, and obtaining the velocity increment sequence of the flying car in the carrier coordinate system; Performing linear regression analysis on the obtained velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix; The IMU installation angle is determined according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

2. The method according to claim 1, characterized in that The determining, based on the acceleration data and the navigation data, a velocity increment sequence of the flying car in a body coordinate system and a navigation coordinate system, respectively, includes: determining the first velocity increment and the first velocity increment sequence of the flying car in a body coordinate system based on the acceleration data, and determining the second velocity increment and the second velocity increment sequence of the flying car in a navigation coordinate system based on the navigation data of the other navigation device; The matrix transformation is performed on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system respectively to obtain the velocity increment sequence of the flying car in the carrier coordinate system, including: Performing a first matrix transformation on the first speed increment sequence to obtain a third speed increment sequence of the flying car in the carrier coordinate system, and performing a second matrix transformation on the second speed increment sequence to obtain a fourth speed increment sequence of the flying car in the carrier coordinate system; The obtained velocity increment sequence of the flying car in the carrier coordinate system is subjected to linear regression analysis according to a preset model to determine the regression coefficient transformation matrix, including: The third speed increment sequence and the fourth speed increment sequence are subjected to linear regression analysis according to a preset model to determine a regression coefficient transformation matrix.

3. The method according to claim 2, characterized in that Determining the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix includes: After determining that the regression coefficient transformation matrix converges, the IMU installation angle is determined according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

4. The method according to claim 3, characterized in that Whether the regression coefficient transformation matrix converges is determined by: determining a difference between the third speed increment sequence and the fourth speed increment sequence according to a preset function, and determining whether a difference between a currently determined difference and a previously determined difference is less than a preset value; If it is less than the preset value, it is determined that the regression coefficient transformation matrix is ​​converged.

5. The method according to claim 2, wherein: The preset model multiplies the regression coefficient by the third speed increment sequence, and then adds the resultant to a constant term to obtain the fourth speed increment sequence.

6. The method according to claim 2, characterized in that The determining, based on the acceleration data, the first velocity increment and the first velocity increment sequence of the flying car in the body coordinate system, and determining, based on the navigation data of the other navigation device, the second velocity increment and the second velocity increment sequence of the flying car in the navigation coordinate system, comprises: determining the first velocity increment of the flying vehicle in the body coordinate system at first preset intervals based on the acceleration data, and forming a first velocity increment sequence with each first velocity increment determined within the first preset interval; The second speed increment of the flying car in the navigation coordinate system is determined at second preset time intervals based on the navigation data of the other navigation device, and each second speed increment determined within the second preset time interval is formed into a second speed increment sequence.

7. The method according to any one of claims 1 to 6, characterized in that: The preset motion trajectory is a back-and-forth motion along the X-axis, Y-axis, and Z-axis of the carrier coordinate system for a preset duration.

8. An IMU installation angle calibration device for a flying car, characterized in that: include: The data acquisition module is used to obtain the acceleration data of the IMU after the flying car flies along the preset motion trajectory and the navigation data of other navigation devices other than the IMU; A velocity increment sequence module is configured to determine a velocity increment sequence of the flying vehicle in a body coordinate system and a navigation coordinate system based on the acceleration data and the navigation data, respectively; the velocity increment sequence includes a first velocity increment sequence and a second velocity increment sequence; The first sequence of speed increments is formed based on first speed increments determined within a first preset duration, the first speed increments being determined based on the acceleration data and a first preset time; and the second sequence of speed increments is formed based on second speed increments within a second preset duration, the second speed increments being determined based on the navigation data and a second preset time. a matrix transformation module for performing matrix transformation on the velocity increment sequence of the flying car in the body coordinate system and the navigation coordinate system, respectively, to obtain the velocity increment sequence of the flying car in the carrier coordinate system; A regression analysis module is used to perform linear regression analysis on the corresponding velocity increment sequence of the flying car in the carrier coordinate system according to a preset model to determine the regression coefficient transformation matrix; The installation angle determination module is used to determine the IMU installation angle according to the IMU installation angle rotation matrix and the regression coefficient transformation matrix.

9. The device according to claim 8, characterized in that The speed increment sequence module includes: A first velocity increment sequence submodule, configured to determine the first velocity increment and the first velocity increment sequence of the flying vehicle in a body coordinate system according to the acceleration data; a second speed increment sequence submodule, configured to determine the second speed increment and the second speed increment sequence of the flying car in the navigation coordinate system according to the navigation data of the other navigation device; The matrix transformation module includes: A first matrix transformation submodule is configured to perform a first matrix transformation according to the first velocity increment sequence to obtain a third velocity increment sequence of the flying vehicle in a carrier coordinate system; A second matrix transformation submodule is configured to perform a second matrix transformation according to the second velocity increment sequence to obtain a fourth velocity increment sequence of the flying car in the carrier coordinate system; The regression analysis module performs linear regression analysis on the third speed increment sequence and the fourth speed increment sequence according to a preset model to determine a regression coefficient transformation matrix.

10. A flying car, characterized in that: It comprises the IMU installation angle calibration device as described in any one of claims 8 to 9.

11. A flying car, characterized in that: include: processor; as well as A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Rapid estimating and compensating system with IMU mounting angle obliquely set

    CN101393028A

  • Vehicle-mounted IMU (Inertial Measurement Unit) attitude initialization method, mounting angle estimation method and device

    CN114964222A