# Patent

## Title
Adaptive output feedback apparatuses and methods capable of controlling a non-minimum phase system

## Abstract

The invention comprises apparatuses and methods for providing the capability to stabilize and control a non-minimum phase, nonlinear plant with unmodeled dynamics and/or parametric uncertainty through the use of adaptive output feedback. A disclosed apparatus can comprise a reference model unit for generating a reference model output signal ym. The apparatus can comprise a combining unit that combines and differences a plant output signal y of a non-minimum phase plant for which not all of the states can be sensed, and a plant output signal y, to generate an output error signal {tilde over (y)}. The apparatus can further comprise an adaptive control unit for generating an adaptive control signal uad used to control the plant.

## Background
This patent application is a U.S. nonprovisional application filed pursuant to Title 35, United States Code §§100 et seq. and 37 C.F.R. Section 1.53(b) claiming priority under Title 35, United States Code §119(e) to U.S. provisional application No. 60/431,957 filed Dec. 9, 2002 naming Naira Hovakimyan, J. Anthony Calise, and Bong-Jun Yang as inventors. Both the subject application and its provisional application have been or are under obligation to be assigned to the same entity.


STATEMENT OF U.S. GOVERNMENT RIGHTS IN THE INVENTION
This invention was developed under Air Force Office of Scientific Research (AFOSR) Contract No. F4960-01-1-0024. The U.S. Government has certain rights in the invention.


TECHNICAL FIELD
This invention relates generally to adaptive control systems using output feedback to perform control of uncertain nonlinear plants such as an aircraft, spacecraft, missile, munition, satellite, robot, ground vehicle, underwater vehicle, surface ship, chemical process, industrial process, weather system, economic system, etc., and any subsystem thereof.
BACKGROUND ART
One of the most important problems in control is that of controlling an uncertain system in order to have its output track a given reference signal. Previously developed control system design methods that apply to this class of uncertain systems include (1) designs based on the theory of differential games and L2-gain analysis; (2) geometric methods; (3) methods for adaptive design of observers and output feedback controllers; (4) methods for employing high gain observers; (5) backstepping algorithms; (6) input-to-state stability method; (7) methods for decentralized stabilization of interconnected systems, among others.
It is of interest to apply a systematic design approach for controlling system outputs in the presence of structured uncertainties, such as unmodeled dynamics and disturbances. While for linear systems stabilization and tracking can always be achieved by output feedback using standard design methods such as pole placement, separation principle, or linear quadratic regulation (LQR), for nonlinear systems the task is often difficult. Most of the nonlinear control methods, robust or adaptive, impose the assumption on asymptotic stability of the zero dynamics and thus are limited to minimum phase systems. It would be desirable to provide apparatuses and methods for adaptive output feedback control of non-minimum phase uncertain nonlinear systems
DISCLOSURE OF THE INVENTION
This invention overcomes the limitations of previous apparatuses and methods in that it provides the capability to stabilize and control a non-minimum phase, nonlinear plant with unmodeled dynamics and/or parametric uncertainty through the use of adaptive output feedback.
In accordance with one embodiment of the invention, an apparatus comprises a reference model unit and an adaptive control unit for augmenting a nominal controller for controlling a plant. The reference model unit can comprises a reference controller that is identical to the nominal controller, and is used to control a plant model upon which the control laws of the nominal controller and reference controller are based. The reference model unit can difference the reference model output signal ym and a commanded output signal yc to generate reference controller input signal yc−ym provided to the reference controller. Based on this signal, the reference controller generates a reference controller generates a reference controller signal uec(ym) and reference controller state signal xcm. The nominal controller is coupled to a combining node that receives the commanded output signal yc and the plant output signal y, and generates a reference controller input signal yc−ym based thereon. The reference controller generates the nominal controller signal uec(y) and the reference controller state signal xcm based on the reference controller input signal yc−ym.
The apparatus can comprise a combining unit coupled to receive and difference the plant output signal y and the reference model output signal ym to generate an output error signal {tilde over (y)}. The output error signal {tilde over (y)} does not explicitly contain all of the plant states, but is a function thereof. The adaptive control unit is coupled to receive the output error signal {tilde over (y)}. More specifically, the adaptive control unit can comprise an error observer that receives the output error signal {tilde over (y)}. The adaptive control unit can comprise a combining unit that receives the nominal controller state signal xc and the reference controller state signal xcm, and generates a controller state error signal xcm−xc based thereon. This combining unit provides the controller state error signal xcm−xc to the error observer. Based on the output error signal {tilde over (y)} and the controller state error signal xcm−xc, the error observer generates the observed error signal Ê. The adaptive control unit can comprise a neural network coupled to receive the observed error signal Ê for use in updating its connection weights. As inputs the neural network can be coupled to receive the plant output signal y and the plant control signal u. The adaptive control unit can comprise a time delay unit coupled to receive and delay the plant output signal y and the plant control signal u to generate the delayed plant output signal yd and the delayed plant control signal ud, respectively, which can also be provided to the neural network as inputs. The neural network can be one of a variety of forms, including a single hidden layer network. Based on the plant output signal y, the plant control signal u, and optionally also the delayed plant output signal yd and the delayed plant control signal ud, as well as the observed error signal Ê used to update connection weights M,N, the neural network generates the neural network control signal uNN for use canceling the effect of differences between the plant model and the actual plant in control of the plant. The neural network control signal uNN can be output from the adaptive control unit as an adaptive control signal uad. Alternatively, the adaptive control unit can further comprise an auxiliary controller coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc. The auxiliary controller can be linear. Based on its received signals, the auxiliary controller generates an auxiliary controller signal udc. The adaptive control unit can comprise a combining unit coupled to receive and combine the auxiliary controller signal udc and the neural network control signal uNN to generate the adaptive control signal uad. The output of the auxiliary controller can also be provided to the error observer for use in generating the observed error signal Ê. The apparatus can further comprise a combining unit coupled to receive and difference the nominal controller signal uec(ym) and the adaptive control signal uad, to generate the plant control signal u. This combining unit can be coupled to provide the plant control signal u to the plant for use in its control.
In one embodiment, a method of the invention can comprise steps mirroring the functions performed by one or more of the nominal controller, reference control unit, the adaptive control unit, the combining units, and optionally other elements herein described. Other apparatuses and methods are herein disclosed.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention is better understood by reading the following detailed description of an exemplary embodiment in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram of a system in accordance with the invention, including a nominal controller, reference model unit, an adaptive output unit, and combining units, providing the capability to stabilize and control a non-minimum phase, nonlinear plant with unmodeled dynamics and/or parametric uncertainty through the use of adaptive output feedback.
FIG. 2 is a relative detailed block diagram of the plant of FIG. 1 receiving a plant control signal u and generating a plant output signal y based thereon;
FIG. 3 is a relatively detailed view of a command generating unit for use in generating a commanded output signal yc based on a plant output signal y;
FIG. 4 is a block diagram of an embodiment of the system in accordance with the invention implemented by execution of a control program by a processor;
FIG. 5 is a relatively detailed diagram of the neural network and time delay unit in accordance with the invention;
FIGS. 6 and 7 are flowcharts of an exemplary method of the invention and processing performed by the system of the invention.



