An attitude verification method, apparatus, device, and storage medium
By calculating the attitude information of the IMU using a water platform and a polyhedral structure, the problem of high cost and high complexity in existing verification methods is solved, and a low-cost and efficient IMU attitude verification method is achieved, which is applicable to the verification of multiple sensors.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GYENNO TECH
- Filing Date
- 2023-04-18
- Publication Date
- 2026-07-17
AI Technical Summary
In the existing technology, the method of using optical motion capture systems or robotic arms to verify the attitude information of inertial measurement units (IMUs) is costly and complex to operate, and has low practicality.
A water platform and a polyhedral structure are used. The attitude information of the IMU is verified by calculating the structural information of the polyhedron. The pose direction cosine matrix of the IMU is calculated using the unit vector and normal vector of the polyhedron and compared with the attitude information output by the IMU itself.
A low-cost and simple-to-operate attitude verification method is provided, which can accurately verify the attitude information of IMU, is applicable to the verification of multiple sensors, and has good practicality.
Smart Images

Figure CN116465430B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of attitude verification, and more particularly to an attitude verification method, apparatus, device, and storage medium. Background Technology
[0002] Currently, sensors such as inertial measurement units (IMUs) can be used to measure the attitude information of objects, and accurately acquiring the attitude information of objects is the cornerstone of technologies such as human motion capture, drones, and virtual reality.
[0003] Therefore, verifying the accuracy of attitude information measurement results is an important condition to ensure that sensors such as inertial measurement units (IMUs) can be used for high-precision attitude information measurement. In existing technologies, the method for verifying attitude information generally involves comparing standard attitude information provided by an optical motion capture system or robotic arm with the attitude information output by the IMU itself to complete the attitude verification. However, these methods all require specific equipment, which is expensive, and the implementation process is complex, resulting in low practicality. Summary of the Invention
[0004] In view of this, in order to solve the problems existing in the prior art, this application provides an attitude verification method, apparatus, device and storage medium.
[0005] In a first aspect, the present invention provides an attitude verification method applied to a verification device, the verification device comprising a horizontal platform and a polyhedron placed on the horizontal platform, wherein an IMU to be tested is placed in a target face of the polyhedron; wherein the symmetry plane of the target face is in contact with the horizontal platform, and any side of the IMU to be tested is parallel to a target edge of the target face; the method includes:
[0006] Obtain the vertex coordinates of the target edge and an adjacent edge of the target edge in a Cartesian coordinate system, and calculate the first unit vector of the target edge and the normal vector of the target surface;
[0007] The second unit vector of the vertical edge in the IMU under test is calculated based on the first unit vector and the normal vector; wherein, the vertical edge is the edge perpendicular to the parallel edge of the IMU under test, and the parallel edge is the edge in the IMU under test that is parallel to the target edge of the target surface;
[0008] Based on the first unit vector, the normal vector, and the second unit vector, the first pose direction cosine matrix of the IMU under test on the target surface is calculated, and the first pose information of the IMU under test is calculated based on the first pose direction cosine matrix.
[0009] Obtain the second pose information currently output by the IMU under test, and verify the second pose information using the first pose information.
[0010] In an optional implementation, it further includes:
[0011] The polyhedrons are placed on the water platform in sequence according to their non-target faces. Multiple third pose information of the IMU under test on the target face is calculated and multiple fourth pose information of the corresponding output of the IMU under test is obtained.
[0012] The plurality of fourth pose information is verified using the plurality of third pose information.
[0013] In an optional implementation, the step of placing the polyhedrons sequentially onto the horizontal platform according to their non-target faces, and calculating multiple third pose information of the IMU under test on the target face, includes:
[0014] Calculate the rotation axis and rotation angle of the polyhedron when it is placed on the water platform according to each non-target face;
[0015] Generate a rotation matrix based on the rotation axis and the rotation angle;
[0016] Based on the rotation matrix, calculate the unit normal vector of each non-target face in the polyhedron, and based on the unit normal vector, calculate the second pose direction cosine matrix of the IMU under test on the target face when each non-target face is placed in contact with the water platform.
[0017] Based on the second pose direction cosine matrix, multiple third pose information of the IMU under test are calculated.
[0018] In an optional implementation, the step of calculating multiple third pose information of the IMU under test based on the second pose direction cosine matrix includes:
[0019] Based on the second pose direction cosine matrix, calculate the pitch angle and roll angle of the target surface when each of the non-target surfaces is placed against the water platform.
[0020] Based on each pitch angle and roll angle, multiple third pose information of the IMU under test are calculated.
[0021] In an optional implementation, calculating the unit normal vector of each non-target face in the polyhedron based on the rotation matrix includes:
[0022] Calculate the normal vector for each of the non-target surfaces;
[0023] The product of the normal vector of each non-target surface and the rotation matrix is taken as the unit normal vector of each non-target surface.
[0024] In an optional implementation, the step of verifying the plurality of fourth pose information using the plurality of third pose information includes:
[0025] Based on the multiple third pose information and the multiple fourth pose information, multiple pitch angles and multiple roll angles of the target surface are calculated accordingly.
[0026] Calculate the mean and standard deviation of the errors between each pitch angle and each roll angle.
[0027] In an optional implementation, calculating the first pose direction cosine matrix of the IMU under test on the target plane based on the first unit vector, the normal vector, and the second unit vector includes:
[0028] Obtain the correspondence between the Cartesian coordinate system and the navigation coordinate system;
[0029] Based on the first unit vector, the normal vector, the second unit vector, and the correspondence, calculate the first attitude direction cosine matrix of the IMU under test on the target surface in the navigation coordinate system.
[0030] In a second aspect, the present invention provides an attitude verification device, comprising:
[0031] The acquisition module is used to acquire the vertex coordinates of the target edge and an adjacent edge of the target edge in a rectangular coordinate system, and to calculate the first unit vector of the target edge and the normal vector of the target surface;
[0032] The first calculation module is used to calculate the second unit vector of the vertical edge in the IMU under test based on the first unit vector and the normal vector; wherein the vertical edge is perpendicular to the parallel edge of the IMU under test, and the parallel edge is the edge in the IMU under test that is parallel to the target edge of the target surface.
[0033] The second calculation module is used to calculate the first pose direction cosine matrix of the IMU under test on the target surface based on the first unit vector, the normal vector and the second unit vector, and to calculate the first pose information of the IMU under test based on the first pose direction cosine matrix.
[0034] The verification module is used to obtain the second pose information currently output by the IMU under test, and to verify the second pose information using the first pose information.
[0035] Thirdly, the present invention provides a computer device, the computer device including a memory and at least one processor, the memory storing a computer program, and the processor executing the computer program to implement the aforementioned attitude verification method.
[0036] Fourthly, the present invention provides a computer storage medium storing a computer program, which, when executed, implements the aforementioned attitude verification method.
[0037] The embodiments of this application have the following beneficial effects:
[0038] This application provides an attitude verification method, including: obtaining the vertex coordinates of a target edge and an adjacent edge of a polyhedron in a Cartesian coordinate system; calculating a first unit vector of the target edge and a normal vector of the target surface; calculating a second unit vector of a perpendicular edge in the IMU under test based on the first unit vector and the normal vector; wherein, a perpendicular edge is a side perpendicular to a parallel edge of the IMU under test, and a parallel edge is a side of the IMU under test parallel to the target edge of the target surface; calculating a first pose direction cosine matrix of the IMU under test on the target surface based on the first unit vector, the normal vector, and the second unit vector, and calculating the first pose information of the IMU under test based on the first pose direction cosine matrix; obtaining the second pose information currently output by the IMU under test, and verifying the second pose information using the first pose information. This application calculates the pose information of the IMU under test using the structural information of the polyhedron and compares it with the pose information output by the IMU under test itself, thereby verifying the accuracy of the pose information output by the IMU under test. Attached Figure Description
[0039] To more clearly illustrate the technical solutions of this application, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of this application and should not be considered as a limitation on the scope of protection of this application. In the various drawings, similar components are numbered similarly.
[0040] Figure 1 A schematic diagram of the IMU placement position is shown when performing attitude verification using an optical measurement system;
[0041] Figure 2 A schematic diagram showing the placement of the IMU during attitude verification via a robotic arm is provided.
[0042] Figure 3 A schematic diagram of a first embodiment of the attitude verification method in this application is shown;
[0043] Figure 4 A schematic diagram of a polyhedron with the IMU to be tested placed in an embodiment of this application is shown;
[0044] Figure 5 A schematic diagram showing the correspondence between the rectangular coordinate system and the navigation coordinate system in an embodiment of this application is provided.
[0045] Figure 6 A schematic diagram of a second embodiment of the attitude verification method in this application is shown;
[0046] Figure 7 A schematic diagram of a third implementation of the attitude verification method in this application is shown;
[0047] Figure 8 A schematic diagram of a fourth embodiment of the attitude verification method in this application is shown;
[0048] Figure 9 A schematic diagram of an attitude verification device in an embodiment of this application is shown. Detailed Implementation
[0049] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.
[0050] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0051] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.
[0052] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.
[0053] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.
[0054] Currently, when verifying attitude accuracy using optical measurement systems (such as Vicon, Optitrack, etc.), such as Figure 1 As shown, three cursors A, B, and C are placed on a movable plane, with BA perpendicular to BC. The long and short edges of the IMU are parallel to BA and BC, respectively. The plane containing the IMU and cursors is placed within the field of view of the optical system. The plane is moved to an arbitrary posture and held still for 3 to 5 seconds. This operation is repeated, and several sets of static posture data are recorded accordingly. Subsequently, the optical measurement system can output the rigid body posture information composed of cursors A, B, and C as standard posture information for comparison and verification with the posture information output of the IMU itself.
[0055] However, optical measurement systems are expensive and require a large testing area. The system requires training to operate and is complex to operate, making it unsuitable for environments with obstructions, which results in poor practicality of the method.
[0056] In addition, when using a robotic arm to verify the correctness of posture information, such as Figure 2 As shown, the robotic arm is rotated to an arbitrary position and held still for 3 to 5 seconds, while simultaneously recording the angle information output by the robotic arm and the attitude information of the IMU. The arm is then rotated again to a new position and held still for 3 to 5 seconds, and the relevant data is recorded again. This process is repeated, recording several sets of static attitude information data. Subsequently, the output attitude information of the robotic arm is compared with the attitude information output by the IMU itself to verify the correctness of the attitude information output by the IMU. However, this verification method has several drawbacks. First, it relies on the manufacturing precision of the robotic arm, which is costly to manufacture. Second, the robotic arm generally requires a certain amount of laboratory space. Furthermore, this method requires the operator to have some knowledge of robotics and certain operational skills. It is worth noting that since the robotic arm itself is not designed for measurement and is not a standard measuring tool, its accuracy varies. Therefore, the verification results obtained by this method are difficult to have theoretical credibility, resulting in poor practicality and accuracy.
[0057] Based on this, embodiments of this application provide an attitude verification method for detecting the measurement accuracy of attitude information from various sensors such as IMUs and inclinometers. This method is applied to a verification device. Exemplarily, the verification device includes a horizontal platform and a polyhedron placed on the horizontal platform.
[0058] In this embodiment, the IMU under test is placed on the target surface of a polyhedron; then, the attitude information of the IMU under test is calculated using the structural information of the polyhedron, and compared with the attitude information output by the IMU under test itself, thereby verifying the accuracy of the attitude information output by the IMU under test itself.
[0059] Furthermore, when the IMU under test is placed on the target surface of the polyhedron, the symmetry plane of the target surface in the polyhedron is in contact with the horizontal platform, and any side of the IMU under test is parallel to the target edge of the target surface.
[0060] In one embodiment, the target surface is provided with a groove for placing the IMU under test. Furthermore, any edge of the IMU under test is placed parallel to the groove to ensure that the target surface can accurately represent the attitude information of the IMU under test.
[0061] Specifically, each face of the polyhedron is numbered; the water platform is used to place the polyhedron so that it is in a horizontal position, thereby ensuring the accuracy of the coordinates of each edge and vertex of the polyhedron, that is, ensuring the accuracy of the polyhedron's structural information, and thus ensuring the accuracy and reliability of subsequent attitude information calculation; in addition, the water platform is also used to identify the number of the contact surface between the current polyhedron and the water platform, that is, to identify the number of the face of the current polyhedron used to fit the water platform.
[0062] Optionally, the calibration device also includes a display screen, which displays the number of the current contact surface of the polyhedron, the attitude information output by the IMU under test, the calculated attitude information of the IMU under test, error information, etc. The display screen can be an LCD screen, etc., and is not specifically limited here.
[0063] Optionally, the verification device also includes a bracket and a camera. The camera is mounted above the water platform via the bracket and is used to detect the number of the contact surface between the polyhedron and the water platform. The specific location and configuration of the bracket and camera are not limited here.
[0064] Please refer to Figure 3 The attitude verification method will now be explained in detail.
[0065] S10: Obtain the vertex coordinates of the target edge and an adjacent edge in the Cartesian coordinate system, and calculate the first unit vector of the target edge and the normal vector of the target surface.
[0066] S20, calculate the second unit vector of the vertical side in the IMU under test based on the first unit vector and the normal vector.
[0067] S30. Based on the first unit vector, the normal vector, and the second unit vector, the first pose direction cosine matrix of the IMU under test on the target plane is calculated, and the first pose information of the IMU under test is calculated based on the first pose direction cosine matrix.
[0068] It is understandable that the structural information of the polyhedron is obtained in advance. Specifically, in a Cartesian coordinate system, the coordinates of the target edge on the target face of the polyhedron and the vertex coordinates of the corresponding adjacent edge are obtained in advance. Then, the corresponding vector is calculated using the vertex coordinates, so as to represent the current structural information of the polyhedron through the corresponding vector and vertex coordinates.
[0069] For example, such as Figure 4 As shown, each face of the polyhedron is uniquely numbered, such as 12, 13, 14, 15, 23, 27, etc. The specific format of these numbers is not limited here. The IMU under test is placed on the target face A (face A) of the polyhedron, which has a groove. The relevant vertices on face A are labeled e, f, and g, respectively. The edges of the IMU under test are labeled od; one edge of the groove is labeled oc. Any edge of the IMU under test is placed parallel to the groove to ensure that the structural information of face A of the polyhedron can be accurately calculated to determine the attitude information of the IMU. The edge oc of the IMU under test is / / ef, and od⊥oc.
[0070] Using edge ef as the target edge and adjacent edges ge, obtain the coordinates of vertices e, f, and g in a preset rectangular coordinate system. Based on these vertex coordinates, calculate the unit normal vector of face A, and denote this unit normal vector as n. oh Then, calculate the value of vector ef and the value of the first unit vector of vector ef, and denote the first unit vector corresponding to vector ef as n. ef .
[0071] The edge oc of the IMU under test is taken as the parallel edge, and the edge od is taken as the vertical edge; where the vertical edge is perpendicular to the parallel edge of the IMU under test, and the parallel edge is the edge of the IMU under test that is parallel to the target edge of the target surface.
[0072] Through the unit normal vector n oh With the first unit vector n ef The value of the second unit vector n of the perpendicular side od is calculated. od .
[0073] Through n od n ef n ohThe pose direction cosine matrix (Rb) of the IMU under test in the Cartesian coordinate system of the polyhedron constituting plane A is:
[0074]
[0075] Here, x, y, and z represent one component of the pose coordinates of the IMU under test.
[0076] Furthermore, such as Figure 5 As shown, based on the correspondence between the Cartesian coordinate system where the polyhedron is located and the navigation coordinate system (i.e., the NED coordinate system), the pose direction cosine matrix obtained above in the Cartesian coordinate system is converted into a pose direction cosine matrix in the navigation coordinate system. The pose direction cosine matrix in the navigation coordinate system is denoted as the first pose direction cosine matrix. Specifically, this first pose direction cosine matrix (i.e., Rned) is:
[0077]
[0078] Then, the Euler angles are calculated using the first pose direction cosine matrix, and the pitch and roll angles of the IMU under test on the current plane A are obtained, thus generating the first pose information.
[0079] S40: Obtain the second pose information currently output by the IMU under test, and verify the second pose information using the first pose information.
[0080] It is understandable that when the first pose information of the IMU under test is calculated using the structural information of the polyhedron, the IMU itself can also acquire the corresponding pose information. Furthermore, the second pose information output by the IMU under test is simultaneously acquired. Using the pitch and roll angles from the first and second pose information, the error values between the first and second pose information are calculated respectively, thus obtaining the mean and standard deviation of the error values. These mean and standard deviation values characterize the degree of deviation between the first and second pose information, thereby verifying the accuracy of the second pose information output by the IMU under test.
[0081] If the deviation between the first pose information and the second pose information is small, it indicates that the accuracy of the second pose information output by the IMU under test is high.
[0082] In one embodiment, a predetermined threshold can be used for judgment. If the mean and standard deviation of the error values between the first pose information and the second pose information are both less than the corresponding predetermined threshold, it indicates that the accuracy of the second pose information is high, and therefore no adjustment is needed to the internal parameters of the IMU under test. Conversely, it indicates that the accuracy of the second pose information is low, and the internal parameters of the IMU under test need to be adjusted so that the pose information measured by the IMU itself meets the preset accuracy requirements.
[0083] It is worth noting that in this embodiment, when calculating the attitude information of the IMU under test placed on the polyhedron using the specific structural information of the polyhedron, since each surface of the polyhedron is an equilateral regular polygon with the same shape and size, its structural information is not easily affected by other factors. Therefore, when the attitude information is calculated by combining the structural information with mathematical methods, a more accurate standard attitude information can be obtained. Thus, the attitude information of the IMU under test calculated through the above steps can be used as a standard quantity. Subsequently, the standard quantity can be compared with the attitude information output by the IMU under test itself, which can more accurately verify the accuracy of the attitude information output by the IMU under test.
[0084] As an optional implementation, this application embodiment can also perform attitude verification by rotating a polyhedron and calculating the attitude information of the IMU under test on face A during the rotation of the polyhedron. Here, rotating the polyhedron means placing the non-target faces of the polyhedron as contact surfaces on a water platform in sequence, and then calculating the pose information of the IMU under test during the rotation of the polyhedron. The calculated pose information is then compared with the pose information output by the IMU under test itself to verify the accuracy of the pose information output by the IMU under test.
[0085] Please refer to Figure 6 The following is a description of this embodiment.
[0086] S50, the polyhedron is placed on the water platform in sequence according to the non-target faces, and multiple third pose information of the IMU under test on the target face and multiple fourth pose information of the corresponding output of the IMU under test are calculated respectively.
[0087] S60 verifies multiple fourth pose information using multiple third pose information.
[0088] It can be understood that all non-target faces of the polyhedron are sequentially used as contact surfaces and placed on the water platform to create a polyhedron rotation effect. Then, during the rotation of the polyhedron, the pose information output by the IMU under test on the target surface is obtained when all non-target faces sequentially contact the water platform, along with the current structural information of the polyhedron. Then, based on this structural information, steps S10-S30 are executed sequentially to calculate the pose information of the IMU under test. Finally, the calculated pose information is compared with the pose information output by the IMU under test to verify the accuracy of the pose information output by the IMU under test.
[0089] That is, each time the polyhedron is rotated so that one of its non-target faces is placed against the water platform (i.e., the polyhedron is placed horizontally with one non-target face as the contact surface with the water platform), the pose information output by the IMU under test on the target face and the vertex coordinates of the target face are obtained in that state. The pose information of the IMU under test is then calculated based on the vertex coordinates. During the rotation of the polyhedron, the pose information output by the IMU under test is used as the fourth pose information, and the pose information calculated each time is used as the third pose information. Thus, each rotation yields a third pose information and a first and fourth pose information, respectively.
[0090] Among them, such as Figure 7 As shown, in S50 above, "the polyhedrons are placed on the horizontal platform according to their non-target faces, and multiple third pose information of the IMU under test on the target face is calculated respectively", including:
[0091] S51, calculate the rotation axis and rotation angle of the polyhedron when it is placed on the water platform according to each non-target face.
[0092] S52 generates a rotation matrix based on the rotation axis and rotation angle.
[0093] S53. Based on the rotation matrix, calculate the unit normal vector of each non-target face in the polyhedron, and based on the unit normal vector, calculate the second pose direction cosine matrix of the IMU under test on the target face when each non-target face is placed against the water platform.
[0094] S54. Based on the second pose direction cosine matrix, multiple third pose information of the IMU under test are calculated.
[0095] Based on the numbering and positional relationships of the faces of the polyhedron, the contact face N of the current water-contacting platform is determined. Then, the normal vector of face N is calculated based on the coordinates of the relevant vertices on face N. Combining the normal vector of face N with the standard gravity G = [00-1], the rotation axis n of the current polyhedron is calculated. b and rotation angle δ.
[0096] That is, calculate the normal vector of each non-target surface, and calculate the rotation axis and rotation angle of the polyhedron when each non-target surface is used as a contact surface.
[0097] Then, the rotation axis and rotation angle are converted into a rotation matrix ΔR using the Rodriguez formula, thereby obtaining the pose direction cosine matrix (i.e., R′) of surface A in the rectangular coordinate system during rotation. b ), specifically:
[0098]
[0099] Where, if n i Let represent the unit normal vector of the i-th face. The product of the normal vector of each non-target face and the rotation matrix is taken as the unit normal vector of that non-target face, that is:
[0100] n i =ΔRn i Based on the correspondence between the Cartesian coordinate system and the navigation coordinate system of the polyhedron, the pose direction cosine matrix in the Cartesian coordinate system can be converted into the pose direction cosine matrix in the navigation coordinate system. The pose direction cosine matrix in the navigation coordinate system is then denoted as the second pose direction cosine matrix (i.e., R′). ned Specifically, it is as follows:
[0101]
[0102] Furthermore, by using the second pose direction cosine matrix, the pitch angle and roll angle corresponding to surface A when surface N contacts the water platform in the navigation coordinate system are calculated accordingly, and then the current third pose information of the IMU under test is calculated.
[0103] As an optional implementation method, such as Figure 8 As shown, the above-mentioned S54 specifically includes the following steps:
[0104] S541, based on the second pose direction cosine matrix, calculate the pitch angle and roll angle of the target surface when each non-target surface is placed against the water platform.
[0105] S542 calculates multiple third pose information of the IMU under test based on each pitch and roll angle.
[0106] It is understandable that Euler angles are calculated based on the second pose direction cosine matrix, and then the third pose information of the IMU under test on surface A is calculated accordingly when each non-target surface is used as a contact surface; among them, the third pose information and the fourth pose information both contain the current pitch angle and roll angle information of surface A.
[0107] Furthermore, based on the multiple third pose information and multiple fourth pose information obtained during the polyhedron rotation process, multiple pitch angles and multiple roll angles of the target surface in the third pose information and the fourth pose information are calculated respectively; and the mean and standard deviation of the error between each pitch angle and each roll angle are calculated respectively.
[0108] Specifically, from R′ ned The Euler angles are extracted, and the pitch angle θ and roll angle φ of surface A when surface N contacts the water platform are calculated. Where:
[0109] θ=arctan(R' ned (3,2) / R' ned (3,3))
[0110] φ = -arcsin(R'ned(3,1)).
[0111] Let the pitch and roll angles in the fourth pose information output by the IMU under test be denoted as θ. i And φi, and then, calculate the mean (mean) and standard deviation (std) of the error values (i.e., err(n)) between the pitch angle and roll angle in the third pose information and the fourth pose information, respectively.
[0112]
[0113]
[0114] Where n represents the nth time the polyhedron is placed horizontally at rest during the rotation process, and N represents the total number of times the polyhedron is placed horizontally at rest during the rotation process.
[0115] It is understandable that the accuracy of the fourth pose information output by the IMU under test is verified by the mean and standard deviation of the above error values.
[0116] Furthermore, it is worth noting that the attitude information of the IMU under test calculated using the structural information of the polyhedron can be used as the standard attitude information. Then, by rotating the polyhedron as described above, multiple third attitude information points can be obtained. The pitch angle (i.e., the standard pitch angle in the table below) and roll angle (i.e., the standard roll angle in the table below) corresponding to these third attitude information can be recorded in a table, as shown in Table 1 below. Attitude verification can then be performed based on the data in this table.
[0117] Table 1 Standard Posture Information Table
[0118]
[0119] In this embodiment, each attitude change of the target surface in the polyhedron can be calculated using the mathematical method described above. The verification device used in this method can automatically record the attitude information at each moment and the entire process of attitude information change through the display screen, and at the same time record the entire process of attitude information error value change.
[0120] The attitude verification method provided in this application utilizes the structural characteristics of a polyhedron to calculate and verify the attitude information of sensors such as inertial units (IMUs) and inclinometers. This attitude verification method is simple to operate and has low cost. Furthermore, due to the multifaceted nature of its structure, the polyhedron can be extended to verify the attitude of multiple sensors such as IMUs, thus demonstrating good practicality.
[0121] Please refer to Figure 9 This application provides an attitude verification device, which includes:
[0122] The acquisition module 110 is used to acquire the vertex coordinates of the target edge and an adjacent edge of the target edge in a rectangular coordinate system, and to calculate the first unit vector of the target edge and the normal vector of the target surface.
[0123] The first calculation module 120 is used to calculate the second unit vector of the vertical edge in the IMU under test based on the first unit vector and the normal vector; wherein, the vertical edge is a parallel edge of the IMU under test that is perpendicular to the parallel edge of the IMU under test, and the parallel edge is a side of the IMU under test that is parallel to the target edge of the target surface.
[0124] The second calculation module 130 is used to calculate the first pose direction cosine matrix of the IMU under test on the target surface based on the first unit vector, the normal vector and the second unit vector, and to calculate the first pose information of the IMU under test based on the first pose direction cosine matrix.
[0125] The verification module 140 is used to obtain the second pose information currently output by the IMU under test, and to verify the second pose information using the first pose information.
[0126] The attitude verification device described above corresponds to the attitude verification method in Embodiment 1; any option in Embodiment 1 is also applicable to this embodiment, and will not be described in detail here.
[0127] This application also provides an attitude verification device, which includes a memory and at least one processor. The memory stores a computer program, and the processor executes the computer program to implement the attitude verification method described above.
[0128] The memory may include a stored program area and a stored data area. The stored program area may store the operating system and application programs required for at least one function. The stored data area may store data created based on the use of the computer device (such as first pose information, second pose information, etc.). In addition, the memory may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0129] This application also provides a computer-readable storage medium storing computer-executable instructions. When called and executed by a processor, the computer-executable instructions cause the processor to perform the steps of the attitude verification method described in the above embodiments.
[0130] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0131] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0132] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, essentially, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0133] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. An attitude verification method, characterized in that, The method is applied to a calibration device, which includes a horizontal platform and a polyhedron placed on the horizontal platform. An IMU to be tested is placed in a target face of the polyhedron; wherein the symmetry plane of the target face is in contact with the horizontal platform, and any side of the IMU to be tested is parallel to a target edge of the target face; the method includes: Obtain the vertex coordinates of the target edge and an adjacent edge of the target edge in a Cartesian coordinate system, and calculate the first unit vector of the target edge and the normal vector of the target surface; The second unit vector of the vertical edge in the IMU under test is calculated based on the first unit vector and the normal vector; wherein, the vertical edge is the edge perpendicular to the parallel edge of the IMU under test, and the parallel edge is the edge in the IMU under test that is parallel to the target edge of the target surface; Based on the first unit vector, the normal vector, and the second unit vector, the first pose direction cosine matrix of the IMU under test on the target surface is calculated, and the first pose information of the IMU under test is calculated based on the first pose direction cosine matrix. Obtain the second pose information currently output by the IMU under test, and verify the second pose information using the first pose information.
2. The attitude verification method according to claim 1, characterized in that, Also includes: The polyhedrons are placed on the water platform in sequence according to their non-target faces. Multiple third pose information of the IMU under test on the target face is calculated and multiple fourth pose information of the corresponding output of the IMU under test is obtained. The multiple third pose information is used to verify the multiple fourth pose information.
3. The attitude verification method according to claim 2, characterized in that, The step of placing the polyhedrons onto the water platform sequentially according to their non-target faces, and calculating multiple third pose information of the IMU under test on the target face, includes: Calculate the rotation axis and rotation angle of the polyhedron when it is placed on the water platform according to each non-target face; Generate a rotation matrix based on the rotation axis and the rotation angle; Based on the rotation matrix, calculate the unit normal vector of each non-target face in the polyhedron, and based on the unit normal vector, calculate the second pose direction cosine matrix of the IMU under test on the target face when each non-target face is placed in contact with the water platform. Based on the second pose direction cosine matrix, multiple third pose information of the IMU under test are calculated.
4. The attitude verification method according to claim 3, characterized in that, The step of calculating multiple third pose information of the IMU under test based on the second pose direction cosine matrix includes: Based on the second pose direction cosine matrix, calculate the pitch angle and roll angle of the target surface when each of the non-target surfaces is placed against the water platform. Based on each pitch angle and roll angle, multiple third pose information of the IMU under test are calculated.
5. The attitude verification method according to claim 3, characterized in that, The step of calculating the unit normal vector of each non-target face in the polyhedron based on the rotation matrix includes: Calculate the normal vector for each of the non-target surfaces; The product of the normal vector of each non-target surface and the rotation matrix is taken as the unit normal vector of each non-target surface.
6. The attitude verification method according to claim 2, characterized in that, The step of verifying the multiple fourth pose information using the multiple third pose information includes: Based on the multiple third pose information and the multiple fourth pose information, multiple pitch angles and multiple roll angles of the target surface are calculated accordingly. Calculate the mean and standard deviation of the errors between each pitch angle and each roll angle.
7. The attitude verification method according to claim 1, characterized in that, The step of calculating the first pose direction cosine matrix of the IMU under test on the target plane based on the first unit vector, the normal vector, and the second unit vector includes: Obtain the correspondence between the Cartesian coordinate system and the navigation coordinate system; Based on the first unit vector, the normal vector, the second unit vector, and the correspondence, calculate the first attitude direction cosine matrix of the IMU under test on the target surface in the navigation coordinate system.
8. An attitude verification device, characterized in that, include: A water platform and a polyhedron placed on the water platform, with the IMU under test placed in the target face of the polyhedron; wherein, the symmetry face of the target face is in contact with the water platform, and any side of the IMU under test is parallel to the target edge of the target face; The acquisition module is used to acquire the vertex coordinates of the target edge and an adjacent edge of the target edge in a rectangular coordinate system, and to calculate the first unit vector of the target edge and the normal vector of the target surface; The first calculation module is used to calculate the second unit vector of the vertical edge in the IMU under test based on the first unit vector and the normal vector; wherein the vertical edge is perpendicular to the parallel edge of the IMU under test, and the parallel edge is the edge in the IMU under test that is parallel to the target edge of the target surface. The second calculation module is used to calculate the first pose direction cosine matrix of the IMU under test on the target surface based on the first unit vector, the normal vector and the second unit vector, and to calculate the first pose information of the IMU under test based on the first pose direction cosine matrix. The verification module is used to obtain the second pose information currently output by the IMU under test, and to verify the second pose information using the first pose information.
9. A computer device, characterized in that, The computer device includes a memory and at least one processor, the memory storing a computer program, and the processor executing the computer program to implement the attitude verification method according to any one of claims 1-7.
10. A computer storage medium, characterized in that, It stores a computer program, which, when executed, implements the attitude verification method according to any one of claims 1-7.