The recently proposed data-driven pole placement method is able to make use of measurement data to simultaneously identify a state space model and derive pole placement state feedback gain. It can achieve this precisely for systems that are linear time-invariant and for which noiseless measurement datasets are available. However, for nonlinear systems, and/or when the only noisy measurement datasets available contain noise, this approach is unable to yield satisfactory results. In this study, we investigated the effect on data-driven pole placement performance of introducing a prefilter to reduce the noise present in datasets. Using numerical simulations of a self-balancing robot, we demonstrated the important role that prefiltering can play in reducing the interference caused by noise.
In state feedback pole placement, the state feedback gain must be determined for a given system such that the closed-loop poles coincide with the desired locations. This is a well-known problem, and the pole placement methods have been extensively discussed in the literature [
Many studies of data-driven control have focused on output feedback control and data-driven state feedback control [
This data-driven pole placement method can, therefore, be applied to linear and time-invariant systems with measurable states. The method is briefly reviewed in Section 2. However, the capacity of the data-driven pole placement method to handle noise remains an open issue, though in [
Notation: Let A and B be m × n and p × q matrices, respectively. Then, the Kronecker product of A and B is a m p × n q matrix, defined as follow:
A ⊗ B = [ a 11 B ⋯ a 1 n B ⋮ ⋮ a m 1 B ⋯ a m n B ] , (1)
where a i j ( i = 1 , ⋯ , m , j = 1 , ⋯ , n ) is the i j t h element of A . The vectorization of then stacks the columns into a vector:
vec ( A ) = [ a 1 ⋮ a n ] , (2)
in which a j is the j t h column of A . The Frobenius norm of matrix A ∈ R m × n is defined as
‖ A ‖ F = ∑ i = 1 m ∑ j = 1 n | a i j | 2 . (3)
In this section, we briefly review the data-driven pole placement method formulated in [
Consider a discrete-time linear time-invariant system and static state feedback
x ( k + 1 ) = A x ( k ) + B u ( k ) (4)
u ( k ) = F x ( k ) + v ( k ) (5)
where A ∈ ℝ n × n , B ∈ ℝ n × m , x ∈ ℝ n is the state vector, u ∈ ℝ m is the input vector, F ∈ ℝ m × n is the feedback gain, and v ∈ ℝ m is the external input to the closed loop system.
The data-driven pole placement problem was formulated in [
Problem 1. We assume that the order of the plant n is known, state n is measurable, pair ( A , B ) is controllable but the exact value is unknown and B is of full rank. Let Λ = { p 1 , ⋯ , p n } be a self-conjugate set of n complex numbers in the unit circle. Given the input and output measurement data sequence ( x 0 ( k ) , u 0 ( k ) ) of (4), find a state feedback gain F from the observed data ( x 0 ( k ) , u 0 ( k ) ) such that { λ i ( A + B F ) } = Λ .
In a conventional approach, this problem is solved in two steps: A and B are identified from ( x 0 ( k ) , u 0 ( k ) ) , then F is derived using the standard pole placement algorithms. In contrast, the data-driven pole placement method solves the two steps simultaneously. To achieve this, the method uses the equivalency between the closed-loop system
x ( k + 1 ) = ( A + B F ) x ( k ) + B v ( k ) , (6)
with the desired pole placement gain F and
x d ( k + 1 ) = A d x d ( k ) + B d v ( k ) , (7)
x d ( k ) = T x ( k ) , (8)
where ( A d , B d ) with λ i ( A d ) = p i is an appropriate controllable pair. This equivalency requires the nonsingular matrix T to exist. Then, we remove v from (7) by using (5), to obtain
x d ( k + 1 ) = A d x d ( k ) + B d u ( k ) − B d F x ( k ) . (9)
Then, using (8), we obtain
T x ( k + 1 ) = A d T x ( k ) + B d u ( k ) − B d F x ( k ) . (10)
If ( x 0 ( k ) , u 0 ( k ) ) ( k = i , ⋯ , i + N ) satisfies (10),
T X 0 P 1 = A d T X 0 P 2 + B d U 0 − B d F X 0 , (11)
where
X 0 = [ x 0 ( i ) x 0 ( i + 1 ) ⋯ x 0 ( i + N ) ] , (12)
U 0 = [ u 0 ( i ) u 0 ( i + 1 ) ⋯ u 0 ( i + N − 1 ) ] , (13)
P 1 = [ 0 1 × N I N ] , P 2 = [ I N 0 1 × N ] . (14)
In [
S 1 [ T F ] X 0 P 1 + S 2 [ T F ] X 0 P 2 = B d U 0 , (15)
S 1 = [ I n 0 n × m ] , S 2 = [ − A d B d ] , (16)
and
F = [ f 1 ⋮ f m ] ∈ ℝ m × n , T = [ t 1 ⋮ t m ] ∈ ℝ n × n . (17)
Remark 1. The system in (7) can be interpreted as a reference model within VRFT (e.g., [
Remark 2. To obtain the datasets in (12) by applying state feedback in (5) to the system in (4), the initial feedback gain F should be based on ( A , B ) . Hence, in Problem 1, the exact value of ( A , B ) is assumed to be unknown.
When applying the property of Kronecker product vec ( M N D ) = ( N T ⊗ M ) vec D (see for example Th.2.13 in [
Χ η = U , (18)
where
η = [ t 1 ⋯ t n f 1 ⋯ f m ] Τ ∈ ℝ ( n + m ) n , (19)
Χ = S 1 ⊗ ( X 0 P 1 ) Τ + S 2 ⊗ ( X 0 P 2 ) Τ ∈ ℝ n N × ( n + m ) n , (20)
U = ( B d ⊗ U 0 Τ ) ( vec I m ) ∈ ℝ n N . (21)
If T is nonsingular, the model coefficients can be obtained
A = T − 1 A d T − T − 1 B d F , B = T − 1 B d . (22)
When the measurement of x is contaminated by noise ε ,
x 0 ( k ) = x ( k ) + ε ( k ) . (23)
Then, (10) becomes
T ( x 0 ( k + 1 ) − ε ( k + 1 ) ) = A d T ( x 0 ( k ) − ε ( k ) ) + B d u 0 ( k ) − B d F ( x 0 ( k ) − ε ( k ) ) . (24)
Hence, if ( x 0 ( k ) , u 0 ( k ) ) ( k = i , ⋯ , i + N ) satisfies the above equation,
T ( X 0 − E ) P 1 = A d T ( X 0 − E ) P 2 + B d U 0 − B d F ( X 0 − E ) P 2 , (25)
where
E = [ ε ( i ) ε ( i + 1 ) ⋯ ε ( i + N ) ] . (26)
Then, the resulting linear equation is given as
( Χ + Δ Χ ) η = U + Δ U , (27)
where the effect of noise Δ Χ has the same structure as Χ in (20), then
Δ Χ = − S 1 ⊗ ( E P 1 ) T − S 2 ⊗ ( E P 2 ) T , (28)
and Δ U is the equation error. Following [
η = − 1 V 22 V 12 (29)
based on the singular value decomposition
[ Χ U ] = [ U 1 U 2 ] [ Σ 1 0 0 Σ 2 ] [ V 11 V 12 V 21 V 22 ] T , (30)
where these matrices are partitioned into blocks corresponding to Χ and U .
Here, we assume that there exists M > 0 such that
1 M ∑ j = 1 M ε ( i + j ) ≈ 0 (31)
for all i . This means that when N > M ,
E P 1 Φ ≈ 0 , E P 2 Φ ≈ 0 (32)
for the matrix
Φ = 1 M [ 1 0 ⋯ 0 ⋮ ⋱ ⋱ ⋮ 1 ⋱ ⋱ 0 0 ⋱ ⋱ 1 ⋮ ⋱ ⋱ ⋮ 0 ⋯ 0 1 ] ∈ ℝ N × ( N − M + 1 ) , (33)
where each column has M elements of 1. Therefore,
T X ˜ 0 P 1 = A d T X ˜ 0 P 2 + B d U ˜ 0 − B d F X ˜ 0 P 2 (34)
where
X ˜ 0 = X 0 Φ , U ˜ 0 = U 0 Φ . (35)
This multiplication by Φ represents the prefiltering of signals via an M th order FIR filter.
When the systems (4) and (7) are driven by the exciting signal, we have
( X 0 − E ) P 1 = A ( X 0 − E ) P 2 + B U 0 , (36)
U 0 = F ( X 0 − E ) P 2 + V , (37)
X d = T ( X 0 − E ) P 2 , (38)
X d P 1 = A d X d P 2 + B d V , (39)
where
X d = [ x d ( i ) x d ( i + 1 ) ⋯ x d ( i + N ) ] , (40)
V = [ v ( i ) v ( i + 1 ) ⋯ v ( i + N − 1 ) ] . (41)
By applying Φ to these systems, we obtain
X 0 P 1 Φ = A X 0 P 2 Φ + B U 0 Φ , (42)
U 0 Φ = F X 0 P 2 Φ + V Φ , (43)
X d P 2 Φ = T X 0 P 2 Φ , (44)
X d P 1 Φ = A d X d P 2 Φ + B d V Φ . (45)
Here, if V Φ ≈ 0 , (34) cannot be satisfied. Hence, for all i, V Φ ≠ 0 , that is
1 M ∑ j = 1 M v ( i + j ) ≠ 0 (46)
must be satisfied.
We next applied the data-driven pole placement method described above to the model of a self-balancing robot [
u = [ u 1 u 2 ] = [ v r + v 1 v r − v 1 ] . (47)
We assume that the pitch angle θ b and the pitch angular velocity θ ˙ b of the body could be measured, as well as the angles θ r and θ 1 of the right and left wheels, and their angular velocities θ ˙ r and θ ˙ 1 , respectively. We define the mean values of the right and left wheel angles θ r and θ 1 , and the yaw angle of the body as follows:
θ w = 1 2 ( θ r + θ 1 ) , (48)
ϕ = r w ( θ r − θ 1 ) , (49)
where r is the radius of the wheel and w = 2 d is the distance between the two wheels.
The equation of motion for the self-balancing robot can be derived as
{ J 1 ( θ b ( t ) ) [ θ ¨ w ( t ) θ ¨ b ( t ) ] + D 1 [ θ ˙ w ( t ) θ ˙ b ( t ) ] − M b l sin θ b ( t ) [ r θ ˙ b 2 ( t ) g + l cos θ b ( t ) ϕ ˙ 2 ( t ) ] = H 1 u ( t ) J 2 ( θ b ( t ) ) ϕ ¨ ( t ) + D 2 ϕ ˙ ( t ) + ( 2 M b l 2 sin θ b ( t ) cos θ b ( t ) ) θ ˙ b ( t ) ϕ ˙ ( t ) = H 2 u ( t ) , (50)
where
J 1 ( θ b ) = [ 2 ( J w + g r 2 J m ) + ( 2 M w + M b ) r 2 − 2 g r 2 J m + M b l r cos θ b − 2 g r 2 J m + M b l r cos θ b J b + 2 g r 2 J m + M b l 2 ] ,
J 2 ( θ b ) = J ϕ + 2 d 2 r 2 ( J w + g r 2 J m ) + 2 M w d 2 + M b l 2 sin 2 θ b ,
D 1 = 2 [ d b + d w − d b − d b − d w d b ] , D 2 = 2 d 2 r 2 ( d b + d w ) ,
H 1 = b v [ 1 0 − 1 0 ] , H 2 = b v d r [ 0 1 ] ,
d b : = g r 2 K t K e R m + g r d m , b v : = g r K t R m .
The symbols are explained in
acceleration due to gravity [m/s2] | |
---|---|
mass of body [kg] | |
mass of wheel [kg] | |
radius of wheel [m] | |
moment of inertia of wheel [kg∙m2] | |
vehicle width [m] | |
distance from wheel center to center of gravity of robot body [m] | |
moment of inertia of body (pitch) [kg∙m2] | |
moment of inertia of body (yaw) [kg∙m2] | |
moment of inertia of DC motor [kg∙m2] | |
resistance of DC motor [Ω] | |
electromotive force constant of DC motor [V∙s/rad] | |
torque constant of DC motor [N∙m/A] | |
gear ratio | |
coefficient of friction between wheel and DC motor | |
coefficient of friction between wheel and floor |
We linearized the equations of motion (50) around equilibrium states θ w = 0 , θ b = 0 , ϕ = 0 , θ ˙ w = 0 , θ ˙ b = 0 , ϕ ˙ = 0 , and u = 0 . Then, under the assumption that sin θ b ( t ) ≈ θ b ( t ) , cos θ b ( t ) ≈ 1 , sin 2 θ b ( t ) ≈ 0 , θ b 2 ( t ) ≈ 0 , ϕ 2 ( t ) ≈ 0 , and sin θ b ( t ) cos θ ˙ b ( t ) ϕ ˙ ( t ) ≈ 0 , the linearized equations of motion can be derived as
{ J 1 x ¨ a ( t ) + D 1 x ˙ a ( t ) + K 1 x a ( t ) = H 1 u ( t ) J 2 x ¨ b ( t ) + D 2 x ˙ b ( t ) = H 2 u ( t ) , (51)
where
x a ( t ) : = [ θ w ( t ) θ b ( t ) ] , x b ( t ) : = ϕ ( t ) , (52)
J 1 = J 1 ( 0 ) , J 2 = J 2 ( 0 ) , K 1 = M b lg [ 0 0 0 − 1 ] . (53)
By defining the state vector
x 1 ( t ) = [ x a ( t ) x ˙ a ( t ) ] = [ θ w ( t ) θ b ( t ) θ ˙ w ( t ) θ ˙ b ( t ) ] , x 2 ( t ) = [ x b ( t ) x ˙ b ( t ) ] = [ ϕ ( t ) ϕ ˙ ( t ) ] , (54)
the linear state space model can be derived as
{ x ˙ 1 ( t ) = A c 1 x 1 ( t ) + B c 1 u 1 ( t ) , x ˙ 2 ( t ) = A c 2 x 2 ( t ) + B c 2 u 2 ( t ) , (55)
where
A c 1 = [ 0 2 × 2 I 2 − J − 1 K 1 − J − 1 D 1 ] , B c 1 = [ 0 2 × 1 b v J 1 − 1 [ 1 − 1 ] ] ,
A c 2 = [ 0 1 0 − J 2 − 1 D 2 ] , B c 2 = [ 0 b v d r J 2 − 1 ] .
Then, the feedback can be independently designed as
u 1 = F 1 x 1 + v 1 , u 2 = F 2 x 2 + v 2 . (56)
Note that this can be more succinctly represented as
x ˙ ( t ) = A c x ( t ) + B c u ( t ) , u ( t ) = F x ( t ) , x ( t ) = [ x 1 ( t ) x 2 ( t ) ] , (57)
A c = [ A c 1 0 4 × 2 0 2 × 4 A c 2 ] , B c = [ B c 1 0 4 × 1 0 2 × 1 B c 2 ] , F = [ F 1 0 1 × 2 0 1 × 4 F 2 ] . (58)
When the parameters in
{ x 1 ( k + 1 ) = A 1 x 1 ( k ) + B 1 u 1 ( k ) , x 2 ( k + 1 ) = A 2 x 2 ( k ) + B 2 u 2 ( k ) , (59)
where
A 1 = [ 1 0 .1719 0 .0226 0 .0830 0 1 .1722 0 .0113 0 .0944 0 3 .5363 0 .1388 1 .0332 0 3 .5299 0 .1386 1 .0336 ] , B 1 = [ 0 .0641 − 0 .0094 0 .7131 − 0 .1148 ] ,
A 2 = [ 1 0 .0113 0 0 .0001 ] , B 2 = [ 0 .0306 0 .3450 ] . (60)
Here, we assume that the exact values of (60) are not available, but that uncertain values are available:
A 1 = [ 1 0 .1897 0 .0218 0 .0844 0 1 .1900 0 .0115 0 .0947 0 3 .9115 0 .1408 1 .0489 0 3 .9151 0 .1407 1 .0492 ] , B 1 = [ 0 .0648 − 0 .0095 0 .7115 − 0 .1165 ] ,
A 2 = [ 1 0 .0103 0 0 .0001 ] , B 2 = [ 0 .0310 0 .3450 ] . (61)
The coefficients can be derived from J 1 , J 2 , with an assumed uncertainty of 10%. By applying linear quadratic optimal control theory to (61), the desired closed-loop pole locations can be chosen as
λ ( A 1 + B 1 F 1 ) ∈ Λ 1 = { 6.0355 × 10 − 5 , 0 .5253,0 .5745,0 .7630 } , (62)
λ ( A 2 + B 2 F 2 ) ∈ Λ 2 = { 6.0426 × 10 − 5 , 0 .7835 } , (63)
and the initial feedback gains needed to obtain datasets for the data-driven pole placement as
F 1 = [ 1.5216 124.181 2.3915 18.3089 ] , F 2 = [ − 6.2764 − 0.0646 ] . (64)
Next, simulations were conducted and comparisons were made from the obtained results when using different methods and exciting signals.
Measurement noise was prepared with the Gaussian distribution N ( 0 , σ 2 ) , where σ 2 = 1.0 × 10 − 3 , 1.0 × 10 − 4 and 1.0 × 10 − 4 in θ w , θ ˙ b , and ϕ , respectively. This is shown in
A closed-loop response in the presence of measurement noise by state feedback (56), with initial gain (64), is shown in
For comparison, the dataset for the data-driven pole placement was chosen as { ( x 0 ( k ) , u 0 ( k ) ) } k = 50 , ⋯ , 450 where i = 50 and N = 400 .
To evaluate the obtained pole placement gain F ˜ , we introduced an accuracy measurement that takes the largest absolute difference in value between each eigenvalue of A i + B i F ˜ i and the corresponding p j ∈ Λ i ,
δ λ ( A d i ) : = max { | λ j ( A i + B i F ˜ i ) − p j | p j ∈ Λ i } . (65)
To evaluate the obtained model ( A ˜ , B ˜ ) , the following identification errors were used:
Δ A i : = ‖ A ˜ i − A i ‖ , Δ B i = ‖ B ˜ i − B i ‖ , (66)
δ λ ( A i ) : = max { | λ j ( A i ) − λ j ( A ˜ i ) | } . (67)
The eigenvalues λ j were sorted by magnitude using the MATLAB command “sort”. This further sorts elements of equal magnitude by the phase angle on the interval ( − π , π ] . The impulse response G ( z ) = ( z I − A ˜ ) − 1 B ˜ was used to evaluate the model obtained, as follows:
Δ G i : = ∑ k = 0 10 ‖ x A ˜ i , B ˜ i ( k ) − x A i , B i ( k ) ‖ 2 , (68)
where x A ˜ i , B ˜ i and x A i , B i are the impulse responses of G i ( z ) : = ( z I − A ˜ i ) − 1 B ˜ i and G ( z ) : = ( z I − A ) − 1 B , respectively.
From the perspective of system control, smaller is better, particularly in the case of δ λ ( A d i ) , δ λ ( A i ) , and Δ G i . The following key results were contrastively found in
1) The initial model and feedback gain were affected by uncertainty: The model errors and pole placement errors are shown in
2) The results when using the LS method to solve linear Equation (27) for noiseless data are shown in
3) The results when using the LS method to solve linear Equation (27) for noisy data are shown in
4) The results when using the TLS method to solve linear Equation (27) are shown in
5) The results when applying prefiltering (PF) and using the TLS method to
(initial) | (a) | (b) | (c) | (d) | (e) | |
---|---|---|---|---|---|---|
noise | - | noiseless | noisy | noisy | noisy | noisy |
method | - | LS | LS | TLS | TLS + PF | TLS + PF |
exciting sig. | - | Random | Random | Random | Random | Chirp |
0.2426 | 0.0007 | 0.4597 | 0.1367 | 0.0466 | 1.2530 | |
---|---|---|---|---|---|---|
0.5317 0.0025 | 0.0016 0.0000 | 36.295 0.3400 | 1.6678 0.0481 | 1.8763 0.0415 | 17.246 0.2932 | |
0.0511 42.333 | 0.0000 0.0082 | 0.3920 629.67 | 0.0194 44.718 | 0.0177 29.324 | 0.4695 106.04 |
0.0029 | 0.0000 | 0.0092 | 0.0024 | 0.0007 | 0.0017 | |
---|---|---|---|---|---|---|
0.0001 0.0004 | 0.0000 0.0000 | 0.0288 0.0031 | 0.0064 0.0002 | 0.0005 0.0002 | 0.0007 0.0002 | |
0.0001 0.0036 | 0.0000 0.0002 | 0.0090 0.0525 | 0.0012 0.0073 | 0.0004 0.0019 | 0.0001 0.0019 |
solve linear Equation (27) are shown in
6) The results when applying PF and using the TLS method to solve the linear Equation (27), but with v as the chirp signal, are shown in
Finally, we compare the pole locations obtained as shown in
In this study, we evaluated the different approaches reducing the effect of measurement noise in data-driven pole placement methods for deriving a state space model and pole placement state feedback. Using numerical simulations of a self-balancing robot, which is a nonlinear system, we demonstrated the important role that prefiltering can play in reducing the interference caused by noise. Again using numerical simulation, we compared the use of two exciting signals: a random signal and a chirp signal. The use of a random exciting signal was found to be more effective with our proposed method. Further developments are needed in the methods used to cope with noise. A method such as that used in [
This work was partially supported by JSPS KAKENHI Grant Number 16H04385.
Shwe, P.E.E. and Yamamoto, S. (2017) An Improvement on Data-Driven Pole Placement for State Feedback Control and Model Identification. Intelligent Control and Automation, 8, 139-153. http://dx.doi.org/10.4236/ica.2017.83011