BEST MODE FOR CARRYING OUT THE INVENTION
As used herein, the following terms have the following definitions:
“Actuator” can be virtually any device capable of affecting the state of a plant to control one or more degrees of freedom thereof. Such actuator can be a motor, motor-driven screw, a hydraulic cylinder, a pump or valve controlling a stream of air, a thermal heater, a compressor or suction generator, or other device.
“Adaptive control system” means a control system having the capability to adapt to changes in a controlled plant or its environment over time.
“And/or” means either one or both of the elements before and after this term. Hence, “A and/or B” means “A” or “B” or “A and B”.
“Coupled” means connected to receive a signal whether in analog and/or digital form, either directly from an element or indirectly passed through two or more elements. Furthermore, the term “coupled” can refer to passing of signals or data values between different segments or objects of code implemented in a processor-based system.
“Operator” can be a human or computer, that receives and input and generates and output based on the current and past history of the input, for example, senses a plant output using a plant output signal, and generates a commanded state signal to control the plant.
“Memory” can be a random-access memory (RAM), read-only memory (ROM), erasable read-only programmable memory (EPROM), or other memory device capable of storing a control program and data executable by a processor.
“Plant” refers to a system controlled by a control system. For example, the plant can be an aircraft, spacecraft, space-launch vehicle, satellite, missile, guided munition, automobile, or other vehicle. The plant can also be a robot, or a pointing or orientation system such as a satellite orientation system to orient power-generation panels, a transceiver, or a docking mechanism. Such plant can also be a braking system, an engine, a transmission, or an active suspension, or other vehicle subsystem. The plant can be a manufacturing facility or a power generation facility. In general, the plant could be virtually any controllable system.
“Processor” can be a microprocessor such as a Xeon® or Pentium® brand microprocessor produced by Intel® Corporation, an Athlon® brand microprocessor commercially available from AMD® Corporation, Sunnyvale, Calif., which can operate at one (1) megahertz or more, a microcontroller, a field programmable gate array (“FPGA”), a programmable logic array (“PLA”), a programmed array logic (“PAL”), or other type of data processing or computing device.
“Relative degree” applies to a regulated variable (such as plant output signal y) and corresponds to the number of times the variable must be differentiated with respect to time before an explicit dependence on the control variable (such as the command control signal δc) is revealed.
“Sensor” can be virtually any device(s) for sensing a degree of freedom of a plant's state, whether alone or in combination with one or more other sensors. The sensor can be virtually any device suitable for sensing information regarding a plant's state. For example, the sensor could be a gyroscope for detecting orientation of a vehicle such as an aircraft, i.e., pitch or roll attitudes or side slip. The sensor can also be a temperature or pressure sensor, a position, velocity, or inertial sensor.
“(s)” means one or more of the thing meant by the word preceding “(s)”. Thus, basis function(s) means one or more basis functions.
“State” refers to a property of a plant to be controlled which is sufficient to completely define the condition of the plant at any time′ instant. For example, elements of the state can be a position, velocity, acceleration, mass, energy, temperature, pressure, volume, etc. of an object associated with a plant that is to be controlled.
“State feedback” pertains to a situation in which the entire state of the plant can be sensed and used to control the plant through feedback.
“Variable” refers to any signal that can be changed independently of the plant states, such as the control variable, or that dependent upon time either directly, or indirectly because it depends upon plant states that are time varying, such as the output variable.
The following detailed description of the present invention is provided as an enabling teaching of the invention in its best, currently known embodiment. Those skilled in the relevant art will recognize that many changes can be made to the embodiment described, while still obtaining the beneficial results of the present invention. It will also be apparent that some of the desired benefits of the present invention can be obtained by selecting some of the features of the present invention without using other features. Accordingly, those who work in the art will recognize that many modifications and adaptations to the present invention are possible and may even be desirable in certain circumstances, and are a part of the present invention. Thus, the following description is provided as illustrative of the principles of the present invention and not in limitation thereof, since the scope of the present invention is defined by the claims.
Field 1 is block diagram of a system 1 in accordance with the invention. System 1 comprises a nominal controller 2, a reference model unit 3, and an adaptive control unit 4. The system 1 can be a non-minimum phase system, although the invention can as well be applied to minimum phase systems. The system 1 can include combining units 5, 6, 7. In addition, the system 1 can comprise a command generating unit 8.
Central to the system 1 is a plant 9, which can be an aircraft, spacecraft, missile, munition, satellite, robot, ground vehicle, underwater vehicle, surface ship, chemical process, industrial process, weather system, economic system, etc., and any subsystem of such plants. For example, if the plant is an aircraft, then the subsystem can be a thrust vector system, engine, helicopter rotor control system, etc. Of particular interest are plants 9 which include uncertain parameters in their dynamics and/or unmodeled, non-linear dynamics. As will become subsequently more clear, the system 1 is particularly effective in stably controlling such classes of plants.
The reference model unit 3 comprises a reference controller 30 and a plant model 31. The reference controller 30 can be, and preferably is, identical to the nominal controller 2. Thus, both the nominal controller 2 and the reference controller 30 implement the same control laws based on the plant model 31. Plant model 31 is an approximate dynamic model of the plant 9. The nominal controller 2 is the stabilizing controller for the plant model 31. The combining unit 5 is coupled to receive the plant output signal y and the commanded output signal yc to produce the commanded output error signal yc−y. The nominal controller 2 is coupled to receive the output error signal yc−y and uses such signal to generate a nominal controller signal uec(y) and a nominal controller state signal xc. Nominal controller 2 is implemented as a stabilizing controller such as can be defined by equation (3) hereinafter. However, it should be understood that other stabilizing control designs well-known to those of ordinary skill in the art could be substituted for that equation (3). The combination unit 6 is coupled to receive the nominal controller signal uec(y). In addition, the combination unit 6 is coupled to receive the adaptive controller signal uad from the adaptive control unit 4. The combination unit 6 generates the plant control signal u based on the nominal controller signal uec(y) and the adaptive control signal uad. More specifically, the combination unit 6 can difference the nominal controller signal uec(y) and the adaptive control signal uad to produce the plant control signal u. The plant 9 is coupled to receive the plant control signal u which controls the plant so that the plant output signal y tracks the commanded output signal yc. The commanded output signal yc can be generated by a command generating unit 8 including a human or computer operator, based on the plant output signal y.
Returning to consideration of the reference model unit 3, the combination unit 32 is coupled to receive the commanded output signal yc. In addition, the combination unit 32 is coupled to receive the plant model output signal ym. The combination unit 32 combines, or more specifically differences, the commanded output signal yc and the plant model output signal ym, to generate the reference controller input signal yc−ym. The reference controller 30 is coupled to receive the reference controller input signal yc−ym and generates the reference controller signal uec(ym) and the first controller state signal xcm based on the reference controller input signal yc−ym. The plant model 31 is coupled to receive the nominal controller signal uec(ym) and generates the reference model output signal ym based thereon. The combination unit 7 is coupled to receive the plant output signal y and the reference model output signal ym, and generates the output error signal {tilde over (y)} based on the signals. The plant output error signal {tilde over (y)} is a function of all states of the plant 9, although not all such states can be derived from such signal.
The adaptive control unit 4 comprises an error observer 40 and a neural network 41. In addition, the adaptive control unit 4 can comprise a combination unit 42, a time-delay unit 43, an auxiliary controller 44, and a combination unit 45. The error observer 40 is coupled to receive the plant output signal {tilde over (y)}. The combination unit 42 is coupled to receive the nominal controller state signal xc and the reference controller state signal xcm. The combination unit 42 generates controller state error signal xcm−xc based on the nominal controller state signal xc and the reference controller state signal xcm. The error observer 40 is coupled to receive the controller state error signal xcm−xc. The error observer 40 generates the observed error signal Ê based on the plant output error signal {tilde over (y)} and the controllers state error signal xcm−xc. The error observer 40 effectively estimates the unavailable error states of the plant 9 so that such errors are taken into account in generating the adaptive control signal uad. Recall that the plant output error signal {tilde over (y)} is a function of all states of the plant 9, although not all such states can be determined from such signal. Therefore, the error observer 40 generates the observed error signal Ê to include estimates of the error(s) in the unavailable state(s) of the plant 9, in addition to error(s) for those state(s) that are available from the plant output error signal {tilde over (y)}. Neural network 41 is coupled to receive the plant control signal u and the plant output signal y. It can be coupled to receive such plant control signal u and the plant output signal y from the combining unit 6 and plant 9, respectively. Alternatively, if the time delay unit 43 is used, the neural network 41 can be coupled to receive the plant control signal u and the plant output signal y from the time delay unit 43, which is coupled to receive such signals from the combining unit 6 and plant 9, respectively. In addition, the neural network 41 can receive as inputs a delayed plant control signal ud and a delayed plant output signal yd. More specifically, the time delay unit 43 can be coupled to receive the plant control signal u and the plant output signal y and can generate the delayed plant control signal ud and the delayed plant output signal yd. The time delay unit 43 is coupled to provide the delayed plant control signal ud and the delayed plant output signal yd as inputs to the neural network 41. By way of example and not limitation, the neural network 41 can implemented as a three layer network, with an input layer, hidden layer, and output layer of neurons. Thus, the neural network 41 receives at its input layer the plant control signal u and the plant output signal y, and optionally also the delayed plant control signal ud and the delayed plant output signal yd. The neural network 41 is also coupled to receive the observed error signal Ê which adjusts the connection weights M,N associated with the functions σ(·) of the neural network neurons. The neural network's input signals u, y, ud, yd excite the neurons of the neural network 41, and their output signals are weighted with connection weights M, N between the neurons to generate the neural network output signal uNN. The neural network output signal uNN can be output from the adaptive control unit 4 as the adaptive control signal uad. In this case, the combining unit 45 is not required in the adaptive control unit 4, as the output of the neural network 41 can be coupled directly to the combining unit 45. The weight update law of the neural network 41 that is adapted by the observed error signal Ê is designed to ensure that all signals within the neural network 41 remain bounded. For example, a Lyupanov stability analysis can be used to derive a bounded weight update law. This output feedback design of the neural network 41 provides for generation of the neural network output signal uNN so that parametric uncertainty and/or unmodeled dynamics of the plant 9 relative to the plant model 31 can be compensated in the plant control signal u used to control the plant 9.
Optionally, an auxiliary controller 44 can be used to enhance nominal controller 2 to achieve improved tracking performance with relatively small ultimate bounds. For non-minimum phase systems, this is difficult to accomplish even for linear systems. To reduce ultimate bounds to improve tracking performance between the commanded output signal yc and the plant output signal y, the nominal controller 2 can be augmented by the auxiliary controller 44. For example, auxiliary controller 44 can be a linear controller. Auxiliary controller 44 is coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc and uses these signals to generate the auxiliary controller signal udc. The combination unit 45 is coupled to receive the auxiliary control signal udc and the neural network output signal uNN, and combines these signals to generate the adaptive control signal uad. The error observer 40 is coupled to receive the auxiliary controller signal udc. The error observer 40 uses the auxiliary controller signal udc to generate the observed error signal Ê.
FIG. 2 is a more detailed diagram of the plant 9 indicating various elements that can be included therein. More specifically, the plant 9 comprises of a control system 90, actuator(s) 91 for a controlling state(s) of the controlled system 90, and sensor(s) 92 which sense the output(s) which are a function of all states of the plant, including state(s) which cannot be sensed and are therefore unavailable. Based on the sensed output(s) of the controlled system 90, the sensor(s) 92 generate the plant output signal y. The actuator(s) 91 physically controls the control system 90 based on the plant control signal u, and thus can be coupled to the combining unit 6 to receive such signal. As an optional element, the plant 9 can comprise the plant interface unit 93. The plant interface unit 93 can be used to perform control allocation to generate actuator signal(s) δ to physically control the plant 9. For example, if the plant 9 is an aircraft, the plant control signal u can specify a target roll angle θ. The plant interface unit 93 can receive the plant control signal u indicating the target roll angle θ, and generate the actuator control signal(s) δ to the actuator(s) 91, which can be control surfaces of the aircraft, to obtain the target roll angle θ for the control system 90, in this case the remaining portion of the aircraft not including the units 91, 92, 93.
Thus, the plant control signal u can be used to directly control the actuator(s) 91, and/or can be allocated through the plant interface unit 93. FIG. 3 is a relatively detailed diagram of the command generating unit 8. The command generating unit 8 comprises an operator 80, and optionally also an operator unit interface unit 81, and a command filter unit 82. The operator 80 can be a human or computer for generating a commanded output signal yc based on the plant output signal y. The operator interface unit 81 can be a network interface card or user interface of a computer, providing a display or signal comprehensible to the operator 80 which indicates the plants output(s). The operator 80 can be coupled or can interface with the command filter unit 82 which imparts desirable characteristics such as position, rate, and bandwidth limits on the control signal generated by the operator 80, to produce the commanded output signal yc.
It should be understood by those who are skilled in the art that the block diagram at FIG. 1 can be implemented in analog, digital, or a hybrid form. Thus, the nominal controller 2, reference model unit 3, the adaptive control unit 4, combining units 5, 6, 7, 32, 42, 45, and the command generating unit 8, can be implemented wholly or partially as electronic and/or optical components, for example.
FIG. 4 indicates an implementation of the system 1 in accordance with one embodiment of the invention, in which a processor executes one or more of the elements of FIG. 1 as a control program. The system 1 of FIG. 4 comprises a processor 100 and memory 101 coupled via the bus 102. The system 1 can comprise the command generating unit 8 and the plant 9. The memory 101 stores a control program 103 and data 104 generated by the processor 100 as its executes, as well as having stored constants. The control program 103 comprises software code that can be executed by the processor 100 to implement functions of the nominal controller 2, reference model unit 3, adaptive control unit 4, and the combining units 5, 6, 7. The control program 103 can be executed by the processor 100 to perform the functions of the flow chart of FIGS. 6 and 7.
FIG. 5 is a view of an exemplary embodiment of the neural network 41. In FIG. 5, the neural network 41 comprises input layer 410 having distribution nodes, a hidden layer 411 of neurons, and the output layer 412 of summing nodes. The input layer 410 is coupled to receive the plant output signal y and the plant control signal u. The neural network 41 is also coupled to receive delayed value(s) yd of the plant output signal y, and delayed value(s) ud of the control signal u, from the delay unit 43. Signals y, u, yd, ud, are input to the layer 410 as signals η1 through ηN1, N1 being a positive integer equal to the number of nodes in the input layer 410. The output signals of the distribution nodes 410 are weighted by connection weights N which are updated using the observed error signal Ê from the error observer 40. The neurons of the hidden layer 411 are coupled to receive the signals η1 through ηN1 weighted by the connection weights M. Based on the M-weighted signals η1 through ηN1, the N2 neurons of the hidden layer 411 operate with respective functions σ(·) on these signals to produce respective output signals, N2 being a positive integer. These output signals of the neurons of the hidden layer 411 are weighted by the connection weights M and output to the N3 summing nodes of the output layer 412, N3 being a positive integer. The summing nodes of the output layer 413 receive these signals and generate output signals x1 through xN3 which are the vector elements of the neural network control signal uNN.
Turning to FIGS. 6 and 7, a method in accordance with an embodiment of the invention is now described. It should be noted that one or more of the elements of the system 1 can be implemented in the flowchart of FIGS. 6 and 7 by programming the control program 103 to implement such functions under execution by the processor 100. The method of FIGS. 6 and 7 begins in Step S1 in which the reference control input signal yc−ym is generated by differencing the plant model output signal ym and the command output signal yc. In Step S2, the reference controller input signal yc−ym is supplied to the reference controller 30. In Step S3, the reference controller signal uec(ym) and the reference controller state signal xcm are generated based on the reference controller input signal yc−ym. In Step S4, the reference controller signal uec(ym) is supplied to control the plant model 31. In Step S5, reference model output signal ym is generated based on the reference controller signal uec(ym). In Step S6, the nominal controller input signal yc−y is generated by differencing the plant output signal y and the commanded output yc. In Step S7, the nominal controller input signal yc−y is supplied to the nominal controller 2. In Step S8, the nominal controller signal uec(y) and the nominal controller state signal xc is generated based on the nominal controller input signal yc−y. In Step S9, the plant control signal u is generated by differencing the nominal controller signal uec(y) and the adaptive control signal uad. In Step S10, the plant control signal u is supplied to control the plant. In Step S11, the output(s) of the plant 9 is sensed to generate a plant output signal {tilde over (y)}. In Step S12, the output error signal {tilde over (y)} is generated by differencing the plant output signal y and the model output signal ym. In Step S13, the output error signal {tilde over (y)} is supplied as an input to the auxiliary controller 44. In Step S14 of FIG. 7, output error signal {tilde over (y)} is supplied as an input to the error observer 40. In Step S15, the controller state error signal xcm−xc is generated by differencing the reference controller state signal xcm and the nominal controller state signal xc. In Step S16, the controller state error signal xcm−xc is supplied to the auxiliary controller 40. In Step S17, the controller state error signal xcm−xc is supplied to the error observer 40. In Step S18, the auxiliary controller signal udc is generated based on the output signal {tilde over (y)} and the controller state error signal xcm−xc. In Step S19, the observed error signal Ê is generated based on the plant output signal {tilde over (y)}, the controller state error signal xcm−xc, and the auxiliary controller signal udc. In Step S20, the observed error signal Ê supplied to the neural network 41. In Step S21, connection weights M, N of the neural-network 41 are updated in a bounded manner based on the observed error signal Ê. In Steps S22 and S23, delayed values yd and ud are generated based on the plant output signal y and the plant control signal u, respectively. In Step S24, the neural-network output signal uNN is generated based on the plant control signal u, plant output signal y, delayed value(s) of the plant control signal ud, the plant output y, delayed value(s) of the plant output yd, updated neural network connection weights M and N. In Step S25, the adaptive control signal uad is generated by summing neural-network output signal uNN and the auxiliary control signal udc. After performance of Step S25, processing of the method of FIGS. 6 and 7 terminates. It should be understood by those of persons of ordinary skill in the art that the method of FIGS. 6 and 7 is generally performed repeatedly to control the plant 9, and can be repeatedly performed. Execution of the Steps S1 through S25 can be considered a control cycle of the processor 100 of FIG. 4 as it executes the control program 103 to control the plant 9. The control cycle of Steps S1 through S25 can be repeated, by way of example and not limitation, from fifty to hundred times per second.
The following is a detailed explanation of the signals used in the system 1 and a detailed explanation of their relationship to one another. Consider an observerable and stabilizable nonlinear system in the normal form:




   
  
    
      
        
          
            
              
                z
                .
              
              0
            
            =
            
              f
              ⁡
              
                (
                
                  
                    z
                    0
                  
                  ,
                  
                    x
                    1
                  
                  ,
                  ...
                  ⁢
                  
                    
                  
                  ,
                  
                    x
                    r
                  
                
                )
              
            
          
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              1
            
            =
            
              x
              2
            
          
          ⁢
          
            

          
          ⁢
          ⋮
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              
                r
                -
                1
              
            
            =
            
              x
              r
            
          
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              r
            
            =
            
              h
              ⁡
              
                (
                
                  
                    z
                    0
                  
                  ,
                  
                    x
                    1
                  
                  ,
                  ...
                  ⁢
                  
                    
                  
                  ,
                  
                    x
                    r
                  
                  ,
                  u
                
                )
              
            
          
          ⁢
          
            

          
          ⁢
          
            y
            =
            
              x
              1
            
          
        
      
      
        
          (
          1
          )
        
      
    
  




