Gimbal movement control method and system, gimbal and computer readable storage medium
By introducing position loop and acceleration loop control into the gimbal and combining it with an inertial measurement unit, the final control speed of the gimbal is determined, which solves the dizziness and shaking problems of the UAV during high maneuvers and achieves stable image capture.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2026-03-03
AI Technical Summary
When performing high-maneuvering maneuvers on vehicles such as drones, images captured by gimbal cameras are prone to dizziness and shaking, affecting image quality.
By acquiring the target position, current position, speed, and acceleration of the gimbal, the current state is measured using an inertial measurement unit. Combined with the position loop and acceleration loop controllers, the final control speed of the gimbal is determined to counteract the dizziness caused by acceleration.
It effectively prevents dizziness in gimbal-controlled footage, improves the smoothness of captured images, enhances user experience, reduces shaking, and improves device stability.
Smart Images

Figure CN115933758B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of motion control technology, and in particular to a gimbal motion control method, system, gimbal, and computer-readable storage medium. Background Technology
[0002] In applications such as drones, a gimbal is an essential component for obtaining stable images. To control balance and stability, traditional technology typically uses a controller to control the gimbal's motors, which in turn control the horizontal and vertical movements to ensure the balance and stability of the mounted camera.
[0003] However, when the gimbal is mounted on a drone or other platform and performs high-speed maneuvers, the platform's acceleration is significant. The gimbal then moves along with the platform, resulting in noticeable dizziness in the images captured by the camera on the gimbal. Similarly, during rapid platform movement, the rapidly rotating images captured by the camera on the gimbal can also cause visual dizziness. Furthermore, when the platform stops performing these high-speed maneuvers, the resulting shaking in the images captured by the camera on the gimbal can severely impact image quality. Summary of the Invention
[0004] Therefore, it is necessary to provide a gimbal motion control method, system, gimbal, and computer-readable storage medium that can prevent visual dizziness caused by acceleration, in order to address the above-mentioned technical problems.
[0005] Firstly, this application provides a gimbal motion control method, the method comprising:
[0006] Obtain the target position, current position, current velocity, and current acceleration of the gimbal, where the current acceleration is the acceleration of the gimbal as it moves with its carrier.
[0007] Based on the deviation between the target position and the current position, the first desired speed of the gimbal is determined, where the first desired speed is the control speed at which the gimbal reaches the target position;
[0008] Based on the deviation between the first desired speed and the current speed, the current desired acceleration of the gimbal is determined, where the current desired acceleration is the current maximum acceleration of the gimbal.
[0009] Based on the deviation between the current desired acceleration and the current acceleration, the second desired velocity of the gimbal is obtained, where the second desired velocity is the control velocity of the gimbal to counteract the current acceleration;
[0010] The final control speed of the gimbal is determined by comparing the first desired speed and the second desired speed in order to control the movement of the gimbal.
[0011] In one embodiment, obtaining the target position, current position, current velocity, and current acceleration of the gimbal includes:
[0012] Receive control commands from an external gimbal and obtain the target position of the gimbal;
[0013] The current position, current velocity, and current acceleration of the gimbal are measured by an inertial measurement unit, which includes a position encoder, an accelerometer, and a gyroscope.
[0014] In one embodiment, the current position, current velocity, and current acceleration of the gimbal are measured by the inertial measurement unit, including:
[0015] The current position is obtained based on data measured by the accelerometer and gyroscope.
[0016] The current speed is obtained based on data measured by the position encoder and gyroscope.
[0017] The current acceleration is obtained based on the data measured by the accelerometer.
[0018] In one embodiment, obtaining the second desired velocity of the gimbal based on the deviation between the current desired acceleration and the current acceleration includes:
[0019] The second desired velocity is calculated by proportional-integral method based on the deviation between the current desired acceleration and the current acceleration.
[0020] In one embodiment, determining the final control speed of the gimbal by comparing a first desired speed and a second desired speed includes:
[0021] If the first desired speed is greater than or equal to the second desired speed, the second desired speed is used as the final control speed of the gimbal. If the first desired speed is less than the second desired speed, the first desired speed is used as the final control speed of the gimbal.
[0022] In one embodiment, after setting the first desired speed as the final control speed of the gimbal, the method further includes:
[0023] Based on the deviation between the first desired speed and the second desired speed, adjust the speed of the carrier corresponding to the gimbal and / or the frame rate of the camera corresponding to the gimbal to compensate for the acceleration that the gimbal did not cancel.
[0024] In one embodiment, before determining the current desired acceleration of the gimbal based on the deviation between the first desired velocity and the current velocity, the method further includes:
[0025] Determine the gimbal status based on the current acceleration:
[0026] If the current acceleration is zero, the gimbal is in a steady state. In the steady state, the first desired speed is used as the final control speed of the gimbal to control the movement of the gimbal and clear the speed accumulation integral in the gimbal control.
[0027] If the current acceleration is not zero, the gimbal is in variable speed mode. In variable speed mode, the current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed.
[0028] Secondly, this application also provides a gimbal motion control system, including:
[0029] The acquisition module is used to acquire the target position, current position, current speed, and current acceleration of the gimbal, where the current acceleration is the acceleration of the gimbal following the movement of its carrier;
[0030] The position loop controller is used to determine the first desired speed of the gimbal based on the deviation between the target position and the current position, wherein the first desired speed is the control speed at which the gimbal reaches the target position;
[0031] An acceleration loop controller is used to determine the current desired acceleration of the gimbal based on the deviation between a first desired acceleration and the current acceleration, wherein the current desired acceleration is the current maximum acceleration of the gimbal; to obtain a second desired acceleration of the gimbal based on the deviation between the current desired acceleration and the current acceleration, wherein the second desired acceleration is the control speed of the gimbal to counteract the current acceleration; and to compare the first desired acceleration and the second desired acceleration to determine the final control speed of the gimbal in order to control the movement of the gimbal.
[0032] Thirdly, this application also provides a gimbal, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the gimbal motion control method in any of the above embodiments.
[0033] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the gimbal motion control method in any of the above embodiments.
[0034] The aforementioned gimbal motion control method, system, gimbal, and computer-readable storage medium incorporate acceleration loop control into the gimbal control. Specifically, a first desired speed of the gimbal is determined based on the deviation between the target position and the current position; a current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed; a second desired speed of the gimbal is obtained based on the deviation between the current desired acceleration and the current acceleration; and the final control speed of the gimbal is determined by comparing the first and second desired speeds to control the gimbal motion. This effectively prevents gimbal over-adjustment and ensures device stability. Furthermore, by adding acceleration loop control to the existing hardware and software control, the dizziness caused by acceleration in the captured image can be effectively counteracted without additional hardware, improving the smoothness of the captured image and thus enhancing the performance of the existing hardware without affecting the original control functions. This achieves the goals of shock absorption, image stabilization, and anti-dizziness, significantly improving the user experience. Attached Figure Description
[0035] To more clearly illustrate the technical solutions in the embodiments of this application or the conventional technology, the drawings used in the description of the embodiments or the conventional technology will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1 This is an overall flowchart of a gimbal motion control method in one embodiment;
[0037] Figure 2 This is a flowchart of a specific gimbal motion control method in one embodiment;
[0038] Figure 3 This is a control link diagram of a gimbal motion control method in one embodiment;
[0039] Figure 4 This is a structural block diagram of the gimbal motion control system in one embodiment;
[0040] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0041] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0043] It should be noted that when one element is considered to be "connected" to another element, it can be directly connected to the other element or connected to the other element through an intermediary element. Furthermore, in the following embodiments, "connection" should be understood as "electrical connection," "communication connection," etc., if there is transmission of electrical signals or data between the connected objects.
[0044] When used herein, the singular forms of “a,” “an,” and “the” may also include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising / including” or “having,” etc., specify the presence of the stated features, wholes, steps, operations, components, parts, or combinations thereof, but do not preclude the possibility of the presence or addition of one or more other features, wholes, steps, operations, components, parts, or combinations thereof. Meanwhile, the term “and / or” as used in this specification includes any and all combinations of the associated listed items.
[0045] The gimbal motion control method provided in this application can be widely applied to gimbal control on various carriers to prevent dizziness when shooting images from the gimbal. It is especially suitable for gimbal control on drones. When the drone is performing large maneuvers, it can effectively prevent dizziness caused by the images captured by the camera on the gimbal. Drones can be divided into three major platforms: fixed-wing drones, rotary-wing drones, unmanned airships, paragliding drones, flapping-wing drones, unmanned helicopters, and multi-rotor drones.
[0046] In one embodiment, such as Figure 1 As shown, a gimbal motion control method is provided. Taking the application of this method to a drone as an example, the method includes the following steps:
[0047] S100: Obtain the target position, current position, current speed, and current acceleration of the gimbal, wherein the current acceleration is the acceleration of the gimbal following the movement of its carrier;
[0048] Specifically, this embodiment can obtain the target position for gimbal motion control based on input commands, and obtain the current position, current speed, and current acceleration of the gimbal through sensor measurement and calculation. Further, the target position and current position are the angle values along the three axes of the gimbal, the current speed is the angular velocity along the three axes of the gimbal, and the current acceleration is the angular acceleration along the three axes of the gimbal. The three axes include the pitch axis, roll axis, and yaw axis, corresponding to pitch, roll, and yaw, respectively.
[0049] In some embodiments, for a drone, the current position, current speed, and current acceleration of the gimbal can be measured by the position encoder, accelerometer, and gyroscope in the inertial measurement unit. The current acceleration is the acceleration of the gimbal as it moves with the drone, which can be converted from the drone's acceleration.
[0050] S200: Determine the first desired speed of the gimbal based on the deviation between the target position and the current position, wherein the first desired speed is the control speed at which the gimbal reaches the target position;
[0051] Specifically, the first expected speed is calculated based on the deviation between the target position and the current position. The target position is the target value for gimbal position adjustment, and the current position is the current value of gimbal position. The first expected speed calculated based on the deviation between the two essentially reflects the control parameter of gimbal position adjustment. In other words, the magnitude of gimbal position adjustment is controlled by the magnitude of the first expected speed, that is, the first expected speed is the control speed for the gimbal to reach the target position.
[0052] Specifically, in this embodiment, the position loop controller determines the first desired speed of the gimbal based on the deviation between the target position and the current position. The position loop controller is mainly based on the proportional gain (P) mode for control. Specifically, the position loop controller calculates the large deviation between the input target position and the actual measured current position through the deviation counter, and then outputs the corresponding first desired speed, that is, the control speed of the gimbal to reach the target position, based on the deviation and the proportional gain adjustment.
[0053] Furthermore, the position loop controller can be a proportional gain controller, or a proportional-derivative (PD), proportional-integral-derivative (PID), or other linear controllers (mainly using proportional gain regulation).
[0054] S300: Determine the current desired acceleration of the gimbal based on the deviation between the first desired speed and the current speed, where the current desired acceleration is the current maximum acceleration of the gimbal;
[0055] Specifically, in this embodiment, the acceleration loop controller determines the current expected acceleration of the gimbal based on the deviation between the first expected speed and the current speed. The acceleration loop controller calculates the current expected acceleration of the gimbal, i.e. the maximum acceleration that the gimbal can currently achieve, based on the current speed and the first expected speed obtained by the position loop controller, with a calculation period of unit adjustment cycle.
[0056] S400: Based on the deviation between the current desired acceleration and the current acceleration, the second desired speed of the gimbal is obtained, where the second desired speed is the control speed of the gimbal to counteract the current acceleration;
[0057] Specifically, the second desired speed is calculated based on the deviation between the current desired acceleration and the current acceleration. The current acceleration is the acceleration of the gimbal following the drone's movement, which is also the acceleration that causes dizziness in the footage captured by the gimbal camera. By offsetting this acceleration, the dizziness in the footage can be prevented. The current desired acceleration is the maximum acceleration that the gimbal can achieve. Therefore, the second desired speed calculated based on the deviation between the two actually reflects the control parameter of the gimbal's own acceleration. In other words, the magnitude of the second desired speed controls the magnitude of the gimbal's own acceleration in order to offset the current acceleration of the gimbal following the drone's movement.
[0058] Specifically, in this embodiment, the acceleration loop controller described above obtains the second desired speed of the gimbal based on the deviation between the current desired acceleration and the current acceleration. Here, the acceleration loop controller is mainly based on the proportional-integral (PI) mode for control. Specifically, the acceleration loop controller calculates the large deviation between the previously obtained current desired acceleration and the measured current acceleration through a deviation counter, and then outputs the corresponding second desired speed based on the deviation through proportional-integral adjustment, which is the control speed of the gimbal to counteract the current acceleration.
[0059] Furthermore, the acceleration loop controller can be a PI controller or a proportional-integral-derivative (PID) controller (mainly using proportional-integral regulation).
[0060] S500: Compare the first desired speed and the second desired speed to determine the final control speed of the gimbal in order to control the movement of the gimbal.
[0061] Specifically, in this embodiment, the acceleration loop controller compares the first desired speed and the second desired speed and selects one of them as the final control speed of the gimbal. The first desired speed is the control speed at which the gimbal reaches the target position, which also limits the maximum speed of the gimbal position adjustment. If it exceeds this speed, the gimbal will have an over-adjustment problem. The second desired speed is the control speed at which the gimbal cancels out the current acceleration. By comparing the two, it can be confirmed whether the current acceleration can be canceled out within the position adjustment range. That is, the most suitable control speed is used to control the movement of the gimbal within the position adjustment range.
[0062] In some embodiments, see Figure 2The final control speed of the gimbal is determined by comparing the first expected speed and the second expected speed. If the first expected speed is greater than or equal to the second expected speed, the second expected speed is used as the final control speed of the gimbal. If the first expected speed is less than the second expected speed, the first expected speed is used as the final control speed of the gimbal. Specifically, when the first expected speed is greater than or equal to the second expected speed, it indicates that the current acceleration can be offset by acceleration control; therefore, the second expected speed is used as the final control speed of the gimbal. When the first expected speed is less than the second expected speed, it indicates that the current acceleration is too large, and within the position adjustment range, it can only partially offset to improve gimbal dizziness, not completely offset it. Therefore, to prevent over-adjustment, the first expected speed is used as the final control speed of the gimbal.
[0063] In some embodiments, this embodiment controls the gimbal based on the gimbal control speed determined above. It also requires the speed loop controller to output the desired current value of the gimbal drive through proportional-integral (PI) adjustment based on the deviation between the gimbal control speed and the current speed. Then, the current loop controller outputs the desired current value to the motor through proportional-integral-derivative (PID) adjustment based on the deviation between the desired current value and the current current value, thereby realizing the control of the gimbal.
[0064] The above steps S100 to S400 form a closed-loop control of the entire gimbal motion control. By cyclically executing the above steps S100 to S400, the gimbal motion can be precisely controlled, which can not only reduce vibration and shake, but also, more importantly, cancel acceleration to prevent dizziness.
[0065] The above-mentioned gimbal motion control method, on the one hand, compares the first desired speed and the second desired speed to determine the final control speed of the gimbal, which can effectively prevent the gimbal from over-adjusting and ensure the stability of the equipment. On the other hand, by adding acceleration loop control to the original hardware and software control, it can effectively counteract the dizziness caused by acceleration in the shooting image without adding hardware, improve the smoothness of the shooting image, thereby improving the performance of the current hardware, and does not affect the control of the original functions. It achieves the purpose of shock absorption, anti-shake and anti-dizziness, and greatly improves the user experience.
[0066] In one embodiment, measuring the current position, current velocity, and current acceleration of the gimbal using an inertial measurement unit includes: obtaining the current position based on data measured by an accelerometer and a gyroscope; obtaining the current velocity based on data measured by an encoder and a gyroscope; and obtaining the current acceleration based on data measured by an accelerometer.
[0067] Specifically, the angle values of the three axes of the gimbal are obtained by complementary fusion of data obtained from the three-axis accelerometer and gyroscope, the angular velocity of the three axes of the gimbal is obtained by formula calculation based on the data obtained from the three-axis encoder and gyroscope, and the angular acceleration of the three axes of the gimbal is obtained by outputting the three-axis accelerometer count value.
[0068] In one embodiment, after setting the first desired speed as the final control speed of the gimbal, the method further includes: adjusting the speed of the carrier corresponding to the gimbal and / or the frame rate of the camera corresponding to the gimbal based on the deviation between the first desired speed and the second desired speed, in order to compensate for the acceleration that the gimbal did not offset.
[0069] Specifically, when the first desired speed is less than the second desired speed, it can only partially offset the dizziness caused by the current acceleration. In this case, in order to further compensate for the dizziness caused by the acceleration not offset by the gimbal, this embodiment also adjusts the speed of the drone and / or the frame rate of the footage captured by the gimbal camera according to the deviation between the first desired speed and the second desired speed. Wherein, if the deviation between the two is greater than a preset threshold, appropriately reducing the speed of the drone can extend the control cycle of the gimbal, that is, more time can be used for gimbal adjustment, so as to completely offset the current acceleration within the position adjustment range. Similarly, appropriately reducing the frame rate of the footage captured by the gimbal camera can also extend the control cycle of the gimbal, thus giving more time for gimbal adjustment so as to completely offset the current acceleration.
[0070] In one embodiment, see Figure 2 Before determining the current desired acceleration of the gimbal based on the deviation between the first desired speed and the current speed, the process also includes: determining the gimbal state based on the current acceleration: if the current acceleration is zero, the gimbal state is a steady state. In the steady state, the first desired speed is used as the final control speed of the gimbal to control the movement of the gimbal and clear the speed accumulation integral in the gimbal control; if the current acceleration is not zero, the gimbal state is a variable speed state. In the variable speed state, the current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed.
[0071] Specifically, the current acceleration in this embodiment reflects the gimbal state. When the current acceleration is not 0, it indicates that the gimbal has an acceleration that causes dizziness. In other words, it is necessary to cancel the current acceleration at this time. In this gimbal state, this embodiment performs the relevant steps of acceleration adjustment to cancel the current acceleration. When the current acceleration is 0, it indicates that the gimbal has entered a uniform and stable motion. At this time, the relevant steps of acceleration adjustment can be skipped, and the first desired speed can be directly used as the final control speed of the gimbal.
[0072] In some embodiments, in order to further reduce the additional jitter caused by gimbal adjustment control, when the gimbal enters a stable state, the speed integral in the entire closed-loop control is cleared to prevent it from accumulating errors and causing additional jitter in the image, thereby improving the image stability of gimbal control.
[0073] This embodiment will now be described with reference to a specific scenario, but it is not limited thereto.
[0074] like Figure 3 As shown, this demonstrates stabilization and anti-dizziness measures for the UAV gimbal control link after adding an acceleration loop controller. Taking the gimbal's YAW direction as an example, see... Figure 2 and Figure 3 The specific process is as follows:
[0075] First, once the drone begins to move, its IMU (Inertial Measurement Unit) starts collecting and calculating the angular velocity and acceleration of its three axes. The gimbal IMU on the drone also starts collecting and calculating the gimbal's attitude. Among these, the angle calculation module, attitude fusion module, and angular acceleration calculation module in the gimbal control begin calculations. The angle calculation module calculates the current position of the gimbal based on the data measured by the IMU, the attitude fusion module calculates the current velocity of the gimbal based on the data measured by the IMU, and the angular acceleration calculation module calculates the current acceleration of the gimbal based on the data measured by the IMU. Furthermore, control commands for the gimbal are generated in real time based on the drone's flight status parameters, and the target position of the gimbal is obtained from the control commands.
[0076] The position loop controller adjusts the output of the gimbal to reach the target position at the first desired speed by adjusting the proportional gain based on the acquired target position and the measured current position.
[0077] The acceleration controller determines the gimbal state based on the measured current acceleration of the gimbal:
[0078] If the current acceleration of the gimbal is 0, it means that the drone gimbal has entered a uniform and stable motion. In this case, the acceleration loop controller is skipped, and the velocity integral in the entire closed-loop control is cleared directly. The first desired velocity is used as the control velocity output to the velocity loop to control the movement of the gimbal.
[0079] If the current acceleration of the gimbal is not zero, it means that the drone gimbal has an acceleration that causes dizziness and needs to be canceled. Then, the specific control steps of the acceleration loop controller are executed:
[0080] The acceleration loop controller calculates the maximum current desired acceleration that the gimbal can achieve based on the first desired velocity output by the position loop controller and the measured current velocity;
[0081] The acceleration loop controller uses proportional-integral adjustment based on the current desired acceleration and the measured current acceleration to output a second desired velocity that counteracts the current acceleration of the gimbal.
[0082] The acceleration loop controller compares the first desired speed and the second desired speed to determine the final control speed of the gimbal: if the first desired speed is greater than or equal to the second desired speed, it means that the acceleration can be offset by acceleration control, and the second desired speed is used as the final control speed of the gimbal. If the first desired speed is less than the second desired speed, part of the acceleration can be offset to improve the situation. At the same time, in order to prevent over-adjustment, the first desired speed is used as the final control speed of the gimbal. Meanwhile, if the first desired speed is less than the second desired speed and the deviation between the two is greater than a preset threshold, the speed of the carrier corresponding to the gimbal and / or the frame rate of the camera corresponding to the gimbal are adjusted to compensate for the acceleration that the gimbal has not offset.
[0083] The speed loop controller outputs the desired current value for the gimbal drive based on the deviation between the determined gimbal control speed and the current speed through proportional-integral regulation. Then, the current loop controller outputs the desired current value to the motor through proportional-integral-derivative (PID) regulation based on the deviation between the desired current value and the current current value, thereby controlling and regulating the gimbal.
[0084] The above steps form a closed-loop control of the entire gimbal motion control. By cyclically executing the above steps, the gimbal motion can be precisely controlled, which can not only reduce vibration and shake, but also, more importantly, cancel acceleration to prevent dizziness.
[0085] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0086] Based on the same inventive concept, this application also provides a gimbal motion control device for implementing the gimbal motion control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more gimbal motion control device embodiments provided below can be found in the limitations of the gimbal motion control method described above, and will not be repeated here.
[0087] In one embodiment, a gimbal motion control device is provided, comprising:
[0088] The acquisition module is used to acquire the target position, current position, current speed, and current acceleration of the gimbal, where the current acceleration is the acceleration of the gimbal following the movement of its carrier;
[0089] The first speed module is used to determine the first desired speed of the gimbal based on the deviation between the target position and the current position, wherein the first desired speed is the control speed at which the gimbal reaches the target position;
[0090] An acceleration module is used to determine the current desired acceleration of the gimbal based on the deviation between the first desired velocity and the current velocity, wherein the current desired acceleration is the current maximum acceleration of the gimbal;
[0091] The second speed module obtains the second desired speed of the gimbal based on the deviation between the current desired acceleration and the current acceleration. The second desired speed is the control speed of the gimbal to counteract the current acceleration.
[0092] The comparison module compares the first desired speed and the second desired speed to determine the final control speed of the gimbal in order to control the movement of the gimbal.
[0093] Each module in the aforementioned gimbal motion control device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0094] In one embodiment, such as Figure 4 As shown, a gimbal motion control system is provided, including:
[0095] The acquisition module 10 is used to acquire the target position, current position, current speed, and current acceleration of the gimbal, wherein the current acceleration is the acceleration of the gimbal following the movement of its carrier;
[0096] The position loop controller 20 is used to determine the first desired speed of the gimbal based on the deviation between the target position and the current position, wherein the first desired speed is the control speed at which the gimbal reaches the target position;
[0097] The acceleration loop controller 30 is used to determine the current desired acceleration of the gimbal based on the deviation between the first desired acceleration and the current speed, wherein the current desired acceleration is the current maximum acceleration of the gimbal; to obtain the second desired acceleration of the gimbal based on the deviation between the current desired acceleration and the current acceleration, wherein the second desired acceleration is the control speed of the gimbal to counteract the current acceleration; and to compare the first desired acceleration and the second desired acceleration to determine the final control speed of the gimbal in order to control the movement of the gimbal.
[0098] In one embodiment, see Figure 4 The system also includes a speed loop controller 40 and a current loop controller 50. The speed loop controller 40 is used to adjust the output of the desired current value of the gimbal drive through proportional-integral (PI) based on the deviation between the final control speed of the gimbal and the current speed. The current loop controller 50 is used to adjust the output of the motor of the gimbal to control the movement of the gimbal through proportional-integral-derivative (PID) based on the deviation between the desired current value and the current current value.
[0099] In one embodiment, obtaining the target position, current position, current velocity, and current acceleration of the gimbal includes: receiving control commands from an external gimbal and obtaining the target position of the gimbal; and measuring the current position, current velocity, and current acceleration of the gimbal using an inertial measurement unit, wherein the inertial measurement unit includes a position encoder, an accelerometer, and a gyroscope.
[0100] In one embodiment, measuring the current position, current velocity, and current acceleration of the gimbal using an inertial measurement unit includes: obtaining the current position based on data measured by an accelerometer and a gyroscope; obtaining the current velocity based on data measured by a position encoder and a gyroscope; and obtaining the current acceleration based on data measured by an accelerometer.
[0101] In one embodiment, obtaining the second desired velocity of the gimbal based on the deviation between the current desired acceleration and the current acceleration includes: calculating the second desired velocity by proportional integration based on the deviation between the current desired acceleration and the current acceleration.
[0102] In one embodiment, determining the final control speed of the gimbal by comparing a first expected speed and a second expected speed includes: if the first expected speed is greater than or equal to the second expected speed, then the second expected speed is used as the final control speed of the gimbal; if the first expected speed is less than the second expected speed, then the first expected speed is used as the final control speed of the gimbal.
[0103] In one embodiment, after setting the first desired speed as the final control speed of the gimbal, the method further includes: adjusting the speed of the carrier corresponding to the gimbal and / or the frame rate of the camera corresponding to the gimbal based on the deviation between the first desired speed and the second desired speed, in order to compensate for the acceleration that the gimbal did not offset.
[0104] In one embodiment, before determining the current desired acceleration of the gimbal based on the deviation between the first desired speed and the current speed, the method further includes: determining the gimbal state based on the current acceleration: if the current acceleration is zero, the gimbal state is a steady state; in the steady state, the first desired speed is used as the final control speed of the gimbal to control the movement of the gimbal and clear the speed accumulation integral in the gimbal control; if the current acceleration is not zero, the gimbal state is a variable speed state; in the variable speed state, the current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed.
[0105] In one embodiment, a computer device is provided, the internal structure of which can be shown as follows: Figure 5 As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The network interface is used to communicate with external terminals via a network connection. When the computer program is executed by the processor, it implements a gimbal motion control method.
[0106] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0107] In one embodiment, a gimbal is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement any of the gimbal motion control methods described in the above embodiments. For detailed explanations, please refer to the corresponding method descriptions, which will not be repeated here.
[0108] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When executed by a processor, the computer program implements any of the gimbal motion control methods described in the above embodiments. For detailed explanations, please refer to the corresponding descriptions of the methods, which will not be repeated here.
[0109] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0110] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0111] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A gimbal motion control method, characterized in that, The method includes: The target position, current position, current velocity, and current acceleration of the gimbal are obtained, wherein the current acceleration is the acceleration of the gimbal following the movement of its carrier; Based on the deviation between the target position and the current position, a first desired speed of the gimbal is determined, wherein the first desired speed is the control speed at which the gimbal reaches the target position; Based on the deviation between the first desired speed and the current speed, the current desired acceleration of the gimbal is determined, wherein the current desired acceleration is the current maximum acceleration of the gimbal; Based on the deviation between the current desired acceleration and the current acceleration, a second desired speed of the gimbal is obtained, wherein the second desired speed is the control speed of the gimbal to counteract the current acceleration; The final control speed of the gimbal is determined by comparing the first desired speed and the second desired speed in order to control the movement of the gimbal; Before determining the current desired acceleration of the gimbal based on the deviation between the first desired velocity and the current velocity, the method further includes: Determine the gimbal status based on the current acceleration: If the current acceleration is zero, the gimbal is in a stable state. In the stable state, the first desired speed is used as the final control speed of the gimbal to control the movement of the gimbal and clear the speed accumulation integral in the gimbal control. If the current acceleration is not zero, the gimbal is in a variable speed state. In the variable speed state, the current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed.
2. The method according to claim 1, characterized in that, The acquisition of the gimbal's target position, current position, current velocity, and current acceleration includes: Receive control commands from an external gimbal and obtain the target position of the gimbal; The current position, current velocity, and current acceleration of the gimbal are measured by an inertial measurement unit, wherein the inertial measurement unit includes a position encoder, an accelerometer, and a gyroscope.
3. The method according to claim 2, characterized in that, The current position, current velocity, and current acceleration of the gimbal are obtained by measuring the inertial measurement unit, including: The current position is obtained based on the data measured by the accelerometer and the gyroscope; The current speed is obtained based on the data measured by the position encoder and the gyroscope; The current acceleration is obtained based on the data measured by the accelerometer.
4. The method according to claim 1, characterized in that, The step of obtaining the second desired velocity of the gimbal based on the deviation between the current desired acceleration and the current acceleration includes: The second desired velocity is calculated by proportional-integral method based on the deviation between the current desired acceleration and the current acceleration.
5. The method according to claim 1, characterized in that, The process of comparing the first desired speed and the second desired speed to determine the final control speed of the gimbal includes: If the first expected speed is greater than or equal to the second expected speed, then the second expected speed is used as the final control speed of the gimbal; if the first expected speed is less than the second expected speed, then the first expected speed is used as the final control speed of the gimbal.
6. The method according to claim 5, characterized in that, After setting the first desired speed as the final control speed of the gimbal, the method further includes: Based on the deviation between the first desired speed and the second desired speed, adjust the speed of the carrier corresponding to the gimbal and / or the frame rate of the camera corresponding to the gimbal to compensate for the acceleration that the gimbal has not offset.
7. A gimbal motion control system, characterized in that, include: The acquisition module is used to acquire the target position, current position, current speed, and current acceleration of the gimbal, wherein the current acceleration is the acceleration of the gimbal following the movement of its carrier; A position loop controller is used to determine a first desired speed of the gimbal based on the deviation between the target position and the current position, wherein the first desired speed is the control speed at which the gimbal reaches the target position; An acceleration loop controller is configured to determine the current desired acceleration of the gimbal based on the deviation between the first desired acceleration and the current acceleration, wherein the current desired acceleration is the current maximum acceleration of the gimbal; to obtain a second desired acceleration of the gimbal based on the deviation between the current desired acceleration and the current acceleration, wherein the second desired acceleration is the control speed of the gimbal to counteract the current acceleration; and to compare the first desired acceleration and the second desired acceleration to determine the final control speed of the gimbal, so as to control the movement of the gimbal. Before determining the current desired acceleration of the gimbal based on the deviation between the first desired speed and the current speed, the method further includes: determining the gimbal state based on the current acceleration: if the current acceleration is zero, the gimbal state is a stable state, in which the first desired speed is used as the final control speed of the gimbal to control the movement of the gimbal and the speed accumulation integral in the gimbal control is cleared; if the current acceleration is not zero, the gimbal state is a variable speed state, in which the current desired acceleration of the gimbal is determined based on the deviation between the first desired speed and the current speed.
8. A gimbal, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Large astronomical telescope high-precision control system and method for inhibiting wind load disturbance
CN105373143A
Video image stabilization method based on three-axis holder
CN113805611A