Adaptive control method for unmanned vehicle with slung load

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
24Forward
Citations 
0
Petitions 
1
Assignment
First Claim
1. An adaptive control method for an unmanned vehicle with a slung load, comprising the steps of:
 establishing a feedback linear controller, such that f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λ
ė
_{x}_{a})+C_{b}({dot over (x)}_{a}_{d}+Λ
e_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, wherein f(x) is a control dynamics input for an unmanned aerial vehicle, x_{a}_{d }is a vector representing roll, pitch, yaw and altitude for the unmanned aerial vehicle based on a corresponding trajectory, M_{b }is an inertia matrix associated with the unmanned aerial vehicle, C_{b }is a centrifugal force and coriolis force matrix associated with the unmanned aerial vehicle, D_{b }is a drag force matrix associated with the unmanned aerial vehicle, and G_{b }is a gravitational vector, {dot over (x)}_{a }being a velocity vector such that
1 Assignment
0 Petitions
Accused Products
Abstract
The adaptive control method for an unmanned vehicle with a slung load utilizes a feedback linearization controller (FLC) to perform vertical take off, hovering and landing of an unmanned aerial vehicle with a slung load, such as a quadrotor drone or the like. The controller includes a double loop architecture, where the overall controller includes an inner loop having an inner controller which is responsible for controlling the attitude angles and the altitude, and an outer loop having an outer controller responsible for providing the inner loop inner controller with the desired angle values. States, such as including roll, pitch, yaw and/or altitude, are selected as outputs and the feedback linearization technique is used.
42 Citations
View as Search Results
Control Method to Damp Quadrotor Slung Payload Mode  
Patent #
US 20150331427A1
Filed 05/13/2014

Current Assignee
The Boeing Co.

Sponsoring Entity
The Boeing Co.

SYSTEM AND METHOD FOR DETERMINING A LENGTH OF AN EXTERNAL LOAD SLING  
Patent #
US 20160048131A1
Filed 08/11/2015

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

METHOD FOR DELIVERING A SHIPMENT BY AN UNMANNED TRANSPORT DEVICE  
Patent #
US 20170039510A1
Filed 04/01/2015

Current Assignee
Deutsche Post AG

Sponsoring Entity
Deutsche Post AG

Scheduling of unmanned aerial vehicles for mission performance  
Patent #
US 9,671,790 B2
Filed 05/20/2014

Current Assignee
Verizon Patent and Licensing Incorporated

Sponsoring Entity
Verizon Patent and Licensing Incorporated

System and method for determining a length of an external load sling  
Patent #
US 9,718,547 B2
Filed 08/11/2015

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

Method for delivering a shipment by an unmanned transport device  
Patent #
US 9,811,796 B2
Filed 04/01/2015

Current Assignee
Deutsche Post AG

Sponsoring Entity
Deutsche Post AG

Systems and methods for controlling rotorcraft external loads  
Patent #
US 9,879,986 B2
Filed 03/30/2016

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

AUTONOMOUS HELICOPTER POSTURE REGULATION TO MOVING REFERENCE FRAMES  
Patent #
US 20180059689A1
Filed 09/01/2017

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

Automated readiness evaluation system (ARES) for use with an unmanned aircraft system (UAS)  
Patent #
US 9,922,282 B2
Filed 06/28/2016

Current Assignee
Limitless Computing Inc.

Sponsoring Entity
Limitless Computing Inc.

Methods for delivering a parcel to a restricted access area  
Patent #
US 9,928,749 B2
Filed 04/28/2017

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Unmanned aerial vehicle including a removable power source  
Patent #
US 9,957,048 B2
Filed 04/28/2017

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Unmanned aerial vehicle pickup and delivery systems  
Patent #
US 9,969,495 B2
Filed 04/28/2017

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Unmanned aerial vehicle including a removable parcel carrier  
Patent #
US 9,981,745 B2
Filed 04/28/2017

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

SYSTEMS AND METHODS FOR DYNAMICS, MODELING, SIMULATION AND CONTROL OF MIDFLIGHT COUPLING OF QUADROTORS  
Patent #
US 20180164835A1
Filed 09/26/2017

Current Assignee
Arizona Board of Regents

Sponsoring Entity
Arizona Board of Regents

Method and system for configurable and scalable unmanned aerial vehicles and systems  
Patent #
US 10,115,048 B2
Filed 07/11/2016

Current Assignee
Limitless Computing Inc.

Sponsoring Entity
Limitless Computing Inc.

Methods for picking up a parcel via an unmanned aerial vehicle  
Patent #
US 10,202,192 B2
Filed 01/12/2018

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Robot transport method with transportation container  
Patent #
US 10,345,818 B2
Filed 09/18/2017

Current Assignee
Autonomy Squared LLC

Sponsoring Entity
Autonomy Squared LLC

Multirotor aircraft control systems  
Patent #
US 10,435,147 B2
Filed 11/30/2015

Current Assignee
Cloud CAP Technology Incorporated

Sponsoring Entity
Cloud CAP Technology Incorporated

Unmanned aerial vehicle and landing system  
Patent #
US 10,453,022 B2
Filed 01/12/2018

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Autonomous helicopter posture regulation to moving reference frames  
Patent #
US 10,459,456 B2
Filed 09/01/2017

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

Robot delivery system  
Patent #
US 10,459,450 B2
Filed 09/18/2017

Current Assignee
Autonomy Squared LLC

Sponsoring Entity
Autonomy Squared LLC

Delivery vehicle including an unmanned aerial vehicle support mechanism  
Patent #
US 10,460,281 B2
Filed 01/12/2018

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Unmanned aerial vehicle chassis  
Patent #
US 10,482,414 B2
Filed 01/12/2018

Current Assignee
United Parcel Service Of America Incorporated

Sponsoring Entity
United Parcel Service Of America Incorporated

Robot delivery method  
Patent #
US 10,520,948 B2
Filed 09/18/2017

Current Assignee
Autonomy Squared LLC

Sponsoring Entity
Autonomy Squared LLC

Autonomous Payload Parsing Management System and Structure for an Unmanned Aerial Vehicle  
Patent #
US 20110084162A1
Filed 10/09/2009

Current Assignee
Honeywell International Inc.

Sponsoring Entity
Honeywell International Inc.

Vehicle simulator system  
Patent #
US 20100279255A1
Filed 02/18/2008

Current Assignee
Ohio University

Sponsoring Entity
Ohio University

METHOD OF ESTIMATING THE STATE OF A SYSTEM AND RELATIVE DEVICE FOR ESTIMATING POSITION AND SPEED OF THE ROTOR OF A BRUSHLESS MOTOR  
Patent #
US 20090033259A1
Filed 08/02/2007

Current Assignee
Stmicroelectronics SRL

Sponsoring Entity
Stmicroelectronics SRL

Method and system for controlling helicopter vibrations  
Patent #
US 7,370,829 B2
Filed 06/10/2005

Current Assignee
Lord Corporation

Sponsoring Entity
Lord Corporation

Robust uninhabited air vehicle active missions  
Patent #
US 7,194,397 B1
Filed 11/27/2001

Current Assignee
Lockheed Martin Corporation

Sponsoring Entity
Lockheed Martin Corporation

Method and apparatus for evolving a neural network  
Patent #
US 6,516,309 B1
Filed 07/14/1999

Current Assignee
ADVANCED RESEARCH TECHNOLOGY INSTITUTE

Sponsoring Entity
ADVANCED RESEARCH TECHNOLOGY INSTITUTE

Stable adaptive control using critic designs  
Patent #
US 6,532,454 B1
Filed 09/23/1999

Current Assignee
IPU POWER MANAGEMENT LLC

Sponsoring Entity
Werbos Paul J.

Modelfollowing control system using acceleration feedback  
Patent #
US 6,189,836 B1
Filed 09/25/1998

Current Assignee
Sikorsky Aircraft Corporation

Sponsoring Entity
Sikorsky Aircraft Corporation

Vertical control system for rotary wing aircraft  
Patent #
US 5,428,543 A
Filed 07/06/1994

Current Assignee
United Technologies Corporation

Sponsoring Entity
United Technologies Corporation

Preventing augmenting vertical load induced oscillations in a helicopter  
Patent #
US 4,741,501 A
Filed 06/26/1987

Current Assignee
United Technologies Corporation

Sponsoring Entity
United Technologies Corporation

NEURAL NETWORKBASED NODE MOBILITY AND NETWORK CONNECTIVTY PREDICTIONS FOR MOBILE AD HOC RADIO NETWORKS  
Patent #
US 20070299794A1
Filed 06/26/2006

Current Assignee
The Boeing Co.

Sponsoring Entity
The Boeing Co.

System and method for an integrated backup control system  
Patent #
US 8,104,720 B2
Filed 02/01/2011

Current Assignee
Gulfstream Aerospace Corporation

Sponsoring Entity
Gulfstream Aerospace Corporation

STEERING CONTROL DEVICE OF AUTONOMOUS VEHICLE, AUTONOMOUS VEHICLE HAVING THE SAME AND STEERING CONTROL METHOD OF AUTONOMOUS VEHICLE  
Patent #
US 20120072075A1
Filed 09/28/2010

Current Assignee
Agency For Defense Development

Sponsoring Entity
Agency For Defense Development

TRAJECTORY TRACKING FLIGHT CONTROLLER  
Patent #
US 20120095621A1
Filed 03/25/2010

Current Assignee
Ohio University

Sponsoring Entity
Ohio University

Fuzzy logicbased control method for helicopters carrying suspended loads  
Patent #
US 8,185,259 B2
Filed 08/23/2010

Current Assignee
King Fahd University of Petroleum and Mineral

Sponsoring Entity
King Fahd University of Petroleum and Mineral

Control optimization method for helicopters carrying suspended loads  
Patent #
US 8,190,307 B2
Filed 08/23/2010

Current Assignee
King Fahd University of Petroleum and Mineral

Sponsoring Entity
King Fahd University of Petroleum and Mineral

Helicopter SlingLoad Stability Control and Release System  
Patent #
US 20130054054A1
Filed 08/26/2011

Current Assignee
Timothy Edward Smith, Donald John Tollenaere

Sponsoring Entity
Timothy Edward Smith, Donald John Tollenaere

Helicopter slingload stability control and release system  
Patent #
US 8,532,846 B2
Filed 08/26/2011

Current Assignee
Timothy Edward Smith, Donald John Tollenaere

Sponsoring Entity
Timothy Edward Smith, Donald John Tollenaere

6 Claims
 1. An adaptive control method for an unmanned vehicle with a slung load, comprising the steps of:
establishing a feedback linear controller, such that f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λ
ė
_{x}_{a})+C_{b}({dot over (x)}_{a}_{d}+Λ
e_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, wherein f(x) is a control dynamics input for an unmanned aerial vehicle, x_{a}_{d }is a vector representing roll, pitch, yaw and altitude for the unmanned aerial vehicle based on a corresponding trajectory, M_{b }is an inertia matrix associated with the unmanned aerial vehicle, C_{b }is a centrifugal force and coriolis force matrix associated with the unmanned aerial vehicle, D_{b }is a drag force matrix associated with the unmanned aerial vehicle, and G_{b }is a gravitational vector, {dot over (x)}_{a }being a velocity vector such that View Dependent Claims (2, 3)
 4. A computer software product that includes a nontransitory storage medium readable by a processor, the nontransitory storage medium having stored thereon a set of instructions for performing adaptive control for an unmanned vehicle with a slung load, the instructions comprising:
(a) a first set of instructions which, when loaded into main memory and executed by the processor, causes the processor to establish a feedback linear controller, such that f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λ
ė
_{x}_{a})+C_{b}({dot over (x)}_{a}_{d}+Λ
e_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, wherein f(x) is a control dynamics input for an unmanned aerial vehicle, x_{a}_{d }is a vector representing roll, pitch, yaw and altitude for the unmanned aerial vehicle based on a corresponding trajectory, M_{b }is an inertia matrix associated with the unmanned aerial vehicle, C_{b }is a centrifugal force and coriolis force matrix associated with the unmanned aerial vehicle, D_{b }is a drag force matrix associated with the unmanned aerial vehicle, and G_{b }is a gravitational vector, {dot over (x)}_{a }being a velocity vector such that View Dependent Claims (5, 6)
1 Specification
1. Field of the Invention
The present invention relates to control for aerial vehicles, and particularly to an adaptive control method for aerial vehicles carrying slung, or suspended, loads. (u, v, w)
2. Description of the Related Art
R_{L}=L cos(θ_{L})sin(Φ_{L})i_{H}+L sin(θ_{L})j_{H}+L cos(θ_{L})cos(Φ_{L})k_{H}. (1)
The position vector R_{H }of the hook with respect to the aerial vehicle 102'"'"'s center of gravity (e.g.) is given by:
R_{H}=x_{H}i_{H}+y_{H}j_{H}+z_{H}k_{H}. (2)
The absolute velocity V_{L }of the load is given by:
V_{L}=V_{cg}+{dot over (R)}+Ω×R, (3)
where V_{cg }is the absolute velocity of the center of mass of the aerial vehicle 102, R=R_{L}+R_{H }is the position vector of the load with respect to the center of mass of the aerial vehicle 102, and Q=pi_{H}+qj_{H}+rk_{H }is the angular velocity of the aerial vehicle 102. The absolute acceleration a_{L }of the load is:
a_{L}={dot over (V)}_{L}+Ω×V_{L}. (4)
The unit vector in the direction of the gravity force is given by:
K_{g}=−sin(θ)i_{H}+sin(Φ)cos(θ)j_{H}+cos(φ)cos(θ)k_{H}. (5)
Beside the gravity, there is an aerodynamic force applied on the point mass load. Since the analysis in the background description is restricted to the aerial vehicle 102'"'"'s motion near hover, the aerodynamics loads on the load will be neglected.
The equations of motion of the load are written by enforcing moment equilibrium about the suspension point, that is, in matrix form:
R_{L}×(−m_{L}a_{L}+m_{L}gk_{g})=0. (6)
The above equation gives three scalar equations of second order, only the equations in the x and y directions are retained, which represent the equations of motion of the load.
The suspended load introduces additional terms in the rigid body force and moment equations of motion of the aerial vehicle 102, namely load forces and load dynamics. The force and moment loads, F_{HL }and M_{HL}, are shown in
F_{HL}=−m_{L}a_{L}+m_{L}gk_{g}. (7)
The additional moment M_{HL }is therefore given by:
M_{HL}=R_{H}×F_{HL}. (8)
The above equations give highly nonlinear expressions. These equations cannot be used for stability analysis. Therefore, they must be linearized around the trim condition. To be able to perform the linearization process, the trim values of the aerial vehicle 102 and the load must be determined.
The obtained equations are nonlinear and complicated. For design purposes, these equations are linearized about the hovering conditions. Near hover, the forward speed is nearly zero (i.e., u_{0}=0). Assuming that the aerial vehicle 102'"'"'s roll angle is also zero, even with the effect of the load on the aerial vehicle 102 (i.e., Φ_{0}=0) simplifies the analysis. At this condition, the load trim equations give the following trim values:
θ_{Lo}0 and Φ_{Lo}=−θ_{o}. (9)
Imposing the above results to the linearized load equations obtains the following equations of motion for the load:
gθ_{L}−g cos(θ_{o})φ+y_{h}{dot over (q)}+{dot over (V)}+L{umlaut over (θ)}_{L}=0. (10)
L{umlaut over (Φ)}_{L}+gΦ_{L}+gθ+(x_{h}−L sin(θ_{o}))cos(θ_{o}){dot over (p)}+z_{h }sin(θ_{o}){dot over (r)}+L cos(θ_{o})sin(θ_{o}){dot over (r)}+cos (θ_{o}){dot over (U)}+sin(θ_{o}){dot over (W)}=0. (11)
The forces exerted by the load on the aerial vehicle 102 are:
F_{x}=m_{L}(−g cos[θ_{O}]θ−xh{dot over (p)}+L sin[θ_{o}]{dot over (p)}−{dot over (U)}[t]−L cos[θ_{o}]{umlaut over (Φ)}_{L}),
F_{y}=m_{L}(g cos[θ_{o}]Φ−y_{h}{dot over (q)}−{dot over (V)}−L{umlaut over (θ)}_{L}) and
F_{z}=m_{L}(−g sin[θ_{o}]θ−(z_{h}+L cos[θ_{o}]){dot over (r)}−{dot over (W)}−L sin[θ_{o}]{umlaut over (Φ)}_{L}). (12)
The moments in the xyz directions are: φ
These equations are linear and can be formulated in a state space form. If the load state vector is defined as x_{L}=[{dot over (Φ)}_{L }{dot over (θ)}_{L }Φ_{L }θ_{L }]^{T}, the load equations in state space can be written as:
E_{L}{dot over (x)}=A_{L}x, (14)
where x is the state vector for the load and the aerial vehicle 102 (i.e., x=[x_{H }x_{L}]).
Similarly, the effect of the load on the aerial vehicle 102 force terms can be written also as:
The linearized equations of motion of the aerial vehicle 102 and the load can be written in the following state space forms:
A great deal of effort has been made for modeling the slung load and studying its effect on dynamics of aerial vehicles. Examples of automatic control for vehicles, such as helicopters, with slung loads include a singlecable dynamic model developed using a straightforward application of Lagrange equations, and an expanded version of this model, which includes two tandem cables. However, such a formulation was based on the NewtonEuler equations of motion for small perturbations separated into longitudinal and lateral sets. The disadvantage was that aerodynamic forces on the cables and the load were neglected, as were the helicopter rotor dynamic modes.
Such work, though promising, is not only based on classical control techniques, but is difficult to apply to modem unmanned aerial vehicles, such as quadrotor drones and the like. It would be desirable to provide an antiswing controller for a quadrotor aerial vehicle slung load system near hover flight. Such a controller should be based on timedelayed feedback of the load swing angles. The output from such a controller would be additional displacements that are added to the vehicle trajectory in the longitudinal and lateral directions, for example.
Thus, an adaptive control method for an unmanned vehicle with a slung load addressing the aforementioned problems is desired.
In the present adaptive control method for an unmanned vehicle with a slung load, a feedback linearization controller (FLC) is used to perform vertical take off, hovering and landing of an unmanned vehicle with a slung load, such as a quadrotor drone or the like. To achieve hover condition, the attitude angles and the position have to be stabilized. The outputs of the controller are the set of variables (x, y, z, φ, θ, ψ), where x, y and z are threedimensional Cartesian coordinates, φ represents roll, θ represents pitch, and ψ represents yaw. However, selecting all six outputs makes the system underactuated, as there are only four inputs. Additionally, a coupling problem also exists, thus the output vector in the present method is selected to simply be (φ, θ, ψ, z), where the Cartesian zcoordinate represents altitude. Thus, the present control method involves double loop architecture, where the overall controller includes an inner loop having an inner controller which is responsible for controlling the attitude angles and the altitude, and an outer loop having an outer controller responsible for providing the inner controller of the inner loop with the desired angle values. The inner controller of the inner loop needs to be much faster than the outer controller of the outer loop in order to achieve stability. These four states (φ, θ, ψ, z), or three states (φ, θ, z), are selected as outputs and the feedback linearization technique is used.
As will be described in greater detail below, the inner controller of the inner loop utilizes a two layer neural network. Essentially, as will be described in greater detail below, the overall adaptive control method includes the following steps:
(a) establishing a feedback linear controller, such that f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λė_{x}_{a}) C_{b}({dot over (x)}_{a}_{d}+Λe_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, where f(x) is a control dynamics input for an unmanned aerial vehicle, x_{a}_{d }is a vector representing roll, pitch, yaw and altitude for the unmanned aerial vehicle based on a corresponding trajectory, M_{b }is an inertia matrix associated with the unmanned aerial vehicle, C_{b }is a centrifugal force and coriolis force matrix associated with the unmanned aerial vehicle, D_{b }is a drag force matrix associated with the unmanned aerial vehicle, and G_{b }is a gravitational vector, {dot over (x)}_{a }being a velocity vector such that
where φ represents a roll angle of the unmanned aerial vehicle, θ represents a pitch angle of the unmanned aerial vehicle, ψ represents a yaw angle of the unmanned aerial vehicle, and z represents an altitude of the unmanned aerial vehicle, e_{x}_{a }representing control error, and Λ being a positive definite constant matrix such that y=ė_{x}_{a}+Λe_{x}_{a}, where y is a filtered tracking error, and x is a vector defined as x=[e_{x}_{a}^{T}è_{x}_{a}^{T}x_{a}_{d}^{T}{dot over (x)}_{a}_{d}^{T}{umlaut over (x)}_{a}_{d}^{T}]^{T}, where T is a period of a periodic orbit of the slung load;
(b) establishing a two level neural network such that f(x)=W^{T}σ(V^{T}x)+ε, where W and V are neural network weights, σ represents the sigmoid function, and ε being a known bound;
(c) calculating a neural network estimate of f(x), {circumflex over (f)}(x), as {circumflex over (f)}(x)=Ŵ^{T}σ({circumflex over (V)}^{T}x), where Ŵ and {circumflex over (V)} are actual values of the neural network weights W and V, respectively, given by a tuning algorithm;
(d) providing a control input τ for the unmanned aerial vehicle as τ=Ŵ^{T}σ({circumflex over (V)}^{T}x)+K_{v}y, where K_{v }is a feedforward gain; and
(e) providing additional antiswing control input to the unmanned aerial vehicle to correct for a slung load as x_{cor}=K_{xc}Lφ_{L}(t−τ_{xc}) and y_{cor}=K_{yc}Lφ_{L}(t−τ_{yc}), wherein x_{cor }and y_{cor }are additional longitudinal and lateral displacements, respectively, K_{xc }and K_{yc }are, respectively, longitudinal and lateral feedback gains, L is a load cable length, φ_{L }is a load angle in an xz plane, t is time, and τ_{xc }and τ_{yc }are, respectively, longitudinal and lateral time delays introduced in the feedback of the load angle.
These and other features of the present invention will become readily apparent upon further review of the following specification.
Unless otherwise indicated, similar reference characters denote corresponding features consistently throughout the attached drawings.
In the present method, a feedback linearization controller (FLC) is used to perform vertical take off, hovering and landing of an unmanned vehicle with a slung load, such as a quadrotor drone or the like. To achieve hover condition, the attitude angles and the position have to be stabilized. The outputs of the controller are the set of variables (x, y, z, φ, θ, ψ), where x, y and z are threedimensional Cartesian coordinates, φ represents roll, θ represents pitch, and ψ represents yaw. However, selecting all six outputs makes the system underactuated, as there are only four inputs. Additionally, a coupling problem also exists, thus the output vector in the present method is selected to simply be (φ, θ, ψ, z), where the Cartesian zcoordinate represents altitude. Additionally, it should be noted that the drag and gyroscopic terms cannot be neglected, and are each considered in order to achieve complete stability. Thus, the present control method involves double loop architecture, as illustrated in
where t is time, and {umlaut over (φ)} represents
In the following, the position of the body frame of an unmanned aerial vehicle (UAV) 104, such as a quadrotor or the like, with respect to the frame of the Earth is denoted by the vector ξ=[x,y,z]^{T}, and the orientation in angular position of the body frame with respect to the Earth frame is denoted by η=[100 ,θ,ψ]^{T}, which represent pitch, roll and yaw, respectively. The translational and rotational movement of the quadrotor with respect to the Earth inertial frame can be described by using the combined vector ξ and η; i.e., q=[ξ^{T}η^{T}]^{T}.
For the system, the inertia matrix is given by
and the transformation matrix is given by
A matrix is defined such that M_{η}=W^{η}^{T}IW or
where the following convention is used: S(.) and C(.) represent the sine and cosine functions, respectively.
Further, in what follows, F_{ξ }and τ_{η }represent the translational forces and the torques, respectively. The drag is represented by the matrices D_{η }and D_{ξ}, where k_{t }is the translational drag and k_{r }is the rotational drag, such that
and
The translational dynamics for the system, discounting the slung load, which will be addressed in detail below, are described by M_{ξ}{umlaut over (ξ)}+G_{ξ}+D_{ξ}{dot over (ξ)}=R_{BI}uA_{1}, where M_{ξ }is a mass term, such that
and G_{ξ }is a gravitational term, such that
and A_{1 }is used for simplification, where
Similarly, these equations can be used for the rotational dynamics, such that M_{η}{umlaut over (η)}+C_{η}(η,{dot over (η)}){dot over (η)}+D_{η}{dot over (η)}=τ_{η}, where
where c_{11}=0; c_{12}=(I_{yy}−I_{zz})({dot over (θ)}CφSφ+{dot over (ψ)}S^{2}φCθ)+(I_{zz}−I_{yy}){dot over (ψ)}C^{2}φCθ−I_{xx}{dot over (ψ)}Cθ; c_{13}=(I_{zz}−I_{yy}){dot over (ψ)}CφSφC^{2}θ; c_{21}=(I_{zz}−I_{yy})({dot over (θ)}CφSφ+{dot over (ψ)}S^{2}φCθ)+(I_{yy}−I_{zz}){dot over (ψ)}C^{2}φCθ+I_{xx}{dot over (ψ)}Cθ; c_{22}=(I_{zz}−I_{yy}){dot over (φ)}CφSφ; c_{23}=−I_{xx}{dot over (ψ)}SφθCθ+I_{yy}{dot over (ψ)}S^{2}φCθSθ+I_{yy}ψC^{2}ΦSθCθ; c_{31}=(I_{yy}−I_{zz}){dot over (ψ)}CφSφC^{2}θ−I_{xx}{dot over (θ)}Cθ; c_{32}=(I_{zz}−I_{yy})({dot over (θ)}CφSφSθ+{dot over (ψ)}S^{2}φCθ)+(I_{yy}−I_{zz}){dot over (φ)}C^{2}φCθ+I_{xx}{dot over (ψ)}SθCθ−I_{yy}{dot over (ψ)}S^{2}φSθCθ−I_{zz}{dot over (ψ)}C^{2}φSθCθ; and c_{33}=(I_{yy}−I_{zz}){dot over (φ)}CφSφC^{2}θ−I_{yy}{dot over (θ)}S^{2}φSθCθ−I_{zz}{dot over (θ)}C^{2}φSθCθ+I_{xx}{dot over (θ)}CθSθ. Combining the rotational and translational matrices yields the overall dynamic equation M{umlaut over (q)}+C{dot over (q)}+D{dot over (q)}+G=τ, where M is the inertia matrix, C is the matrix containing the centrifugal and Coriolis terms, D represents the drag term and G is the gravitational matrix.
For ease of understanding, the dynamics may also be represented in the space state format, where p, q and r represent the angular velocities, such that: {dot over (Φ)}=p+q sin φ tan θ+r cos φ tan θ; {dot over (θ)}=q cos φ−r sin φ;
{dot over (x)}=v_{x}; {dot over (y)}=v_{y}; ż=v_{z};
As will be described in greater detail below, the inner loop inner controller 12 utilizes a two layer neural network. Essentially, as will be described in greater detail below, the overall adaptive control method includes the following steps:
(a) establishing a feedback linear controller, such that f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λė_{x}_{a})+C_{b}({dot over (x)}_{a}_{d}+Λe_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, where f(x) is a control dynamics input for an unmanned aerial vehicle, x_{a}_{d }is a vector representing desired roll, pitch, yaw and altitude for the unmanned aerial vehicle based on a desired corresponding trajectory, M_{b }is an inertia matrix associated with the unmanned aerial vehicle, C_{b }is a centrifugal force and coriolis force matrix associated with the unmanned aerial vehicle, D_{b }is a drag force matrix associated with the unmanned aerial vehicle, and G_{b }is a gravitational vector, {dot over (x)}_{a }being a velocity vector such that
where φ represents a roll angle of the unmanned aerial vehicle, θ represents a pitch angle of the unmanned aerial vehicle, ψ represents a yaw angle of the unmanned aerial vehicle, and z represents an altitude of the unmanned aerial vehicle, e_{x}_{a }representing control error, and Λ being a positive definite constant matrix such that y=ė_{x}_{a}+Λe_{x}_{a}, where y is a filtered tracking error, and x is a vector defined as
where T is a period of a periodic orbit of the slung load;
(b) establishing a two level neural network such that f(x)=W^{T}σ(V^{T}x)+ε, where W and V are neural network weights, σ represents the sigmoid function, and ε being a known bound;
(c) calculating a neural network estimate of f(x), {circumflex over (f)}(x), as {circumflex over (f)}(x)=Ŵ^{T}σ({circumflex over (V)}^{T}x), where Ŵ and {circumflex over (V)} are actual values of the neural network weights W and V, respectively, given by a tuning algorithm;
(d) providing a control input τ for the unmanned aerial vehicle as τ=Ŵ^{T}σ({circumflex over (V)}^{T}x)+K_{v}y, where K_{v }is a feedforward gain; and
(e) providing additional antiswing control input to the unmanned aerial vehicle to correct for a slung load as x_{cor}=K_{xc}Lφ_{L}(t−τ_{xc}) and y_{cor}=K_{yc}Lφ_{L}(t−τ_{yc}), wherein x_{cor }and y_{cor }are additional longitudinal and lateral displacements, respectively, K_{xc }and K_{yc }are, respectively, longitudinal and lateral feedback gains, L is a load cable length, φ_{L }is a load angle in an xz plane, t is time, and τ_{xc }and τ_{yc }are, respectively, longitudinal and lateral time delays introduced in the feedback of the load angle.
For the inner loop inner controller 12, a subsystem of the state variables (φ, θ, ψ, p, q, r, z, ż) is considered, where p, q and r are vehicle angular velocities and ż is the time rate of change of altitude. The dynamics of these can be expressed as:
The dynamics of the selected outputs are:
It can be seen that the dynamic of the selected state variables is independent of u_{h}, and this is helpful in computing the second derivative. This is denoted as:
Computing the second derivative of the outputs yields:
The Jacobian matrix is defined as:
Substitution of the Jacobian into equation (20) yields:
{umlaut over (x)}_{a}=J(
Letting φ_{d}, θ_{d}, ψ_{d }and z_{d }be the desired outputs, denoted as x_{a}_{d}, then the error is defined as:
e_{φ}=φ−φ_{d} (23)
e_{θ}=θ−θ_{d} (24)
e_{ψ}=ψ−ψ_{d} (25)
e_{z}=z−z_{d}. (26)
The control inputs can be written as:
where Kp_{i }and Kd_{i }are positive, so that the error dynamics can be written as a stable second order dynamics. The desired values ψ_{d }and z_{d }are selected as per the choice of the specific mission. However, the desired values ψ_{d }and θ_{d }are given to the inner loop inner controller 12 by the outer loop outer controller 14, so that the position x and y are also stabilized.
To estimate the gyroscopic torque term, the propeller speeds must be estimated. These are given by the following relation of the inputs with the propeller speeds:
The propeller speeds are then estimated by inverting the matrix and taking a square root. After this, Ω is estimated as:
Ω=Ω_{1}Ω_{2}+Ω_{3}−Ω_{4}. (29)
This aids in estimating the gyroscopic torque and, thus, the controller stabilizes the quadrotor with these torques acting on it. This may also be written as a set of dynamic equations of selected outputs x_{a}:
M_{x}_{a}{umlaut over (x)}_{a}+C_{x}_{a}{dot over (x)}_{a}+D_{x}_{a}{dot over (x)}_{a}+G=B_{x}_{a}τ_{x}_{a}, (30)
where
Premultiplying both sides of the above by the inverse of the input matrix B_{x}_{a}, the equation now becomes:
M_{b}{umlaut over (x)}_{a}+C_{b}{dot over (x)}_{a}+D_{b}{dot over (x)}_{a}+G_{b}=τ_{x}_{a}, (32)
where M_{b}=B_{x}_{a}M_{x}_{a}, C_{b}=B_{x}_{a}C_{x}_{a}, D_{b}=B_{x}_{a}D_{x}_{a }and G_{b}=B_{x}_{a}G. The filtered tracking error is defined as:
y=ė_{x}_{a}+Λe_{x}_{a}, (33)
where Λ is a positive definite constant matrix. Then, the FLC is given by:
τ_{x}_{a}=K_{v}y+M_{b}({umlaut over (x)}_{a}+Λė_{x}_{a})+C_{b}({dot over (x)}_{a}+Λe_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}, (34)
where K_{v }is a positive diagonal design matrix. As long as the filtered error y is bounded, the error remains bounded.
For the outer loop outer controller 14, the motion of the quadrotor in the horizontal direction is due to the horizontal components of the thrust forces. The roll and pitch angles are important for the horizontal components of the thrust forces and, therefore, to reach a desired position for x and y, desired values of φ_{d }and θ_{d }are to be generated by the outer loop. Further, the inner loop inner controller 12 must be much faster than the outer loop outer controller 14 for the overall control structure to be stable. Considering a subsystem of the states (x, y, {dot over (x)}, {dot over (y)}) and letting φ_{d }and θ_{d }be small angles, then:
where Kd_{0 }and Kp_{0 }are both positive constants and give a stable second order error dynamics for the horizontal displacement. These desired values of φ_{d }and θ_{d }are the desired inputs to the inner controller. Therefore, the inner controller 12 stabilizes the quadrotor at a desired altitude and yaw angle and then the outer loop outer controller 14 stabilizes it to a desired location in the x and y directions.
A twolayered neural network (NN) is used for function approximation. The advantage of this two layered NN is that it does not require any preselection of a basis set. Further, the restriction of linearity in parameters is overcome. The first layer weights allow the NN to train its own basis set for the system nonlinearities. These weights are tuned by different algorithms, but the algorithm used in the present method is back propagation with a modified tuning algorithm. No preliminary offline training is required in this type of NN and, further, the problem of net weight initialization is not a matter of concern in this approach. The initial weight updates are selected as zero. While the weights are trained online in real time, the proportional derivative (PD) tracking loop carries out its tracking, keeping the error small. When the NN gets trained, the tracking error reduces. The modification in the tuning algorithm is done to improve robustness to disturbances and estimation errors.
The architecture of the neural network used in the present method is show in
It is possible to construct the NN with multiple hidden layers, however the computational load increases with the number of hidden layers and the number of neurons. A simple NN with two layers can form the most the complex decisions for classifications. Thus, a two layer NN is sufficient to perform all the estimations in many applications. The use of additional layers will only complicate and increase the computational load, which is undesirable. Thus, a two layer NN is selected to increase the speed of computation.
The unmanned aerial vehicle (UAV) 104 inner loop inner controller 12 can be described by:
M_{b}{umlaut over (x)}_{a}+C_{b}{dot over (x)}_{a}+D_{b}{dot over (x)}_{a}+G_{b}=τ. (36)
The tracking error and the filtered tracking error are defined by e_{x}_{a}=x_{a}_{d}−x_{a}y=ė_{x}_{a}+Λe_{x}_{a}, thus the dynamics, in terms of the filtered error, can be expressed as:
M_{b}{dot over (y)}=−C_{b}y+f(x)−τ, (37)
where the unknown nonlinear UAV dynamics are defined as:
f(x)=M_{b}({umlaut over (x)}_{a}_{d}+Λė_{x}_{a})+C_{b}({dot over (x)}_{a}_{d}+Λe_{x}_{a})+D_{b}{dot over (x)}_{a}+G_{b}. (38)
Here, the vector x can be defined as:
According to the universal approximation property of NNs, there is a two layer NN such that:
f(x)=W^{T}σ(V^{T}x)+ε, (40)
with the approximation error bounded on a compact set by:
∥ε∥<ε_{N}, (41)
with the ε a known bound. W and V are the ideal weights which provide good approximation to f(x) and they are unknown. All that is needed is that they exist and there is also no restriction that they have to be unique. Defining the matrix with the neural network weights as:
then the number of hidden layer neurons is selected by running trials until a good performance is achieved. In a simulation performed, the number of neurons was selected as 10, for example.
It is assumed that on any compact subset of R^{n}, the ideal NN weights are bounded so that:
∥Z∥≦Z_{B}, (43)
where Z_{B }is known. Letting an NN estimate of f(x) be given by
f(x)=Ŵ^{T}σ({circumflex over (V)}^{T}x) (44)
with Ŵ and {circumflex over (V)} being the actual values of the NN weights given by the tuning algorithm, then these are estimates of the ideal weights, and the weight deviation or weight estimation error is defined as:
{tilde over (V)}=V−{circumflex over (V)} (45a)
{tilde over (W)}=W−Ŵ (45b)
{tilde over (Z)}=Z−{circumflex over (Z)}. (45c)
The linearity in parameters restriction is overcome by providing tuning algorithms which appear in a nonlinear fashion. The hidden layer output error for a given x is given by:
{tilde over (σ)}=σ−{circumflex over (σ)}=σ(V^{T}x)−σ({circumflex over (V)}^{T}x). (46)
The Taylor series expansion of σ(x) for a given x can be written as:
σ(V^{T}x)=σ({circumflex over (V)}^{T}x)+σ′({circumflex over (V)}^{T}x){tilde over (V)}^{T}x+0({tilde over (V)}^{T}x)^{2}, (47)
where
{tilde over (σ)}={circumflex over (σ)}′{tilde over (V)}^{T}x+0({tilde over (V)}^{T}x)^{2} (49)
and O(z)^{2 }denotes terms of second order. This equation is very important, since the nonlinear term in {tilde over (V)} is replaced by a linear term and higher order terms. This allows derivation of the tuning algorithm for {tilde over (V)}. The control input is now selected as:
τ=Ŵ^{T}σ({circumflex over (V)}^{T}x)+K_{v}y, (50)
where K_{v }is the feedforward gain, which is selected by the designer. The NN weight tuning algorithms are given by:
{circumflex over ({dot over (W)})}=F{circumflex over (σ)}y^{T }and (51)
{circumflex over ({dot over (V)})}=Gx({circumflex over (σ)}′^{T}Ŵy)^{T}, (52)
where the design parameters F and G are positive definite matrices.
Letting the desired trajectory be bounded by a known bound, and the NN weights also bounded by a known assumption and with the weight tuning algorithms provided above with any constant matrices F=F^{T}>0 and G=G^{T}>0, then the filtered error y(t) and the NN weight estimates {circumflex over (V)} and Ŵ are uniformly ultimately bounded. Moreover, the tracking error can be kept very small by proper selection of K_{v}.
The conversion of the NN estimates to the actual angular velocity of the rotor (i.e., the input) is performed as: a) provide the error and reference trajectory and its derivatives; b) provide the weights V and W in the layers of the NN to form f(x); c) update the weights online to give {circumflex over (f)}(x), where {circumflex over (f)}(x) is the estimate of the dynamics, which is used to obtain the torques τ, which are related to the lifting forces f_{i }of the propellers; and d) the f_{i }values are related to the angular speed.
Timedelayed feedback control, or timedelay autosynchronization, constructs a control value from the difference of the present state of a given system to its delayed value, i.e., s(t)−s(t−τ_{cor}). By proper selection of the time delay τ_{cor}, the control value vanishes if the state to be stabilized converges. Thus, this method is noninvasive. This feedback scheme is easy to implement in an experimental setup and numerical calculation. It is capable of stabilizing fixed points as well as periodic orbits, even if the dynamics are very fast. Also, from a mathematical perspective, it is an appealing instrument, since the corresponding equations fall in the class of delay differential equations.
A very minimal knowledge of the system is required. The only quantity of the system that needs to be known is the period T of the periodic orbit of the slung load, which determines the choice of the time delay. Instead of timedelayed feedback, it is tempting to use proportional feedback, where the control is given by the difference of the current state to the desired state, however this is a complicated process and is numerically exhaustive. Timedelayed feedback has been successfully employed in the context of chaos control, for example.
The timedelayed feedback gives a correction trajectory which adds to the reference trajectory. This correction trajectory is given by the equations:
x_{cor}=K_{xc}Lφ_{L}(t−τ_{xc}) and (53)
y_{cor}=K_{yc}Lθ_{L}(t−τ_{yc}). (54)
These two trajectories act as antitrajectories to the load angles, and these are added to the reference tracking trajectories of the UAV 104. This helps in stabilizing the load angles. The parameters are K_{xc}, K_{yc}, τ_{xc }and τ_{yc}. The feedback gain and the time delay are selected accordingly to stabilize the angles as fast as possible. The optimal values of these can, however, be selected by using optimization algorithms. The values of the gains are selected as K_{xc}=K_{yc}=0.4L, and the time delay is selected as τ_{xc}=τ_{yc}=0.32T_{L}, where T_{L }is given by
and is the period of oscillation of the suspended load.
With regard to fault tolerant control, a case of failure of one rotor is considered. An assumption is made that a Fault Detection and Isolation (FDI) module is present, which detects and isolates the faults whenever they occur. For example, if rotor #2 fails and there is no lifting force provided by it, then the quadrotor is left with only three rotors to provide the thrust and movement. The rotor on the same axis (which is rotor #4) is controlled until the pitch angle becomes zero. This leaves the quadrotor with only two rotors spinning in one direction, thus making the quadrotor rotate about its vertical axis or in the yaw angle. This is acceptable because the other attitude angles and the altitude are stabilized. The outputs will be (x, y, z, φ, θ). The angle ψ is the yaw angle and it is compromised in the control strategy, so it will not be considered as the output. The control method involves a double loop architecture, where the inner loop inner controller 12 is responsible to control the attitude angles φ and θ and the altitude z, and the outer loop outer controller 14 is responsible for providing the inner loop inner controller 12 with the desired angle values φ_{d }and θ_{d}. Three states (φ, θ, z) are selected as outputs, and feedback linearization is used. Below, the convention ο_{f }represents a fault condition. The input vector is:
The above procedure, which was developed for normal operation, is used, except that the angle is not controlled and the input τ_{p }is calculated as:
It should be understood that the calculations and sets of instructions can be performed by any suitable computer system, such as that diagrammatically shown in
The processor 114 can be associated with, or incorporated into, any suitable type of computing device, for example, a personal computer, a programmable logic controller (PLC) or an application specific integrated circuit (ASIC), for example. The display 118, the processor 114, the memory 112 and any associated computer readable recording media are in communication with one another by any suitable type of data bus, as is well known in the art.
Examples of computerreadable recording media include nontransitory storage media, a magnetic recording apparatus, an optical disk, a magnetooptical disk, and/or a semiconductor memory (for example, RAM, ROM, etc.). Examples of magnetic recording apparatus that can be used in addition to the memory 112, or in place of the memory 112, include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape (MT). Examples of the optical disk include a DVD (Digital Versatile Disc), a DVDRAM, a CDROM (Compact DiscRead Only Memory), and a CDR (Recordable)/RW. It should be understood that nontransitory computerreadable storage media include all computerreadable media, with the sole exception being a transitory, propagating signal.
It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims.