Disturbance decoupling by measurement feedback: sensor location

The paper addresses the problem on sensor location regarding the solvability of the disturbance decoupling problem by the dynamic measurement feedback (DDDPM). Both, the discreteand continuous-time nonlinear systems are considered. An exact formula is given to compute a controlled invariant vector function, necessary for the solvability of the DDDPM. Then, two methods are given to find a measured output, which guarantee the solution to the DDDPM. The results are illustrated by several examples.


INTRODUCTION
In this paper, we will focus on the problem of the location of the sensors regarding the solvability of the disturbance decoupling problem by the dynamic measurement feedback (DDDPM). Aspects of the sensor location problem have been widely studied in the literature related to different problems. In general, this problem answers the questions how many sensors we need and where they should be placed so that the problem is solvable. Most frequently, one desires to place the sensors so as to be able to estimate the states or system parameters [2,16,18,19] or to detect the changes in the system behaviour [1]. The latter aspect is strongly connected to fault detection and isolation problems [3][4][5][6][7]. The problem considered in this paper falls into the last category. It was shown in [11] that the DDDPM is closely related to the fault tolerant control. In [11], it was assumed that the faults are detected and isolated, after which a subsystem that does not depend explicitly on the faults is found. In this sense, the sensor location problem considered in this paper can be used to ensure that the subsystem one looks for in [11] has the maximal possible dimension.
Note that to choose the number of sensors and their locations such that the DDDPM becomes solvable, one has to be able to check the solvability of the DDDPM. For that reason, this paper relies on the necessary and sufficient solvability conditions for the DDDPM [12]. The conditions given in [12] were developed for discrete-time nonlinear systems and depend on the existence of a certain controlled invariant vector function. To compute this vector function, the algorithms were given in [11] and [12], but neither of them is easily computable.
In this paper, we first give, under some assumptions, an explicit formula to compute the required controlled invariant vector function. After that the sensor location problem is considered.
A condition is given that guarantees that the selection of an output function H results in the solvability of the DDDPM. One looks for the maximal (in the sense of preorder ≤ defined in Section 2) vector function H that satisfies the given condition. The difficulty is that the vector function H one looks for is not unique, and thus many possibilities exist for finding it. We present two methods to find the vector function H, with minimal dimension, which guarantee the solvability of the DDDPM. Note that the measured output H determines the location of the necessary sensors. Which of these two solutions is better depends on the specific situation (cost of sensors, possibility of putting a sensor in such a place etc.) and the system dynamics.
Discrete-and continuous-time nonlinear systems are considered in this paper. The main results are given for the discrete-time case and the differences compared to the continuous-time case are highlighted. Although the proofs of some results are pretty much similar to those in the discrete-time case, there are some results that need a different proof due to the different properties of derivative and shift operators. The preliminary results of this paper were presented in [13] and [14], where the discrete-and continuous-time cases were discussed, respectively.
The paper is organized as follows. Section 2 describes the problem statement and recalls briefly the mathematical tools applied in this paper. Section 3 presents the main results for discrete-time systems. In Section 4, the continuous-time case is discussed and in Section 5 examples are presented. The paper ends with conclusions.

Problem statement
We give the problem statement for discrete-time systems. The continuous-time case can be stated similarly. In this paper the disturbance decoupling problem under a dynamic measurement feedback (DDDPM) is studied for discrete-time nonlinear control systems of the form is the measured output, and y * (k) ∈ Y * ⊆ R L is the output to be controlled. The DDDPM for system (1) can be stated as follows: find a vector function z(k) = φ(x(k)), z(k) ∈ R q and a regular dynamic measurement feedback of the form where v(k) ∈ V ⊆ R m and rank[∂ G/∂ v] = m, such that the values of the outputs to be controlled y * (k), for k ≥ 0, of the closed-loop system (see Fig. 1) are independent of the disturbances w(k). Note that we call the compensator described by (2) regular if it generically defines the (y, z)-dependent one-to-one correspondence between the variables v(k) and u(k). One says that the disturbance decoupling problem is solvable via static output feedback if u(k) = G(y(k), v(k)). We are searching for generic solutions, i.e. for solutions that are valid on some open and dense subsets of suitable domains if they are valid on some point of this domain.
Note that the solution to the DDDPM depends on the measured output y(k). The main goal of this paper is to find for a given system a measured output y(k) = H(x(k)) such that the DDDPM is solvable for (3).

