IMU calibration method and device, controller and excavator
By rotating the robotic arm on the excavator and determining the calibration deviation using IMU data and optimization algorithms, the existing IMU calibration methods are solved, and efficient and accurate IMU automatic calibration is achieved.
Patent Information
- Application Number
- CN202510205283.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-05-13
AI Technical Summary
The existing IMU calibration methods are cumbersome and have high error rates. They rely on third-party measurement equipment to increase labor costs and time costs, and introduce measurement errors of third-party equipment, affecting calibration accuracy.
By controlling the rotation of the excavator robot arm, the angle, angular velocity and acceleration collected by the IMU are obtained, and the observed centripetal acceleration is determined in combination with the gravity acceleration. The optimization algorithm is used to minimize the difference between the observed centripetal acceleration and unknown centripetal acceleration, the calibration deviation is determined, and the IMU calibration is performed.
The IMU calibration process is simplified, the efficiency and accuracy of calibration are improved, the errors of manual intervention and third-party equipment are reduced, and automated calibration is realized.
Smart Images

Figure CN119984339A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to vehicle technology, and in particular to an IMU calibration method, device, controller and excavator. Background Art
[0002] At present, inertial measurement units (IMUs) and inclination sensors are used in excavators to measure the angles of working devices. Due to the error in the installation position of the IMU, the angles, angular rates, and accelerations measured by the IMU cannot directly reflect the true state of the working device. Therefore, calibration and correction must be performed to correct these installation deviations.
[0003] The existing calibration method mainly relies on third-party measurement equipment to measure the length, angle and other information of the excavator working device, and compares it with the length, angle and other information output by the IMU installed on the excavator working device to achieve calibration. However, the existing calibration method has some technical bottlenecks and limitations, mainly including the following aspects: after the same model of IMU is installed at a specific position on different excavator working devices, it still needs to be "calibrated one by one", which is cumbersome and has a high error rate; it is necessary to rely on third-party measurement equipment (such as a total station) to measure the relative position of the IMU and the excavator, which increases labor costs and time costs and is not conducive to mass production; while introducing third-party measurement equipment for measurement, it also introduces the measurement error of the third-party equipment itself. The obtained measurement value does not necessarily directly reflect the relative position of the real IMU and the excavator, which is not conducive to calculating and estimating the optimal installation error and other length and angle parameters. Summary of the invention
[0004] The present application provides an IMU calibration method, device, controller and excavator to improve the efficiency and accuracy of IMU calibration.
[0005] In a first aspect, the present application provides an IMU calibration method, the method comprising:
[0006] Controlling the rotation of the mechanical arm of the excavator to obtain the angle, angular velocity and acceleration collected by the inertial measurement unit (IMU) set on the mechanical arm;
[0007] Determining an observed centripetal acceleration based on the acceleration, the angle, and the acceleration of gravity;
[0008] Determine the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, a preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length;
[0009] The IMU is calibrated according to the calibration deviation.
[0010] Optionally, the method further includes:
[0011] Determine the deviation length of the rotatable origin of the manipulator where the IMU is located from the IMU according to the theoretical length and the calibrated unknown deviation;
[0012] The unknown centripetal acceleration is expressed by multiplying the square of the angular velocity by the deviation length.
[0013] Optionally, determining the calibration deviation according to a theoretical length of a rotatable origin of a manipulator where the IMU is located from the IMU, a preset optimization algorithm, the angular velocity, and the observed centripetal acceleration includes:
[0014] The optimized function is equal to the sum of the differences between the observed centripetal acceleration and the unknown centripetal acceleration at each moment;
[0015] According to the difference data at each moment in a preset time period, the data of the calibrated unknown deviation is changed, the minimum value of the optimized function is iteratively calculated through the optimization function, and the data of the calibrated unknown deviation corresponding to the minimum value of the optimized function is used as the calibration deviation.
[0016] Optionally, determining the observed centripetal acceleration according to the acceleration, the angle, and the gravitational acceleration includes:
[0017] The observed centripetal acceleration is obtained by subtracting the gravitational acceleration multiplied by the sine value of the angle from the acceleration.
[0018] Optionally, the calibration deviation includes a length deviation and an angle deviation.
[0019] In a second aspect, the present application provides an IMU calibration device, the device comprising:
[0020] An acquisition module is used to control the rotation of the mechanical arm of the excavator and acquire the angle, angular velocity and acceleration collected by the IMU set on the mechanical arm;
[0021] A first determination module, configured to determine an observed centripetal acceleration according to the acceleration, the angle and the gravitational acceleration;
[0022] A second determination module is used to determine the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, a preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length;
[0023] The calibration module is used to calibrate the IMU according to the calibration deviation.
[0024] In a third aspect, the present application provides a controller, including: a memory, a processor;
[0025] The memory stores computer-executable instructions;
[0026] The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method as described in any one of the first aspects.
[0027] In a fourth aspect, the present application provides an excavator, the excavator comprising: a controller, a mechanical arm and an IMU, the mechanical arm comprising a boom or a stick, the IMU being arranged at a preset position of the mechanical arm, the preset position being an arc position determined by taking a rotation fulcrum of the mechanical arm as an origin and a distance from the origin to a terminal of a driving cylinder of the mechanical arm as a radius;
[0028] The controller is used to execute the method as described in any one of the first aspects.
[0029] Optionally, the axis of the IMU coordinate system is tangent to the arc.
[0030] Optionally, the robotic arm further includes a rocker, the IMU is disposed on the rocker, and the axis of the IMU coordinate system is parallel to the rocker.
[0031] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementations of the first aspect.
[0032] In a sixth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0033] The calibration method, device, controller and excavator of the IMU provided by the present application include: controlling the rotation of the mechanical arm of the excavator to obtain the angle, angular velocity and acceleration collected by the inertial measurement unit IMU set on the mechanical arm; determining the observed centripetal acceleration according to the acceleration, angle and gravity acceleration; determining the calibration deviation according to the theoretical length of the rotatable origin of the mechanical arm where the IMU is located from the IMU, the preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length; calibrating the IMU according to the calibration deviation. Through this method, after the IMU is installed in the preset position, it is only necessary to rotate the mechanical arm to construct the relationship between the observed centripetal acceleration and the unknown centripetal acceleration containing the unknown calibration deviation, and the calibration deviation can be determined by the optimization algorithm. The calibration process is simple, and it is no longer necessary to calibrate manually through a third-party tool, thereby improving the calibration efficiency. In the entire calibration process, measurement errors of other tools are not introduced, which can improve the calibration accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0035] Figure 1 Schematic diagram of the installation of the IMU provided for this application on the excavator;
[0036] Figure 2 A dotted line diagram of the IMU provided for this application on an excavator;
[0037] Figure 3 A flowchart of the IMU calibration method provided in this application;
[0038] Figure 4 Schematic diagram of the IMU calibration method on the joystick provided in this application;
[0039] Figure 5 Schematic diagram of the IMU calibration method on the stick provided in this application;
[0040] Figure 6 Schematic diagram of the IMU calibration method on the boom provided in this application;
[0041] Figure 7 A schematic diagram of the structure of an IMU calibration device provided in this application;
[0042] Figure 8 A schematic diagram of the structure of the electronic device provided in this application.
[0043] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0044] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0045] At present, the angle measurement of the working device in the excavator generally uses an inertial measurement unit (IMU) and an inclination sensor to measure the angular velocity and obtain the angle information. However, after the IMU is installed on the excavator, due to welding, process and other reasons, the IMU coordinate system does not coincide with the coordinate system specified by the excavator working device, and the output information of the IMU cannot represent the actual angle, angular velocity and acceleration of the working device, so manual calibration is required to correct the installation deviation of the IMU.
[0046] However, manual calibration is cumbersome and has a high error rate, and using third-party tools for calibration has low calibration accuracy. Therefore, it is necessary to improve the speed and accuracy of calibration.
[0047] In view of the above problems, this application proposes a method of using the measured values and calculated values of the IMU for calibration to perform self-calibration, which does not require the use of third-party measurement tools, nor does it require users to perform manual calibration, thereby improving calibration efficiency and speed. The IMU can obtain acceleration information, and the observed centripetal acceleration can be determined based on the angle; in addition, the centripetal acceleration can be calculated based on the rotation rate and rotation radius, and the two should be equal. However, if the installation position is deviated, it will cause calibration deviations in the rotation radius and rotation angle. Based on the equal relationship between the two, the calibration deviation can be solved based on a series of data. In this way, the automatic calibration of the excavator IMU is completed, the calibration speed is improved, and manpower is saved.
[0048] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0049] First, the installation position of the IMU on the excavator is explained.
[0050] Figure 1 The installation diagram of the IMU provided for this application on the excavator is as follows: Figure 1 As shown, IMUs are provided on the excavator mechanical arms (boom, arm, and rocker).
[0051] The IMU can output three-axis angular rate, three-axis acceleration, and can provide angle information (pitch angle, roll angle, etc.) in real time. The IMU device has been calibrated before leaving the factory, and the above three types of information output are accurate.
[0052] For the IMU installed on the boom or stick, the IMU is set at a preset position, which is an arc position determined by taking the rotation fulcrum of the mechanical arm as the origin and the distance from the origin to the terminal of the driving cylinder of the mechanical arm as the radius. That is, for the IMU of the boom, the IMU is set at the arc position of the boom, and for the IMU of the rocker, the IMU is set at the arc position of the rocker.
[0053] With this setting, when the boom or arm is rotating, the radius is used as the theoretical length, and the theoretical centripetal acceleration can be calculated based on the angular velocity of rotation and the theoretical radius. However, considering the installation deviation, the theoretical length combined with the calibration deviation can obtain the deviation length, calculate the unknown centripetal acceleration, and then perform subsequent calibration deviation calculations. If the IMU cannot be set on an arc due to actual conditions, a fixed position needs to be specified, and the length from its installation position to the rotation fulcrum of the robotic arm needs to be determined as the theoretical length.
[0054] Furthermore, to facilitate the calculation of the unknown centripetal acceleration, the axis of the IMU coordinate system is tangent to the arc. The axis of the coordinate system tangent to the arc can be the x-axis or the y-axis. If the tangent is the y-axis, when determining the observed centripetal acceleration, use the acceleration in the x-axis direction minus the component of gravity acceleration. Similarly, if the tangent is the x-axis, use the acceleration in the y-axis direction minus the component of gravity acceleration.
[0055] Optionally, the axis of the IMU coordinate system may not be tangent to the arc, but the angle between the IMU axis and the tangent line of the arc needs to be known for calculating the observed centripetal acceleration.
[0056] For the IMU set on the joystick, the IMU is set on the joystick. When the joystick rotates, the rotation fulcrum of the joystick is taken as the origin, and the distance from the origin to the IMU is taken as the radius, and then the unknown centripetal acceleration can be calculated.
[0057] Furthermore, the axis of the IMU coordinate system is parallel to the joystick, which can facilitate the calculation of unknown centripetal acceleration.
[0058] IMUs can be installed on the boom, arm, and rocker of the excavator, or only on one of the arms. The calculation method for calibrating each IMU is the same, and the calibration method will be introduced in the subsequent embodiments. The following is a detailed introduction to the locations where IMUs are installed on the boom, arm, and rocker using a specific installation example.
[0059] Figure 2 The dotted line schematic diagram of the IMU provided for this application on the excavator is as follows: Figure 2 As shown, the schematic diagram is a front view, that is, the points in the figure are projected onto a plane, and the distance in the figure also represents the distance under the plane. Point C is the origin of the excavator boom, point A is the starting end of the boom drive cylinder; point B is the terminal of the boom drive cylinder; point D is the starting end of the arm drive cylinder; point E is the terminal of the arm drive cylinder; point F is the connection point between the boom and the arm, that is, the rotation origin of the arm; point G is the starting end of the rocker drive cylinder; point M is the terminal of the rocker drive cylinder; point N is the connection point between the rocker and the arm, that is, the rotation origin of the rocker; Q, K, and V are the edges of the bucket.
[0060] like Figure 2 As shown, IMUs are respectively arranged on the boom, the arm and the rocker, the boom is provided with IMU1, the arm is provided with IMU2, and the rocker is provided with IMU3.
[0061] The IMU1 on the boom should be installed on an arc with point c as the center and CB as the radius, and the x-axis of IMU1 should be parallel to the C-IMU1 ray.
[0062] The IMU2 on the stick should be installed on an arc with point F as the center and FE as the radius, and the x-axis of IMU2 should be parallel to the F-IMU2 ray.
[0063] The IMU3 on the joystick should be installed in the middle of NM or other positions, and the x-axis of IMU3 should be parallel to NM.
[0064] Install the IMU according to the above position and perform subsequent IMU calibration.
[0065] Applying any of the above-mentioned IMU installation methods, the IMU calibration method is introduced below with a specific embodiment.
[0066] Figure 3 The flowchart of the IMU calibration method provided for this application is as follows: Figure 3 The method comprises the following steps:
[0067] S101, controlling the mechanical arm of the excavator to rotate, and obtaining the angle, angular velocity, and acceleration collected by the IMU set on the mechanical arm.
[0068] In this step, when the IMU on the rocker needs to be calibrated, the boom and the stick are stationary, and the robot rocker is operated to move at an angular velocity ω. At this time, the angle information θ and the three-axis instantaneous acceleration information a output by the IMU in real time are obtained. x 、a y 、a z , and the instantaneous angular rate information of the three axes ω x ,ω y ,ω z Similarly, when the IMU on the boom needs to be calibrated, the rocker and the boom are stationary, the boom is controlled to move at an angular velocity ω, and the real-time output data of the IMU is obtained. When the IMU on the boom needs to be calibrated, the boom and the rocker are stationary, the boom is controlled to move at an angular velocity ω, and the real-time output data of the IMU is obtained.
[0069] During each calibration, the value of the angular velocity ω may be different.
[0070] S102. Determine the observed centripetal acceleration according to the acceleration, angle and gravitational acceleration.
[0071] According to the three-axis instantaneous acceleration obtained by the IMU and the IMU setting method, the acceleration in the radial direction can be determined in real time. By subtracting the component of gravity acceleration, the real-time observed centripetal acceleration can be obtained.
[0072] The component of weight acceleration is equal to weight acceleration multiplied by the sine of the angle.
[0073] If the axis of the IMU coordinate system is tangent to the arc in the IMU setting, the acceleration in the axis direction perpendicular to the tangent direction of the arc can be directly used as the acceleration in the radial direction. If the IMU needs to be placed at a certain angle due to the needs of some excavators, the axis cannot be tangent to the arc. In this case, the acceleration in the radial direction needs to be calculated based on the acceleration of the two axes and the placement angle.
[0074] S103. Determine a calibration deviation according to a theoretical length of a rotatable origin of the robotic arm where the IMU is located from the IMU, a preset optimization algorithm, an angular velocity, and an observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is expressed based on the angular velocity, the calibration unknown deviation, and the theoretical length.
[0075] In this step, the observed centripetal acceleration can be calculated according to step 102, and the unknown centripetal acceleration can also be expressed according to the rotation angular velocity and the rotation radius. When there is no deviation in the installation, the rotation radius is equal to the theoretical length, and the observed centripetal acceleration and the unknown centripetal acceleration are equal. However, there is a deviation in the actual installation process, then the rotation radius is not equal to the theoretical length, which will cause the observed centripetal acceleration and the unknown centripetal acceleration to be unequal. Therefore, the optimized function of the difference between the observed centripetal acceleration and the unknown centripetal acceleration is constructed, and the data collected in real time during the rotation process is iteratively calculated by an optimization algorithm (such as least square method, gradient descent method, particle swarm optimization algorithm, etc.) The minimum value of the difference is calculated, and then the rotation radius corresponding to the minimum value of the difference can be determined, and the calibration deviation of the rotation radius and the theoretical length can be determined.
[0076] S104: Calibrate the IMU according to the calibration deviation.
[0077] In this step, the output data of the IMU is adjusted to compensate for the error caused by the installation deviation. This can be achieved by modifying the calibration coefficient of the IMU, adjusting its rotation radius or other related parameters. After the calibration is completed, the accuracy of the IMU is verified by collecting data again to ensure that the angle, angular velocity and acceleration data output by the IMU after calibration are consistent with the actual physical movement.
[0078] This embodiment provides an IMU calibration method, which accurately obtains IMU data (angle, acceleration, and angular velocity) and combines an optimization algorithm to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, thereby determining the calibration deviation and adjusting the IMU. Compared with traditional manual calibration, this automated IMU calibration method has the advantages of high accuracy, high efficiency, strong adaptability, low cost, and simple operation, and can achieve batch operation.
[0079] The method for determining the calibration deviation is described in detail below using a specific example.
[0080] Figure 4 Schematic diagram of the IMU calibration method on the joystick provided in this application.
[0081] The boom and the stick are stationary, and the rocker of the manipulator moves at an angular velocity ω, such as Figure 4 As shown, at this time, the IMU can output angle information θ and three-axis instantaneous acceleration information a in real time. x 、a y 、a z , and the instantaneous angular rate information of the three axes ω x ,ω y ,ω z ; At this time, the instantaneous acceleration information a x 、a y 、a zIn addition to the centripetal acceleration a caused by rotation MN In addition, it also includes the gravitational acceleration g;
[0082] A x The gravitational acceleration component in is eliminated, and the instantaneous observed centripetal acceleration a is obtained. MN
[0083] a MN =a x -sinθ·g
[0084] According to the centripetal acceleration formula, combined with the joystick size parameter (the theoretical length of the IMU on the joystick from the rotation origin) l, the theoretical centripetal acceleration a′ can be expressed MN :
[0085]
[0086] Ideally, it should be MN =a′ MN However, in reality, due to factors such as welding and process errors, the IMU is not accurately installed at a specific position on the robot arm, resulting in the length of l not being equal to the theoretical length, making a MN and a′ MN There is a deviation.
[0087] Assume that the calibration unknown deviation between the actual installation position of the IMU (coordinate system UNM) and the specific installation position (coordinate system U'N'M') is denoted as Δl x , Δl y , Δl z , Δθ x , Δθ y , Δθ z The theoretical length l is expressed in the coordinate system as l x ′、l y ′、l z The calibration unknown deviation represents the unknown deviation of the length deviation l in the x, y, and z axis directions of the IMU, and the unknown deviation of the angle in the x, y, and z axis directions. According to the coordinate transformation matrix formula, the deviation length l′ after deviation correction can be expressed. l′ can be expressed by l x ′、l y ′、l z ′ means, that is to say, l x ′、l y ′、l z ' can calculate the length of l':
[0088]
[0089] According to the centripetal acceleration formula, the unknown centripetal acceleration can be expressed as:
[0090]
[0091] Use the optimal estimation algorithm to estimate the IMU installation error and find the global optimal set of Δl x , Δl y , Δl z , Δθ x , Δθ y , Δθ z .
[0092] The optimal estimation algorithm may adopt the least squares, the particle swarm optimization algorithm, or other optimization algorithms.
[0093] For example, taking the particle swarm optimization algorithm as an example, the optimized function of a single data point is assumed to be:
[0094] w=a MN -a′ MN
[0095] Control the robot arm MN to rotate at ω, and set each moment t i The IMU output angle information θ i , three-axis instantaneous acceleration information a xi 、a yi 、a zi , and the instantaneous angular rate information of the three axes ω xi ,ω yi ,ω zi ; Use the above formula to calculate each moment t i The observed centripetal acceleration a MNi ;
[0096] Set the initial conditions of the particle swarm, change the data of the unknown deviation according to the difference data at each moment in the preset time period, and iterate the calculation; after each iteration, a set of Δl x , Δl y , Δl z , Δθ x , Δθ y , Δθ z , substituting it into the formula, we can calculate the unknown centripetal acceleration a′ MN ;
[0097] Assume that the optimized function within a period of time is:
[0098]
[0099] The particle swarm stops searching after iterating n times and finally estimates the optimal Δl x , Δl y , Δl z , Δθ x , Δθy , Δθ z , which is the determined calibration deviation, completes the calibration of the joystick IMU.
[0100] In summary, an equation can be constructed by using the observed centripetal acceleration calculated from the IMU measured data and the centripetal acceleration containing the unknown calibration deviation, and the unknown calibration deviation can be solved by optimizing the function.
[0101] Figure 5 This is a schematic diagram of the IMU calibration method on the stick provided in this application. Figure 5 As shown, the x-axis of the IMU is parallel to the radial direction passing through the IMU, and the y-axis is tangent to the arc. The boom and the rocker are stationary, and the manipulator arm moves at an angular velocity ω. At this time, the theoretical length l of the radius is the length of EF. However, due to installation deviation, the length deviation occurs, and the deviation length can be determined by the coordinate transformation matrix formula. Then, the unknown calibration deviation is determined by the optimization function and optimization algorithm. The specific formula and calculation method are the same as those of the above-mentioned rocker, so they will not be repeated here.
[0102] Figure 6 This is a schematic diagram of the IMU calibration method for the boom provided in this application. Figure 6 As shown, the x-axis of the IMU is parallel to the radial direction passing through the IMU, and the y-axis is tangent to the arc. The rocker and the arm are stationary, and the manipulator arm moves at an angular velocity ω. At this time, the theoretical length l of the radius is the length of the CB. However, due to installation deviation, the length deviation occurs, and the deviation length can be determined by the coordinate transformation matrix formula. Then, the unknown calibration deviation is determined by the optimization function and optimization algorithm. The specific formula and calculation method are the same as those of the above-mentioned rocker, so they will not be repeated here.
[0103] Figure 7 A schematic diagram of the structure of an IMU calibration device provided in this application, such as Figure 7 The IMU calibration device 80 includes:
[0104] An acquisition module 801 is used to control the rotation of the mechanical arm of the excavator and acquire the angle, angular velocity and acceleration collected by the IMU set on the mechanical arm;
[0105] A first determination module 802 is used to determine the observed centripetal acceleration according to the acceleration, the angle and the gravitational acceleration;
[0106] The second determination module 803 is used to determine the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, the preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length;
[0107] The calibration module 804 is used to calibrate the IMU according to the calibration deviation.
[0108] Optionally, the second determining module 803 is specifically configured to:
[0109] Determine the deviation length of the rotatable origin of the manipulator where the IMU is located from the IMU according to the theoretical length and the calibrated unknown deviation;
[0110] The unknown centripetal acceleration is expressed by multiplying the square of the angular velocity by the deviation length.
[0111] Optionally, the second determining module 803 is specifically configured to:
[0112] The optimized function is equal to the sum of the differences between the observed centripetal acceleration and the unknown centripetal acceleration at each moment;
[0113] According to the difference data at each moment in the preset time period, the data of the calibrated unknown deviation is changed, the minimum value of the optimized function is iteratively calculated through the optimization algorithm, and the data of the calibrated unknown deviation corresponding to the minimum value of the optimized function is used as the calibration deviation.
[0114] Optionally, the first determining module 802 is specifically configured to:
[0115] The observed centripetal acceleration is obtained by subtracting the gravitational acceleration multiplied by the sine value of the angle from the acceleration.
[0116] The IMU calibration device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be described in detail here.
[0117] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application, and the electronic device may be a controller. Figure 8 As shown, the electronic device 50 provided in this embodiment includes: at least one processor 501 and a memory 502. Optionally, the device 50 also includes a communication component 503. The processor 501, the memory 502 and the communication component 503 are connected via a bus 504.
[0118] In a specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that at least one processor 501 executes the above method.
[0119] The specific implementation process of the processor 501 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0120] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0121] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.
[0122] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.
[0123] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0124] The present application also provides an excavator, including an IMU and a controller, wherein the controller can execute the method in the above method embodiment.
[0125] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0126] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0127] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0128] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0129] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0130] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0131] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0132] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0133] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A calibration method for an IMU, characterized in that: The method comprises: Controlling the rotation of the mechanical arm of the excavator to obtain the angle, angular velocity and acceleration collected by the inertial measurement unit (IMU) set on the mechanical arm; Determining an observed centripetal acceleration based on the acceleration, the angle, and the acceleration of gravity; Determine the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, the preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length; The IMU is calibrated according to the calibration deviation.
2. The method according to claim 1, characterized in that The method further comprises: Determine the deviation length of the rotatable origin of the manipulator where the IMU is located from the IMU according to the theoretical length and the calibrated unknown deviation; The unknown centripetal acceleration is expressed by multiplying the square of the angular velocity by the deviation length.
3. The method according to claim 2, characterized in that The step of determining the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, a preset optimization algorithm, the angular velocity, and the observed centripetal acceleration includes: The optimized function is equal to the sum of the differences between the observed centripetal acceleration and the unknown centripetal acceleration at each moment; According to the difference data at each moment in a preset time period, the data of the calibrated unknown deviation is changed, the minimum value of the optimized function is iteratively calculated through the optimization algorithm, and the data of the calibrated unknown deviation corresponding to the minimum value of the optimized function is used as the calibration deviation.
4. The method according to any one of claims 1 to 3, characterized in that: Determining the observed centripetal acceleration according to the acceleration, the angle and the gravitational acceleration includes: The observed centripetal acceleration is obtained by subtracting the gravitational acceleration multiplied by the sine value of the angle from the acceleration.
5. The method according to any one of claims 1 to 3, characterized in that: The calibration deviation includes length deviation and angle deviation.
6. An IMU calibration device, characterized in that: The device comprises: An acquisition module is used to control the rotation of the mechanical arm of the excavator and acquire the angle, angular velocity and acceleration collected by the IMU set on the mechanical arm; A first determination module, configured to determine an observed centripetal acceleration according to the acceleration, the angle and the gravitational acceleration; A second determination module is used to determine the calibration deviation according to the theoretical length of the rotatable origin of the manipulator where the IMU is located from the IMU, a preset optimization algorithm, the angular velocity and the observed centripetal acceleration; wherein the optimization algorithm is used to minimize the difference between the observed centripetal acceleration and the unknown centripetal acceleration, and the unknown centripetal acceleration is represented based on the angular velocity, the calibration unknown deviation and the theoretical length; The calibration module is used to calibrate the IMU according to the calibration deviation.
7. A controller, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 5.
8. An excavator, characterized in that: The excavator comprises: a controller, a mechanical arm and an IMU, wherein the mechanical arm comprises a boom or a stick, and the IMU is arranged at a preset position of the mechanical arm, wherein the preset position is an arc position determined by taking the rotation fulcrum of the mechanical arm as the origin and the distance from the origin to the terminal of the driving cylinder of the mechanical arm as the radius; The controller is used to execute the method according to any one of claims 1 to 5.
9. The excavator according to claim 8, characterized in that: The axis of the IMU coordinate system is tangent to the arc.
10. The excavator according to claim 8 or 9, characterized in that: The robotic arm also includes a rocker, the IMU is arranged on the rocker, and the axis of the IMU coordinate system is parallel to the rocker.