The present invention is generally directed to system, apparatus, and method used to track, and optionally control, a system under observation. More specifically, the present invention is directed to a class of tracking systems that uses an adaptive observer to determine the error between an actual output of an observed system and an estimated output of the observed system to track, and optionally control, the observed system.
Adaptive observers used for state estimation of nonlinear systems have been the subject of much recent interest. Adaptive observers are important to numerous aspects of automated tracking systems, including state estimation, system identification, and output feedback control. Examples of these adaptive observers are disclosed by [1] G. Bastin and M. R. Gevers, Stable Adaptive Observer for Nonlinear Time-Varying Systems, IEEE Trans. Autom. Contr., 33(7):650-658, 1988; [2] H. K. Khalil, Adaptive output feedback control of nonlinear systems represented by input-output models. IEEE Trans. Autom. Contr., 41(2):177-188, 1996; [3] R. Marino and P. Tomei, Nonlinear Control Design: Geometric, Adaptive, & Robust, Prentice Hall, New Jersey, 1995; [4] A. Teel and L. Praly, Global stabilizability and observability imply semi-global stabilizability by output feedback, Syst. Contr. Lett., 22:313-325, 1994; [5] M. Krstic and P. V. Kokotovic, Adaptive nonlinear output-feedback schemes with Marino-Tomei controller, IEEE Trans. Autom. Contr., 41(2):274-280, 1996. However, these approaches impose assumptions that severely limit their domain of applicability. For example, some approaches require that the systems to be linear with respect to unknown parameters, and others require systems that can be transformed into output feedback form. The universal approximation property of neural networks has motivated identification and estimation schemes that relax the assumptions which limit domain of applicability of an adaptive-observer-based tracking system. For example, such relaxation schemes are disclosed in [6] K. S. Narendra and K. Parthasarathy, Identification and control of dynamical systems using neural networks, IEEE Transactions on Neural Neworks, 1:4-27, 1990; [7] U. Strobl, U. Lenz, and Schroder, Systematic design for a stable neural observer for a class of nonlinear systems, Conference on Control Applications, 1997; [8] R, Zhu, T. Chai, and C. Shao, Robust nonlinear adaptive observer design using dynamical recurrent neural networks, American Control Conference, 1997; [9] Y. Kim, F. L. Lewis, and C. Abdallah, A dynamic recurrent neural network based adaptive observer for a class of nonlinear systems, Automatica, 33(8): 1539-1543, 1998; [10] J. R. Vargas and E. Hemerly, Neural adaptive observer for general nonlinear system, American Control Conference, 2000; and [11] F. J. Choi and J. A. Farell, Adaptive observer backstepping control using neural networks, IEEE Transactions on Neural Networks, 12(5):1103-1112, 2001. The main challenge lies in defining an error signal for updating the neural network connection weights. The observer developed by [9] mentioned above introduces a strictly positive real (SPR) filter that enables definition of the neural network weights' adaptive laws in terms of only the available measurement error signal. However, the filter needed to satisfy the SPR condition may not always exist, particularly for systems with multiple outputs. In the approach of [10], the SPR restriction has been relaxed, and an approach is set forth that is applicable to general nonlinear processes. However, a major difference is that the approach in [9] augments an existing linear observer, whereas the approach in [10] does not. The adaptive laws in both approaches are limited to adapting only the NN output layer weights. It would be desirable to provide an adaptive observer for a control system that can be used to augment an existing linear controller, but without the imposition of the SPR condition. In addition, it would be desirable to provide an adaptive observer to augment an existing linear controller, in which both input and output connections weights of neural networks can be adapted in order to enhance the ability of the control system to adapt to changes in the observed system, its environment, or the tracking system incorporating the adaptive observer. In addition, it would be advantageous to provide an adaptive observer in which teaching signals used to adapt the input and output connection weights of the neural network could be generated by a simple linear filter. Also, it would be desirable to provide an adaptive observer in which ultimate boundedness of the error signal can be demonstrated. Furthermore, it would be desirable to provide an adaptive observer that is able to adapt and track an observed system effectively even in the presence of unmodeled dynamics and disturbances.
This invention, in its various embodiments, overcomes the above-noted disadvantages and achieves benefits not attained in the prior art.
In one embodiment, the adaptive observer of the invention comprises an adaptive observer augmenting a linear observer to enhance its ability to track a nonlinear observed system. The adaptive element can comprise a first, and optionally also a second, nonlinearly parameterized neural network units, the inputs and output layer weights of which can be adapted on line. The neural networks' teaching signal can be generated by an additional linear error observer of the nominal observed system's error dynamics. The resulting adaptive element has the ability to track an observed system in the presence of unmodeled dynamics and disturbances. A time delay unit can be incorporated in the adaptive element in order to provide delayed values of an actual output signal and a control signal to the neural network units. The linear observer, adaptive observer including neural networks, error observer, and time delay unit may be collectively referred to as a tracking system. Boundedness of signals generated or influenced by the tracking system can be proven through Lyapunov's direct method.
In another more detailed embodiment of the invention, the adaptive observer comprises an error observer, first and second neural network units, and a time delay unit. The error observer is coupled to receive a tracking error signal z that is a difference between an estimated output signal ŷ and an actual output signal y of an observed system. The error observer generates an estimated adaptive error signal Ê based on the tracking error signal z. The error observer can be implemented as a linear filter. The first and second neural network units can each comprise nonlinearly parameterized neural networks. The first neural network unit is coupled to receive the estimated adaptive error signal Ê and adjusts its input and output connection weights {circumflex over (M)}fT, {circumflex over (N)}fT based on the estimated adaptive error signal Ê. Likewise, the second neural network unit is coupled to receive the estimated adaptive error signal Ê and adjusts its input and output connection weights MgT, NgT based on the estimated adaptive error signal Ê. The time delay unit is coupled to receive the actual output signal y and generates at least one delayed value yd of the actual output signal y which the time delay unit provides as a vector signal μ to the first and second neural network units as an input. The first and second neural network units generate respective adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) based on the vector signal μ and respective connection weights {circumflex over (M)}fT, {circumflex over (N)}fT, {circumflex over (M)}gT, {circumflex over (N)}gT. The adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) are provided to the linear observer to improve its performance in the presence of nonlinearity in the observed system. The time delay unit can further receive a control signal u, generate at least one delayed value ud thereof, and output the delayed value ud to the first and second neural network units as part of the vector signal μ.
In another relatively detailed embodiment, a method of the invention comprises the steps of: receiving at an error observer a tracking error signal z that is a difference between an estimated output signal ŷ and an actual output signal y of an observed system; generating at the error observer an estimated adaptive error signal Ê based on the tracking error signal z; updating input and output connection weights {circumflex over (M)}fT, {circumflex over (N)}fT of a first neural network unit based on the estimated adaptive error signal Ê; updating input and output connection weights {circumflex over (M)}gT, {circumflex over (N)}gT of a second neural network unit based on the estimated adaptive error signal Ê; generating a delayed value yd of at least the actual output signal y which the time delay unit provides as a vector signal μ to the first and second neural network units as inputs; generating adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) at respective first and second neural network units based on the delayed value yd; and outputting the adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) to a linear observer that observes the observed system. In the method, the estimated adaptive error signal Ê can be generated by linearly filtering the tracking error signal z. The first and second neural network units can update respective connection weights {circumflex over (M)}fT, {circumflex over (N)}fT, {circumflex over (M)}gT, {circumflex over (N)}gT each comprising nonlinearly parameterized neural networks. The connection weights {circumflex over (M)}fT, {circumflex over (N)}fT, {circumflex over (M)}gT, {circumflex over (N)}gT can be updated on line as the observed system is under observation. The adaptive signals adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) can be output to a linear observer to augment the linear observer to improve its performance in the presence of nonlinearity in the observed system. Furthermore, the time delay unit further receives a control signal u, generates at least one delayed value ud thereof, and outputs the delayed value ud to the first and second neural network units as part of the vector signal μ. The first and second neural networks can further generate adaptive signals {circumflex over (M)}fTσ({circumflex over (N)}fTμ) and {circumflex over (M)}gTσ({circumflex over (N)}gTμ) based on the delayed value ud.
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
The present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the inventions are shown. Indeed, this invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like numbers refer to like elements throughout.
As used herein, the following terms have the following definitions:
‘Actuator’ can be virtually any device capable of affecting the state of an observed system to control a degree of freedom thereof. Such actuator can be a part of an aircraft, spacecraft, vehicle, ship, robot, machine, or other system to be tracked.
‘Control Cycle’ refers to a single iteration or execution of a software program by a processor implementing a tracking system in generating the various signals required to track and estimate the state of an observed system in accordance with the invention.
‘Dynamics’ refers to changes in the state and output of an observed system, and their relationship.
‘Observed System’ refers to a system under observation. Such system can be an aircraft, spacecraft, vehicle, ship, robot, machine, or other system to be tracked.
‘Processor’ refers to a microprocessor, microcontroller, field programmable gate array, or other device capable of receiving code, data, or both, and processing same to generate an output signal.
‘Sensor’ can be virtually any device(s) for sensing output of an observed system, and may operate alone or in combination with one or more other sensors, to generate a measurement or estimate of an observed system's state. The sensor can be virtually any device suitable for sensing information regarding an observed system'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, ‘control signal(s)’ means ‘one or more control signals.’
The tracking system 1 comprises an adaptive observer 2 in accordance with the invention. The adaptive unit 2 comprises a linear observer 3 and an adaptive observer 4. The tracking system 1 can further comprise a sensor 5, actuator 6, node 7, and multipliers 8, 9, as shown in
In order to implement the tracking system 1 in accordance with the described embodiments of the invention, the dynamics of the observed system 2 must be an observable and bounded nonlinear process, meaning that the actual output signal y from such system must be a function of all states of the system. The observed system 2 can be defined as follows:
{dot over (x)}0=f0(x0,u,v)
y=g0(x0,u,v) (1)
in which x0 is the state of the observed system and is a member of the set Ω0 which in turn is in the realm of signal values Rn0, u belongs to the realm of signal values Rm, y belongs to the realm of signal values Rl, and u is the control signal (i.e., system input) and y is the system output (i.e., measurement) signal, v belongs to the realm of signal values Rk is a bounded and unknown disturbance input, f0( , , , ), g0( , , , ) are partially known continuous functions, and f0 satisfies Lipschitz conditions with respect to its arguments, so that the solution to the observed system 2 defined by Equations (1) exits and is unique.
Bounded disturbances are assumed to belong to a class of continuous time functions, describable by:
{dot over (x)}v=fv(x0,xv)
y=gv(x0,xv) (2)
An additional assumption in implementation of the control system 1 including the linear observer 3 augmented by the adaptive observer 4, as follows:
{dot over (x)}={overscore (f)}(x,u)
y=g0(x,u) (3)
The linear observer 3 can be implemented as a linear filter that generates an estimated output signal ŷ for the observed system 2 based on a tracking error signal z. The tracking error signal z represents the difference between the actual output signal y of the observed system and the estimated output signal ŷ of the observed system. If the observed system 2 is a controlled system, the linear observer 3 can also receive a control signal u and use such control signal to generate the estimated output signal ŷ of the observed system 2. The linear observer 3 is configured to implement the signal relationships established by the above Equations (7) in which {circumflex over ({dot over (x)})} is a signal representing a vector of first derivative(s) with respect to time of the estimated state vector {circumflex over (x)} of the observed system which includes all state variables of the controlled system 2; and A, B, C, D, and K are constants. As stated above, these relationships between the signals received and generated by the linear observer 3 have the effect of reducing the difference between the estimated state vector {circumflex over (x)} and the actual state vector x to zero as time goes to infinity. One constraint imposed upon the tracking system 1 and observed system 2 is that all actual states x be observable by the actual output system y. Otherwise, accurate tracking of the observed system 2 cannot be assured.
As shown in
The adaptive observer 4 augments the tracking capability, and optionally also the control capability, of the linear observer 3 by observing and generating adaptive tracking error signals provided to the linear observer 3. These adaptive signals account for errors that may affect the ability of the tracking system 1 to accurately observe and track the output of the observed system 2. The source of such tracking errors can be numerous, as those of ordinary skill in the art appreciate. A first source of such errors can be the result from the fact that the design of the linear observer 3 under relationships such as Equations (1) above is in virtually all cases only capable of inexact observation of the actual output signal y of the system 2, i.e., there will be dynamics in the observed system 2 which are not taken into account in the design of the linear observer 3. As a result, the linear observer 3 in virtually all cases generates an inexact estimation of the state {circumflex over (x)} of the observed system 2 in order to generate the estimated output signal ŷ. The above-mentioned types of tracking errors result from ‘unmodeled dynamics’ of the observed system 2 which are not taken into account in the linear observer design represented by the above Equations (1). These tracking errors are referenced as ‘modeling errors’ herein, and related variables are signified herein by the subscripts f.
A second source of tracking error can be within the tracking system 1 itself which leads to uncertainty in measurements of the output signal y. The tracking system 1 can thus have inherent errors in it that may make it impossible to perfectly observe the output signal y of the observed system 2. For example, the sensor(s) 5 and other elements of the tracking system 1 may be inherently inaccurate in sensing physical output from the observed system 2, and/or in generating the actual output signal y representing the physical output of the observed system 2. In addition, the actuator(s) 6 and other elements of the tracking system 1 may produce errors through inaccurate response to received signals. Moreover, the physical characteristics of the sensor(s) 5, actuator(s) 6, and other elements of the systems 1, 2 can change over time so that their output varies. For example, the sensor(s) 5, actuator(s) 6, and/or other elements of the tracking system 2 may physically wear, drift, become uncalibrated, etc. over time, thus introducing tracking errors into the system 1. Another source of tracking errors results from disturbances internal or external to the tracking system 1 and the observed system 2. Such disturbances can be environmental in nature, such as a change in temperature, pressure, atmosphere, noise, etc. may have an adverse impact on the ability of the tracking system 1 to accurately determine the output signal y of the observed system 2. For example, changes in temperature and pressure over the course of a day or year may introduce tracking error. A sudden lightning strike may introduce spiking current or noise into the systems 1, 2. Wind, rain, vapor, changes in air pressure, etc. may all have an impact on the tracking system 1 and the observed system 2. All such errors of the foregoing sources and other types known to those of ordinary skill in the art will be referred to herein as ‘disturbances’ which result in inaccuracies in the measurement of the output signal y of the observed system 2, and variables related to correcting for disturbances are denoted by the subscript g in the observer design developed herein.
Following [13] K. Funahashi, On the approximate realization of continuous mappings by neural networks, Neural Networks, 2:183-192, 1989, a function f(x) belonging to the set C, x which is a member of the set D set belong to the realm Rn can be approximated as a single hidden layer (SHL) neural network:
f(x)=MTσ(NTx)+ε(x), ∥ε(x)∥<ε* (8)
It is assumed that for εf*>0, there exists a set of bounded weights Mf, Nf, such that f(x,u) in Equations (4), can be approximated over a compact set D belonging to Ωx×Rm by a SHL neural network
f(x,u)=MfTσ(NlT)+εf(μ), ∥εf∥<εf* (9)
To simplify the presentation, assume that g(x, u)=0, i.e., the measurements are known exactly. Then, the dynamics in Equation (4) can be expressed as:
{dot over (x)}=Ax+Bu+MfTσ(NfTμ)+εf(μ)
y=Cx+Du (11)
The following adaptive observer is derived through use of Equation (11):
{circumflex over ({dot over (x)})}=A{circumflex over (x)}+Bu+{circumflex over (M)}fTσ({circumflex over (N)}fTμ)+K(ŷ−y)
ŷ=C{circumflex over (x)}+Du (12)
To implement the relationships of equations (2), the adaptive observer 4 can comprise error observer 41 and adaptive element 42. The error observer 41 implements a linear observer design according to the following relationships:
{circumflex over ({dot over (E)})}={overscore (A)}Ê+{overscore (K)}(z−{circumflex over (z)})
z=CÊ (14)
The error observer 41 can thus be implemented as a linear filter. The signal {overscore (K)} is a gain matrix chosen so that the signal {overscore (A)}=A−{overscore (K)}C is asymptotically stable. The error observer 41 is coupled to receive the tracking error signal z=ŷ−y from the arithmetic node 7, and generates the estimated adaptive error signal Ê based on the tracking error signal y. If {tilde over (E)}=Ê−E, then the adaptive observer 4 can be implemented as:
{tilde over ({dot over (E)})}=Ã{tilde over (E)}−{circumflex over (M)}fTσ({circumflex over (N)}fTμ)+MfTσ(NfTμ)+εf (15)
Thus, the adaptive element 42 can be implemented to comprise neural network 43. The neural network 43 can be structured as signal hidden layer (SHL) neural networks with an input layer, hidden layer, and output layer of neurons and sets of connection weights linking the neurons of the input layer to the hidden layer, and the hidden layer to the output layer, as will be described in further detail with respect to
{circumflex over ({dot over (N)})}=−Gf[2μÊTP{circumflex over (M)}fT{circumflex over (σ)}f′+kf({circumflex over (N)}f−Nf
{circumflex over ({dot over (M)})}f=−Ff[2({circumflex over (σ)}f−{circumflex over (σ)}f′{circumflex over (N)}fTμ)ÊTP+kf({circumflex over (M)}f−Mf
Using the updated connection weights {circumflex over (M)}fT, {circumflex over (N)}fT, the neural network 43 generates the adaptive signal {circumflex over (M)}fTσ({circumflex over (N)}fTμ), in which, as previously described, the signal μ represents a vector that can include the observed output signal y, the control signal u (if the observed system 2 is controlled), and one or more time-delayed signals yd and ud based on respective signals y and u. The adaptive observer 4 can comprise a delay unit 45 to generate the delayed signals yd and ud from the actual output signal y of the observed system 2 and the control signal u from a controller 10 as shown in
Returning to the original dynamics, presented in Equations (1), a second NNU 44 is introduced to model the uncertainty in the measurement of Equations (5) as follows:
g(x,u)=MgTσ(NgTμ)+εf(μ), ∥εg∥<ε* (17)
The dynamics in Equations (4) can then be set forth as follows:
{dot over (x)}=Ax+Bu+MfTσ(NfTμ)+εf(μ)
y=Cx+Du+{circumflex over (M)}cTσ({circumflex over (N)}gTμ)+εc(μ) (18)
The observer for the dynamics in Equations (18) can then be set forth as follows:
{dot over (x)}=A{circumflex over (x)}+Bu+{circumflex over (M)}fTσ({circumflex over (N)}fTμ)−K(ŷ−y)
ŷ=C{circumflex over (x)}+Du+{circumflex over (M)}gTσ({circumflex over (N)}gTμ) (19)
In Equations (20) above, the connection weights {circumflex over (M)}g, {circumflex over (N)}g are updated according to the following relationships:
{circumflex over ({dot over (M)})}g=−Fg[2({circumflex over (σ)}g−{circumflex over (σ)}g′{circumflex over (N)}gTμ)ÊT{overscore (P)}{overscore (K)}+kg({circumflex over (M)}g−Mg
{circumflex over ({dot over (N)})}g=−Gg[2μÊT{overscore (P)}{overscore (K)}{circumflex over (M)}gT{circumflex over (σ)}g′+kg({circumflex over (N)}g−Ng
The controller 10 can be implemented in numerous ways, as is apparent to those of ordinary skill in the art. In one embodiment, the controller 10 can be configured to receive the actual state signal x and the actual output signal y for use in generating the control signal u. The controller 10 can be implemented as a proportional-derivative (PD) or proportional-integral-derivative (PID) controller, for example. The controller 10 can involve a human operator in which case the signals x, y are used to generate a display or other human-perceptible output, and based on such output, the human operator uses control elements (e.g., a stick, foot pedals, etc.), to generate the control signal u through a command filter. Alternatively, the controller 10 can be automated, in which case interfaces otherwise required for human interaction with the controller 10 can be omitted.
Those of ordinary skill in the art will recognize that the tracking system 2 can be implemented in various ways. For example, the tracking system 2 can be implemented digitally as a computer or processor executing a software program. Alternatively, the elements of the tracking system 2 such as the linear observer 3 and adaptive observer 4 can be implemented as analog elements or hardwired logic, for example.
The memory 51 stores a control program 53 and data 54. The control program 53 stores software which has modules corresponding to the elements of the system 1 shown in
In operation, the processor 50 executes its control program 53 to receive the output signal y from the sensor 6 via the bus 52. It implements the function of node 7 by subtracting the actual output signal y from the estimated output signal ŷ to produce the tracking error signal z. It further implements the function of the multiplier 36 by multiplying the tracking error signal z by the constant K for use in a subsequent control cycle. The processor 50 executes the control program 53 to generate the state signal x based on the received actual output signal y. The processor 50 further executes the control program 53 to provide the actual state signal x and the actual output signal y to the controller 10 via the bus 52.
The controller 10 comprises an operator interface unit 55, a controller 56 (in embodiments in which it is a processor-based machine and not a human), and a command filter unit 57. The operator interface unit 55 is coupled to the bus 52 to receive the actual state signal x and the actual output signal y from the processor 50. Based on the signals x, y, the operator interface unit 55 generates an interface signal which is usable by the operator 56. In the case in which the operator 56 is human, the interface signal can be displayed to the operator 56 as a display or other indicator that enables the operator 56 to understand the state and output of the observed system 2. Alternatively, if the operator 56 is a processor-based machine, then the interface signal is a signal that can be used by the operator 56. Based on the interface signal, the operator 56 produces a control action or signal (e.g., movement of a stick, foot pedals, etc., or generation of a signal via a process of the machine version of the operator 56). The operator 56 is coupled to provide such command action or signal to the command filter unit 57 which generates the control signal u based thereon. The command filter unit 57 is coupled to supply the control signal u to the processor 50 and the actuator(s) 6 via the bus 52. The command filter unit 57 may thus provide the control signal u directly to the actuator(s) 6, or the control signal u may be received by the processor 50 and translated into one or more signals with format suitable for control of the actuator(s) 6. For example, the processor 50 and memory 51 may be considered a flight control system or guidance system in which the control signal u is received and converted into control signals output via bus 52 to the actuator(s) 5 to move control surfaces such as ailerons, rudders, thrust vector actuators, fuel flow valves, etc., in order to affect control of the observed system 2.
The processor 50 further executes the control program 53 to perform the function of the error observer 41 to generate the estimated adaptive error signal Ê. The processor 50 continues execution of the control program 53 by using the estimated adaptive error signal Ê to update the connection weights MfT, NfT, {circumflex over (M)}fT, {circumflex over (N)}fT of the neural network units 43, 44. The control program 53 can be implemented to generate the connection weights MfT, NfT, {circumflex over (M)}fT, {circumflex over (N)}fT according to the update rules defined by either Equations (16) or (21). The processor 50 further stores the current values of the actual output signal y and the control signal u in the memory 51 as data 54. The processor 50 retrieves delayed or past values yd, ud of the actual output signal y and control signal u, and provides these signals yd, ud, optionally along with the signals y, u, to the neural network units 43, 44 as inputs thereto. Based upon the received estimated adaptive error signal Ê and the connection weights {circumflex over (M)}fT, {circumflex over (N)}fT, the processor 50 executes the control program 53 to carry out the processing of the neural network unit 43, resulting in the adaptive signal {circumflex over (M)}fTσ({circumflex over (N)}fTμ) whether the adaptive observer 4 is implemented according to the relationships of either Equation (16) or (21) depending upon which embodiment is used. Also, based upon the received adaptive error signal Ê and the connection weights {circumflex over (M)}gT, {circumflex over (N)}gT, the processor executes the control program 53 to implement the function of the neural network unit 44, to generate the adaptive signal {circumflex over (M)}gTσ({circumflex over (N)}gTμ) using the connection weights defined in the previous control cycle.
The processor 50 continues the execution of the control program 53 by implementing the function of the multiplier 8 by multiplying the control signal u by the vector signal B which the processor retrieves from memory 51. Further, the processor 50 implements the function of the multiplier 36 by multiplying the signal z by the vector signal K retrieved from the data 54 in its memory 51. The processor 50 further executes the control program 53 to implement the functions of the summation node 31 by adding the signal Bu, the signal Kz, the signal A{circumflex over (x)} retrieved from data 54 in the memory 51, and the adaptive signal {circumflex over (M)}fTσ({circumflex over (N)}fTμ) from the neural network unit 43, and sums these signals to generate the signal {circumflex over ({dot over (x)})}. The processor 50 further executes the control program to implement the function of the integrator 32 to integrate the signal {circumflex over ({dot over (x)})}, resulting in the signal {circumflex over (x)}. The processor 50 further executes the control program 53 to implement the function of multiplier 33 by multiplying the signal {circumflex over (x)} by the vector signal A and storing the result as data 54 in the memory 51 for use in the subsequent control cycle. The processor 50 further executes the control program 53 to implement the function of the multiplier 4 by multiplying the signal {circumflex over (x)} by the matrix C, resulting in the signal C{circumflex over (x)}. The processor 50 further executes the control program 53 to implement the function of the node 35 by adding the signal C{circumflex over (x)} to the signal {circumflex over (M)}gTσ({circumflex over (N)}gTμ) to produce the signal ŷ to be used in the next control cycle.
A complete cycle through the above described operations executed by the processor 50, and optionally also the controller 10, is referred to as a ‘control cycle.’ The processor 50, and optionally the controller 10, can be programmed to repeat the control cycle starting with an updated value for the actual output control signal y through generation of the estimated output signal ŷ for the next control cycle. The tracking system 1 repeats the control cycle periodically or at various times as often as is necessary in order to track the state of the observed system 2. For an advanced aircraft, the control cycle can be from nanoseconds to milliseconds, for example.
Steps S7-S15 are executed by the adaptive observer 4. In Step S7 the tracking error signal z is received by the adaptive observer 4. This is an optional step used when the adaptive observer 4 is implemented as a discrete element as opposed to an embodiment such as that of
In Step S16 the control signal u is multiplied by the gain matrix B to generate control signal Bu. Steps S17-S21 are implemented by the linear observer 3. In Step S17 the node 31 receives the adaptive output signal {circumflex over (M)}fTσ({circumflex over (N)}fTμ), and the signals Bu, A{circumflex over (x)}, and Kz, and generates the signal {circumflex over (x)} based thereon. In Step S18 the integrator 32 integrates the signal {circumflex over ({dot over (x)})} to produce the signal {circumflex over (x)}. In Step S19 the multiplier 33 receives and multiplies the signal {circumflex over (x)} by the constant matrix A. In Step S20 the signal {circumflex over (x)} is received by the multiplier 34 and multiplied by the constant matrix C to produce the signal C{circumflex over (x)}. In Step S21 the signal C{circumflex over (x)}, the signal Du, and the adaptive output signal {circumflex over (M)}gTσ({circumflex over (N)}gTμ) are received by the node 35 and summed to produce the estimated output signal ŷ.
Many modifications and other embodiments of the invention set forth herein will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
This application claims priority benefits under 35 U.S.C. 119(e) to U.S. provisional application No. 60/510,504 filed Oct. 9, 2003 and U.S. provisional application No. 60/528,557 filed Dec. 9, 2003, both naming Anthony J. Calise, Naira Hovakimyan, and Venkatesh K. Madyastha as inventors. Both such provisional applications are incorporated herein by reference as if set forth in full herein.
This invention was made with U.S. Government funding under contract no. F49620-01-1-0024 awarded by AFOSR. The U.S. Government has certain rights in the invention.
Number | Date | Country | |
---|---|---|---|
60510504 | Oct 2003 | US | |
60528557 | Dec 2003 | US |