The algebra of functions
The mathematical approach called the algebra of functions [20] will be used to address the problem. We recall briefly the definitions and concepts to be used in this paper, see also [15]. Denote by S D and S X the sets of vector functions with the domains D = X ×U ×W and X, respectively. On S D is defined a preorder ≤, which induces an equivalence relation ∼ =.
The relation ∼ = is an equivalence relation and divides the elements of S D into equivalence classes for which the relation ≤ is partial order. The set of these equivalence classes is, together with the relation ≤, a lattice, since 0 := [x, u, w] ≤ α ≤ 1 for all α ∈ S D , where 1 is the equivalence class containing constant vector functions. This allows us to define the binary operations × and ⊕ as for all α, β ∈ S D . Note that hereinafter we work with the equivalence classes, i.e. the sign '=' should be understood as ' ∼ ='. The previously defined lattice will be connected to the system dynamics (1) through the following binary relation ∆.
Definition 2. Given α, β ∈ S X , one says that (α, β ) ∈ ∆ if there exists a function f * such that for all The binary relation ∆ is mostly used for the definition of the operators m and M.
Some important properties of the relation ≤ and operators ⊕, ×, and M are given by the following Lemma.

The solution of the DDDPM
In this subsection the solution to the DDDPM is given. Compared to [12], improved proofs are provided and an explicit formula is found for the computation of the controlled invariant vector function ξ on which the solution of the DDDPM depends.
First, some important definitions are recalled.

Definition 5. The vector function α ∈ S X is said to be controlled invariant if there exists a regular static state feedback u = G(x, v) such that α is f -invariant for the closed-loop system.
Definitions 4 and 5 are generalizations of the concepts of conditioned invariant and controlled invariant distributions, respectively, as given, for instance in [10]. See more about their relationship in [12].
For checking whether a vector function α is (h, f )-invariant ( f -invariant), we use the following Lemma.
Note that when vector functions α and β are (h, f )-invariant, then so is α ×β . This means that when one looks for a minimal (h, f )-invariant vector function α satisfying µ ≤ α for some µ ∈ S X , then it is uniquely defined. The same is true for f -invariant vector functions, since these are a special case of (h, f )-invariance.

Lemma 3. Let α and β be minimal (h, f )-invariant and f -invariant functions satisfying the conditions
To present the results on the DDDPM, find first a minimal (containing the maximal number of functionally independent components) vector function α 0 (x) such that its forward shift α 0 ( f (x, u, w)) does not depend on the unmeasurable disturbance w. The function α 0 (x) plays an important role in the solution of the DDDPM below.
The next theorem gives a condition to check if a system is disturbance decoupled or not.

