Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Unless defined otherwise, 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 invention belongs. The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention.
In order to facilitate understanding of the technical solutions and technical effects of the present application, the following briefly describes the prior art:
in the prior art, the three-axis attitude closed-loop controller of the pan/tilt head (e.g., handheld pan/tilt head) is generally a position loop-velocity loop dual-loop controller, as shown in fig. 1, R
tarFor end (camera) target pose, R
ebMeasuring (fusing) attitude for the end (camera), δ R attitude control error, C
pBeing position loop controllers, C
vBeing a speed loop controller, J
-1Is Jacobian inverse matrix, P is the controlled object (motor), omega
bIn order to be the terminal angular velocity,
for the joint angular velocity, Fusion is an Inertial measurement unit (IMU for short) for data Fusion; by the above-mentioned end target attitude R
tarAnd the tail end angular velocity can realize double-ring closed-loop control of the pan-tilt. The Jacobian matrix corresponding to the holder describes the nonlinear mapping relation between the angular velocity of each joint and the velocity of the holder tail end body in a coordinate system. The Jacobian inverse matrix is typically used to map the position loop error and angular velocity to the joint angle space, i.e., satisfy the formula
Therefore, the control quantity under the body coordinate system is changed into the control quantity of each motor, and after passing through the speed loop controller, each motor respectively obtains the output torque required by realizing the attitude control.
On the contrary, the method can be used for carrying out the following steps,
wherein J is the Jacobian matrix.
However, when the joint angle of the pan/tilt is in the singular point neighborhood, the Jacobian matrix is nearly singular (irreversible), and at this time, the angular velocity ω is determined according to the terminal angular velocity
bAnd joint angular velocity
In relation to (2)
It is known that the desired angular velocity of the joint in order to obtain a velocity in some directions of the tip
Would be very large. Meanwhile, because of the Jacobian inverse matrix, the values of some elements become large, and the measurement noise of the end inertia measurement module is amplified by the Jacobian inverse matrix. Therefore, the control of the holder is difficult to stabilize, and the attitude control and stability augmentation are difficult to realize.
In order to solve the above problems, the prior art proposes the following solutions: (a) and designing structure limit in the neighborhood of the singular point. (b) And designing software limit in the neighborhood of the singular point, or designing an evading track to bypass the singular point. (c) The redundant connecting rod design designs the singular point in an unusually used area.
For the above solutions (a) and (b), it is mainly to avoid entering the singularity neighborhood by an evasive method. However, the limit of the methods is generally far away from a singular point (for example, the limit is generally over 30 degrees and is mainly determined by configuration and sensor noise), so that the motion range of the holder is greatly reduced; especially for some configurations of the pan/tilt head, in order to meet some use requirements, the singular point is closer to the normal working space, such as a non-orthogonal configuration of the pan/tilt head, the movement range in a certain direction will be further reduced. For the above solution (c), it does not actually solve the problem of singular point neighborhood control, and the redundant design increases volume, weight, design and material costs, etc.
Some embodiments of the invention are described in detail below with reference to the accompanying drawings. The features of the embodiments and examples described below may be combined with each other without conflict between the embodiments.
Fig. 2 is a schematic flow chart of a pan-tilt control method according to an embodiment of the present invention; in order to solve the problem that the stability of the pan/tilt control is affected by the singular point neighborhood and the accurate control of the attitude is difficult to achieve in the prior art, referring to fig. 2, this embodiment provides a pan/tilt control method, in which the pan/tilt may include at least a first support, a second support, and a third support connected in sequence, where the first support, the second support, and the third support are used to connect a load, and the load may be a camera, a video camera, or any other device with a shooting function. In addition, the main execution body of the control method is a pan-tilt control device, and it can be understood that the control device can be implemented as software, or a combination of software and hardware; when the control device executes the control method, the first support, the second support and the third support in the cloud deck can be controlled by adopting different control strategies when the cloud deck is in different states relative to the singular point neighborhood. Specifically, the method comprises the following steps:
s1: and detecting whether the holder is positioned in a preset singular point neighborhood.
When the tripod head is at a singular point, the minimum value of the singular values of the Jacobian matrix is equal to 0 or the determinant of the matrix is equal to zero; and when the tripod head is positioned in the singular point neighborhood, the Jacobian matrix is close to singular, namely the singular value minimum value of the Jacobian matrix is in a preset first range or the matrix determinant is in a preset second range. Specifically, referring to fig. 3 to 4, the pan/tilt head further includes afirst motor 107, asecond motor 108 and athird motor 109, one end of thefirst motor 107 is connected to thefirst bracket 101 through a rotatingmember 104, and the rotatingmember 104 is configured to enable thefirst bracket 101 to rotate relative to thefirst motor 107, so that the pan/tilt head can be switched between a storage state and a use state; the other end of thefirst motor 107 is connected with thecarrier 10 and is used for driving thefirst bracket 101 to rotate relative to thecarrier 10; thesecond motor 108 is disposed on thefirst bracket 101, and is configured to drive thesecond bracket 102 to rotate relative to thefirst bracket 101; thethird motor 109 is disposed on thesecond bracket 102, and is configured to drive thethird bracket 103 to rotate relative to thesecond bracket 102.
The following briefly describes the state of whether the pan/tilt is located in the neighborhood of the singular point: when the pan/tilt head is at a singular point, the axis of thefirst motor 107, the axis of thesecond motor 108 and the axis of thethird motor 109 are located on the same plane, that is: a yaw axis, a roll axis and a pitch axis of the pan-tilt are positioned on the same plane, and thesecond motor 108 is positioned at a preset joint angle; when the pan/tilt head is located in the neighborhood of the singular point, the axis of thefirst motor 107, the axis of thesecond motor 108 and the axis of thethird motor 109 are located on or close to the same plane, that is: the yaw axis, the roll axis and the pitch axis of the pan-tilt are located or approximately located on the same plane, and thesecond motor 108 is located in a preset joint angle range. It should be noted that, regardless of the orthogonal pan/tilt or the non-orthogonal pan/tilt, as long as the axis of thefirst motor 107, the axis of thesecond motor 108, and the axis of thethird motor 109 are located on the same plane, the pan/tilt can be considered to be at a singular point.
The singular point neighborhood refers to an angle area located near the singular point, the singular point can be obtained by calculation aiming at the holder, and the specific range of the neighborhood can be set according to the requirements of users. In addition, the specific implementation manner of detecting whether the pan/tilt is located in the singular point neighborhood is not limited in this embodiment, and a person skilled in the art may set the detection method according to specific application requirements and design requirements, for example: the Jacobian matrix corresponding to the holder can be obtained, whether the singular value is smaller than a preset threshold value or not is judged through the Jacobian matrix, whether the determinant of the matrix is smaller than the preset threshold value or not is judged through the Jacobian matrix, and when the singular value is smaller than or equal to the preset threshold value or the determinant of the matrix is smaller than or equal to the preset threshold value, the holder can be determined to enter a singular point neighborhood. Referring to fig. 9, in this embodiment, detecting whether the pan/tilt head is located in the singular point neighborhood may include:
s11: and acquiring the joint angle of the second motor.
S12: and when the joint angle of the second motor is located in the angle range corresponding to the singular point neighborhood, determining that the holder is located in the singular point neighborhood. Or,
s13: and when the joint angle of the second motor is positioned in the angle range corresponding to the outside of the singular point neighborhood, determining that the holder is positioned outside the singular point neighborhood.
Wherein, for the three-axis tripod head comprising the first support, the second support and the third support, whether the Jacobian matrix is singular or not is only related to the joint angle of the second motor. Therefore, for the pan/tilt head, a simpler singularity judgment method is that whether the pan/tilt head is located in the neighborhood of the singular point can be accurately detected through the joint angle corresponding to the second motor. Specifically, the joint angle of the second motor may be acquired through the angle sensor, after the joint angle of the second motor is acquired, the joint angle of the second motor may be compared with an angle range corresponding to the singular point neighborhood, and when the joint angle of the second motor is located in an angle range corresponding to the singular point neighborhood, it may be determined that the pan/tilt head is located in the singular point neighborhood, where the angle range corresponding to the singular point neighborhood includes: at least two angle boundary values and an arbitrary angle intermediate value lying between the two angle boundary values; the joint angle of the second motor is located in the angle range corresponding to the singular point neighborhood, and the joint angle comprises the following two conditions: the joint angle of the second motor is equal to any angle intermediate value in the neighborhood of the singular point, and the joint angle of the second motor is equal to the angle boundary value corresponding to the neighborhood of the singular point. When the joint angle of the second motor is located outside the angle range corresponding to the singular point neighborhood, that is, the joint angle of the second motor is not equal to the angle boundary value nor the angle intermediate value, it can be determined that the pan-tilt is located outside the singular point neighborhood.
Similarly, when the holder comprises a plurality of supports, whether the holder is located in the singular point neighborhood can be detected through the joint angle corresponding to the support located in the middle part. For example: when the cloud platform comprises a first support, a second support, a third support, a fourth support, a first motor, a second motor, a third motor and a fourth motor, wherein the first support, the second support, the third support and the fourth support are sequentially connected, the first motor is used for driving the first support to rotate relative to a carrier, the second motor is used for driving the second support to rotate relative to the first support, the third motor is used for driving the third support to rotate relative to the second support, and the fourth motor is used for driving the fourth support to rotate relative to the load, a second joint angle of the second motor and/or a third joint angle of the third motor can be obtained, and whether the cloud platform is located in a singular point neighborhood is detected through the second joint angle and/or the third joint angle; specifically, when the second joint angle and/or the third joint angle are/is located in the angle range corresponding to the singular point neighborhood, the tripod head is determined to be located in the singular point neighborhood. Or when the second joint angle and/or the third joint angle are/is located outside the angle range corresponding to the singular point neighborhood, the tripod head can be determined to be located outside the singular point neighborhood.
Through the joint angle who acquires the second motor, then whether detect the cloud platform based on the joint angle of second motor and be located the singular point neighborhood, not only can guarantee whether be located the accuracy that detects in the singular point neighborhood to the cloud platform to still improved data processing's efficiency and quality, and then guaranteed the quality and the efficiency that detect to the cloud platform.
S2: and when the holder is positioned in the singular point neighborhood, acquiring the target tail end attitude and the measurement tail end attitude of the holder.
When the cloud platform is determined to be located in the neighborhood of the singular point, a target terminal attitude and a measurement terminal attitude of the cloud platform can be obtained, wherein the target terminal attitude can refer to a final attitude which needs to be achieved by a load (camera) on the cloud platform, and the measurement terminal attitude can refer to a current attitude measured by the load (camera) on the cloud platform. In general, the target terminal attitude may be specified by a user or input by the user, or the target terminal attitude may be obtained by calculating relevant parameters of the pan/tilt; the measured terminal attitude may be obtained by detecting a load with a detection device, or may be obtained by performing data fusion with an Inertial Measurement Unit (IMU) at the terminal, and specifically, an IMU may include a three-axis accelerometer and a three-axis gyroscope, and the terminal attitude may be calculated by fusing data of the three-axis accelerometer and the three-axis gyroscope. In another embodiment, an IMU may include a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer, with the tip attitude being computed by fusing the three-axis accelerometer, the three-axis gyroscope, and the three-axis magnetometer.
S3: calculating a single-axis control component and a double-axis control component according to the target tail end attitude and the measured tail end attitude; wherein the single axis control component is associated with the first support and the dual axis control component is associated with the second support and the third support.
After the target tip attitude and the measured tip attitude are acquired, the target tip attitude and the measured tip attitude may be analyzed, so that a single-axis control component related to the first stent and a double-axis control component related to the second stent and the third stent may be obtained. It is noted that for the first, second and third supports, the single axis control component is only associated with the first support, which is not associated with the second and third supports; the dual axis control component is associated only with the second stent and the third stent, which are not associated with the first stent.
S4: the first support is controlled according to the single-axis control component, and the second support and the third support are controlled according to the double-axis control component.
After acquiring the single-axis control component, the first support may be controlled according to the single-axis control component, and after acquiring the double-axis control component, the second support and the third support may be controlled according to the double-axis control component. The existing three-axis attitude closed-loop controller is equivalently decoupled into two controllers, one controller is used for controlling the first support, the other controller is used for controlling the second support and the third support, so that the second support and the third support can be equivalent to a two-axis tripod head, the dimensionality reduction of a corresponding Jacobian matrix is two-dimensional, the problem that the three-dimensional Jacobian matrix has singularity is solved, the condition that the stability of the tripod head for controlling the tripod head is influenced by a singular point neighborhood is avoided, and the accurate control of the posture of the tripod head is effectively ensured.
The cradle head control method provided by the embodiment obtains the target tail end attitude and the measurement tail end attitude of the cradle head by detecting whether the cradle head is located in the singular point neighborhood or not when the cradle head is located in the singular point neighborhood, the single-axis control component and the double-axis control component are calculated according to the target tail end attitude and the measurement tail end attitude, so that the pan-tilt of the three supports are decoupled into a first support and a double-axis support, wherein the double-shaft bracket comprises a second bracket and a third bracket, and the motion of the first bracket, the second bracket and the third bracket is decoupled and controlled by utilizing a single-shaft control component and a double-shaft control component respectively, thereby not only effectively ensuring the stability of the posture of the tripod head when the tripod head is positioned in the neighborhood of a singular point, and the range of attitude control of the holder is expanded, the practicability of the method is further improved, and the popularization and application of the market are facilitated.
FIG. 5 is a schematic flow chart illustrating calculation of a single-axis control component according to a target tip attitude and a measured tip attitude according to an embodiment of the present invention; FIG. 6 is a schematic diagram of an algorithm for calculating a single-axis control component according to a target tip attitude and a measured tip attitude according to an embodiment of the present invention; on the basis of the foregoing embodiments, with reference to fig. 5 to 6, in this embodiment, a specific implementation manner of calculating a single-axis control component according to a target terminal attitude and a measured terminal attitude is not limited, and a person skilled in the art may set the single-axis control component according to specific application requirements and design requirements, and preferably, the single-axis control component may be obtained by a motor on a pan-tilt, and at this time, with reference to fig. 3, the motor on the pan-tilt may include a first motor 107, a second motor 108, and a third motor 109, where one end of the first motor 107 is connected to the first support 101, and the other end of the first motor is connected to the carrier 10, and is used for driving the first support 101 to rotate relative to the carrier 10; the second motor 108 is disposed on the first bracket 101, and is configured to drive the second bracket 102 to rotate relative to the first bracket 101; the third motor 109 is disposed on the second bracket 102, and is configured to drive the third bracket 103 to rotate relative to the second bracket 102.
Specifically, calculating the single-axis control component from the target tip pose and the measured tip pose may include:
s31: and respectively acquiring a first measured joint angle, a second measured joint angle and a third measured joint angle corresponding to the first motor, the second motor and the third motor.
Specifically, angle detection can be performed on the joint where the first motor is located through the angle detection device, so that a first measurement joint angle corresponding to the first motor can be obtained, similarly, angle detection can be performed on the joint where the second motor is located and the joint where the third motor is located through the angle detection device, so that a second joint angle corresponding to the second motor and a third joint angle corresponding to the third motor can be obtained.
S32: and determining a target joint angle corresponding to the first motor by utilizing a Newton iterative algorithm according to the target terminal attitude, the measured terminal attitude, the first measured joint angle, the second measured joint angle and the third measured joint angle.
The Newton iterative algorithm is a method for solving by adopting numerical calculation in an inverse kinematics solving technology, and the inverse kinematics solving is used for calculating a joint angle corresponding to the tail end attitude. For orthogonal configurations and some simple non-orthogonal configurations, inverse kinematics has an analytical solution, but for complex non-orthogonal configurations or considering non-orthogonal errors introduced by the orthogonal configurations during assembly, a general connecting rod configuration has no uniform inverse kinematics analytical solution. Without an inverse kinematics solution, its solution can be generally computed using numerical computation methods, such as the newton's iterative algorithm.
In the process of determining the target joint angle corresponding to the first motor by using the newton iteration algorithm, because the initial value of the newton iteration algorithm must be near the true value (target solution to be obtained), in order to increase the iteration speed at the initial stage of the iteration, the initial value of the iteration joint angle may be set as three joint angle measurement values at the moment of entering the singular control neighborhood, and the three joint angle measurements may respectively refer to a first measured joint angle corresponding to the joint where the first motor is located, a second measured joint angle corresponding to the joint where the second motor is located, and a third measured joint angle corresponding to the joint where the third motor is located.
In addition, the Jacobian matrix is used by the Newton iterative algorithm, and the Jacobian matrix is reversible except for the singular point neighborhood, so that the Jacobian matrix can always converge in iteration in other regions except the singular point neighborhood by adjusting the iteration step length lambda when entering the singular point neighborhood in the process of determining the target joint angle corresponding to the first motor by using the Newton iterative algorithm; when the iteration step length λ is adjusted, the iteration step length may be adjusted according to a rule that the closer to the singular point, the smaller the iteration step length. It should be noted that no matter what kind of adjustment is performed on the iteration step length, the solution of the inverse kinematics can be obtained only by limiting the iteration result not to be equal to the singular point angle (considering the CPU calculation precision, and limiting the iteration result not to be in the neighborhood with the minimum singular point).
Specifically, when determining the target joint angle corresponding to the first motor, referring to fig. 6, the method includes the following steps:
(32.1) after the first measured joint angle, the second measured joint angle and the third measured joint angle are obtained, the first axial direction, the second axial direction and the third axial direction of the first motor, the second motor and the third motor at preset initial positions can be obtained, wherein the preset initial positions can be positions where the joint angles of the motors of the first motor, the second motor and the third motor are 0 degrees, and in addition, the first axial direction, the second axial direction and the third axial direction can be vector representation information. And then calculating the measured joint posture corresponding to the measured joint angle theta by using the forward kinematics formula and the obtained parameters.
Wherein R is
jA measured joint attitude corresponding to the first motor, the second motor, and the third motor, which is a difference between the tip attitude and the grip attitude, for example: the measured joint pose may be the difference between the tip pose and the handle pose. In addition, xi
1Is the axial direction and xi of the preset initial position of the first motor under the body coordinate system
2Is the axial direction and xi of the preset initial position of the second motor (in a body coordinate system)
3Is the axial direction of the third motor at the preset initial position (under the body coordinate system),
an axial antisymmetric matrix of initial positions (in a body coordinate system) is preset for the first motor,
an axial antisymmetric matrix of initial positions (in a body coordinate system) is preset for the second motor,
presetting an axial antisymmetric matrix of an initial position for the third motor (under a body coordinate system); theta
1、θ
2And theta
3A first measured joint angle, a second measured joint angle and a third measured joint angle corresponding to the first motor, the second motor and the third motor respectively; in a specific application, the above-mentioned theta
1、θ
2And theta
3May refer to three joint angles at the moment of entering singular point neighborhoodMeasured values (corresponding to the first motor, the second motor, and the third motor, respectively). Preferably, the joint angle can be measured by a sensor such as a hall sensor or a magnetic encoder.
(32.2) obtaining the measured Joint attitude RjThereafter, the joint pose R can be measuredjAnd measuring the tip pose (measuring the camera pose) RebCalculating the measurement attitude R of the handleh。
Rh=RebRj-1
Wherein R ishMeasuring attitude for the handle, RebFor measuring tip attitude, Rj-1Is an inverse matrix of the measured joint pose. In another embodiment, the measured pose of the handle may be calculated by a visual sensor or by a combination of an IMU and a compass.
(32.3) calculating the target joint angle of the kth iteration by using a forward kinematics formula and a Newton iteration algorithm
Corresponding to iterative target joint pose
Wherein,
for a target joint pose corresponding to the target joint angle for the kth iteration,
and
the first axial direction, the second axial direction and the third axial direction of the first motor, the second motor and the third motor at preset initial positions are respectively;
and
the first target joint angle, the second target joint angle and the third target joint angle respectively correspond to the first motor, the second motor and the third motor when K iterations are performed.
(32.4) obtaining the target Joint posture
Thereafter, pose Rh and iterative target joint pose may be measured by the handpiece
Computing iterative target end poses
Wherein,
for target end pose in the Kth iteration, R
hThe posture is measured for the handle,
is the target joint pose corresponding to the target joint angle for the kth iteration.
(32.5) obtaining the target end pose
Thereafter, an iterative target tip pose may be calculated
To the end position of the targetState R
tarIterative attitude error Δ R of
(k)。
Wherein, Δ R
(k)In order to iterate the attitude error,
for target end pose during the Kth iteration, R
tarIs the target end pose.
(32.6) iterating the attitude error Δ R(k)Conversion into axial angle representation form delta theta(k)。
(32.7) target Joint Angle Using iteration
Calculating the corresponding Jacobian matrix
Wherein,
is the jacobian matrix corresponding to the target joint angle for K iterations,
and
the first axial direction, the second axial direction and the third axial direction of the first motor, the second motor and the third motor at preset initial positions are respectively;
and
the first target joint angle, the second target joint angle and the third target joint angle corresponding to the first motor, the second motor and the third motor when the K iterations are performed are respectively.
(32.8) calculating an iterative joint angle error delta theta of the target joint angle by using a Jacobian matrix(k)。
Wherein, Delta theta
(k)For an iterative joint angle error corresponding to the target joint angle,
is the inverse of the Jacobian matrix; delta theta
(k)Is an axial angle representation of the iterative attitude error.
(32.9) updating the iteration target joint angle of the (k + 1) th time.
Wherein,
the iterative target joint angle for the K +1 th iteration may include a first target joint angle corresponding to the first motor
A second target joint angle corresponding to a second motor
And a third target joint angle corresponding to a third motor
The iteration target joint angle for the Kth iteration is determined by the iteration step coefficient of lambda and delta theta
(k)To iterate joint angle errors.
(32.10) judging whether the iterative joint angle error is smaller than a threshold value, stopping iteration and outputting when the iterative joint angle error is smaller than or equal to the threshold value
Therefore, the target joint angles corresponding to the first motor, the second motor and the third motor are determined by using a Newton iterative algorithm; when the iterative joint angle error is larger than the threshold value, repeating the steps 32.3-32.10 until the iterative joint angle error is smaller than or equal to the threshold value, and outputting
Target joint angle theta of middle first motor
tar1。
In practical applications, because the change of the target end pose is smooth and the control period is short (on the order of microseconds), the speed of iterative convergence is fast. Typically, the target joint angle corresponding to the first motor is obtained for only one iteration per control cycle.
S33: the target joint angle is determined as a single axis control component.
After the target joint angle is acquired, the target joint angle may be determined as a single-axis control component, so that the first support may be closed-loop controlled according to the target joint angle, as shown in fig. 7, when the target joint angle θ is acquiredtar1Thereafter, the target joint angle θ may be determinedtar1Input to position loop controller CpSo that the angle theta to the target joint can be obtainedtar1The corresponding position information d is utilized to control the controlled object P (the first motor), thereby obtaining the measured joint angle theta corresponding to the first motor1And then the measured joint angle theta is used again1And target joint angle thetatar1The first motor is controlled, so that the aim of utilizing the target joint angle through the first motor is realizedAnd carrying out closed-loop control on the first support.
The single-axis control component is obtained in the above mode, the accurate reliability of obtaining the single-axis control component is effectively guaranteed, and the stable reliability of controlling the first support based on the single-axis control component is further improved.
FIG. 8 is a schematic flow chart illustrating calculation of dual-axis control components according to a target end pose and a measured end pose according to an embodiment of the present invention; based on the foregoing embodiment, with reference to fig. 8, in this embodiment, a specific implementation manner of calculating the dual-axis control component according to the target end pose and the measured end pose is not limited, and those skilled in the art may set the dual-axis control component according to specific application requirements and design requirements, and preferably, the calculating the dual-axis control component according to the target end pose and the measured end pose in this embodiment may include:
s34: and acquiring the tail end angular speed of the holder.
The angle detection can be performed on the tail end (camera) of the holder through the angular velocity sensor, so that the tail end angular velocity of the holder can be acquired.
S35: determining a biaxial control component based on the target tip attitude, the measured tip attitude, and the tip angular velocity.
After acquiring the end angular velocity, the target end attitude, the measured end attitude, and the end angular velocity may be used to determine the dual-axis control component, specifically, as shown in fig. 9, determining the dual-axis control component according to the target end attitude, the measured end attitude, and the end angular velocity may include:
s351: and determining the attitude control error of the holder according to the target tail end attitude and the measurement tail end attitude.
After the target terminal attitude and the measurement terminal attitude are acquired, the target terminal attitude and the measurement terminal attitude can be compared, so that the attitude control error of the holder can be determined. For example: the attitude control error may be a difference between the target terminal attitude and the measured terminal attitude; alternatively, the attitude control error may also be a ratio of the measured end attitude to the target end attitude; alternatively, the attitude control error may also be the ratio of (target end attitude-measured end attitude) to the target end attitude; specifically, those skilled in the art may determine the attitude control error of the pan/tilt head in different manners according to different design requirements, which is not described herein again.
S352: and determining a biaxial control component according to the attitude control error and the terminal angular velocity.
After the attitude control error is acquired, the attitude control error and the terminal angular velocity may be analyzed, and the biaxial control component may be determined according to the analysis processing result. Specifically, referring to fig. 10, the determining of the biaxial control component according to the attitude control error and the terminal angular velocity in the present embodiment may include:
s3521: and removing components related to the first support in the attitude control error and the tail end angular velocity aiming at the attitude control error and the tail end angular velocity to generate local attitude control errors and local tail end angular velocities related to the second support and the third support.
Specifically, referring to fig. 11, for the attitude control error and the terminal angular velocity, removing the component related to the first stent from the attitude control error and the terminal angular velocity, and generating the local attitude control error and the local terminal angular velocity related to the second stent and the third stent may include:
s35211: and mapping the attitude control error and the terminal angular speed to a joint angular space to obtain joint angle control errors and joint angular speeds corresponding to the first motor, the second motor and the third motor.
S35212: and setting the joint angle control error and the joint angular velocity in the axial direction of the first motor to zero aiming at the joint angle control error and the joint angular velocity, and obtaining a local joint angle control error and a local joint angular velocity in the axial direction of the second motor and the axial direction of the third motor.
S35213: and mapping the local joint angle control error and the local joint angular velocity back to the body coordinate system to obtain a local attitude control error and a local terminal angular velocity related to the second support and the third support.
Wherein, the holder is positioned on the tripod headWhen in the different point neighborhood, in order to accurately control the postures of the second support and the third support, the motion of the first support and the motion of the second support and the third support need to be decoupled, and if the motion of the first support, the motion of the second support and the motion of the third support are regarded as three-dimensional motion, the motion of the second support and the motion of the third support need to be decoupled in the three-dimensional motion. Specifically, the inverse Jacobian matrix J (theta)
-1Separately controlling the attitude control error delta R and the terminal angular velocity omega
bMapping to joint angle space to obtain joint angle control error theta
eAnd joint angular velocity
θe=J(θ)-1δR
For the first support, the joint angle needs to be controlled by the error θ
eAnd joint angular velocity
Joint angle control error in the direction of motor shaft of first motor
And joint angular velocity
Zero setting is performed so that local joint angle control errors in the axial direction of the second motor and the axial direction of the third motor can be obtained
And local joint angular velocity
Namely:
then, the Jacobian matrix J (theta) is used for controlling the local joint angle error
And local joint angular velocity
Mapping back to the body coordinate system such that local attitude control errors associated with the second and third supports may be obtained
And local terminal angular velocity
For the second support and the third support, the structure can be regarded as a two-link structure, the three-dimensional attitude control is changed into two-dimensional attitude control, and for the two-link structure, the Jacobian matrix of the two-link structure
Also reduced to two dimensions, absentSingular points:
at this time, when the local attitude control error is utilized
And local terminal angular velocity
When the second support and the third support are controlled, the decoupled attitude control error is input in the position ring
Velocity loop feedback is decoupled body angular velocity
And the mapping relation from the body coordinate system to the joint angle space is changed into a two-dimensional Jacobian inverse matrix
The local attitude control error and the local tail end angular velocity are obtained through the mode, the motion of the first support, the motion of the second support and the motion of the third support are effectively decoupled, the local attitude control error and the local tail end angular velocity related to the second support and the third support can be obtained, and the stability and the reliability of attitude control on the motion of the second support and the third support are improved.
S3522: and determining a biaxial control component according to the local attitude control error and the local terminal angular velocity.
After the local attitude control error and the local terminal angular velocity are obtained, a biaxial control component may be determined according to the local attitude control error and the local terminal angular velocity, specifically, an achievable manner is: determining the local attitude control error and the local terminal angular velocity as a dual-axis control component; alternatively, the local attitude control error and the local end angular velocity may be analyzed, and the biaxial control component may be determined based on the analysis result.
When the local attitude control error and the local end angular velocity are directly determined as the biaxial control components, the second stent and the third stent can be controlled according to the local attitude control error and the local end angular velocity. Referring to fig. 12, the controlling of the second stent and the third stent according to the biaxial control component at this time may include the following processes: (1) at the acquisition of the target end (camera) pose R
tarAnd measuring (fusing) the end (camera) pose R
ebThereafter, the target end pose R can be determined
tarAnd measuring the tip attitude R
ebObtaining an attitude control error delta R, and then obtaining a local attitude control error according to the attitude control error delta R
Controlling the local attitude
Input to position loop controller C
pObtaining a target terminal angular velocity, and mapping the target terminal angular velocity to a joint angular space through a Jacobian inverse matrix to obtain a target joint angular velocity;
(2) obtaining the angular velocity omega of the measurement end
bAnd then measuring the terminal angular velocity omega
bPerforming inverse Kinematic decoupling to obtain local terminal angular velocities corresponding to the second and third motors
Mapping the target terminal angular velocity to a joint angular space through a Jacobian inverse matrix to obtain a measured joint angular velocity;
(3) the difference between the target joint angular velocity and the measured joint angular velocity is calculated and then input to the velocity loop controller Cv, so that a moment for controlling the controlled object P (the second motor and the third motor) can be obtained, thereby realizing closed-loop control of the second support and the third support by the second motor and the third motor using the local attitude control error and the local terminal angular velocity.
It should be noted that the execution sequence between steps S34-S35 and steps S31-S33 in this embodiment is not limited to the sequence shown by the serial number, that is, steps S34-S35 may be executed before steps S31-S33, or steps S34-S35 may be executed simultaneously with steps S31-S33.
The biaxial control component (i.e. local attitude control error) is calculated and obtained in the above manner
And local terminal angular velocity
) The accurate reliability of the acquisition of the double-shaft control component is effectively guaranteed, and the stability and the reliability of the control of the motion postures of the second support and the third support based on the double-shaft control component are further improved.
Fig. 14 is a schematic flow chart of another pan-tilt control method according to an embodiment of the present invention; on the basis of the foregoing embodiment, referring to fig. 14, after determining that the pan/tilt head is located outside the neighborhood of the singular point, the method in this embodiment may further include:
s201: calculating a three-axis control component from the target end attitude and the measured end attitude of the load, wherein the three-axis control component is associated with the first support, the second support, and the third support.
S202: and controlling the first support, the second support and the third support according to the three-axis control component.
Specifically, when the pan/tilt is located outside the singular point neighborhood, the attitude control of the pan/tilt at this time does not have the singular point neighborhood and affects the stability of the pan/tilt control, and therefore, after the target terminal attitude and the measurement terminal attitude are obtained, the first support, the second support, and the third support can be controlled by the aforementioned three-axis attitude closed-loop controller, specifically, as shown in fig. 1, the control of the first support, the second support, and the third support according to the three-axis control component may include the following processes:
(1) at the acquisition of the target end (camera) pose RtarAnd measuring (fusing) the end (camera) pose RebThereafter, the target end pose R can be determinedtarAnd measuring the tip attitude RebObtaining an attitude control error delta R, and inputting the attitude control error delta R into a position ring controller CpObtaining a target terminal angular velocity, and mapping the target terminal angular velocity to a joint angular space through a Jacobian inverse matrix to obtain a target joint angular velocity;
(2) obtaining the angular velocity omega of the measurement end
bThen the measured terminal angular velocity omega is processed by the inverse Jacobian matrix
bMapping to joint angle space to obtain measured joint angular velocity
(3) Calculating the difference between the target joint angular velocity and the measured joint angular velocity, and inputting the difference to a velocity loop controller CvTherefore, the moment for controlling the controlled object P (the first motor, the second motor and the third motor) can be obtained, so that the first support is driven by the first motor, the second motor and the third motor respectively, and the three-axis closed-loop control is performed on the first support, the second support and the third support, and the accurate control of the posture of the holder is effectively guaranteed.
Fig. 15 is a schematic flow chart of another pan/tilt head control method according to an embodiment of the present invention; on the basis of any one of the above embodiments, referring to fig. 15, the method in this embodiment may further include:
s301: if the holder is positioned in the neighborhood of the singular point at the current moment, the holder is positioned outside the neighborhood of the singular point at the last moment; or, if the pan-tilt is located outside the neighborhood of the singular point at the current moment and is located in the neighborhood of the singular point at the previous moment, acquiring a first driving signal of the pan-tilt at the previous moment and a second driving signal of the pan-tilt at the current moment.
For convenience of description, the state that the holder is located in the neighborhood of the singular point is called that the holder is in a singular point control mode, and the state that the holder is located outside the neighborhood of the singular point is called that the holder is in a three-axis control mode; therefore, when the cradle head is controlled, the cradle head can be in different control modes, and the different control modes of the cradle head can be switched, for example: the tripod head is positioned in the neighborhood of the singular point at the current moment and positioned outside the neighborhood of the singular point at the previous moment, namely the tripod head is switched from the three-axis control mode at the previous moment to the singular point control mode at the current moment; or, the pan-tilt is located outside the neighborhood of the singular point at the current moment and located in the neighborhood of the singular point at the previous moment, that is, the pan-tilt is switched from the neighborhood mode of the singular point at the previous moment to the three-axis control mode at the current moment.
When the cradle head is switched between different control modes, in order to ensure the stability of the cradle head and the work of the load positioned on the cradle head, a first driving signal of the cradle head at the previous moment and a second driving signal of the cradle head at the current moment can be obtained, wherein the first driving signal and the second driving signal can be in any one of the following forms: control torque, rotational speed signal, voltage signal, current signal, etc.
S302: at least one smooth transition signal is determined based on the first drive signal and the second drive signal.
After acquiring the first driving signal and the second driving signal, the first driving signal and the second driving signal may be analyzed, so that at least one smooth transition signal may be determined, specifically, as shown in fig. 16, determining at least one smooth transition signal according to the first driving signal and the second driving signal may include:
s3021: a weighting coefficient corresponding to the first drive signal is obtained.
Wherein, referring to fig. 17, acquiring the weighting coefficient corresponding to the first driving signal may include:
s30211: and acquiring preset switching time and switching time for switching operation.
The switching time is the total time required by the pan/tilt head to perform the control mode switching operation, and the switching time may be specified by a user or configured in advance by the user. And the switching time refers to the time when the pan-tilt performs the control mode switching operation. For example: the switching time is 5min, the switching start time is 12:00, and then the switching end time 12:05 corresponding to the switching start time 12:00 can be determined according to the switching time 5min, and the switching time is any one of the switching start time 12:00 and the switching end time 12: 05.
S30212: and determining a weighting coefficient according to the switching time and the switching moment.
After acquiring the switching time and the switching time, the weighting coefficient may be determined by using the following formula:
where μ is a weighting coefficient, t0For the switching time, t is the switching time.
According to the formula, the weighting coefficient and the switching time satisfy a linear relation, and the weighting coefficient changes along with the continuous change of the switching time. It should be noted that the relationship between the weighting coefficient and the switching time in this embodiment is not limited to the above-mentioned formula, and those skilled in the art may also determine the corresponding relationship between the weighting coefficient and the switching time as other linear or non-linear mapping relationships according to different application scenarios, different control parameters and different operating conditions, and details are not described herein again.
S3022: at least one smooth transition signal is determined using the weighting coefficients, the first drive signal and the second drive signal.
After the weighting coefficients, the first drive signal and the second drive signal are obtained, at least one smooth transition signal may be determined using the following formula:
T=μTformer+(1-μ)Tlatter
where T is the smooth transition signal, μ is the weighting coefficient, TformerIs a first drive signal, TlatterIs the second drive signal.
S303: and driving the pan-tilt to move based on the smooth transition signal.
After the smooth transition signal is obtained, the pan/tilt head may be driven to move based on the smooth transition signal, specifically, the pan/tilt head may be adjusted from the first drive signal and the smooth transition signal to the second drive signal, it should be noted that, in the process of driving the pan/tilt head to move, the first drive signal and the second drive signal are changed in real time, and the drive signal during the transition period of the switching is determined by the first drive signal and the second drive signal; therefore, the motion of the cradle head can be smoothly transited in the process of switching the modes of the cradle head, and the stability and the reliability of the cradle head are further ensured.
Through the process, the smooth switching of the cradle head between the three-axis control mode and the singular point control mode is effectively realized, so that the cradle head has no shake in the switching process, the stable reliability of load work is ensured, the stable reliability of cradle head work is also ensured, and the practicability of the method is further improved.
In specific application, referring to fig. 18, the present application embodiment provides a pan-tilt control method, where when a pan-tilt is located in a neighborhood of a singular point, the pan-tilt control method may decouple a first motor, a second motor, and a third motor for controlling a first bracket, a second bracket, and a third bracket into a first motor and a two-axis stabilizer (including a second motor for controlling a second bracket and a third motor for controlling a third bracket), and correspondingly, a three-axis attitude closed-loop controller for controlling the first motor, the second motor, and the third motor may also be decoupled into two controllers for implementation.
Wherein, the first controller is a joint angle closed-loop controller for controlling the first motor. Specifically, when the joint angle closed-loop controller is used to control the first motor, the target joint angle corresponding to the posture of the target end needs to be calculated by solving through inverse kinematics, and then the joint angle closed-loop control is performed on the first motor by using the target joint angle of the first motor and the measured joint angle of the angle sensor.
The other controller is a dual-shaft attitude closed-loop controller for controlling the second motor and the third motor. When the two-axis attitude closed-loop controller is used for controlling the second motor and the third motor, firstly, the components of the attitude control error and the angular velocity in the direction of the first motor need to be separated, and the components of the attitude control error and the angular velocity in the directions of the second motor and the third motor need to be reserved. At this time, the structures of the second motor and the third motor may be equivalent to a two-axis stabilizer, so as to reduce the dimension of the jacobian matrix to two dimensions, thereby solving the singularity problem of the jacobian matrix, and further, the second motor and the third motor may be controlled by using a two-dimensional attitude closed-loop controller of a position loop and a velocity loop.
Specifically, the holder control method comprises the following steps:
step 1: and judging singularity of the holder, acquiring a joint angle of a second motor on the holder, and judging a control mode of the holder according to the joint angle of the second motor.
step 2: when the joint angle of the second motor is in the angle range corresponding to the singular point neighborhood, determining that the holder is in a singular point control mode; and if the joint angle of the second motor is not in the angle range corresponding to the singular point neighborhood, determining that the holder is in the three-axis control mode.
step 31: when the holder is in the three-axis control mode, the three-axis control quantity used for controlling the first support, the second support and the third support can be acquired, and the first support, the second support and the third support are controlled through the first motor, the second motor and the third motor according to the three-axis control quantity.
step 32: when the holder is in a singular point control mode, calculating target joint angles of three motors corresponding to the tail end attitude of the target through inverse kinematics solution, and acquiring a target joint angle of a first motor from the target joint angles; and simultaneously, decoupling the motion of the first motor and the motion of the second motor and the third motor to obtain a local attitude control error and a local terminal angular velocity for controlling the second motor and the third motor.
step 4: driving a first support to perform closed-loop control through a first motor according to the target joint angle; and respectively driving a second support and a third support to carry out closed-loop control through a second motor and a third motor according to the local attitude control error and the local tail end angular speed.
In addition, in the process of controlling the pan/tilt head, the method in this embodiment may further include:
step 11: whether the control mode of the holder is switched is detected, and when the control mode of the holder is determined to be switched, smooth processing operation can be carried out on the switching process of the control mode of the holder.
The cradle head is controlled by the cradle head control method, so that the range of cradle head attitude control is expanded; in addition, in the neighborhood of the singular point, the stability of the holder can be ensured; specifically, the motion decoupling can be realized under different motion conditions (such as pushing a rocker, rotating a handle and pushing where the handle is stopped) by the cradle head, and the stability and reliability of the cradle head and the load work are further improved.
Fig. 19 is a schematic structural diagram of a pan/tilt head control device according to an embodiment of the present invention; referring to fig. 19, the present embodiment provides a pan/tilt head control apparatus, which can execute the above pan/tilt head control method, wherein the pan/tilt head at least includes a first support, a second support and a third support, which are connected in sequence, for connecting a load; specifically, cloud platform controlgear includes:
thedetection module 11 is used for detecting whether the holder is located in a preset singular point neighborhood;
theacquisition module 12 is configured to acquire a target terminal attitude and a measurement terminal attitude of the pan/tilt head when the pan/tilt head is located in a singular point neighborhood;
acalculation module 13 for calculating a single axis control component and a dual axis control component from the target tip attitude and the measured tip attitude; wherein the single axis control component is associated with the first support and the dual axis control component is associated with the second support and the third support;
and thecontrol module 14 is used for controlling the first support according to the single-axis control component and controlling the second support and the third support according to the double-axis control component.
It should be noted that the apparatus shown in fig. 19 can also perform the method of the embodiment shown in fig. 1-17, and reference may be made to the related description of the embodiment shown in fig. 1-17 for a part of this embodiment that is not described in detail. The implementation process and technical effect of the technical solution are described in the embodiments shown in fig. 1 to 17, and are not described herein again.
In one possible design, the structure of the pan/tilt control device shown in fig. 19 may be implemented as an electronic device, which may be a mobile phone, a tablet computer, a server, or other devices. As shown in fig. 20, the electronic device may include: one ormore processors 21 and one ormore memories 22. Wherein, thememory 22 is used for storing a program for supporting the electronic device to execute the pan/tilt control method provided in the embodiments shown in fig. 1-17, and the pan/tilt includes at least a first support, a second support and a third support connected in sequence for connecting a load; wherein the load comprises at least one of: image acquisition device, heat source detection device, life detection device. Theprocessor 21 is configured to execute programs stored in thememory 22. In particular, the method comprises the following steps of,
the program comprises one or more computer instructions which, when executed by theprocessor 21, are capable of performing the steps of:
executing the computer program stored in the memory to implement: detecting whether the holder is located in a preset singular point neighborhood or not; when the cloud platform is located in the neighborhood of the singular point, acquiring the target tail end attitude and the measurement tail end attitude of the cloud platform; calculating a single-axis control component and a double-axis control component according to the target tail end attitude and the measured tail end attitude; wherein the single axis control component is associated with the first support and the dual axis control component is associated with the second support and the third support; the first support is controlled according to the single-axis control component, and the second support and the third support are controlled according to the double-axis control component.
The structure of the pan/tilt/zoom control apparatus may further include acommunication interface 23, which is used for the electronic device to communicate with other devices or a communication network.
Further, the cloud platform still includes: one end of the first motor is connected to the first support, and the other end of the first motor is connected with the carrier and used for driving the first support to rotate relative to the carrier; the second motor is arranged on the first bracket and used for driving the second bracket to rotate relative to the first bracket; the third motor is arranged on the second bracket and used for driving the third bracket to rotate relative to the second bracket; when theprocessor 21 calculates the single-axis control component from the target end pose and the measured end pose, theprocessor 21 may be configured to perform: respectively acquiring a first measured joint angle, a second measured joint angle and a third measured joint angle corresponding to a first motor, a second motor and a third motor; determining a target joint angle corresponding to the first motor by utilizing a Newton iterative algorithm according to the target terminal attitude, the measured terminal attitude, the first measured joint angle, the second measured joint angle and the third measured joint angle; the target joint angle is determined as a single axis control component.
Further, when theprocessor 21 calculates the biaxial control components from the target end pose and the measured end pose, theprocessor 21 may be configured to perform: acquiring the tail end angular velocity of the holder; determining a biaxial control component based on the target tip attitude, the measured tip attitude, and the tip angular velocity.
Further, when theprocessor 21 determines the biaxial control component from the target tip attitude, the measured tip attitude, and the tip angular velocity, theprocessor 21 may be configured to perform: determining the attitude control error of the holder according to the target tail end attitude and the measurement tail end attitude; and determining a biaxial control component according to the attitude control error and the terminal angular velocity.
Further, when theprocessor 21 determines the biaxial control component according to the attitude control error and the tip end angular velocity, theprocessor 21 may be configured to perform: removing components related to the first support in the attitude control error and the tail end angular velocity aiming at the attitude control error and the tail end angular velocity to generate a local attitude control error and a local tail end angular velocity related to the second support and the third support; and determining a biaxial control component according to the local attitude control error and the local terminal angular velocity.
Further, when theprocessor 21 removes a component related to the first stent from the attitude control error and the distal angular velocity with respect to the attitude control error and the distal angular velocity to generate a local attitude control error and a local distal angular velocity related to the second stent and the third stent, theprocessor 21 may be configured to perform: mapping the attitude control error and the terminal angular speed to a joint angular space to obtain joint angle control errors and joint angular speeds corresponding to the first motor, the second motor and the third motor; setting the joint angle control error and the joint angular velocity in the axial direction of the first motor to zero aiming at the joint angle control error and the joint angular velocity to obtain a local joint angle control error and a local joint angular velocity in the axial direction of the second motor and the axial direction of the third motor; and mapping the local joint angle control error and the local joint angular velocity back to the body coordinate system to obtain a local attitude control error and a local terminal angular velocity related to the second support and the third support.
Further, when theprocessor 21 detects whether the pan/tilt head is located in the singular point neighborhood, theprocessor 21 may be configured to perform: acquiring a joint angle of a second motor; when the joint angle of the second motor is located in the angle range corresponding to the singular point neighborhood, determining that the holder is located in the singular point neighborhood; or when the joint angle of the second motor is located in the angle range corresponding to the outer of the singular point neighborhood, the cradle head is determined to be located outside the singular point neighborhood.
Further, after determining that the pan/tilt head is located outside the neighborhood of the singular point, theprocessor 21 may be configured to perform: calculating a three-axis control component according to the target end attitude and the measured end attitude of the load, wherein the three-axis control component is associated with the first support, the second support and the third support; and controlling the first support, the second support and the third support according to the three-axis control component.
Further, theprocessor 21 is further configured to: if the holder is positioned in the neighborhood of the singular point at the current moment, the holder is positioned outside the neighborhood of the singular point at the last moment; or, if the tripod head is located outside the neighborhood of the singular point at the current moment and is located in the neighborhood of the singular point at the previous moment, acquiring a first driving signal of the tripod head at the previous moment and a second driving signal of the tripod head at the current moment; determining at least one smooth transition signal from the first drive signal and the second drive signal; and driving the pan-tilt to move based on the smooth transition signal.
Further, when theprocessor 21 determines at least one smooth transition signal from the first drive signal and the second drive signal, theprocessor 21 may be configured to perform: acquiring a weighting coefficient corresponding to the first driving signal; at least one smooth transition signal is determined using the weighting coefficients, the first drive signal and the second drive signal.
Further, when theprocessor 21 obtains the weighting coefficient corresponding to the first driving signal, theprocessor 21 may be configured to perform: acquiring preset switching time and switching time for switching operation; and determining a weighting coefficient according to the switching time and the switching moment.
The apparatus shown in fig. 20 can perform the method of the embodiment shown in fig. 1-17, and the detailed description of this embodiment can refer to the related description of the embodiment shown in fig. 1-17. The implementation process and technical effect of the technical solution are described in the embodiments shown in fig. 1 to 17, and are not described herein again.
In addition, an embodiment of the present invention provides a computer-readable storage medium, where the storage medium is a computer-readable storage medium, and program instructions are stored in the computer-readable storage medium, where the program instructions are used to implement the pan/tilt head control method in fig. 1 to 17.
Fig. 21 is a first schematic structural diagram of a pan/tilt head according to an embodiment of the present invention; fig. 22 is a schematic structural diagram of a pan/tilt head according to an embodiment of the present invention, and referring to fig. 21 to 22, the embodiment provides a pan/tilt head 100, and the pan/tilt head 100 at least includes
Afirst bracket 101, asecond bracket 102 and athird bracket 103 for connecting aload 200, which are connected in sequence;
in the above-mentioned holder control device corresponding to the embodiment of fig. 20, the control device is used for controlling thefirst support 101, thesecond support 102 and thethird support 103.
Further, referring to fig. 21-22, thecradle head 100 of the present embodiment specifically includes a support portion for supporting theload 200, and the support portion is used for mounting theload 200 on thehandheld carrier 10, so as to allow thehandheld carrier 10 to carry theload 200 for operation. Theload 200 may be an image acquisition device (e.g., a photographing device), a heat source detection device, a life detection device, or the like.
The holder portion of theholder 100 may include a plurality of holders, and specifically in the illustrated embodiment, the holder portion includes afirst holder 101, asecond holder 102, and athird holder 103, which are connected in sequence; thefirst bracket 101 is used to rotatably connect thehandheld carrier 10, so that thehandheld platform 100 can be rotatably connected to thehandheld carrier 10 through thefirst bracket 101. The pan-tilt 100 further comprises afirst motor 107, asecond motor 108 and athird motor 109, wherein one end of thefirst motor 101 is connected to thefirst support 101, and the other end of thefirst motor 101 is connected to thecarrier 10, and is used for driving thefirst support 101 to rotate relative to thecarrier 10; thesecond motor 108 is disposed on thefirst bracket 101, and is configured to drive thesecond bracket 102 to rotate relative to thefirst bracket 101; thethird motor 109 is disposed on thesecond bracket 102, and is configured to drive thethird bracket 103 to rotate relative to thesecond bracket 102. Thethird bracket 103 is connected to a clampingportion 105, and the clampingportion 105 is used for bearing aload 200; it will be appreciated that in other embodiments, the number of legs included in the leg portion may be one, two, four or more.
Further, on the basis of the above-mentioned cradle head structure, the processor is further configured to: respectively acquiring a first measured joint angle, a second measured joint angle and a third measured joint angle corresponding to the first motor, the second motor and the third motor; determining a target joint angle corresponding to the first motor by utilizing a Newton iterative algorithm according to the target terminal attitude, the measured terminal attitude, the first measured joint angle, the second measured joint angle and the third measured joint angle; determining the target joint angle as the single axis control component.
Further, the above-mentionedhand carrier 10 is used for being held by a user. In the present embodiment, theload 200 is a camera, and here, the camera may be a camera, a video camera, a mobile phone, or the like for daily shooting. Of course, in other embodiments, the shooting device may be in other forms, such as an ultrasonic imaging device, an infrared imaging device, and the like. The user can carry out shooting work by carrying theload 200 by holding the pan/tilt head 100.
Further, the processor is further configured to: acquiring the tail end angular velocity of the holder; determining the dual-axis control component according to the target tip attitude, the measured tip attitude, and the tip angular velocity.
Further, the processor is further configured to: determining an attitude control error of the holder according to the target tail end attitude and the measurement tail end attitude; determining the dual-axis control component based on the attitude control error and the tip angular velocity.
Further, the processor is further configured to: for the attitude control error and the terminal angular velocity, removing components related to the first support in the attitude control error and the terminal angular velocity, and generating local attitude control errors and local terminal angular velocities related to the second support and the third support; determining the dual-axis control component from the local attitude control error and the local tip angular velocity.
Further, the processor is further configured to: mapping the attitude control error and the tail end angular speed to a joint angular space to obtain joint angle control errors and joint angular speeds corresponding to a first motor, a second motor and a third motor; setting the joint angle control error and the joint angular velocity in the axial direction of the first motor to zero aiming at the joint angle control error and the joint angular velocity to obtain a local joint angle control error and a local joint angular velocity in the axial direction of the second motor and the axial direction of the third motor; and mapping the local joint angle control error and the local joint angular velocity back to a body coordinate system to obtain a local attitude control error and a local tail end angular velocity related to the second support and the third support.
Further, the processor is further configured to: acquiring a joint angle of a second motor; when the joint angle of the second motor is located in the angle range corresponding to the singular point neighborhood, determining that the holder is located in the singular point neighborhood; or when the joint angle of the second motor is located in the angle range corresponding to the outside of the singular point neighborhood, determining that the holder is located outside the singular point neighborhood.
Further, after determining that the pan/tilt head is located outside the neighborhood of singular points, the processor is further configured to: calculating a three-axis control component from a target end attitude and a measured end attitude of the load, wherein the three-axis control component is associated with the first, second, and third supports; and controlling the first support, the second support and the third support according to the three-axis control component.
Further, the processor is further configured to: if the holder is positioned in the neighborhood of the singular point at the current moment, the holder is positioned outside the neighborhood of the singular point at the last moment; or, if the holder is located outside the neighborhood of the singular point at the current moment and is located in the neighborhood of the singular point at the previous moment, acquiring a first driving signal of the holder at the previous moment and a second driving signal of the holder at the current moment; determining at least one smooth transition signal from the first drive signal and the second drive signal; and driving the holder to move based on the smooth transition signal.
Further, the processor is further configured to: acquiring a weighting coefficient corresponding to the first driving signal; determining at least one smooth transition signal using the weighting coefficients, the first drive signal and the second drive signal.
Further, the processor is further configured to: acquiring preset switching time and switching time for switching operation; and determining the weighting coefficient according to the switching time and the switching moment.
The specific implementation principle and implementation effect of the pan/tilt head provided in this embodiment are consistent with those of the pan/tilt head control device corresponding to fig. 20, and reference may be made to the above statements specifically, which are not described herein again.
Fig. 23 is a schematic structural diagram of a movable platform according to an embodiment of the present invention; referring to fig. 23, another aspect of the present embodiment provides a movable platform, which is at least one of the following: unmanned aerial vehicles, unmanned boats, unmanned vehicles; specifically, the movable platform includes:
abody 301;
thepower system 302 is arranged on themachine body 301 and used for providing power for the movable platform;
in the holder shown in fig. 21-22, theholder 303 is disposed on thebody 301.
The specific implementation principle and implementation effect of the movable platform provided in this embodiment are consistent with those of the pan-tilt corresponding to fig. 21-22, and reference may be made to the above statements specifically, and details are not described here again.
The technical solutions and the technical features in the above embodiments may be used alone or in combination in case of conflict with the present disclosure, and all embodiments that fall within the scope of protection of the present disclosure are intended to be equivalent embodiments as long as they do not exceed the scope of recognition of those skilled in the art.
In the embodiments provided in the present invention, it should be understood that the disclosed correlation detection apparatus (e.g., IMU) and method may be implemented in other ways. For example, the above-described remote control device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, remote control devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer processor (processor) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes performed by the present specification and drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.