MULTIPLE ROTORS AIRCRAFT AND CONTROL METHOD
20170153650 ยท 2017-06-01
Inventors
- Chih-Ming Chang (Kaohsiung City, TW)
- Kuang-Shine Yang (Tainan City, TW)
- HO-CHUNG FU (KAOHSIUNG CITY, TW)
- Ying-Cherng Lu (Kaohsiung City, TW)
- Chih-Ming Chiou (Pingtung County, TW)
Cpc classification
B64U2201/00
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A multiple rotors aircraft and a control method thereof are provided. The control method comprises the following steps. First, current motion information of the multiple rotors aircraft is obtained. Then, at least one control gain is adjusted through a gain adjustment function according to the current motion information. The gain adjustment function conforms to a non-Lipschitzian characteristic, and at least one rotor of the multiple rotors aircraft is controlled according to the control gain. Therefore, the multiple rotors aircraft would be ensured that its flight attitude is toward a target position, and the expected result would be conformed rapidly.
Claims
1. A control method, adapted to a multiple rotors aircraft, comprising: obtaining current motion information of the multiple rotors aircraft; and adjusting at least one control gain through a gain adjustment function according to the current motion information, so as to control at least one rotor of the multiple rotors aircraft according to the at least one control gain, wherein the gain adjustment function conforms to a non-Lipschitzian characteristic.
2. The control method as claimed in claim 1, wherein the non-Lipschitzian characteristic represents that a convergence value of a function is only zero, and the convergence value is not varied after being converged to zero.
3. The control method as claimed in claim 1, wherein the current motion information comprises a current pitch angle, a current yaw angle and a current roll angle, and the gain adjustment function is {dot over (h)}.sub.x=h.sub.x.sup.(1/2n+1)[.sub.1(.sub.d+cos sin cos +sin sin )S.sub.x] {dot over (h)}.sub.y=h.sub.y.sup.(1/2n+1)[.sub.1(.sub.d+sin sin cos cos sin )S.sub.y], where h.sub.x, h.sub.y are the at least one
4. The control method as claimed in claim 3, wherein after the step of adjusting the at least one control gain through the gain adjustment function according to the current motion information, the method further comprises: adjusting the at least one target attitude parameter through an attitude estimation function according to the current motion information and the at least one control gain, wherein the attitude estimation function is
5. The control method as claimed in claim 3, wherein before the step of adjusting the at least one control gain through the gain adjustment function according to the current motion information, the method further comprises: defining an error function, wherein the error function is
6. The control method as claimed in claim 3, wherein the current motion information further comprises the current position, the step of obtaining the current motion information of the multiple rotors aircraft comprises: obtaining the current position, the current pitch angle, the current yaw angle and the current roll angle through at least one inertial navigation element.
7. A multiple rotors aircraft, comprising: at least one rotor, respectively controlled by at least one control gain; at least one inertial navigation element, obtaining current motion information of the multiple rotors aircraft; and a processing unit, coupled to the at least one rotor and the at least one inertial navigation element, obtaining the current motion information of the multiple rotors aircraft through the at least one inertial navigation element, and adjusting the at least one control gain through a gain adjustment function according to the current motion information, wherein the gain adjustment function conforms to a non-Lipschitzian characteristic.
8. The multiple rotors aircraft as claimed in claim 7, wherein the non-Lipschitzian characteristic represents that a convergence value of a function is only zero, and the convergence value is not varied after being converged to zero.
9. The multiple rotors aircraft as claimed in claim 7, wherein the current motion information comprises a current pitch angle, a current yaw angle and a current roll angle, and the gain adjustment function is {dot over (h)}.sub.x=h.sub.x.sup.(1/2n+1)[.sub.1(.sub.d+cos sin cos +sin sin )S.sub.x] {dot over (h)}.sub.y=h.sub.y.sup.(1/2n+1)[.sub.1(.sub.d+sin sin cos cos sin )S], where h.sub.x, h.sub.y are the at least one
10. The multiple rotors aircraft as claimed in claim 9, wherein the processing unit adjusts the at least one target attitude parameter through an attitude estimation function according to the current motion information and the at least one control gain, wherein the attitude estimation function is
11. The multiple rotors aircraft as claimed in claim 9, wherein the processing unit defines an error function, wherein the error function is
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DESCRIPTION OF EMBODIMENTS
[0025] In conditions of stability analysis of conventional differential equations, it is known that exponential solutions are convergent. A multiple rotors aircraft and a control method thereof provided by the embodiments of the invention are adapted to quickly estimate an actual state (for example, a flight attitude) through specific differential equations, so as to achieve a quick convergence effect. Moreover, through stability analysis, stability of the system is proved. A plurality of embodiment complying with the spirit of the invention is provided below, and users may suitably adjust the embodiments according to an actual requirement without being limited to the following described content.
[0026]
[0027] Each of the rotors 110.sub.1-110.sub.N may at least include (but not limited to) components of blades, a blade hub, propellers, a torque arm, a rotor shaft, etc. The rotors 110.sub.1-110.sub.N are respectively driven by a control gain, and the multiple rotors aircraft 100 may accordingly implement operations of hovering, maintaining attitude, levelling off, etc. Based on a different number of the rotors 110.sub.1-110.sub.N, the multiple rotors aircraft 100 may have a different term (for example, a quacioter, a hexacopter, an oetocopter, etc.), and the number of the rotors 110.sub.1-110.sub.N is not limited by the invention.
[0028] The inertial navigation element 130 (or an inertial measurement unit (IMU)) includes an accelerometer, a gyro sensor, an E-compass, a G-sensor, a geomagnetic sensor, etc., and is configured to obtain current motion information (for example, a current position, a current pitch angle, a current yaw angle, a current roll angle, etc.) of the multiple rotors aircraft 100. It should be noted that according to a different design requirement, the multiple rotors aircraft 100 may also include a satellite navigation system such as a global positioning system (GPS), an assisted global positioning system (AGPS), a Galileo positioning system or a global navigation satellite system (GLONASS), etc., to assist obtaining position of geodesic coordinates (or geographical position).
[0029] The processing unit 150 is coupled to the rotors 110.sub.1-110.sub.N and the inertial navigation element 130, and is a central processing unit (CPU), or other programmable general purpose or special purpose microprocessor, a digital signal processor (DSP), a programmable controller, an application specific integrated circuit (ASIC) or other similar devices or a combination of the above devices. In the present embodiment, the processing unit 150 is configured to execute all of operations of the multiple rotors aircraft 100. For example, the processing unit 150 has a proportional-integral-differential (PID) controller, which controls rotation speeds of the rotors 110.sub.1-110.sub.N based on the control gain, and adjusts the control gains and a flight attitude, etc., according to a control method of the invention, which is described in detail later.
[0030] It should be noted that according to a different design requirement, the multiple rotors aircraft 100 may further include a motor (for example, a brushless direct current (BLDC) motor, an electric motor, a frame, a bracket, a power module, etc., and appearances, configuration positions and sizes of the above components are not limited by the invention.
[0031] In order to facilitate understanding of an operation flow of the invention, a plurality of embodiments is provided below to describe a control method of the multiple rotors aircraft 100 of the invention in detail.
[0032] In step S210, the processing unit 150 obtains current motion information of the multiple rotors aircraft 100 through the inertial navigation element 130. In the present embodiment, the current motion information of the multiple rotors aircraft 100 includes a current pitch angle , a current yaw angle , a current roll angle (or referred to as an Euler angle coefficient in a rotation sequence E.sub.y-E.sub.z-E.sub.x) and a current position. To be specific, in order to further understand the flight attitude of the multiple rotors aircraft 100, a dynamic model of a four-rotor aircraft is taken as an example for preliminary derivation.
[0033]
[0034] The processing unit 150, for example, obtains sensing information (for example, an azimuth angle, an acceleration, a speed, a displacement, etc.) through the inertial navigation element 130 such as a gyro sensor, an accelerometer, an E-compass, etc., and calculates the current position and the current pitch angle , the current yaw angle and the current roll angle according to the sensing information.
[0035] Moreover, a basic principle of navigation is to ensure correct transformation of two coordinate systems (i.e. on-vehicle coordinates and the geodesic coordinates). Then, referring to
and a dynamic model can be defined as
where m is a mass of the four-rotor aircraft 300, g is an acceleration of gravity (9.8 km/s), and [A.sub.x A.sub.y A.sub.z] is an aerodynamic forces vector.
[0036] It should be noted that in an actual practice, the processing unit 150 may directly obtain a geodesic position (or a geographical position) through the satellite positioning system. In order to ensure the correct transformation of the two coordinate systems, the processing unit 150 requires to perform calibration at all the time. For example, the processing unit 150 corrects the current roll angle based on the E-compass and the geomagnetic sensor, corrects the current pitch angle and the current yaw angle based on the accelerometer and the G-sensor. After the correct transformation of the two coordinate systems is ensured, the processing unit 150, for example, performs an integral operation based on the gyro sensor to obtain attitude information based on the on-vehicle coordinate system (i.e. the current pitch angle , the current yaw angle and the current roll angle ).
[0037] In step S220, the processing unit 150 adjusts a control gain through a gain adjustment function according to the current motion information, so as to control the rotors 110.sub.1-110.sub.N of the multiple rotors aircraft 100 through the control gain. The gain adjustment function conforms to a non-Lipschitzian characteristic. The non-Lipschitzian characteristic represents that a convergence value of the function is only zero, and the convergence value is varied after being converged to zero. To be specific, derivation of the gain adjustment function is described below. First, a translational kinetic energy T.sub.trans and a rotation kinetic energy T.sub.rot can be respectively represented by following equations (1) and (2):
[0038] Where, =(x, y, z) R.sup.3 , =(, , ) S.sup.3 , J is a rotation inertia matrix. A potential energy U of the four-rotor aircraft 300 in
U=mgz (3)
[0039] A Lagrangian function can be represented in a following equation (4):
[0040] Where, q=[ ]. By applying the above equations (1)-(3) to L(q,{dot over (q)}), a following equation (5) is obtained:
[0041] Where,
[0042] Where, f.sub.1, f.sub.2, f.sub.3, f.sub.4 are respectively thrust forces (corresponding to a B.sub.3 axis direction of the on-vehicle coordinate system, or a direction perpendicular to the blades of the rotors 310.sub.1, 310.sub.2, 310.sub.3, 310.sub.4) of the rotors 310.sub.1, 310.sub.2, 310.sub.3, 310.sub.4, l is a length from a motor shaft to a mass center.
[0043] By organizing the above equations, following equations (9) and (10) are obtained:
[0044] Where, C(,{dot over ()})) is a Coriolis term.
[0045] In order to overcome a rotation moment produced when the four sets of rotors 310.sub.1, 310.sub.2, 310.sub.3, 310.sub.4 simultaneously rotate, the four-rotor aircraft 300 may adopt a symmetric rotation direction design (for example, rotation directions M.sub.1, M.sub.2, M.sub.3, M.sub.4 of the rotors 310.sub.1, 310.sub.2, 310.sub.3, 310.sub.4 in
[0046] Therefore, deduced according to a robust adaptive control in collaboration with the non-Lipschitzian characteristic (i.e. the finite time is converged to zero), it is known that in the technique of the multiple rotors aircraft, a position control is a rather important link. A main purpose of the position control is to control the current position of the multiple rotors aircraft 100 to move to a target position (x.sub.d, y.sub.d, z.sub.d) within a certain time. Since the processing unit 150 is required to calculate target attitude parameters (a target pitch angle .sub.d, a target yaw angle .sub.d, a target roll angle .sub.d) required by the multiple rotors aircraft 100 according to the required target position during the calculation process, so as to drive the multiple rotors aircraft 100 to move to the target position, (to facilitate description, the four-rotor aircraft 300 of
[0047] Where, .sub.1, .sub.2, .sub.3, .sub.4 are respectively rotation speeds of the four sets of rotors in the four-rotor aircraft 300, b is a frame related length coefficient, and {tilde over (H)}.sub.x, {tilde over (H)}.sub.y are respectively defined as following equations (12), (13):
{tilde over (H)}.sub.x=.sub.d+cos sin cos +sin sin (12)
{tilde over (H)}.sub.y=.sub.d+sin sin coscos sin (13)
[0048] In order to ensure the multiple rotors aircraft 100 to fly to the target position, a position tracking trajectory error function is defined as a following equation (14):
S.sub.=.sub.+k.sub.e.sub.(14)
[0049] Where, S.sub.70=S.sub.x S.sub.y S.sub.z=.sub.x+k.sub.xe.sub.x .sub.y+k.sub.ye.sub.y .sub.z+k.sub.ze.sub.z and e.sub.=[e.sub.x e.sub.y e.sub.z].sup.T=[xx.sub.d yy.sub.d zz.sub.d].sup.T, and
k.sub.x, k.sub.y, and k.sub.z are control coefficients (real numbers).
[0050] According to the position tracking trajectory error function (14), it is known that when S.sub.=0, it represents that the error dynamically reaches a sliding surface, and such result is similar to a variable structure system well known by those skilled in the art, and each time when the error reaches the sliding surface to make S.sub.=0, the tracking trajectory error is ensured to be zero, so as to achieve an effect of position control.
[0051] Then, the target position .sub.d(t) is set as a bounded function, and a differential of the target potion (i.e. the target speed) .sub.d.sup.(i)(t) R, i=1,2,3 is bounded and conforms to .sub.d.sup.(i)(t) L.sub..
[0052] It should be noted that a main design purpose of the position control is to make the current position of the aircraft to reach the target position, i.e.
Therefore, a primary condition is to ensure the processing unit 150 to obtain the current position of the multiple rotors aircraft 100 (i.e. the step S210). Then, the processing unit 150 defines an error function (15) as follows:
[0053] and defines .sub.1 as the main thrust force of the multiple rotors aircraft 100. For example, the main thrust force of the four-rotor aircraft 300 of
[0054] It should be noted that rules of a non-Lipschitzian autonomous system include following theorems. Considering that the autonomous system {dot over (x)}=f(x), where f:D.fwdarw.R.sup.n is non-Lipschitzian continuous on an origin open neighborhood D R.sup.n of an origin of R.sup.n. The origin of {dot over (x)}=f(x) is a finite time convergence if there exists an origin N D of the origin and a function T.sub.x:N\{0}.fwdarw.(0, ) calls a setting time function such that every solution a trajectory x(t, x.sub.0) of {dot over (x)}=f(x) starting from an initial point x.sub.0 8 0, T.sub.x(x.sub.0)), and
In other words, a condition of a differential equation being differentiable is that it is continuous and smooth. If the unique solution to the differential equation is 0 and continuous but not smooth, it is undifferentiable. However, if the solution to the differential equation does not vary after reaching 0, it indicates that the differential equation converges to 0.
[0055] Then, based on height control, the main thrust force can be modified to a following equation (16):
[0056] Where, K.sub.z is an aerodynamic damping coefficient (a real number).
[0057] Regarding the control gains for the E.sub.x axis and the E.sub.y axis, the gain adjustment functions (17), (18), (19) can be deduced based on the non-Lipschitzian characteristic, a Kalman filter and a sliding mode observer:
[0058] Where h.sub.x, h.sub.y are the control gains, n is hierarchy, g is the acceleration of gravity, .sub.i=.sub.1{tilde over (H)}.sub.iS.sub.i, i is x or y, and is a small constant.
[0059] It should be noted that the processing unit 150 changes the control gains by adjusting the hierarchy n, so as to adjust the convergence time of the gain adjustment functions (17) and (18).
[0060] Then, the processing unit 150 adjusts the target attitude parameters through attitude estimation functions according to the current motion information and the control gains (i.e. h.sub.x, h.sub.y), where the attitude estimation functions (20), (21) are defined as follows:
[0061] In other words, the processing unit 150 adjusts the control gains according to the gain adjustment functions (17), (18), (19), so as to control each set of the rotors 110.sub.1-110.sub.t, such that a flight attitude of the multiple rotors aircraft 100 is adjusted to the target pitch angle .sub.d and the target yaw angle .sub.d , and the multiple rotors aircraft 100 may accurately fly to the target position.
[0062] {t.sub.v}.sub.v=1.sup. is conformed to a measure zero condition, such that h.sub.i(t.sub.v)=0, v=1,2,3, . . . . Moreover, through theoretical analysis of stability conditions of Lyapunov and Kurzweil theory, it is learned that based on the equations (15)-(20), an error of position control of the multiple rotors aircraft 100 may reach an asymptotically stable condition. On the other hand, in the aforementioned descriptions, the derivation of the four-rotor aircraft is taken as an example for descriptions, and the multiple rotors aircraft with other number of the rotors can also be derived to calculate the corresponding error function (15), the gain adjustment functions (17), (18), (19) and the attitude estimation functions (20), (21).
[0063]
[0064] The processing unit 150 obtains the current motion information (for example, an acceleration and an angular acceleration of each axis) through the accelerometer and the gyro sensor in the inertial navigation element 130 (step S510), and performs a transformation procedure on the current motion information (step S530). The processing unit 150 processes the value of the current motion information through a low-pass filter to obtain a required value, and further calculates through an integrator to obtain current speeds along three axial directions ({dot over (x)}{dot over (y)}
), the current pitch angle , the current yaw angle and the current roll angle (step S531). The processing unit 150 performs correction, transformation and estimation on the current speed ({dot over (x)}-{dot over (7)}-) through matrix adjustment (step S532), moving average calculation (step S535), a Kalman Filter (step S537) and a sliding mode observer (step S539) to calculate the current position (x,y,z). On the other hand, the processing unit 150 performs matrix adjustment on the current pitch angle , the current yaw angle and the current roll angle (step S532) to transform each of the Euler angle coefficients into the geodesic coordinate system. Then, the processing unit 150 applies the above results to the equations (15)-(20) to respectively generate (for example, the error function (15), the gain adjustment functions (17), (18), (19) and the attitude estimation functions (20), (21)) (step S540), such that the current position (x,y,z) is conformed to the target position (x.sub.d,y.sub.d,z.sub.d) and the current attitude parameters (i.e. the current pitch angle , the current yaw angle and the current roll angle ) are conformed to the target attitude parameters (i.e. the target pitch angle .sub.d, the target yaw angle .sub.d and the target roll angle .sub.d) (steps S550, S555). The processing unit 150 transforms a system input into a trust input matrix form (step S570) to drive a brushless DC motor driver (step S580). Then, the processing unit 150 transforms a trust input into the trust input matrix form (step S591) to control the multiple rotors aircraft 100 (step S593). The aforementioned operation flow is repeatedly performed to converge the error value between the current position and the target position to zero.
[0065] It should be noted that according to a different design requirement, the transformation procedure of the step S530 can be varied along with different algorithms, and the embodiment of the invention is not limited to the flow of
[0066] In summary, in the multiple rotors aircraft and the control method thereof provided by the invention, the inertial navigation element is applied to measure the flight attitude of the multiple rotors aircraft (for example, the current pitch angle , the current yaw angle and the current roll angle ), and the error function based on the on-Lipschitzian characteristic is adopted to derive the attitude estimation functions and the gain adjustment functions, so as to adjust the control gains and the flight attitude. In this way, the error value between the current position and the target position may reach a fast convergence effect according to embodiment of the invention, so as to provide a robust adaptive control system.
[0067] It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.