1. Field of the Invention
The present invention relates to feedback control systems and methods, and more specifically to a fuzzy logic-based control method for helicopters carrying suspended loads that provides a fuzzy logic-based anti-swing feedback control system capable of stabilizing a helicopter and its suspended load.
2. Description of the Related Art
Helicopters can be used in carrying heavy loads in civil, military, and rescue operations where the use of ground based equipment would be impractical or impossible. An unmanned small-scale helicopter can be used also in landmine detection application. The global landmine problem is indeed significant, with the United Nations estimating that there are more than 100 million mines in the ground and that 50 people are killed each day by mines worldwide. The idea is to suspend the mine detection equipment as a slung load underneath a low-cost model helicopter, which has the considerable advantage over a ground based vehicle that it needs no contact with the ground. Therefore, there is no risk of the mines being detonated in the detection process. In these applications, the external load behaves like a pendulum. If the pendulous motion of the load exceeds certain limits, it may damage the load or threaten the life of the rescued person. Moreover, the external load can change natural frequencies and mode shapes of the low frequency modes of the helicopter. In addition, the aerodynamics of the load may make it unstable in certain flight conditions. These problems slow or even prevent an accurate pickup or placement of the load. Moreover, it adds extra effort on the pilot.
The dynamics of a helicopter with external suspended loads received considerable attention in the late 1960's and early 1970's. Two reasons for this interest were the extensive external load operations in the Vietnam War, and the Heavy Lift Helicopter program (HLH). This interest has been renewed recently with the advances in modern control technologies. A lot of efforts were made for modeling the slung load and studying its effect on helicopter dynamics, however there are relatively few works that discussed control of a helicopter sling. Examples of automatic control for helicopters with slung loads include a single-cable 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 Newton-Euler 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.
Other methods involved the computerized simulation of a helicopter and external load in real time with a pilot in the loop. Load aerodynamics was incorporated into the model, as well as rotor-downwash effects in hover.
Moreover, other developed control requirements for sling-load stabilization involved linearized equations of motion of the helicopter, winch, cable, and load for variable suspension geometry and were then used in conjunction with modern control theory resulting in a design of several control systems for each type of suspension.
Other researchers examined the feasibility of stabilizing external loads by means of controllable fins attached to the cargo. A major disadvantage was that in such a system, a simple linear model representing the yawing and the pendulous oscillations of the slung-load system assumes that the helicopter motion is unaffected by the load. Additionally, the use of active aerodynamic Load Stabilization Systems for a helicopter sling-load system has been investigated.
All the above studies are based on the classical control techniques. What is needed is a new anti-swing controller for a helicopter slung load system near hover flight. Such a controller should be based on feedback of the load swing angles. The output from such a controller would be additional displacements that are added to the helicopter trajectory in the longitudinal and lateral directions. Hence, its implementation would be simple and need small modification to the software of a helicopter position controller. It would be desirable to utilize fuzzy logic in an evolutionary computation optimized controller.
Particle swarm optimization (PSO) is a population based stochastic optimization technique, which is inspired by social behavior of bird flocking, or fish schooling. PSO shares many similarities with evolutionary computation techniques such as Genetic Algorithms (GA. The system is initialized with a population of random solutions and searches for optima by updating generations. However, unlike GA, FL has no evolution operators such as crossover and mutation. In PSO, the potential solutions, called particles, fly through the problem space by following the current optimum particles. Compared to GA, the advantages of PSO are that PSO is easy to implement and there are few parameters to adjust.
Moreover, PSO like all evolutionary algorithms optimizes a performance index based on input/output relationships only; therefore, minimal knowledge of the plant under investigation is required. In addition, because derivative information is not needed in the execution of the algorithm, many pitfalls that gradient search methods suffer from can be overcome. Given optimal control parameters fuzzy logic membership functions based on load swing angles can be developed and rules can be designed to operate on the fuzzy sets to provide the required feedback control operations.
Thus, a fuzzy logic-based control method for helicopters carrying suspended loads solving the aforementioned problems is desired.
The fuzzy logic-based control method for helicopters carrying suspended loads utilizes a controller based on fuzzy logic membership distributions of sets of load swing angles. The anti-swing controller is fuzzy-based and has controller outputs that include additional displacements added to the helicopter trajectory in the longitudinal and lateral directions. This simple implementation requires only a small modification to the software of the helicopter position controller. Moreover, the implementation of this controller does not need rates of the swing angles. The membership functions govern control parameters that are optimized using a particle swarm algorithm. The rules of the anti-swing controller are derived to mimic the performance of a time-delayed feedback controller. A tracking controller stabilizes the helicopter and tracks the trajectory generated by the anti-swing controller. Simulation results show the effectiveness of the control system in suppressing the swing of the slung load while stabilizing the helicopter.
These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.
Similar reference characters denote corresponding features consistently throughout the attached drawings.
As shown in
Nomenclature
The helicopter is modeled as a rigid body with six degrees of freedom. The twelve helicopter states include translational velocities (u,v,w), angular velocities (p,q,r), Euler angles (Φ,θ,φ) and helicopter position (x,y,z).
The external load is modeled as a point mass that behaves like a spherical pendulum suspended from a single point. The cable is assumed to be inelastic and with no mass. The geometry and the relevant coordinate systems are shown in
RL=L cos(θL)sin(ΦL)iH+L sin(θL)jH+L cos(θL)cos(ΦL)kH (1)
The position vector RH of the hook with respect to the helicopter center of gravity (c. g.) is given by:
RH=xHiH+yHjH+zHkH (2)
The absolute velocity VL of the load is given by:
VL=Vcg+{dot over (R)}+Ω×R (3)
where Vcg is the absolute velocity of the center of mass of the helicopter, R=RL+RH is the position vector of the load with respect to the center of mass of the helicopter, and Q=piH+qjH+rkH is the angular velocity of the helicopter. The absolute acceleration aL, of the load is:
aL={dot over (V)}L+Ω×VL (4)
The unit vector in the direction of the gravity force is given by:
Kg=−sin(θ)iH+sin(Φ)cos(θ)jH+cos(φ)cos(θ)kH (5)
Beside the gravity, there is an aerodynamic force applied on the point mass load. Since the analysis in this work will be restricted to the helicopter 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:
RL×(−mLaL+mLgkg)=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 helicopter, namely load forces 330 and load dynamics 340, as shown in
FHL=−mLaL+mLgkg (7)
The additional moment MHL is therefore given by:
MHL=RH×FHL (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 helicopter and the load must be determined.
The obtained equations are nonlinear and complicated. For the design purpose, these equations are linearized about the hovering conditions. Near hover, the forward speed is nearly zero (i.e. uo=O). Assuming that the helicopter roll angle is also zero even with the effect of the load on the helicopter (i.e. Φo=0) simplifies the analysis. At this condition, the load trim equations give the following trim values.
θLo=0,ΦLo=−θ0 (9)
Imposing above results to the linearized load equations obtains the following equations of motion for the load,
gθL−g cos(θo)φ+yh{dot over (q)}+{dot over (V)}+L{umlaut over (θ)}L=0 (10)
L{umlaut over (Φ)}L+gΦL+gθ+(xh−L sin(θo))cos(θo){dot over (p)}+zh 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 helicopter are;
Fx=mL(−g cos [θo]θ−xh{dot over (p)}+L sin [θo]{dot over (p)}−{dot over (U)}[t]−L cos [θo]{umlaut over (Φ)}L)
Fy=mL(g cos [θo]Φ−yh{dot over (q)}−{dot over (V)}−L{umlaut over (θ)}L)
Fz=mL(−g sin [θo]θ−(zh+L cos [θo]){dot over (r)}−{dot over (W)}−L sin [θo]{umlaut over (Φ)}L) (12)
The moments in the x-y-z directions are;
These equations are linear and can be formulated in a state space form. If the load state vector is defined as xL=[{dot over (Φ)}L{dot over (θ)}LΦLθL]T, the load equations in state space can be written as:
EL{dot over (x)}=ALx (14)
where x is the state vector for the load and the helicopter (i.e., x=[xH xL]).
Similarly, the effect of the load on the helicopter force terms can be written also as:
The linearized equations of motion of the helicopter and the load can be written in the following state space forms;
Referring to the control system diagram 300 of
To design the tracking controller, it is assumed that the reference trajectory for the helicopter states is xref then the error signal is e=xHref−xH. Using state feedback technique, the helicopter control input can be written as;
η=K(xHref−xH) (17)
The feedback gain matrix K is chosen such that the error history is minimum. The feedback gain (K) can be determined using the linear quadratic regulator technique (LQR), which depends on minimizing a quadratic function that can be written as;
Since, the goal is to minimize the error signal, Q is chosen with high gains compared to R. After determining K, the helicopter state space model can be rewritten as,
{dot over (x)}H=(AH−BHK)xH+BHKxHref=AcxH+BcxHref (19)
The above equation indicates that the reference states become the new inputs for the helicopter.
In the second stage, the anti-swing controller is designed. After modifying the helicopter dynamics by incorporating the stability and tracking controller, the effect of the load swing forces are added to the helicopter state space model. Before this step, Equation (19) needs to be expressed in terms of the total state vector, which includes the helicopter and the load states. In this case, the helicopter dynamics can be written as:
The slung load effect modifies the forces and moments equations in the helicopter equations of motion. Recalling Equation (15), the forces and moments from the slung load can be written as,
Adding these forces to the helicopter dynamics, the new model can be written as:
The load dynamics can be written as:
EL{dot over (x)}=ALx (23)
By adding the previous two equations together, the final state space model for the combined systems (Helicopter and the slung load) is obtained,
(I−E2+EL){dot over (x)}=(A2+AL)x+B2xref
{dot over (x)}=(I−E2+EL)−(A2+AL)x+(I−E2+EL)−2B2xref
{dot over (x)}=Afx+Bfxref (24)
The time-delayed feedback of the load swing angles can be used to provide a delayed anti-swing controller (DASC). The anti-swing controller for load swing in the longitudinal direction can be expressed as follows:
xs=kdLΦL(t−τ) (25)
where xs is the traveling distance of the helicopter measured from the hovering position. kd is the feedback constant and τ is the time delay. A fuzzy version of the aforementioned DASC is developed. To get an estimate of the fuzzy rules for the anti-swing controller, a relationship between the fuzzy inputs and the output is discovered. In the instant case, the inputs are the swing angle and the swing angle rate while the output is the traveling distance of the helicopter center of gravity (CG) in the longitudinal or lateral directions. Based on the concept of time-delayed feedback where the traveling distance is proportional to the time-delayed feedback of the load swing angles, we can express the swing angle rate as:
Rearranging the above equation, by expressing the delayed swing angle by the angle itself and the angle derivative, produces the relation;
Equation (27) means that the time-delayed swing angle is generally the difference between the swing angle and its derivative. Since, the fuzzy output is proportional to the time-delayed feedback of the swing angle, which means that it is also proportional to the difference between the swing angle and its rate. Based on this observation, the fuzzy rules can be constructed.
The assumption is made that there are five membership functions (MF5) for all the fuzzy inputs and outputs namely (NB, NS, ZO, PS, and PB) as shown in diagram 400 of
Since the ranges of the membership functions are normalized, scaling factors are used to transform these normalized ranges to the physical operating ranges. If we assume that the maximum allowed swing angle, swing angle rate and travel distance of the helicopter center of gravity due to swing are ΦL
The anti-swing controller for the lateral direction is similar as the one developed for controlling the longitudinal direction.
PS0 simulates the behaviors of bird flocking. Suppose the following scenario: a group of birds are randomly searching food in an area. There is only one piece of food in the area being searched. All the birds do not know where the food is. But they know how far the food is in each iteration. So what's the best strategy to find the food? The effective one is to follow the bird that is nearest to the food.
PSO learns from the scenario and uses it to solve the optimization problems. In PSO, each single solution is a bird, i.e., particle in the search space. All of particles have fitness values, which are evaluated by the fitness function to be optimized, and have velocities, which direct the flying of the particles. The particles fly through the problem space by following the current optimum particles.
PSO is initialized with a group of random particles (solutions) and then searches for optima by updating generations. In every iteration, each particle is updated by following two best values. The best values represent the lowest values for the objective function since our problem is a minimization problem. For each particle, Pbest is the best solution (fitness) achieved so far during the iteration. Another best value that is tracked by the particle swarm optimizer is the best value obtained so far by any particle in the population, which is, by definition, a global best, i.e., Gbest. After finding these two best values, the particle updates its velocity and positions with the following two equations as:
νi(k+1)=νi(k)+γ1(Pbest−xpi(k))+γ2(Gbest−xpi(k)) (29)
xpi(k+1)=xpi(k)+νi(k+1) (30)
where ν is the particle velocity and xp is the current particle position (solution). The pseudo code of the procedure is as follows:
The exemplary Chinook helicopter was chosen since the aerodynamics derivatives near hover is available in the literature. Without loss of generality, the following data for numerical simulation is assumed.
Tracking controller equation:
K=103I,Q=I (31)
Load equation:
L=15 ft,xh=yh=zh=0,mr=0.5 (32)
The scaling factors can be estimated based on the following maximum values for the swing angles, and the allowed traveling distance of the helicopter CG in the longitudinal direction.
ΦL
The parameters of the anti-swing controller for the lateral direction have the same values as the longitudinal controller. It is assumed that all the membership functions are equally distributed (i.e. a1=a2=O.5).
Plot 500 of
Before optimizing the MF distribution of the proposed FASC, the potential of using the classical Proportional-Derivative fuzzy controller (PDFC) as an anti-swing controller is checked. The rules of PDFC can be generated by the same technique used for generating the rules for FASC except that the control action of PDFC will be proportional to the summation of swing angle and the swing angle rate to mimic the behavior of the classical PD controller. Therefore, the rules of PDFC are shown in Tabular diagram 2100 of
With the same scaling factors and the initial condition of the swing angle rates, PSO is implemented to optimally tune the distribution of the two fuzzy controllers. There are six parameters that should be determined by P50 to minimize the performance index ISH. Each one of these parameters determines the distribution of the membership functions (MFs) for each fuzzy variable as shown in Membership Function plot 400 of
The optimization of MFs parameters was done for the worst scenario in which the load wing angles were set to 25 degrees. The simulation ran for 100 sec and the performance index was evaluated for each particle using ODE5 solver with 0.01 seconds for the sampling period.
The parameters of the PSO algorithm used in obtaining the optimized Membership Function distributions are,
N=30,Vmax=2,γ1=γ2=1 (34)
All the particles in the initial population are generated randomly, except only one particle that is filled with 0.5 for all the parameters. This value corresponds to the fuzzy controller designed in the previous section where all Membership Functions are uniformly distributed across the normalized range.
Since the optimization algorithm has stochastic behavior, multiple runs are performed to ensure obtaining the same optimum values.
For the optimization of PDFC, the code is executed five times. In these multiple runs, the number of particles is chosen to be 10. The evolution of PSO is shown in plot 1100 of
The same procedure used in optimizing PDFC is also implemented to optimize the proposed anti-swing fuzzy controller (FASC). The same parameters of PSO codes are used with γ1=γ2=2. The number of particles is also 10 for all the runs except the first run where 20 particles are used to check the effect of increasing the size of population on the performance of PSO. Increases in the number of particles cause increases in the number of simulations, which consumes a lot of computational time. The evolutions of the four runs are shown in plot 1400 of
Comparing the optimum objective function that results from the two fuzzy controllers, it is observed that the FASC has the lowest value. Therefore, it is concluded that the anti-swing fuzzy controller has better performance than a classical PD-fuzzy controller. Moreover, it was shown that FASC has better performance compared to the performance of PDFC. The FASC rules are generated based on the time-delayed feedback anti-swing controller (DASC). So, what are the advantages of using FASC compared with DASC?. Tabular diagram 1900 of
Tabular diagram 2000 of
The rules for the fuzzy-based anti-swing controller are derived to mimic the behavior of a time-delayed anti-swing controller. With using a simple distribution of the membership functions (MFS), FASC gives good performance in terms of the damping in the load swing and the deviation of the helicopter from its nominal position. Moreover, this performance was improved by optimally tuning MFS using PSO.
The performance of the proposed FASC is compared with the classical PD-Fuzzy controller (PDFC). From this comparison, it is found that FASC has better performance than PDFC. With another comparison with DASC, it was found that FASC even without optimization has good performance compared with DASC. But, the optimized FASC show better performance than DASC.
The PSO algorithm was used to optimally tune the parameters of the anti-swing controller. This algorithm was quite simple and easy for implementation. Multiple runs were conducted to get the optimal parameters and all of these runs converge to the same value. This gives an indication of the robustness of this algorithm.
The anti-swing controllers and the procedure for designing them for the helicopter near hover can be generalized and applied to the other types of cranes, e.g., gantry and tower cranes. Moreover, it is contemplated that the controller may work with the helicopter carrying a slung load during forward motion where the aerodynamic forces should be included in the modeling of the load swing. But due to the complexity of this system, more investigations are required. Also, experimental validation of these controllers is required. This will be the subject of future research.
It will be understood that the diagrams in the Figures depicting the control optimization technique are exemplary only, and may be embodied in a dedicated electronic device having a microprocessor, microcontroller, digital signal processor, application specific integrated circuit, field programmable gate array, any combination of the aforementioned devices, or other device that combines the functionality of the control optimization technique onto a single chip or multiple chips programmed to carry out the method steps described herein, or may be embodied in a general purpose computer having the appropriate peripherals attached thereto and software stored on a computer readable media that can be loaded into main memory and executed by a processing unit to carry out the functionality of the apparatus and steps of the method described herein.
It is to be understood that the present invention is not limited to the embodiment described above, but encompasses any and all embodiments within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
6189836 | Gold et al. | Feb 2001 | B1 |
6532454 | Werbos | Mar 2003 | B1 |
8104720 | Hirvonen et al. | Jan 2012 | B2 |
Number | Date | Country | |
---|---|---|---|
20120046810 A1 | Feb 2012 | US |