Where z0∈Rn−r are the states of the internal dynamics, u∈R1 and y∈R1 are control and measurement variables, f and h are sufficiently smooth partially known functions, f(0)=0,h(0)=0, and r is the relative degree of the system. Moreover, n need not be known. The output y can be equivalently expressed as y=cmTξ, where

cmTξ=[1,0, . . . ,0]∈R1×r,ξT≡[x1, . . . xr],ξ∈Rr.

Consider the use of a linear plant model. After a suitable change of coordinates, the linear plant model can also be put in normal form:




   
  
    
      
        
          
            
              
                z
                .
              
              1
            
            =
            
              
                
                  F
                  0
                
                ⁢
                
                  z
                  1
                
              
              +
              
                
                  g
                  0
                
                ⁢
                
                  x
                  
                    l
                    1
                  
                
              
            
          
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              
                l
                1
              
            
            =
            
              x
              
                l
                2
              
            
          
          ⁢
          
            

          
          ⁢
          ⋮
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              
                l
                
                  r
                  -
                  1
                
              
            
            =
            
              x
              
                l
                r
              
            
          
          ⁢
          
            

          
          ⁢
          
            
              
                x
                .
              
              
                l
                r
              
            
            =
            
              
                
                  h
                  0
                  T
                
                ⁢
                
                  z
                  l
                
              
              +
              
                
                  a
                  1
                
                ⁢
                
                  x
                  
                    l
                    1
                  
                
              
              +
              ⋯
              +
              
                
                  a
                  r
                
                ⁢
                
                  x
                  
                    l
                    r
                  
                
              
              +
              
                b
                ⁢
                
                  
                
                ⁢
                u
              
            
          
          ⁢
          
            

          
          ⁢
          
            
              y
              l
            
            =
            
              x
              
                l
                1
              
            
          
        
      
      
        
          (
          2
          )
        
      
    
  