Theorem 2. System (1) can be disturbance decoupled by feedback (2) if and only if there exist an controlled invariant function ϕ and an
Proof. Necessity. Denote by f and ∆ the function f and the relation ∆, respectively, for the closed-loop system (1)- (2). Assume that there exists a feedback (2) that solves the DDDPM. Then, by Theorem 1, there exists anf -invariant function ϕ such that α 0 ≤ ϕ ≤ h * . Obviously, ϕ is controlled invariant for the original system (1). In (2), the function φ =: ψ is clearly (h, f )-invariant and the condition α 0 ≤ ψ is satisfied.
The algorithm below can be used to find the vector function ψ in Theorem 2. It computes the minimal (h, f )-invariant vector function α that satisfies the condition α 0 ≤ α.
Algorithm 1 [15]. Given α 0 , compute recursively for i ≥ 1, using the formula the sequence of non-decreasing vector Since α is the minimal (h, f )-invariant function satisfying the condition α 0 ≤ α, this function is the best choice for ψ in Theorem 2.
Finding the controlled invariant vector function ϕ in Theorem 2 is more complicated. Below, in Theorem 3 a formula for computing ϕ is given under some assumptions.
Let h * = [h * 1 , . . . , h * L ] T and denote by r i and d i the relative degrees of the function h * i (x) with respect to the control input u and the disturbance w, respectively. Moreover, we use the notations . We make the following assumptions: generically, i.e. everywhere except on the set of zero measure.
Assumption 2. The output y * has a vector relative degree.
Note that Assumption 1 is a standard assumption made in the solution of the disturbance decoupling problem even when the solution is looked for in the form of state feedback. Assumption 2 may be, in principle, replaced by the assumption of right invertibility (regarding the output y * ). However, this type of assumption is often made for the same of simplification; in particular here it allows finding the explicit formula to compute the function ϕ in Theorem 2, allowing us to make the result of Theorem 2 constructive.
Consider the set of equations Under Assumptions 1 and 2, the set of equations (9) is generically solvable for u. Note that the definition of the operator M depends on the function f in Eq. (1). By M we denote the operator M defined by the function f , which is the state transition map for the closed-loop system (1)- (2). Under Assumptions 1 and 2, the maximal controlled invariant function ξ that satisfies the inequality ξ ≤ h * may be computed by the formula Proof. Since the set of equations (9) is solvable for u, one can find a static state feedback by solving these equations. We show that the function ξ in (10) isf -invariant. By the third property of Lemma 1, one obtains and from the definition of the operator M, one has M(h i.e. ξ ≤ M(ξ ). By Lemma 2 the function ξ is an f -invariant or controlled invariant function for the original system. Next, let β be another controlled invariant function such that [15], one obtains Since ξ is the maximal controlled invariant function satisfying the inequality ξ ≤ h * , this function is the best choice for ϕ in Theorem 2.

Sensor location
In this subsection, two methods for finding the unknown measured output function H(x) that make the DDDPM solvable are described. The goal is to find the vector function H as maximal 2 as possible because typically one wants a minimal number of sensors to be used. By Theorem 2, the function H must guarantee the existence of an (H, f )-invariant vector function ψ and a controlled invariant vector function ϕ , satisfying α 0 ≤ ψ ≤ ϕ ≤ h * . Note that the controlled invariant vector function ϕ does not depend on the choice of H(x), and thus it can be taken equal to the vector function ξ (which has to satisfy α 0 ≤ ξ ), defined by (10). In Case 1 below, the function H is computed based on the function α 0 , in Case 2, the function H is computed based on the function ξ . Case 1. In this case, the measured output H is chosen such that the (H, f )-invariant vector function ψ can be taken ψ = α 0 . Note that by Algorithm 1, we have α 1 = α 0 ⊕ m(α 0 × H). If the choice H guarantees that m(α 0 × H) ≤ α 0 , then α 1 = α 0 , α = α 0 and one can take ψ = α. Therefore ψ ≤ ξ and the DDDPM is solvable for the given H. The condition m(α 0 × H) ≤ α 0 is equivalent to the condition α 0 × H ≤ M(α 0 ), which is easier for computing the maximal H satisfying the last inequality.
Case 2. In this case, the measured output H is chosen such that the (H, f )-invariant vector function ψ can be taken ψ = ξ . By definition, one has to find the maximal function H such that ξ × H ≤ M(ξ ) is valid, meaning the function ξ is (H, f )-invariant. Since the condition α 0 ≤ ξ holds, the function ξ can be taken as ψ.
In general, one may take any vector function η that satisfies α 0 ≤ η ≤ ξ and find the maximal function H such that η × H ≤ M(η) is valid. In this case ψ can be taken equal to η. In all the cases described above, one needs to find the maximal vector function H that satisfies the condition λ × H ≤ M(λ ) for the given λ . Loosely speaking, the function H 'helps' the function λ to satisfy the condition λ × H ≤ M(λ ). Note that the maximal vector function H that satisfies the condition λ × H ≤ M(λ ) is not unique and that there are many different ways to find H.
It is easy to see that choosing H = M(λ ) guarantees always that λ × H ≤ M(λ ). However, this choice is not in general maximal 3 . The previous choice is maximal if and only if M(λ ) ⊕ λ = 1. If not, then one has to eliminate the elements of M(λ ) ⊕ λ from M(λ ), i.e. to find µ such that This assures that there are no elements in vector µ that can be written in terms of λ and the other elements of µ. Another, more heuristic way of finding the maximal vector function H that satisfies λ × H ≤ M(λ ) is described below. Take H such that its elements are (i) all the functions M(λ ) i that are components of the vector function M(λ ) and satisfy the condition λ M(λ ) i ; (ii) all the variables x i on which the vector function M(λ ) depends, but the vector function λ does not.
This H is, in general, not maximal but it can be simplified as follows: (iii) one can replace H by the equivalent but 'simpler' vector function H ′ ; (iv) some of the elements of H ′ , that can be written in terms of λ and the other elements of H ′ , can be removed.
Example 1 (Demonstration of the points (iii) and (iv)). Let Then by the procedure above, one gets can be removed since it can be written in terms of λ and the other elements of H ′ : ln(x 2 ) = ln(0.5(λ 1 (x) + λ 2 (x) − H ′ 1 (x))). Thus one gets  (H 3 (x)). So, we get H ′ (x) = [x 2 , x 4 ] T as a solution. To resume, consider the variables x j such that λ depends on x j but µ does not, and add these variables to H.
To resume, the following procedure is suggested to solve the sensor location problem under consideration.
Step 3. Choose the better solution based on the cost of sensors in respective places or possibilities of putting the sensor in such a place.
There is also a possibility that the initial system has some sensors described by the output function y = h(x), but they are deficient to solve the DDDPM. In this case the problem is to find the additional sensors, described by the output function y a = H a (x), such that the DDDPM becomes solvable for the output (y, y a ). This problem can be solved by constructing the function H as shown above and finding the solution of the inequality h × H a ≤ H by the methods developed above.

CONTINUOUS-TIME CASE
In this section continuous-time systems are considered. It is shown that results similar to those in the discrete-time case are valid for the solvability of the DDDPM and the sensor location problem. Therefore, only the most important differences are discussed in this section.
The problem statement of the DDDPM is similar for continuous-time systems except that the systems are in the formẋ where x(t) ∈ X ⊆ R n , u(t) ∈ U ⊆ R m , w(t) ∈ W ⊆ R ρ , y(t) ∈ Y ⊆ R p , y * (t) ∈ Y * ⊆ R L and one searches for the regular feedbackż (t) = F(z(t), y(t), v(t)), where z(t) ∈ R q .
In the methodology, the main difference between the discrete-and continuous-time cases is the definition of the relation ∆. In the continuous-time case the binary relation ∆ is defined as follows.
Definition 7. Given α, β ∈ S X , one says that (α, β ) ∈ ∆ if there exists a function f * such that for all Note that here one has to assume that the vector function β is differentiable. This makes Definition 7 more restrictive than Definition 2, where β can also be non-smooth. Of course, since the binary relation ∆ is defined differently in discrete-and continuous-time cases, the properties of the operators m and M are slightly different in the continuous-time case. Namely, property 2 in Lemma 1 is different, taking the form Now, one can generalize Theorems 1 and 2 to the continuous-time case.

Theorem 4. System (12) is disturbance decoupled if and only if there exists an f -invariant function ϕ such
Proof. Coincides with that in the discrete-time case given in [11].
Theorem 5. System (12) can be disturbance decoupled by feedback (13) if and only if there exist a controlled invariant function ϕ and an (h, f )-invariant function ψ such that Proof. Necessity. The proof coincides with the proof of Theorem 2.
Sufficiency. The proof differs from the discrete-time case due to different properties of the operator M. Since ϕ is controlled invariant, there exists a static state feedback , v) for some function χ. Since α 0 ≤ ϕ ≤ h * , then by Theorem 4, the closed-loop system is disturbance decoupled. It remains to show that function G depends only on the variables z, y, and v. Take in (13) z(t) = φ(x(t)) and set in (16) (15). It follows from the definitions of the (h, f )-invariant function that φ × h ≤ M(φ); since φ ≤ φ, then by the definition of the operation ×, φ × h ≤ φ × M(φ). Therefore, one gets φ × h ≤ M(ϕ ). By the definition of the operator M, . This means that χ can be written in terms of z, y, and v and then the function G depends also only on z, y, and v.
Just like above, one can use Algorithm 1 to compute the minimal (h, f )-invariant vector function α satisfying α 0 ≤ α. However, here we give another possibility for computing α since unlike in the discretetime case, there does not exist a formula or an algorithm to compute m(β ) for a given β . Observe that here unlike in Algorithm 1 we do not rely on the operator m but on the operator M.
Given α 0 , compute recursively for i ≥ 0, using the formula (we will use below the notationα i+1 =α i ⊕ (α i × h × u) for simplicity) the sequence of non-decreasing functions (follows from the property of the operation ⊕). The sequence converges in a finite number of steps since if α i ̸ = α i−1 , the number of components of the function α i is less than that of the function α i−1 or equal to it, i = 1, 2, .... This means that there exists a finite j such that α j ̸ = α j−1 but α j+l = α j for all l ≥ 1. Define α := α j . Note that finding α (i+1) from its time derivative requires that the following set of partial differential equations be solved for α i+1 : where on the right-hand side is the vector function obtained from formula (17).
Next, it is shown that Theorem 3 can also be generalized for continuous-time systems. For that, let y * i (t) = h * i (x(t)) =: h * i,1 (x(t)), y u(t)) for some f i . Theorem 7. Under Assumptions 1 and 2, the maximal controlled invariant function ξ that satisfies the inequality ξ ≤ h * may be computed by formula (10).
Proof. The proof consists of two parts. The first part (ξ computed from (10) is f -invariant) practically coincides with the respective part of Theorem 3. In the second part of the proof (ξ is maximal among such invariant functions) there is a small difference due to the different properties of the operator M in the continuous-time case. In particular, if β ≤ h * , then β × M(β ) ≤ M(h * ), but since β ≤ M(β ), one obtains M(β ) ≤ M(h * ), which agrees with the discrete-time case.
As above, the functions α and ξ are the best choices for ψ and ϕ , respectively, in Theorem 5. Recall that in Section 3 we described methods for finding the unknown measured output function H(x) that makes the DDDPM solvable. In the continuous-time case the methods are the same. That is, one wants to make a vector function λ that satisfies α 0 ≤ λ ≤ ξ , (H, f )-invariant. The methods for computing such H are the same for discrete-and continuous-time cases.

