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.
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-mimimum phase uncertain nonlinear systems
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 E. 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.
The invention is better understood by reading the following detailed description of an exemplary embodiment in conjunction with the accompanying drawings, wherein:
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 Ê.
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.
It should be understood by those who are skilled in the art that the block diagram at
Turning to
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:
ż0=f(z0, x1, . . . , xr)
{dot over (x)}1=x2
{dot over (x)}r−1=xr
{dot over (x)}r=h(z0, x1, . . . , xr, u)
y=x1 (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
where
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:
ż1=F0z1+g0xl
{dot over (x)}l
{dot over (x)}l
{dot over (x)}l
yl=xl
where zl ∈ 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 ∈ Rn
The plant model in (2), when regulated by (3), constitutes a reference model”. Defining
and denoting xcl the states of the controller in (3) when applied to (2), i.e. when y is replaced by yl (3), the “reference model” can be written as:
where
The dynamics in (4) can be written in the following compact form:
{dot over (x)}l=Āxl+
yl=
where xl ∈ Rm+n
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(z1 z2 ξ), 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∥≦y1∥x∥+y2, x∈ Ωx⊂ Rm+n
with known
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+a1x1+ . . . +arxr+b(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:
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)
ūdT(t)=[u(t) u(t−d) . . . u(t−(n1−r−1)d)]T
with n1≧n and d>0, σ being a vector of squashing functions σ(*), its ith element being defined like [σ(NTη)]=σ[(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+
ż2=f2(z2, z1, ξ)
y=
in which
With the following definition of the error vector
ET≡[(ξl−ξ)T(zl−z1)T(xcl−xc)T] (18)
Following (6) and (17), the error dynamics can be expressed as:
Ė=ĀE+
z=
where z represents the signals available for feedback:
and BT=[0 I 0], I ∈ R(m−r)x(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)}=
Where K is chosen to make Ā−K
{circumflex over ({dot over (M)}=−F[({circumflex over (σ)}−{circumflex over (σ)}′{circumflex over (N)}Tη)ÊTP
{circumflex over ({dot over (N)}=−G[ηÊP
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
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 ξl dynamics in (2), thus having the closed loop system in (4) without zl states. The error vector (18) can be defined without the zl−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+
y=
ż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:
That can be re-written:
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.
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.
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.
Number | Name | Date | Kind |
---|---|---|---|
4663703 | Axelby et al. | May 1987 | A |
5049796 | Seraji | Sep 1991 | A |
5224664 | LaMontagne et al. | Jul 1993 | A |
5268834 | Sanner et al. | Dec 1993 | A |
5367612 | Bozich et al. | Nov 1994 | A |
5394322 | Hansen | Feb 1995 | A |
5682309 | Bartusiak et al. | Oct 1997 | A |
5687075 | Stothers | Nov 1997 | A |
5691893 | Stothers | Nov 1997 | A |
5692708 | Coleman et al. | Dec 1997 | A |
5768124 | Stothers et al. | Jun 1998 | A |
5901059 | Tao et al. | May 1999 | A |
5936792 | Yamaguchi et al. | Aug 1999 | A |
5943660 | Lewis et al. | Aug 1999 | A |
5959861 | Kaneko | Sep 1999 | A |
6026793 | Yasui et al. | Feb 2000 | A |
6055524 | Cheng | Apr 2000 | A |
6092919 | Calise et al. | Jul 2000 | A |
6230062 | Shah | May 2001 | B1 |
6404581 | Shah | Jun 2002 | B1 |
6618631 | Johnson et al. | Sep 2003 | B1 |
6721609 | Wojsznis et al. | Apr 2004 | B1 |
7218973 | Johnson et al. | May 2007 | B2 |
7277764 | Hovakimyan et al. | Oct 2007 | B2 |
Number | Date | Country |
---|---|---|
2 399 894 | Sep 2004 | GB |
WO 0182007 | Nov 2001 | WO |
WO 0192974 | Dec 2001 | WO |
Number | Date | Country | |
---|---|---|---|
60431957 | Dec 2002 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10732208 | Dec 2003 | US |
Child | 11845627 | US |