where z1∈Rm−r are the states of the zero dynamics, and m≦n is the dimension of the plant model. Consider the following stabilizing linear controller for the dynamics in (2):

{dot over (x)}c=Acxc+bc(yc−y)

uec=ccTxc+dc(yc−y),  (3)

where xc∈Rnc.

The plant model in (2), when regulated by (3), constitutes a reference model”. Defining ξ1T≡[x1i, . . . , x1r] and denoting xc1 the states of the controller in (3) when applied to (2), i.e. when y is replaced by y1 in (3), the “reference model” can be written as:





  
    
      
        
          
            [
            
              
                
                  
                    
                      ξ
                      .
                    
                    1
                  
                
              
              
                
                  
                    
                      z
                      .
                    
                    1
                  
                
              
              
                
                  
                    
                      x
                      .
                    
                    cl
                  
                
              
            
            ]
          
          =
          
            
              
                [
                
                  
                    
                      
                        
                          A
                          m
                        
                        -
                        
                          
                            b
                            m
                          
                          ⁢
                          
                            d
                            c
                          
                          ⁢
                          
                            c
                            m
                            T
                          
                        
                      
                    
                    
                      
                        B
                        z
                      
                    
                    
                      
                        
                          b
                          m
                        
                        ⁢
                        
                          c
                          c
                          T
                        
                      
                    
                  
                  
                    
                      
                        
                          g
                          0
                        
                        ⁢
                        
                          c
                          m
                          T
                        
                      
                    
                    
                      
                        F
                        0
                      
                    
                    
                      0
                    
                  
                  
                    
                      
                        
                          -
                          
                            b
                            c
                          
                        
                        ⁢
                        
                          c
                          m
                          T
                        
                      
                    
                    
                      0
                    
                    
                      
                        A
                        c
                      
                    
                  
                
                ]
              
              ⁡
              
                [
                
                  
                    
                      
                        ξ
                        1
                      
                    
                  
                  
                    
                      
                        z
                        1
                      
                    
                  
                  
                    
                      
                        x
                        cl
                      
                    
                  
                
                ]
              
            
            +
            
              
                [
                
                  
                    
                      
                        
                          b
                          m
                        
                        ⁢
                        
                          d
                          c
                        
                      
                    
                  
                  
                    
                      0
                    
                  
                  
                    
                      
                        b
                        c
                      
                    
                  
                
                ]
              
              ⁢
              
                y
                c
              
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            y
            1
          
          =
          
            
              [
              
                
                  
                    
                      c
                      m
                    
                  
                  
                    0
                  
                  
                    0
                  
                
              
              ]
            
            ⁡
            
              [
              
                
                  
                    
                      ξ
                      1
                    
                  
                
                
                  
                    
                      z
                      1
                    
                  
                
                
                  
                    
                      x
                      cl
                    
                  
                
              
              ]
            
          
        
        ⁢
        
          

        
        ⁢
        where
        ⁢
        
          

        
        ⁢
        
          
            A
            m
          
          =
          
            
              [
              
                
                  
                    0
                  
                  
                    1
                  
                  
                    0
                  
                  
                    ⋯
                  
                
                
                  
                    0
                  
                  
                    0
                  
                  
                    1
                  
                  
                    ⋯
                  
                
                
                  
                    ⋮
                  
                  
                    ⋮
                  
                  
                    ⋮
                  
                  
                    ⋮
                  
                
                
                  
                    
                      a
                      1
                    
                  
                  
                    
                      a
                      2
                    
                  
                  
                    ⋯
                  
                  
                    
                      a
                      r
                    
                  
                
              
              ]
            
            rxr
          
        
      
    
    
      
        (
        4
        )
      
    
  
  
    
      
        
          
            B
            z
          
          =
          
            
              [
              
                
                  
                    0
                  
                
                
                  
                    0
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    
                      h
                      0
                      T
                    
                  
                
              
              ]
            
            
              rx
              ⁡
              
                (
                
                  m
                  -
                  r
                
                )
              
            
          
        
        ,
        
          
            b
            m
          
          =
          
            
              [
              
                
                  
                    0
                  
                
                
                  
                    0
                  
                
                
                  
                    ⋮
                  
                
                
                  
                    b
                  
                
              
              ]
            
            rx1
          
        
      
    
    
      
        (
        5
        )
      
    
  