EXAMPLES
Example 3. Consider the control system +x 1 (k) + ϑ 6 u 1 (k) + ϑ 6 u 2 (k), x 3 (k + 1) = ϑ 4 x 4 (k) + ϑ 5 x 3 (k)sign(x 1 (k)) +x 3 (k) + ϑ 9 u 3 (k), x 4 (k + 1) = ϑ 10 x 3 (k) + x 4 (k), Equations (18) constitute a simplified sampled-data model of the underwater vehicle moving on a vertical plane developed under the assumptions of small x 1 and x 2 values, see [17]. Model variables have the following meaning: x 1 is the velocity; x 2 is the angle of the trajectory; x 4 and x 3 are the trim and its time derivative, respectively; x 5 is the depth. The model coefficients ϑ 1 ÷ ϑ 11 characterize the masses, inertia, and the structural features of the vehicle. The inputs u 1 , u 2 , and u 3 are the forces of the upper and bottom stern thrusters and the vertical bow thruster, respectively. Our goal is to find the measurement output in such a manner that allows us to solve the DDDPM.  4. Consider the control system described by the equationṡ These equations constitute the normalized four-bank benchmark process [8], where the state variables x 1 , Set z := x 3 − x 4 , the compensator is described by the equationṡ Example 5. Consider the control system described by the equationṡ sin(u 1 (t) − x 1 (t) + x 5 (t)), u 2 (t) − w(t)x 2 2 (t), w(t)x 2 (t), x 1 (t) cos(x 3 (t)) + u 2 (t), x 1 (t)x 4 (t),       y * 1 (t) = x 1 (t), y * 2 (t) = x 5 (t).
Observe that sometimes one may simplify the solution if in (9) f i (x(t), u(t)) may be rewritten in the form of a composite function for some ψ and f i : f i (x(t), u(t)) = ψ( f i (x(t), u(t))).