Closed-loop control system using unscented optimization
10095198 ยท 2018-10-09
Assignee
Inventors
Cpc classification
G05B13/042
PHYSICS
International classification
Abstract
The disclosure provides a closed-loop controller for a controlled system comprising a comparison element generating an error e, a compensator generating a control u.sub.N value based on the error e, and a control allocator determining a manipulated parameter u.sub.M value based on the control u.sub.N. The control allocator typically utilizes a control effectiveness function and determines u.sub.M value by selecting one or more specific system x.sub.0 signals from the system state x.sub.i or system input y.sub.j values or system parameters values p.sub.k reported, defining a plurality of distributed x.sub.D around each specific system x.sub.0 signal, and minimizing an error function E(z.sub.i), where the error function E(z.sub.i) is based on errors which arise from use of the plurality of distributed x.sub.D in the control effectiveness function rather than one or more specific system x.sub.0 signals.
Claims
1. A closed-loop controller for a controlled system comprising: a comparison element comprising a reference input terminal and a system input terminal; a compensator in data communication with the comparison element; and a control allocator in data communication with the compensator, where the control allocator comprises one or more system state input terminals and a control allocator output terminal, and where the control allocator is programmed to perform steps comprising: receiving a control u.sub.N value from the compensator; receiving one or more system signals, where the one or more system signals comprise at least one of a system state x.sub.i signal, a system output y.sub.j value, and a control effectiveness parameter p.sub.k signal; translating each of the one or more system signals into a system value thereby generating one or more system values; determining a manipulated parameter u.sub.M value using a control effectiveness function, where the control effectiveness function expresses the control u.sub.N value as equal to one or more terms, where the one or more terms comprise the one or more system values, and where the one or more terms comprise the manipulated parameter u.sub.M value, by; selecting one or more specific system x.sub.0 values, where each of the one or more specific system x.sub.0 values comprises one of the one or more system values, and defining for the each of the one or more specific system x.sub.0 values a plurality of distributed x.sub.D using a probability density function (,.sup.2), where is a mean of the probability density function (,.sup.2) and where 3x.sub.03 where x.sub.0 is the each of the one or more specific system x.sub.0 values and where is a standard deviation of the probability density function (,.sup.2), and where each distributed x.sub.D in the plurality of distributed x.sub.D satisfies a relationship 0.8x.sub.D/x.sub.PDF1.2 where x.sub.D is the each distributed x.sub.D in the plurality of distributed x.sub.D and x.sub.PDF is a value of the probability density function (,.sup.2), thereby establishing a plurality of distributed x.sub.D corresponding to the each of the one or more specific system x.sub.0 values; and minimizing an error function, where the error function comprises a plurality of errors z.sub.n, where each error z.sub.n, in the plurality of errors z.sub.n comprises a difference between the control u.sub.N value and the control effectiveness function when one of the x.sub.D comprising the plurality of x.sub.D corresponding to a individual specific system x.sub.0 value is substituted into the control effectiveness function in place of the individual specific system x.sub.0 value, thereby determining the manipulated parameter u.sub.M value; translating the manipulated parameter u.sub.M value to a manipulated parameter u.sub.M signal; and communicating the manipulated parameter u.sub.M signal to the control allocator output terminal; and receiving the manipulated parameter u.sub.M signal at a control effector in the controlled system and operating the control effector based on the manipulated parameter u.sub.M signal.
2. The closed-loop controller of claim 1 further comprising: an input sensor in data communication with the system input terminal; a system state sensor in data communication with each of the one or more system state input terminals; and a control effector in data communication with the control allocator output terminal.
3. The closed-loop controller of claim 2 where the controller is programmed to select the specific system x.sub.0 value where an absolute value of the specific system x.sub.0 value minus x.sub.PDF is less than 3 times the standard deviation of the probability density function (,.sup.2), such that |x.sub.0x.sub.PDF|3.
4. The closed-loop controller of claim 3 where the control effectiveness function the controller is programmed to evaluate expresses the control u.sub.N value as u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M where u.sub.N is the control u.sub.N value and W(x.sub.i, y.sub.j, p.sub.k)u.sub.M is the one or more terms comprising the one or more system values and the manipulated parameter u.sub.M value.
5. The closed-loop controller of claim 4 where the controller is programmed to define the plurality of distributed x.sub.D such that the each distributed x.sub.D satisfies a relationship 0.8x.sub.PDF/S1.2, where S is a sigma point of the probability density function (,.sup.2).
6. The closed-loop controller of claim 5 where an absolute value of the error function the controller is programmed to minimize decreases as a summation of the individual errors or a summation of a function of the individual errors comprising the error function decreases.
7. The closed-loop controller of claim 1 where the plurality of distributed x.sub.D is a vector and where probability density function (,.sup.2) is a multivariate probability density function (.sub.M, ), and the where the plurality of distributed x.sub.D is obtained using the multivariate probability density function (.sub.M, ), where .sub.M is a mean vector of the multivariate-probability density function (.sub.M, ) and where is a covariance matrix of the multivariate probability density function (.sub.M, ) and where 3.sub.ix.sub.0,i.sub.i+3.sub.i, where x.sub.0,i is a value along a given principal dimension of the multivariate probability distribution (.sub.M, ), and where the one or more specific system x.sub.0 values is the vector of one or more specific system x.sub.0,i values transformed from a principal axes back to one or more original coordinate axes of the multivariate-probability density function (.sub.M, ).
8. The computer-implemented method of claim 1 where the plurality of distributed x.sub.D is a vector and where probability density function (,.sup.2) is a multivariate probability density function .sub.M, ), and the where the plurality of distributed x.sub.D is obtained using the multivariate probability density function (.sub.M, ), where .sub.M is a mean vector of the multivariate-probability density function (.sub.M, ) and where is a covariance matrix of the multivariate probability density function (.sub.M, ) and where 3.sub.ix.sub.0,i.sub.i+3.sub.i where x.sub.0,i is a value along a given principal dimension of the multivariate probability distribution (.sub.M, ), and where the one or more specific system x.sub.0 values is the vector of one or more specific system x.sub.0,i values transformed from a principal axes back to one or more original coordinate axes of the multivariate-probability density function (.sub.M, ).
9. A computer-implemented method of controlling a controlled system comprising: providing a system output y.sub.j signal using a first sensor in the controlled system; providing one or more system signals, where the one or more system signals comprise at least one of a system state x.sub.i signal, a system output y.sub.j value, and a control effectiveness parameter p.sub.k signal and where the one or more system signals are provided by at least one other sensor in the controlled system; generating an error e signal using a comparison element by: receiving an input r signal at a first terminal of the comparison element; receiving the system output y.sub.j signal at a second terminal of the comparison element; and generating an error e value at an output terminal of the comparison element, where the error e value is dependent the input r signal and the output y.sub.j signal; receiving the error e value at a compensator in data communication with the comparison element output terminal and providing a control u.sub.N value at a compensator output terminal, where the control u.sub.N value is dependent on the error e value; receiving the control u.sub.N value at a control allocator in data communication with the compensator output terminal, where the control allocator is programmed to perform steps comprising: receiving the one or more system signals; translating each of the one or more system signals into a system value thereby generating one or more system values; determining a manipulated parameter u.sub.M value using a control effectiveness function, where the control effectiveness function expresses the control u.sub.N value as equal to one or more terms, where the one or more terms comprise the one or more system values, and where the one or more terms comprise the manipulated parameter u.sub.M value, by; selecting one or more specific system x.sub.0 values, where each of the one or more specific system x.sub.0 values comprises one of the one or more system values, and defining for the each of the one or more specific system x.sub.0 values a plurality of distributed x.sub.D using a probability density function (,.sup.2), where is a mean of the probability density function (,.sup.2) and where 3x.sub.03 where x.sub.0 is the each of the one or more specific system x.sub.0 values and where is a standard deviation of the probability density function (,.sup.2), and where each distributed x.sub.D in the plurality of distributed x.sub.D satisfies a relationship 0.8x.sub.D/x.sub.PDF1.2 where x.sub.D is the each distributed x.sub.D in the plurality of distributed x.sub.D and x.sub.PDF is a value of the probability density function (,.sup.2), thereby establishing a plurality of distributed x.sub.D corresponding to the each of the one or more specific system x.sub.0 values; and minimizing an error function, where the error function comprises a plurality of errors z.sub.n, where each error z.sub.n in the plurality of errors z.sub.n comprises a difference between the control u.sub.N value and the control effectiveness function when one of the x.sub.D comprising the plurality of x.sub.D corresponding to a individual specific system x.sub.0 value is substituted into the control effectiveness function in place of the individual specific system x.sub.0 value, thereby determining the manipulated parameter u.sub.M value; translating the manipulated parameter u.sub.M value into a manipulated parameter u.sub.M signal; communicating the manipulated parameter u.sub.M signal to a control allocator output terminal; and receiving the manipulated parameter u.sub.M signal at a control effector in the controlled system and operating the control effector based on the manipulated parameter u.sub.M signal.
10. The computer-implemented method of claim 9 where the control effectiveness function expresses the control u.sub.N value as u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M where u.sub.N is the control u.sub.N value and W(x.sub.i, y.sub.j, p.sub.k)u.sub.M is the one or more terms comprising the one or more system values and the manipulated parameter u.sub.M value.
11. The computer-implemented method of claim 10 where an absolute value of the specific system x.sub.0 value minus x.sub.PDF is less than 3 times the standard deviation of the probability density function (,.sup.2), such that |x.sub.0x.sub.PDF|3, where x.sub.0 is the specific system x.sub.0 value.
12. The computer-implemented method of claim 11 where 0.8x.sub.PDF/S1.2, where S is a sigma point of the probability density function (,.sup.2).
13. The computer-implemented method of claim 12 where an absolute value of the error function decreases as a summation of the individual errors or a summation of a function of the individual errors comprising the error function decreases.
14. The computer-implemented method of claim 12 where the error function is a residual sum of squares of every error z.sub.i in the plurality of errors z.sub.i.
15. A system controlling a controlled system comprising: a first sensor in the controlled system providing a system output y.sub.j signal; at least one other sensor in the controlled system providing one or more system signals, where the one or more system signals comprise at least one of a system state x.sub.i signal, a system output y.sub.j value, and a control effectiveness parameter p.sub.k signal; a comparison element generating an error e value by: receiving an input r signal; receiving the system output y.sub.j signal from the first sensor; and generating an error e value, where the error e value is dependent the input r signal and the output y.sub.j signal; a compensator receiving the error e value from the comparison element and providing a control u.sub.N value, where the control u.sub.N value is dependent on the error e value; a control allocator receiving the control u.sub.N value from the compensator and the control allocator performing steps comprising: receiving the one or more system signals from the at least one other sensor; translating each of the one or more system signals into a system value, thereby generating one or more system values; determining a manipulated parameter u.sub.M value using a control effectiveness function, where the control effectiveness function expresses the control u.sub.N value as equal to one or more terms, where the one or more terms comprise the one or more system values, and where the one or more terms comprise the manipulated parameter u.sub.M value, by; selecting one or more specific system x.sub.0 values, where each of the one or more specific system x.sub.0 values comprises one of the one or more system state values, and defining for the each of the one or more specific system x.sub.0 values a plurality of distributed x.sub.D using a probability density function (,.sup.2), where is a mean of the probability density function (,.sup.2) and where 3x.sub.03 where x.sub.0 is the each of the one or more specific system x.sub.0 values and where is a standard deviation of the probability density function (,.sup.2), and where each distributed x.sub.D in the plurality of distributed x.sub.D satisfies a relationship 0.8x.sub.D/x.sub.PDF1.2 where x.sub.D is the each distributed x.sub.D in the plurality of distributed x.sub.D and x.sub.PDF is a value of the probability density function (,.sup.2), thereby establishing a plurality of distributed x.sub.D corresponding to the each of the one or more specific system x.sub.0 values; and minimizing an error function, where the error function comprises a plurality of errors z.sub.n, where each error z.sub.n in the plurality of errors z.sub.n comprises a difference between the control u.sub.N value and the control effectiveness function when one of the x.sub.D comprising the plurality of x.sub.D corresponding to a individual specific system x.sub.0 value is substituted into the control effectiveness function in place of the individual specific system x.sub.0 value, thereby determining the manipulated parameter u.sub.M value; translating the manipulated parameter u.sub.M value into a manipulated parameter u.sub.M signal; and communicating the manipulated parameter u.sub.M signal to a control allocator output terminal; and a control effector in the controlled system receiving the manipulated parameter u.sub.M signal from the control allocator output terminal and the control effector operating based on the manipulated parameter u.sub.M signal.
16. The system of claim 15 further comprising the controller selecting the specific system x.sub.0 value where an absolute value of the specific system x.sub.0 value minus x.sub.PDF is less than 3 times the standard deviation of the probability density function (,.sup.2), such that |x.sub.0x.sub.PDF|3.
17. The system of claim 15 further comprising the controller evaluating the control effectiveness function where the control effectiveness function expresses the control u.sub.N value as u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M where u.sub.N is the control u.sub.N value and W(x.sub.i, y.sub.j, p.sub.k)u.sub.M is the one or more terms comprising the one or more system state values and the manipulated parameter u.sub.M value.
18. The system of claim 17 further comprising the controller defining the plurality of distributed x.sub.D such that the each distributed x.sub.D satisfies a relationship 0.8x.sub.PDF/S1.2, where S is a sigma point of the probability density function (,.sup.2).
19. The system of claim 18 further comprising the controller minimizing the error function where an absolute value of the error function decreases as a summation of the individual errors comprising the error function decreases.
20. The system of claim 19 where the plurality of distributed x.sub.D is a vector and where probability density function (,.sup.2) is a multivariate probability density function (.sub.M, ), and the where the plurality of distributed x.sub.D is obtained using the multivariate probability density function (.sub.M, ), where .sub.M is a mean vector of the multivariate-probability density function (.sub.M, ) and where is a covariance matrix of the multivariate probability density function (.sub.M, ) and where 3.sub.ix.sub.0,i.sub.i+3.sub.i where x.sub.0,i is a value along a given principal dimension of the multivariate probability distribution (.sub.M, ), and where the one or more specific system x.sub.0 values is the vector of one or more specific system x.sub.0,i values transformed from a principal axes back to one or more original coordinate axes of the multivariate-probability density function (.sub.M, ).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) Embodiments in accordance with the invention are further described herein with reference to the drawings.
DETAILED DESCRIPTION OF THE INVENTION
(10) The following description is provided to enable any person skilled in the art to use the invention and sets forth the best mode contemplated by the inventor for carrying out the invention. Various modifications, however, will remain readily apparent to those skilled in the art, since the principles of the present invention are defined herein specifically to provide a closed-loop control system providing a vector of manipulated variables through evaluation of a control effectiveness function using distributed variables in a (,.sup.2) distribution around system state x.sub.i and/or system output y.sub.j values and/or control effectiveness parameters p.sub.k.
(11) In brief and with reference to
(12) The control allocator 105 is in data communication with comparison element 101 and receives the control u.sub.N value. Control allocator 105 is typically a digital device and is programmed to relate the control u.sub.N value to the controlled system through a control effectiveness function typically having a form such as u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M. In the control effectiveness function, W(x.sub.i, y.sub.j, p.sub.k) is one or more terms comprising system state x.sub.i values such as x.sub.1, x.sub.2, and x.sub.3 reported from the controlled system, system output y.sub.j values such as y reported from the controlled system, one or more control effectiveness parameters p.sub.k such as p.sub.1 originating from inside or outside the controlled system, or combinations thereof. Additionally, u.sub.M is a vector of manipulated parameters to be applied to the controlled system. The vector of manipulated parameters u.sub.M is determined by control allocator 105 based on the provided system state x.sub.i values, the system output y.sub.j value, and/or control effectiveness parameters p.sub.k, and typically dictates signals to be provided to one or more control effectors 114 within controlled system 110. Function W serves to map u.sub.N to u.sub.M. In practice, the manipulated parameter u.sub.M signal causes the control effectors 114 in controlled system 110 to act in a manner to provoke controlled system 110 into a desired response, based on the error e provided by comparison element 101.
(13) Analogous closed-loop controllers which receive system state x.sub.i values, system output y.sub.j values, and/or or control effectiveness parameters p.sub.k, utilize a control effectiveness function to generate one or more manipulated parameters u.sub.M based on some combination of system state x.sub.i, system output y.sub.j, and/or control effectiveness parameter p.sub.k values, then provide signals based on the determined manipulated parameters u.sub.M back to the controlled system in order to provoke some desired response based on a perceived error are generally are well known in the art. See e.g. M. Gopal, Control Systems: Principles and Design (2.sup.nd, 2002); see also Process Control: Instrument Engineers' Handbook (B. Liptak ed., 1995), among many others. However, as discussed, often these systems may be prone to generating large, undesirable values for the manipulated parameter u.sub.M value depending on the mathematics of the control effectiveness function, or the relatively direct treatment of the control effectiveness function in determining the manipulated parameter u.sub.M value requires oversized systems with large safety margins in order to combat the possible effects of a large combined uncertainty. See e.g. Ross et al., Monte Rey Methods for Unscented Optimization, AIAA Guidance, Navigation, and Control Conference, AIAA SciTech, (AIAA 2016-0871) (2016); see also Ross et al., Unscented Optimal Control for Space Flight, Proceedings of the 24th International Symposium on Space Flight Dynamics (ISSFD) (2014). In contrast, the closed-loop controller disclosed herein greatly mitigates these and other issues by generating values for the manipulated parameter u.sub.M vector by utilizing a plurality of distributed x.sub.D around one or more of the system state x.sub.i values, system output y.sub.j values, control effectiveness parameter p.sub.k values, or combinations thereof, where each x.sub.D is related to a selected system state x.sub.i system output y.sub.j value, or control effectiveness parameter p.sub.k value by a probability density function (,.sup.2).
(14) The closed-loop controller disclosed here mitigates these issues and others through specific operations conducted by control allocator 105. Briefly and as will be discussed, control allocator 105 selects one or more specific system x.sub.0 values from among system input values which comprise the system state x.sub.i, system output y.sub.j, and control effectiveness parameter p.sub.k values, defines a plurality of distributed x.sub.D around each specific system x.sub.0 value by constructing a probability density function (,.sup.2) around each specific system x.sub.0 value selected, then provides a manipulated variable u.sub.M value based on a minimization of an error function E(z.sub.i), where the error function E(z.sub.i) is based on errors which arise from use of the plurality of distributed x.sub.D in the control effectiveness function rather than one or more specific system x.sub.0 values. The result of the minimization provides the manipulated parameter u.sub.M value. The control allocator translates the manipulated parameter u.sub.M value to a manipulated parameter u.sub.M signal and provides the manipulated parameter u.sub.M signal to one or more control effectors within the controlled system, so that the control effectors may adjust within the controlled system and drive the controlled system to respond in a manner similar to the control u.sub.N value, in order to mitigate the error e value.
(15) The control allocator 105 disclosed determines manipulated parameter u.sub.M signals by performing steps similar to those illustrated at
(16) At 217, the control allocator designates one or more specific system x.sub.0 values, where each of the specific system x.sub.0 values is one of the system values comprising system state x.sub.i values, system output y.sub.j values, and/or the control effectiveness parameter p.sub.k values. As an example, at
(17) At 218, the control allocator defines a plurality of distributed x.sub.D around each specific system x.sub.0 value, exemplified at
(18) As an example of a plurality of distributed x.sub.D representing a specific system x.sub.0 value,
(19) As discussed, the control allocator defines a plurality of distributed x.sub.D for each specific system x.sub.0 value selected. Using x.sub.1 and x.sub.3 as before, the control allocator defines a first plurality of distributed x.sub.D corresponding to x.sub.1 using a first probability density function (.sub.1,.sub.1.sup.2) and defines a second plurality of distributed x.sub.D corresponding to x.sub.3 using a second probability density function (.sub.2,.sub.2.sup.2), where generally .sub.1.sub.2 and .sub.1.sub.2. At
(20) In some embodiments the x.sub.D are correlated such that the plurality of distributed x.sub.D is a vector and where the plurality of distributed x.sub.D is obtained using the multivariate probability density function (, ), and where the mean of the multivariate probability density function (, ) is a mean vector of a multivariate-probability density function (, ) and where is a covariance matrix of the multivariate probability density function (, ) and where 3.sub.ix.sub.0,i.sub.i+3.sub.i where x.sub.0,i is a value along a given principal dimension of the probability distribution (, ) and where x.sub.0 is the vector of the one or more specific system x.sub.0,i values that have been appropriately transformed from the principal axes back to the original coordinate axes of the multivariate-probability density function (, ). In one embodiment, principal directions can be obtained from principal component analysis in another embodiment principal directions can be determined by a singular value decomposition. In another embodiment, 6.sub.ix.sub.0,i.sub.i+6.sub.i, and in an additional embodiment N.sub.ix.sub.0,i.sub.i+N.sub.i where the value of N is determined from the chi-squared distribution associated with the dimension, d, of the multivariate probability density function (, ) for a given confidence interval CI %. In one embodiment, CI %=68.3%, and in another embodiment CI %=95.45%, and in another embodiment CI %=99.73%. As an example, for multivariate probability density function (, ) of d=4 dimensions, N={square root over (16.25)} for CI %=99.73 and N={square root over (9.72)} for CI %=95.45%.
(21) At 219 of
(22)
s.t. W(x.sub.1D1, x.sub.2, x.sub.3D1, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.1=0
W(x.sub.1D2, x.sub.2, x.sub.3D1, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.2=0
W(x.sub.1D3, x.sub.2, x.sub.3D1, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.3=0
W(x.sub.1D1, x.sub.2, x.sub.3D2, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.4=0
W(x.sub.1D2, x.sub.2, x.sub.3D2, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.5=0
W(x.sub.1D3, x.sub.2, x.sub.3D2, y.sub.1, p.sub.1)u.sub.Mu.sub.Nz.sub.6=0
(23) The result of the minimization provides the manipulated parameter u.sub.M value, which is typically a vector. The control allocator translates the manipulated parameter u.sub.M value to a manipulated parameter u.sub.M signal which is provided to one or more control effectors such as 214 within a controlled system, such as controlled system 110. In operation and relative to
(24) Generally at 219 and as illustrated, the control allocator establishes at least an error z.sub.n for every possible combination of all x.sub.D comprising all pluralities of x.sub.D generated when the x.sub.D are substituted for specific system x.sub.0 values in the control effectiveness function. For example, at
(25) In a particular embodiment, each x.sub.D satisfies the relationship with an x.sub.PDF as stated and further each x.sub.PDF is a sigma point of the probability density function (,.sup.2). As is understood, sigma points (and their associated weights) describe a collection of points and weights in a distribution where, if treated as elements of a discrete probability distribution, weighted sums of the sigma points can be constructed to reflect a mean and variance equal to the given mean and variance of the probability density function (,.sup.2). An associated weighted sum of the errors z.sub.n, or a function of the errors z.sub.n, where z.sub.n is an error associated with a sigma point can alternatively be minimized at 219. See e.g., Julier et al., A new approach for filtering nonlinear systems, Proceedings of the American Control Conference 3 (1995); see also Julier et al., Unscented Filtering and Nonlinear Estimation, Proceedings of the IEEE 92(3) (2004); see also Julier et al, The Spherical Simplex Unscented Transformation, Proceedings of the American Control Conference (2003), among others. For example, at
(26) In certain embodiments, comparison element 101 comprises a reference input terminal 102, a system input terminal 103, and is configured to provide an error e value dependent on an input r signal at reference input terminal 102 such as r and a controlled system output y.sub.j signal at system input terminal 103 such as y. In an embodiment, comparison element 101 is a summing element configured to provide an error e value proportional to (ry). However, comparison element 101 may be any analog or digital device or combination of devices configured to receives a first input and a second input and provide an output based on the first input and the second input, such as a differential amplifier. Typically in practice, reference input terminal 102 receives a signal indicating a desired overall state of controlled system 110 and system input terminal 103 receives a signal indicating a current state of controlled system 110 and arising from one or more sensors within controlled system 110, such as sensor 115. For example, controlled system 110 might be a satellite designed to establish specific commanded orientations, and reference input terminal 102 might receive a desired orientation while the system input terminal 103 might receive an actual orientation reported from the satellite. Additionally and as is understood, a reference input r may be provided as single value r or as a vector [r.sub.i] expressing multiple values, and similarly a system output y.sub.j signal may be provided as single value y or as a vector [y.sub.i] expressing multiple values.
(27) As discussed, compensator 104 is in data communication with comparison element 101 and is configured such that an input received such as e generates the control u.sub.N value at
(28) Compensator 104 is in data communication with control allocator 105 and configured to communicate at least the control u.sub.N value to control allocator 105. Control allocator 105 comprises one or more system state input terminals such as 106, 107, and 108 for receipt of system state x.sub.i signals, and additionally comprises a control allocator output terminal 109. Control allocator may also comprise one or more control effectiveness parameter input terminals such as 140. Control allocator 105 is typically a computing device such as a digital processor programmed to perform steps whereby a manipulated parameter u.sub.M value is determined based on a probability distribution (,.sup.2) defined around at least one value representing a system state x.sub.i signal, a system output y.sub.j signal, and/or a control effectiveness parameter p.sub.k signal. Control allocator 105 is additionally configured to receive one or more system state x.sub.i signals at the system state input terminals and translate the system state x.sub.i signals to system state x.sub.i values suitable for the evaluation, and to translate system output y.sub.j signals and control effectiveness parameter p.sub.k signals into values for evaluation as necessary. Here, translating a signal into a value means translating the signal into a digital expression suitable for treatment as a value in a series of computations. Such translation may comprise analog-to-digital conversions and/or digital-to-digital conversions as necessary, and may comprise any number of mathematical operations, including zero mathematical operations when the signal arrives at a terminal and is present in an already suitable form.
(29) In an embodiment, the control effectiveness function is of the form u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M, where as discussed W(x.sub.i, y.sub.j, p.sub.k) is one or more terms comprising variables representing one or more of the system state x.sub.i values, the system output y.sub.j values, and the control effectiveness parameters p.sub.k values, u.sub.M is typically a vector expressing manipulated variable u.sub.M values to be applied to controlled system 110, and W serves to map u.sub.N to u.sub.M. The control u.sub.N value may be evaluated and the system state x.sub.i signals, system output y.sub.j signals, and control effectiveness parameters p.sub.k signals may be received in a substantially continuous fashion based on the sampling frequency of a feedback network, or may be employed only within a neighborhood around specific system state x.sub.i, system output y.sub.j, and control effectiveness parameters p.sub.k values. Additionally, in a particular embodiment, the error function E(z.sub.i) is selected such that an absolute value of the error function E(z.sub.i) decreases as a summation of the individual errors comprising the error function decreases. In selected embodiments, the error function E(z.sub.i) is a sum of residual squares, an L.sub.1 norm, or an infinity norm.
(30) Additionally, as can be appreciated by those of skill in the art, the various operations and components shown in
(31) In a selected embodiment, closed-loop controller 100 further comprises at least a first sensor in data communication with the system input terminal 103 of comparison element 101 and at least a second sensor in data communication with the one or more system state terminals of control allocator 105, and further comprises at least one control effector in data communication with the control allocator output terminal 109. Here, sensor means a physical device including a digital device which detects, measures, or estimates one or more physical properties present within the controlled system and generates a signal based on some magnitude of the physical property. The sensor may afford direct measurements of properties such as temperature, pressure, accelerations, and the like, or may be a control system estimator generating a signal based on physical properties measured within the controlled system. Similarly, control effector means a physical device within the controlled system where operation of the control effector generates a change in the behavior of the controlled system sufficient to alter a value of the one or more of the system output y.sub.j signals.
(32) Description of an Embodiment:
(33) As discussed previously, a fundamental challenge with CMG systems is that gimbal lock can occur in the CMG momentum space, and consequently such systems are operated in a manner where the usable momentum for typical control concepts is much less than the total available momentum. Increasing the maximum slew rate by simply using more of the total available momentum is difficult, since the CMG steering must ensure that gimbal lock can be properly avoided. The usual way gimbal lock is avoided is simply to operate the CMG system conservativelyby restricting the maximum vehicle rate to a range where gimbal lock cannot occur.
(34) As discussed, many imaging satellites utilize control moment gyro (CMG)-based attitude control systems in order to enable large slew rates and enhance agility. The block diagram of a typical attitude control system for a CMG imaging satellite is shown at
(35) As an example, suppose it is necessary to rotate a spacecraft through a given angle about an eigenaxis in order to acquire a location for imaging. A typical attitude maneuver (slew) profile, known as a bang-off-bang maneuver is shown in
(36) Once the vehicle reaches the maximum slew rate limit, the acceleration is reduced to zero (off) and the vehicle coasts for a pre-defined period of time. This maximum slew rate limit is typically defined by the range of momentum output of an MCS that, as discussed previously, is normally limited to less than the full capacity or capability of the system. During the final stage of the maneuver, the maximum acceleration is reversed (bang) in order to bring the vehicle into alignment with the desired target (see 520). In some cases the bang-off-bang maneuver is softened by introducing limits on the jerk and/or higher-order derivatives of the acceleration, but in these cases the MCS torque and momentum output still ultimately dictate the slew capability of the vehicle. Thus, the time needed to reorient the satellite to a new target depends on two parameters: (i) the maximum slew acceleration defined by torque and (ii) the maximum slew rate defined by momentum. The fundamental challenge with CMG systems is that gimbal lock can occur in the CMG momentum space and this places an artificial limit on the maximum slew rate, since the typical approach for CMG steering must restrict the maximum vehicle rate to a range where gimbal lock cannot occur, regardless of system sizing.
(37) As an illustrative example of how gimbal lock phenomenon can occurs in practice, consider the equation that relates the requested CMG output torque to the CMG gimbal rate commands
=A(){dot over ()}(1)
(38) where is the requested CMG torque vector, {dot over ()} is the vector of CMG gimbal rate commands, and A() is the so-called CMG Jacobian matrix that relates the change in the CMG output torque to changes in the CMG gimbal rates, {dot over ()}. As per this description, the function A() represents a control effectiveness matrix for a CMG system.
(39) Since the variables necessary for commanding the CMGs are the gimbal rates, (1) may be inverted to solve the gimbal rates in terms of the requested torque
{dot over ()}=A.sup.+()(2)
(40) where A.sup.+() denotes a special inverse called a Moore-Penrose pseudoinverse that must be used because the matrix A() is a non-square nm matrix where m>n due to the use of m redundant CMG units. The Moore-Penrose pseudoinverse is computed straightforwardly as
A.sup.+()=A.sup.T(AA.sup.T).sup.1(3)
(41) Consider now the Jacobian matrix for a standard CMG pyramid
(42)
(43) where parameter is the CMG skew angle.
(44) Referring to (4), for certain angles of the CMGs, it is apparent that the Jacobian matrix may lose rank. For example, consider the case where =53.13-deg (a typical CMG skew angle) and =[/2,0,/2,0].sup.T. For this configuration,
(45)
(46) which clearly has rank 2 due to the zero row. However, in order to invert (5) via the Moore-Penrose pseudoinverse the rank must be 3. Hence, it is not possible to compute a control vector {dot over ()} for the satellite and the spacecraft becomes uncontrollable.
(47) To overcome this issue, a singularity robust pseudoinverse has been proposed previously where the matrix inversion is carried out by slightly modifying the Moore-Penrose pseudoinverse as
A.sup.#()=A.sup.T(AA.sup.T+I).sup.1(6)
(48) where I is the identity matrix and is a small constant. The addition of the term I regularizes the matrix so that full rank can be maintained and the matrix inverted.
(49) Referring back to Jacobian matrix given in (5), the singularity robust pseudoinverse can indeed be computed as
(50)
(51) Even though it is now possible to compute the pseudoinverse, the problem of controlling the spacecraft remains. Suppose the requested torque vector is =[1,0,0].sup.T for a rotation about the spacecraft x-body axis. Using (7), computed gimbal rate commands are
(52)
(53) From (8), it is evident that the CMGs will not be rotated to achieve the desired torque because the vector of gimbal rate commands is null. Thus, even though (6) allows an inverse mapping from a requested torque vector to a gimbal rate command vector to be found, the spacecraft still cannot be controlled. This is an example of how the CMG array can become locked into a so-called singular state. Since singularity robust pseudoinverses do not fully mitigate the control allocation problem, the typical solution is to avoid all of this complexity by keeping the CMGs operating in a singularity free region. This is done simply, by restricting the CMG gimbal angles. This reduces the size of the CMG operational envelope and degrades agility.
(54) To illustrate the performance that can be left on the table using a typical approach, a simple simulation was performed to determine the maximum slew rate that can be achieved about the x-body axis for a generic satellite model when using singularity robust CMG steering. The results are shown in
(55) In the embodiment discussed here, in order to utilize the full capability of the CMG system for slew, the disclosure provides a new control allocation scheme for CMGs based on a statistical representation of the CMG Jacobian matrix so that higher slew rates can be realized for a given size, weight, and power (SWaP). The key insight is that the rank degeneracy of the CMG Jacobian matrix occurs only for specific combinations of the gimbal angles and that for slight perturbations about these degenerate cases the CMGs can indeed be properly controlled. Thus, in order to ensure controllability of the CMG system, a new stochastic/uncertain representation of the Jacobian matrix is employed which allows for maximizing controllability near singular states. The approach makes use of a well-known expression for the CMG gain margin
S=det(AA.sup.T)(9)
(56) The objective is to allocate commands to the CMG array in a way that maximizes the expected value of the CMG gain margin (viz. CMG controllability) over a small region surrounding the nominal CMG Jacobian matrix. The region chosen is a multi-dimensional Gaussian or other distribution over the nominal CMG gimbal angles. Thus, for each gimbal, j=1, 2, . . . , m, the approach chooses a stochastic perturbation of the gimbals as follows:
.sub.pert,j=.sub.nom,j+N(0,.sup.2)(10)
(57) where .sub.pert,j is the artificially perturbed gimbal angle, .sub.nom,j is the measured nominal gimbal angle, and N(0,.sup.2) refers to a Gaussian distribution with a zero-mean and variance of .sup.2.
(58) Application of (10) allows the expected (viz. average) CMG gain margin to be computed as
(59)
(60) where the integral in (11) is technically referred to as a Lebesgue-Stieltjes integral. The Lebesgue-Stieltjes integral is an integration over the probability density functions dm(.sub.pert) for all possible values of the uncertain gimbal anglesi.e. supp(.sub.pert). To ensure controllability, it is desirable to maximize the expected CMG gain margin in the vicinity of the current CMG gimbal state.
(61) By making use of the statistics concept of the law of large numbers, which says that the average of the results obtained form a large number of samples should be close to the expected value (and will tend to become closer as the number of samples is increased), the Lebesgue-Stieltjes integrals may be avoided with
(62)
(63) The sum in (12) can be determined by Monte Carlo sampling over a sufficiently large number, i=1, 2, . . . , N, of gimbal angle samples or by using sigma points as previously described. Maximizing (12) can be used to resolve the CMG controllability problem. It is also necessary to ensure that the CMG output torque vector is aligned with the desired torque vector. Hence, constraints of the form
A(.sub.pert,i){dot over ()}=z.sub.i for i=1,2, . . . ,N(13)
(64) are included, where z.sub.i is the residual torque error for sample i. To ensure the torque error is sufficiently small, additionally write
(65)
(66) Equation (14) ensures that the residual error over all the samples is within , where is the desired torque accuracy.
(67) Equations (12), (13) and (14) may be combined into a simple optimization problem over the control vector {dot over ()}:
(68)
(69) A similar problem, where it is desired instead to minimize the sum-of-squares torque error without regard to the CMG gain margin, might be expressed as:
(70)
(71) An analytic solution may be derived for problem (15) or (16) to facilitate real-time implementation in flight hardware.
(72) To illustrate the potential performance improvement that can be obtained using the new ideas the simulation of
(73) To further illustrate the significance of the results, consider the slew time vs. slew angle curves given in
(74) The disclosure further provides a computer-implemented method of controlling a controlled system. The method comprises steps including providing a system output y.sub.j signal using a first sensor in the controlled system, providing one or more system state x.sub.i signals from at least one sensor in the controlled system, generating an error e signal using a comparison element by comparing an input r signal and the system output y.sub.j signal, and providing a control u.sub.N value dependent on the error e value. The method further comprises receiving the control u.sub.N value and system state x.sub.i signals at a control allocator programmed to evaluate a control effectiveness function which expresses the control u.sub.N value as terms comprising the system state x.sub.i values and a manipulated parameter u.sub.M value. The control allocator further identifies one or more specific system x.sub.0 values and defines a plurality of distributed x.sub.D for each specific system x.sub.0 value, and determines the manipulated parameter u.sub.M value by minimizing an error function comprising errors z.sub.i, where each error z.sub.i comprises a difference between the control u.sub.N value and the control effectiveness function when the control effectiveness function is evaluated with the plurality of distributed x.sub.D utilized as the specific system x.sub.0 value. The method further translates the manipulated parameter u.sub.M value into a manipulated parameter u.sub.M signal, communicates the manipulated parameter u.sub.M signal to a control effector in the controlled system, and operates the control effector based on the manipulated parameter u.sub.M signal.
(75) The disclosure additionally provides a system controlling a controlled system, comprising a first sensor providing a system output y.sub.j signal, at least one other sensor providing one or more system state x.sub.i signals, and a comparison element generating an error e value through comparison of a an input r signal and the system output y.sub.j signal. The system further comprises a compensator receiving the error e value from the comparison element and providing a control u.sub.N value dependent on the error e value, and a control allocator receiving the control u.sub.N value and performing steps including evaluating a control effectiveness function expressing the control u.sub.N value based on system state x.sub.i values and a manipulated parameter u.sub.M value, selecting one or more specific system x.sub.0 values, defining a plurality of distributed x.sub.D for each specific system x.sub.0 value, and minimizing an error function and determining a manipulated parameter u.sub.M value. The system further acts to translate the manipulated parameter u.sub.M value into a manipulated parameter u.sub.M signal, communicate the manipulated parameter u.sub.M signal to a control effector in the controlled system, and operate the control effector based on the manipulated parameter u.sub.M signal.
(76) Thus provided here is a closed-loop controller for a controlled system comprising a comparison element for generation of an error e value, a compensator for generation of a control u.sub.N value based on the error e value, and a control allocator for determining a manipulated parameter u.sub.M value based on the control u.sub.N value. The control allocator typically utilizes a control effectiveness function having a form such as u.sub.N=W(x.sub.i, y.sub.j, p.sub.k)u.sub.M, and determines the manipulated parameter u.sub.M value through selecting one or more specific system x.sub.0 signals from the system state x.sub.i, system input y.sub.j, and/or control effectiveness parameter p.sub.k values, defining a plurality of distributed x.sub.D around each specific system x.sub.0 signal, and minimizing an error function E(z.sub.i), where the error function E(z.sub.i)is based on errors which arise from use of the plurality of distributed x.sub.D in the control effectiveness function rather than one or more specific system x.sub.0 signals. The control allocator provides the manipulated parameter u.sub.M value to a control effector within the controlled system, so that the control effector may adjust within the controlled system and to generate a response in the controlled system similar to the response commanded by a control u.sub.N signal, in order to mitigate the error e value.
(77) It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention and it is not intended to be exhaustive or limit the invention to the precise form disclosed. Numerous modifications and alternative arrangements may be devised by those skilled in the art in light of the above teachings without departing from the spirit and scope of the present invention. It is intended that the scope of the invention be defined by the claims appended hereto.
(78) In addition, the previously described versions of the present invention have many advantages, including but not limited to those described above. However, the invention does not require that all advantages and aspects be incorporated into every embodiment of the present invention.
(79) All publications and patent documents cited in this application are incorporated by reference in their entirety for all purposes to the same extent as if each individual publication or patent document were so individually denoted.