The dynamics in (4) can be written in the following compact form:

{dot over (x)}1=Āx1+ bryc

y1= cyTx1  (6)

where x1∈Rm+nc and Ā is Hurwitz. The objective is to augment the linear control law uec in (3) with an adaptive element so that when applied to the system (1) the output y tracks yc. The error dynamics for the signal y1−y are derived in the following subsection. The error dynamics are found to be similar to those derived in previous works and for which a proof of ultimate boundedness has previously been constructed, and hence are ultimately bounded. Since y1 tracks yc asymptotically, boundedness of y1−y ensures that y tracks yc with bounded errors.

The adaptive control unit 4 can be design based on the following considerations. The z0 dynamics in (1) can be rearranged as:

ż1=f1(z1,z2 ξ),z1∈Rm−r

ż2=f2(z1z2 ξ),z2∈Rn−m  (7, 8)

where the zero solution of ż2=f2(0,z2,0) is asymptotically stable, and the dynamics in (7) can be written as:

ż1=f1(z1,z2,ξ)=F0z1+g0y+Δ2(z1,z2,ξ)  (9)

Where Δ2=f1(z1,z2,ξ)−F0z1−g0y can be viewed as modeling error in the dynamics of z1, satisfying the following upper bound:

∥Δ2∥≦γ1∥x∥+γ2,x∈Ωx⊂Rm+nc  (10)

with known γ1, γ2>0 and x≡[ξT z1T xcT]T.

Equations (7-10) define the relationship between the nonlinear system in (1) and the linear model in (2), used for the design of the linear controller. In case m=n there are no z2 dynamics, and the relationship in (9) implies that the zero-dynamics in (2) represent the internal dynamics of (1) up to the accuracy of Δ2. If m<n, Assumption 1 does not preclude stable dynamics in (1) that are not modeled in (2), like that of z2.
The last equation of the system dynamics in (1) can be put in the following form:

h(z0,x1, . . . ,xr,u)=h0Tz1+α1x1+ . . . +αrxrb(u+Δ1)  (11)

Where Δ1 can be viewed as the portion of the modeling error that lies in the range space of the control. Augment the linear controller in (3) with an adaptive signal:

u=uec−uNN,  (12)

Where uNN is designed to approximately cancel Δ1. Notice from (12) and (11) that Δ1 depends on uNN through u, and that the role of uNN is to cancel Δ1. The following assumption introduces a sufficient condition for the existence and uniqueness of a solution for uNN.

The mapping uNN→Δ1 is required to be a contraction, which is equivalent to requiring the conditions:





  
    
      
        
          
            sign
            ⁢
            
              
            
            ⁢
            
              (
              b
              )
            
          
          =
          
            sign
            ⁢
            
              
            
            ⁢
            
              (
              
                
                  ∂
                  h
                
                
                  ∂
                  u
                
              
              )
            
          
        
        ⁢
        
          

        
        ⁢
        
          
            
              
              
                
                  ∂
                  h
                
                
                  ∂
                  u
                
              
              
            
            /
            2
          
          <
          
            
            b
            
          
          <
          ∞
        
      
    
    
      
        (
        13
        )
      
    
  




These conditions imply that control reversal is not permitted, and that there is a lower bound on the estimate of control effectiveness, b.

A single hidden layer neural network is used to approximate Δ1 in (11). For example, for arbitrary e*>0 there exist bounded constant weights M,N such that:

Δ1=MTσ(NTη)+∈(η),∥∈(η)∥≦e*

where ∈(η) is the neural network reconstruction error and η is the network input vector

η(t)=[1ūdT(t) ydT(t)]T,∥η∥≦η*

ūdT(t)=[u(t)u(t−d) . . . u(t−(n1−r−1)d)]T

 ydT(t)=[y(t)y(t−d) . . . y(t−(n1−1)d)]T  (15)

with n1≧n and d>0, σ being a vector of squashing functions σ(*), its ith element being defined like [σ(NTη)]i=σ[(NTη)i].

The adaptive signal uNN is designed as:

uNN={circumflex over (M)}Tσ({circumflex over (N)}Tη),  (16)

Where {circumflex over (M)} and {circumflex over (N)} and estimates of M and N to be adaptive online.

Using (11), (8) and (9), the nonlinear system in (1) under the regulation of (12) along with (3) can be written as:

{dot over (x)}=Āx+ bryc− buNN+Δ

ż2=f2(z2,z1,ξ)

y= cyx  (17)

in which





  
    
      b
      _
    
    =
    
      [
      
        
          
            
              b
              m
            
          
        
        
          
            0
          
        
        
          
            0
          
        
      
      ]
    
  
  ,
  
    Δ
    =
    
      [
      
        
          
            
              Δ
              1
            
          
        
        
          
            
              Δ
              2
            
          
        
        
          
            0
          
        
      
      ]
    
  
  ,
  
    
      Δ
      1
    
    =
    
      [
      
        
          
            0
          
        
        
          
            ⋯
          
        
        
          
            
              b
              ⁢
              
                
              
              ⁢
              
                Δ
                1
              
            
          
        
      
      ]
    
  




With the following definition of the error vector

ET≡[(ξ1−ξ)T(z1−z1)T(xc1−xc)T]  (18)

Following (6) and (17), the error dynamics can be expressed as:

Ė=ĀE+ b(uNN−Δ1)−BΔ2

z= CE  (19)

where z represents the signals available for feedback:





  
    
      
        z
        =
        
          
            [
            
              
                
                  
                    
                      y
                      l
                    
                    -
                    y
                  
                
              
              
                
                  
                    
                      x
                      cl
                    
                    -
                    
                      x
                      c
                    
                  
                
              
            
            ]
          
          =
          
            
              [
              
                
                  
                    
                      c
                      m
                    
                  
                  
                    0
                  
                
                
                  
                    0
                  
                  
                    I
                  
                
              
              ]
            
            ⁢
            E
          
        
      
    
    
      
        (
        20
        )
      
    
  




and BT=[0 I 0],I∈R(m−r)×(m−r). The weight adaptation laws are similar to the ones proposed in previous works. Introduce the following linear error observer for the dynamics in (19):

{circumflex over (Ė)}=ĀÊ+K(z−{circumflex over (z)})

{circumflex over (z)}= CÊ  (21)

Where K is chosen to make Ā−K C stable, and the following adaptive laws:

{circumflex over ({dot over (M)}=−F[({circumflex over (σ)}−{circumflex over (σ)}′{circumflex over (N)}Tη) ÊTP b+k{circumflex over (M)}]

{circumflex over ({dot over (N)}=−G[ηÊP b{circumflex over (M)}T{circumflex over (σ)}′+k{circumflex over (N)}]  (22)

in which F, G>0 are positive definite adaptive gain matrices, k>0 is a constant, {circumflex over (σ)}≡σ({circumflex over (N)}η),{circumflex over (σ)}′ is the Jacobian computed at the estimates. From this point on the stability analysis laid out in previous works can be followed to prove ultimate boundedness of error signals in (19). However, it is important to point out the difference between the error dynamics in previous works and the one in (19). The error dynamics in previous works have only matched uncertainty, i.e. the forcing term therein has the form b(uNN−Δ1). In (19), due to the possible non-minimum phase nature of the nonlinear system, the error dynamics may also involve the states of the internal dynamics, which results in unmatched uncertainty Δ2. However, equations (7-10) imply that the unmatched uncertainty satisfies a linear bound in the error norm. This type of upper bound can always be encompassed by the stability proof at the price of having larger ultimate bounds.

Specifically, if the systems in (1) and (2) are minimum phase, the conditions (7-10) are not required. The linear controller in (3) can be designed to stabilize only the ξ1 dynamics in (2), thus having the closed loop system in (4) without z1 states. The error vector (18) can be defined without the z1−z1 states, and thus the unmatched uncertainty Δ2 will not be present in the error dynamics.
In many realistic applications it is of great interest to achieve tracking performance with the smallest possible ultimate bound. For non-minimum phase systems this is hard to ensure even for linear systems. Towards this end, depending upon the particular application, the control design in (12) can be augmented by an additional linear compensator. Consider the following augmentation of the controller in (12):

ū=u+udc,  (23)

where u has been defined in (12), and udc is a linear dynamic compensator, defined as:

{dot over (x)}dc=Adcxdc+Bdcz

udc=cdcTxdc+ddcz.  (24)

With ū defined in (23), the dynamics in (17) can be rewritten:

{dot over (x)}=Āx+ bryc− b(uNN+udc)+Δ

y= cyx

ż2=f2(z2,z1,ξ)  (25)

Applying the controller in (24) to dynamics (25), and comparing it with the reference model of (6) leads to the following redefined error dynamics:




  
    [
    
      
        
          
            E
            .
          
        
      
      
        
          
            
              x
              .
            
            
              d
              ⁢
              
                
              
              ⁢
              c
            
          
        
      
    
    ]
  
  =
  
    
      
        [
        
          
            
              
                
                  A
                  _
                
                +
                
                  
                    b
                    _
                  
                  ⁢
                  
                    d
                    
                      d
                      ⁢
                      
                        
                      
                      ⁢
                      c
                    
                  
                  ⁢
                  
                    C
                    _
                  
                
              
            
            
              
                
                  b
                  _
                
                ⁢
                
                  c
                  
                    d
                    ⁢
                    
                      
                    
                    ⁢
                    c
                  
                
              
            
          
          
            
              
                
                  B
                  
                    d
                    ⁢
                    
                      
                    
                    ⁢
                    c
                  
                
                ⁢
                
                  C
                  _
                
              
            
            
              
                A
                
                  d
                  ⁢
                  
                    
                  
                  ⁢
                  c
                
              
            
          
        
        ]
      
      ⁡
      
        [
        
          
            
              E
            
          
          
            
              
                x
                
                  d
                  ⁢
                  
                    
                  
                  ⁢
                  c
                
              
            
          
        
        ]
      
    
    +
    
      
        [
        
          
            
              
                b
                _
              
            
          
          
            
              0
            
          
        
        ]
      
      ⁢
      
        (
        
          
            u
            NN
          
          -
          
            Δ
            1
          
        
        )
      
    
    -
    
      
        [
        
          
            
              B
            
          
          
            
              0
            
          
        
        ]
      
      ⁢
      
        Δ
        2
      
    
  




That can be re-written:





  
    
      
        
          
            E
            .
          
          a
        
        =
        
          
            LE
            a
          
          +
          
            
              [
              
                
                  
                    
                      b
                      _
                    
                  
                
                
                  
                    0
                  
                
              
              ]
            
            ⁢
            
              (
              
                
                  u
                  NN
                
                -
                
                  Δ
                  1
                
              
              )
            
          
          -
          
            
              [
              
                
                  
                    B
                  
                
                
                  
                    0
                  
                
              
              ]
            
            ⁢
            
              Δ
              2
            
          
        
      
    
    
      
        (
        26
        )
      
    
  




Notice that with the choice of design gains in (24) the eigenvalues of L can always be placed in the open left-half plane. The dynamics in (26) are similar to that in (19), except for the dimension of the error vector. Thus its stability analysis can be carried out along similar lines.
INDUSTRIAL APPLICABILITY
The invention has applicability in a wide range of industries, including aerospace, automotive, chemical, machine tool, robotics, marine vessels, motion control industries, to mention but a few applications of the disclosed invention.

## Claims

1. An apparatus receiving a commanded output signal yc to control a plant, the apparatus having a nominal controller implementing a plant model to control a plant to generate plant output signal y that is a function of all states of the plant, at least one of the plant states being unavailable, the nominal controller generating a nominal controller signal uec(y), the apparatus comprising:
a reference model unit generating a plant model output signal ym based on the commanded output signal yc, using a reference controller identical to the nominal controller, and a plant model identical to that upon which the nominal controller was based;
a first combining unit coupled to receive and difference the plant output signal y and the plant model output signal ym to generate the plant output error signal {tilde over (y)};
an adaptive control unit coupled to receive the plant output error signal {tilde over (y)}, and comprising an error observer to generate an observed error signal Ê that estimates errors in all states of the plant, including those plate states that are unavailable, the adaptive control unit further comprising a neural network having connection weights M, N updated based on the observed error signal Ê, the neural network receiving a plant control signal u and the plant output signal y as inputs, and generating a neural network control signal uNN based on the plant control signal u, the plant output signal y, and the connection weights M, N, the adaptive control unit outputting an adaptive control signal uad based on the neural network control signal uNN; and
a second combining unit coupled to receive the nominal controller signal uec(y) and the adaptive control signal uad, and generating the plant control signal u to control the plant based on the nominal controller signal uec(y) and the adaptive control signal uad.

2. An apparatus as claimed in claim 1 wherein the adaptive control unit comprises a time delay unit coupled to receive and delay the plant control signal u and the plant output signal y to generate a delayed plant control signal ud and a delayed plant output signal yd, respectively, the time delay unit coupled to provide the delayed plant control signal ud and the delayed plant output signal yd as inputs to the neural network for generation of the neural network control signal uNN.

3. An apparatus as claimed in claim 1 wherein the nominal controller generates a nominal controller state signal xc, and the reference controller generates a reference controller state signal xcm, and the adaptive control unit comprises a combining unit coupled to receive and difference the nominal controller state signal xc and the reference controller state signal xcm, to generate a controller state error signal xcm−xc for use by the error observer in generating the observed error signal Ê.

4. An apparatus as claimed in claim 3 wherein the adaptive control unit comprises an auxiliary controller coupled to receive the plant output signal y and the controller state error signal xcm−xc, and generating an auxiliary controller signal udc based on the plant output signal y and the controller state error signal xcm−xc, the adaptive control unit further comprising a third combining unit coupled to receive the auxiliary controller signal udc and the neural network control signal uNN to generate the adaptive control signal uad, the auxiliary controller further coupled to provide the auxiliary controller signal udc to the error observer for use in generating the observed error signal Ê.

5. An apparatus as claimed in claim 4 wherein the auxiliary controller is a linear controller.

6. An apparatus as claimed in claim 1 wherein the plant comprises at least one of an aircraft, spacecraft, missile, munition, satellite, robot, ground vehicle, underwater vehicle, surface ship, chemical process, industrial process, weather system, economic system, and any subsystem thereof.

7. An apparatus as claimed in claim 1 wherein the apparatus is used to control a non-minimum phase system.

8. An apparatus receiving a commanded output signal yc to control a plant, the apparatus for augmenting a nominal controller, the nominal controller generating a nominal controller signal uec(y) and a controller state signal xc based on the commanded output signal yc and the plant output signal y, the apparatus comprising:
a reference model unit generating a reference model output signal ym and reference controller state signal xc based on the commanded output signal yc and a reference controller that is a replication of the nominal controller and a plant model upon which the nominal controller is based; and
an adaptive control unit coupled to the nominal controller and the reference model unit, and generating an adaptive control signal uad based on the output error signal {tilde over (y)}, the controller state signal xc, and the reference controller state signal xcm, the adaptive control unit comprising
a combining unit coupled to receive and difference the controller state signal xc and the reference controller state signal xcm to generate the controller state error signal xcm−xc; and
an error observer coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc and generating an observed error signal Ê based the output error signal {tilde over (y)} and the controller state error signal xcm−xc;
a time delay unit coupled to receive and delay the plant control signal u to generate a delayed plant control signal ud, and coupled to receive and delay the plant output signal y to generate a delayed plant output signal yd;
a neural network coupled to receive the observed error signal Ê, the current plant control signal u, the delayed plant control signal ud, the current plant output signal y, and the delayed plant output signal yd, and generating a neural network output signal uNN for generation of the adaptive control signal uad,

the plant controlled based on the nominal controller signal uec(y) generated by the nominal controller and the adaptive control signal uad generated by the adaptive control unit.

9. An apparatus as claimed in claim 8 wherein the reference model unit comprises a combining unit, a reference controller, and a plant model, the combining unit coupled to receive and difference the commanded output signal yc and the plant model output signal ym to generate reference controller input signal yc−ym supplied to the reference controller for use in generating the reference controller signal uec(ym) supplied to the plant model to generate the reference model output signal ym.

10. An apparatus as claimed in claim 9 wherein the nominal controller and the reference controller are identical and designed for controlling the plant according to the plant model.

11. An apparatus as claimed in claim 8 further comprising:
a combining unit coupled to receive and difference the nominal controller output signal uec(y) and the adaptive control signal uad to generate an nominal controller signal u to control the plant.

12. An apparatus as claimed in claim 8 further comprising:
a combining unit coupled to receive and difference the plant output signal y and the reference model output signal ym to generate an output error signal {tilde over (y)} supplied to the adaptive control unit for use in generating the adaptive control signal.

13. An apparatus as claimed in claim 8 wherein the adaptive control unit further comprises:
an auxiliary controller coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc, and generating a auxiliary control signal udc, the auxiliary controller coupled to provide the auxiliary controller signal udc to the error observer; and
a fifth combining unit coupled to receive and difference the neural network output signal uNN and the auxiliary controller signal udc to generate the adaptive control signal uad.

14. An apparatus as claimed in claim 13 wherein the auxiliary controller is linear.

15. An apparatus as claimed in claim 8 further comprising:
at least one actuator coupled to receive the plant control signal u and coupled to the plant, and controlling the plant based on the plant control signal u.

16. An apparatus as claimed in claim 15 wherein the actuator comprises at least one of an aerodynamic control surface, synthetic jet, vortex generator, reaction control jet, thrust vectoring nozzle, and reaction wheel.

17. An apparatus as claimed in claim 8 further comprising:
at least one sensor coupled to the plant and generating the plant output signal y based on a sensed output of the plant.

18. An apparatus as claimed in claim 17 wherein the plant comprises an aircraft, and the sensed output comprises at least one of pitch, roll, and yaw attitudes, thrust, body angular rates, air speed, angle of attack, sideslip, angle of sideslip, position, velocity, and acceleration of the aircraft, and one or more components thereof.

19. An apparatus as claimed in claim 8 wherein the plant comprises at least one of an aircraft, spacecraft, missile, munition, satellite, robot, ground vehicle, underwater vehicle, surface ship, chemical process, industrial process, weather system, economic system, and any subsystem thereof.

20. An apparatus receiving a commanded output signal yc to control a plant, the apparatus comprising:
a nominal controller generating a nominal controller output signal uec(y) and a controller state signal xc based on the commanded output signal yc and the plant output signal y;
a reference model unit generating a reference model output signal ym and reference controller state signal xcm based on the commanded output signal yc and a replication of the nominal controller and a plant model upon which a control law of the nominal controller is based; and
an adaptive control unit coupled to the nominal controller and the reference model unit, and generating an adaptive control signal uad based on the output error signal {tilde over (y)}, the controller state signal xc, and the reference controller state signal xcm, the adaptive control unit comprising
a combining unit coupled to receive and difference the controller state signal xc and the reference controller state signal xcm to generate the controller state error signal xcm−xc; and
an error observer coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc and generating an observed error signal Ê based the output error signal {tilde over (y)} and the controller state error signal xcm−xc;
a time delay unit coupled to receive and delay the plant control signal u to generate a delayed plant control signal ud, and coupled to receive and delay the plant output signal y to generate a delayed plant output signal yd;
a neural network coupled to receive the observed error signal Ê, the current plant control signal u, the delayed plant control signal ud, the current plant output signal y, and the delayed plant output signal yd, and generating a neural network output signal uNN for generation of the adaptive control signal uad,

the plant controlled based on the nominal controller output signal uec(y) generated by the nominal controller and the adaptive control signal uad generated by the adaptive control unit.

21. An apparatus as claimed in claim 20 wherein the reference model unit comprises a combining unit, a reference controller, and a plant model, the combining unit coupled to receive and difference the commanded output signal yc and the plant model output signal ym to generate commanded output error signal yc−y supplied to the reference controller for use in generating the reference controller signal uec(ym) supplied to the plant model to generate the reference model output signal ym.

22. An apparatus as claimed in claim 21 wherein the nominal controller and the reference controller are identical and designed for controlling the plant according to the plant model.

23. An apparatus as claimed in claim 20 further comprising:
a combining unit coupled to receive and difference the nominal controller output signal uec(y) and the adaptive control signal uad to generate an plant control signal u to control the plant.

24. An apparatus as claimed in claim 20 further comprising:
a combining unit coupled to receive and difference the plant output signal y and the reference model output signal ym to generate an output error signal {tilde over (y)} supplied to the adaptive control unit for use in generating the adaptive control signal uad.

25. An apparatus as claimed in claim 20 wherein the adaptive control unit further comprises:
an auxiliary controller coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc, and generating an auxiliary control signal udc, the auxiliary controller coupled to provide the auxiliary control signal udc to the error observer; and
a fifth combining unit coupled to receive and difference the neural network output signal NN and the auxiliary control signal udc to generate the adaptive control signal uad.

26. An apparatus as claimed in claim 25 wherein the auxiliary controller comprises a linear controller.

27. An apparatus as claimed in claim 20 further comprising:
at least one actuator coupled to receive the plant control signal u and coupled to the plant, and controlling the plant based on the plant control signal u.

28. An apparatus as claimed in claim 27 wherein the actuator comprises at least one of an aerodynamic control surface, synthetic jet, vortex generator, reaction control jet, thrust vectoring nozzle, and reaction wheel.

29. An apparatus as claimed in claim 20 further comprising:
at least one sensor coupled to the plant and generating the plant output signal y based on a sensed output of the plant.

30. An apparatus as claimed in claim 29 wherein the plant is an aircraft, and the sensed output comprises at least one of pitch, roll, and yaw attitudes, thrust, body angular rates, air speed, angle of attack, sideslip, angle of sideslip, position, velocity, and acceleration of the aircraft, and one or more components thereof.

31. An apparatus as claimed in claim 20 wherein the plant comprises at least one of an aircraft, spacecraft, missile, munition, satellite, robot, ground vehicle, underwater vehicle, surface ship, chemical process, industrial process, weather system, economic system, and any subsystem thereof.

32. An apparatus receiving a commanded output signal yc to control an plant, the apparatus comprising:
a first combining unit coupled to receive and difference the commanded output signal yc and a plant output signal y to generate a commanded output error signal yc−y;
an nominal controller coupled to receive a commanded output error signal yc−y, the nominal controller generating the nominal controller output signal uec(y) and a controller state signal xc based on the commanded output error signal yc−y;
a reference model unit coupled to receive a commanded output signal yc, and having a reference controller and a plant model, the reference model unit generating a reference controller signal uec(ym) and a reference controller state signal xcm based on the commanded output signal yc and a reference model output signal ym of the plant model, the reference controller coupled to provide the reference controller signal uec(ym) to the plant model, the plant model generating the reference model output signal ym based on the reference controller signal uec(ym);
a second combining unit coupled to receive and difference the reference controller signal uec(y) and an adaptive control signal uad to generate an plant control signal u, the second combining unit coupled to provide the plant control signal u to the plant, the plant generating the plant output signal y based on the plant control signal u;
a third combining unit coupled to receive and difference the plant output signal y and the plant model output signal ym to generate an output error signal {tilde over (y)};
an adaptive control unit coupled to receive the output error signal {tilde over (y)}, the controller state signal xc, and the reference controller state signal xcm, and generating the adaptive control signal uad based on the output error signal {tilde over (y)}, the controller state signal xc, and the reference controller state signal xcm.

33. An apparatus as claimed in claim 32 wherein the nominal controller and the reference controller are identical.

34. An apparatus as claimed in claim 32 wherein the adaptive control unit comprises:
a fourth combining unit coupled to receive and difference the controller state signal xc, and the reference controller state signal xcm to generate the controller state error signal xcm−xc; and
an error observer coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc and generating the observed error signal Ê based the output error signal {tilde over (y)} and the controller state error signal xcm−xc;
a time delay unit coupled to receive and delay the plant control signal u to generate a delayed plant control signal ud, and coupled to receive and delay the plant output signal y to generate a delayed plant output signal yd;
a neural network coupled to receive the observed error signal Ê, the current plant control signal u, the delayed plant control signal ud, the current plant output signal y, and the delayed plant output signal yd, and generating a neural network output signal uNN for generation of the adaptive control signal uad.

35. An apparatus as claimed in claim 32 wherein the adaptive control unit further comprises:
an auxiliary controller coupled to receive the output error signal {tilde over (y)} and the controller state error signal xcm−xc, and generating a auxiliary control signal udc, the auxiliary controller coupled to provide the auxiliary control signal udc to the error observer; and
a fifth combining unit coupled to receive and difference the neural network output signal uNN and the auxiliary control signal udc to generate the adaptive control signal uad.

36. An apparatus as claimed in claim 35 wherein the auxiliary controller is linear.

37. An apparatus as claimed in claim 32 further comprising:
at least one actuator coupled to receive the plant control signal u and coupled to the plant, the actuator controlling the plant based on the plant control signal u.

38. An apparatus as claimed in claim 37 wherein the actuator comprises at least one of an aerodynamic control surface, synthetic jet, vortex generator, reaction control jet, thrust vectoring nozzle, and reaction wheel.

39. An apparatus as claimed in claim 32 further comprising:
at least one sensor coupled to the plant and generating the plant output signal y based on a sensed output of the plant.

40. An apparatus as claimed in claim 39 wherein the plant is an aircraft, and the sensed output comprises at least one of pitch, roll, and yaw attitudes, thrust, body angular rates, air speed, angle of attack, sideslip, angle of sideslip, position, velocity, and acceleration of the aircraft, and one or more components thereof.

41. An apparatus comprising:
an auxiliary controller coupled to receive an output error signal {tilde over (y)} generated based on a combination of a plant output signal y and a reference model output signal ym, and a combination of the nominal controller state signal xc and the nominal controller state signal xcm, and generating an auxiliary controller signal udc;
a first combining unit coupled to receive and difference the nominal controller state signal xc, and the reference controller state signal xcm to generate the controller state error signal xcm−xc;
an error observer coupled to receive the output error signal {tilde over (y)} and a state error signal xcm−xc, and generating an observed error signal Ê based on the output error signal {tilde over (y)} and a controller state error signal xcm−xc;
a time delay unit receiving and delaying the plant control signal u and the plant output signal y to generate the delayed plant control signal ud and the delayed plant output signal yd; and
a neural network coupled to receive the observed error signal Ê, the current plant control signal u, delayed plant control signal ud, current plant output signal y, and the delayed plant output signal yd, and generating a neural network control signal uNN based on the observed error signal Ê, current plant control signal u, the delayed plant control signal ud, current plant output signal y, and the delayed plant output signal yd, the neural network providing the neural network control signal uNN as the adaptive control signal uad used to control a plant.

42. An apparatus as claimed in claim 41 wherein the current plant control signal u, delayed plant control signal ud, the current plant output signal y, and the delayed plant output signal yd are input to neurons of the neural network and the observed error signal Ê is used to adapt the connection weights M, N of the functions σ( ) of the neurons.

43. An apparatus as claimed in claim 41 wherein the auxiliary controller comprises a linear controller.

44. A method comprising the steps of:
receiving a commanded output signal yc;
receiving an plant output signal y;
generating a nominal controller signal uec(y) and a controller state signal xc based on the commanded output signal yc and the plant output signal y;
generating a reference controller signal uec(ym) and a reference controller state signal xcm based on the commanded output signal yc and the plant model output signal ym;
generating the reference model output signal ym based on the reference controller signal uec(ym) and a plant model;
generating an output error signal {tilde over (y)} based on the plant output signal y and the reference model output signal ym;
generating an adaptive control signal uad based on the output error signal {tilde over (y)}, a plant control signal u, the nominal controller state signal xc, and the reference controller state signal xcm;
generating a plant control signal u based on the nominal controller signal uec(y) and the adaptive control signal uad;
controlling the plant based on the plant control signal u;
generating a controller state error signal xcm−xc based on the controller state signal xc and the reference controller state signal xcm;
generating the observed error signal Ê based the output error signal {tilde over (y)} and the controller state error signal xcm−xc;
delaying the plant control signal u to generate a delayed plant control signal ud;
delaying the plant output signal y to generate a delayed plant output signal yd; and
generating a neural network output signal uNN for generation of the adaptive control signal uad based on the observed error signal Ê, the current plant control signal u, the delayed plant control signal ud, the current plan output signal y, and the delayed plant output signal yd.

45. A method as claimed in claim 44 wherein the nominal controller signal uec(y) and the controller state signal xc are generated by a nominal controller.

46. A method as claimed in claim 45 wherein the reference controller signal uec(ym) and a reference controller state signal xcm are generated by a reference controller identical to the nominal controller, and the plant model upon which the design of the nominal controller was based.

47. A method as claimed in claim 44 further comprising the steps of:
generating an auxiliary controller signal udc based on the output error signal {tilde over (y)} and the controller state error signal xcm−xc;
providing the auxiliary controller signal udc to an error observer for use in generating the observed error signal Ê; and
generating the adaptive control signal uad based on the neural network output signal uNN and the auxiliary controller signal udc.