TP model transformation in control theory explained
Baranyi and Yam proposed the TP model transformation[1] [2] [3] [4] [5] [6] [7] as a new concept in quasi-LPV (qLPV) based control, which plays a central role in the highly desirable bridging between identification and polytopic systems theories. It is also used as a TS (Takagi-Sugeno) fuzzy model transformation. It is uniquely effective in manipulating the convex hull of polytopic forms (or TS fuzzy models), and, hence, has revealed and proved the fact that convex hull manipulation is a necessary and crucial step in achieving optimal solutions and decreasing conservativeness[8] [9] [2] in modern linear matrix inequality based control theory. Thus, although it is a transformation in a mathematical sense, it has established a conceptually new direction in control theory and has laid the ground for further new approaches towards optimality.
For details please visit: TP model transformation.
- TP-tool MATLAB toolbox:
A free MATLAB implementation of the TP model transformation can be downloaded at https://drive.google.com/drive/folders/1In3S2ebT-knwDqWaS4dLFarKITqjcBqq?usp=drive_link or an old version of the toolbox is available at MATLAB Central http://www.mathworks.com/matlabcentral/fileexchange/25514-tp-tool. Be careful, in the MATLAB toolbox the assignments of the dimensions of the core tensor is in the opposite way in contrast to the notation used in the related literature. In some variants of the ToolBox, the first two dimension of the core tensor is assigned to the vertex systems. In the TP model literature the last two. A simple example is given below.
clear
M1=20; % Grid density
M2=20;
omega1=[-1,1]; %Interval
omega2=[-1,1];
domain=[omega1; omega2];
for m1=1:M1
for m2=1:M2
p1=omega1(1)+(omega1(2)-omega1(1))/M1*(m1-1); %sampling grid
p2=omega2(1)+(omega2(2)-omega2(1))/M2*(m2-1);
SD(m1,m2,1,:)=[1 0]; % SD is the discretized system matrix
SD(m1,m2,2,:)=[(-1-0.67*p1*p1) (1.726*p2*p2)];
end
end
[S,U, sv]=hosvd(SD,[1,1,0,0],1e-12); % Finding the TP structure
UA{1}=U{1}; % This is the HOSVD based canonical form
UA{2}=U{2};
ns1 = input('Results of SNNN TS fuzzy model');
UC=genhull(UA,'snnn'); % snnn weightinf functions
UCP{1}=pinv(UC{1});
UCP{2}=pinv(UC{2});
SC=tprods(SD,UCP); %This is to find the core tensor
H(:,:)=SC(1,1,:,:) %This is to show the vertices of the TP model
H(:,:)=SC(1,2,:,:)
H(:,:)=SC(2,1,:,:)
H(:,:)=SC(2,2,:,:)
figure(1)
hold all
plothull(U{1}, omega1) %Draw the waiting functions of p1
title('Weighting functions for p_{1}');
xlabel('p_{1}')
ylabel('Weighting functions')
grid on
box on
figure(2)
hold all
plothull(UC{2}, omega2) %Show the waiting functions of p2
title('Weighting functions for p_{2}');
xlabel('p_{2}')
ylabel('Weighting functions')
grid on
box on
ns2 = input('Results of CNO TS fuzzy model');
UC=genhull(UA,'cno'); %Create CNO type waiting functions
UCP{1}=pinv(UC{1});
UCP{2}=pinv(UC{2});
SC=tprods(SD,UCP); %Find the cortensor
H(:,:)=SC(1,1,:,:) %Show the vertices of the TP model
H(:,:)=SC(1,2,:,:)
H(:,:)=SC(2,1,:,:)
H(:,:)=SC(2,2,:,:)
figure(1)
hold all
plothull(U{1}, omega1) %Show the waiting functions of p1
title('Weighting functions for p_{1}');
xlabel('p_{1}')
ylabel('Weighting functions')
grid on
box on
figure(2)
hold all
plothull(UC{2}, omega2) %Show the waiting functions of p2
title('Weighting functions for p_{2}');
xlabel('p_{2}')
ylabel('Weighting functions')
Once you have the feedback vertexes derived to each vertexes of the TP model then you may want to calculate the controller over the same polytope (see PDC design by Tanaka)
W = queryw1(UC,domain,p); % computing the weighting values over the parameter vector
F = tprods(K,W); % calculating the parameter dependent feedback F(p)
F = shiftdim(F)
U=-F*x % calculate the control value.
Key features for control analysis and design
- The TP model transformation transforms a given qLPV model into a (tensor product type) polytopic form, irrespective of whether the model is given in the form of analytical equations resulting from physical considerations, or as an outcome of soft computing based identification techniques (such as neural networks or fuzzy logic based methods, or as a result of a black-box identification).
- Further the TP model transformation is capable of manipulating the convex hull defined by the polytopic form that is a necessary step in polytopic qLPV model-based control analysis and design theories.
Related definitions
- Linear Parameter-Varying (LPV) state-space model:
}}}(t) \\ (t)\end=((t))\begin (t) \\ (t)\end,
with input
}(t), output
}(t) and statevector
}(t). The system matrix
}((t))\in\R^ is a parameter-varying object, where
}(t)\in\Omega is a time varying
-dimensional parameter vector which is an element ofclosed hypercube
\Omega=
[a1,b1] x [a2,b2] x … x [aN,b
. As a matter of fact, further parameter dependent channels can be inserted to
}((t)) that represent various control performance requirements.
- quasi Linear Parameter-Varying (qLPV) state-space model:
}(t) in the above LPV model can also include some elements of the state vector
}(t), and, hence this model belongs to the class of non-linear systems, and is also referred to as a quasi LPV (qLPV) model.
- TP type polytopic Linear Parameter-Varying (LPV) state-space model:
}}}(t) \\ (t)\end=\mathcal\boxtimes_^N\mathbf_n(p_n(t))\begin (t) \\ (t)\end,
with input
}(t), output
}(t) and statevector
}(t). The system matrix
}((t))=\mathcal\boxtimes_^N\mathbf(p_n(t)) \in\R^ is a parameter-varying object, where
}(t)\in\Omega is a time varying
-dimensional parameter vector which is an element ofclosed hypercube
\Omega=
[a1,b1] x [a2,b2] x … x [aN,b
, and the weighting functions
are the elements of vector
. Core tensor contains elements
which are the vertexes of the system.As a matter of fact, further parameter dependent channels can be inserted to
}((t)) that represent various control performance requirements.Here
and
This means that
}(t)) is within the vertexes
of the system (within the convex hull defined by the vertexes) for all
. Note that the TP type polytopic model can always be given in the form
where the vertexes are the same as in the TP type polytopic form and the multi variable weighting functions are the product of the one variable weighting functions according to the TP type polytopic form, and r is the linear index equivalent of the multi-linear indexing
.
- TP model transformation for qLPV models: Assume a given qLPV model
, where
, whose TP polytopic structure may be unknown (e.g. it is given by neural networks). The TP model transformation determines its TP polytopic structure as
| Nw |
S(p(t))=l{S}\boxtimes | |
| n(p |
n(t))
,
namely it generates core tensor
and weighting functions of
for all
. Its free MATLAB implementation is downloadable at
https://web.archive.org/web/20120229061018/http://tptool.sztaki.hu/ or at MATLAB Central
http://www.mathworks.com/matlabcentral/fileexchange/25514-tp-tool.
If the given model does not have (finite element) TP polytopic structure, then the TP model transformation determines its approximation:
where trade-off is offered by the TP model transformation between complexity (number of vertexes stored in the core tensor or the number of weighting functions) and the approximation accuracy.[10] The TP model can be generated according to various constrains. Typical TP models generated by the TP model transformation are:
- HOSVD canonical form of qLPV models,
- Various kinds of TP type polytopic form (this feature is very important in control performance optimization).
TP model based control design
- Key methodology:
Since the TP type polytopic model is a subset of the polytopic model representations, the analysis and design methodologies developed for polytopic representations are applicable for the TP type polytopic models as well. One typical way is to search the nonlinear controller in the form:
where the vertexes
of the controller is calculated from
. Typically, the vertexes
are substituted into Linear Matrix Inequalities in order to determine
.
In TP type polytopic form the controller is:
| Nw |
u=-F(p(t))x(t)=-l{F}\boxtimes | |
| n(p |
n(t))x(t),
where the vertexes
stored in the core tensor
are determined from the vertexes
stored in
. Note that the polytopic observer or other components can be generated in similar way, such as these vertexes are also generated from
.
- Convex hull manipulation based optimization:
The polytopic representation of a given qLPV model is not invariant. I.e. a given
has
number of different representation as:
S(p(t))=l{S}z\boxtimes
(pn(t)),
where
. In order to generate an optimal control of the given model
we apply, for instance LMIs. Thus, if we apply the selected LMIs to the above polytopic model we arrive at:
uz=-Fz(p(t))x(t)=-l{F}z\boxtimes
(pn(t))x(t).
Since the LMIs realize a non-linear mapping between the vertexes in
and
we may find very different controllers for each
. This means that we have
different number of "optimal" controllers to the same system
. Thus, the question is: which one of the "optimal" controllers is really the optimal one. The TP model transformation let us to manipulate the weighting functions systematically that is equivalent to the manipulation of the vertexes. The geometrical meaning of this manipulation is the manipulation of the convex hull defined by the vertexes. We can easily demonstrate the following facts:
- Tightening the convex hull typically decreases the conservativeness of the solution, so as may lead to better control performance. For instance, if we have a polytopic representation
of a given model
, then we can generate a controller as
then we solved the control problem of all systems
that can be given by the same vertexes, but with different weighting functions as:
Sk(p(t))=l{S}\boxtimes
(pn(t)),
where
uk=-l{F}\boxtimes
(pn(t))x(t).
If one of these systems are very hardly controllable (or even uncontrollable) then we arrive at a very conservative solution (or unfeasible LMIs). Therefore, we expect that during tightening the convex hull we exclude such problematic systems.
- It can also be easily demonstrated that the observer design is typically needs large convex hull. So, as when we design controller and observer we need to find the optimal convex hull between the tight one and the large one. Same papers also demonstrate that using different convex hulls (if the separation principal is applicable) for observer and controller may lead to even better solution.
Properties of the TP model transformation in qLPV theories
- It can be executed uniformly (irrespective of whether the model is given in the form of analytical equations) resulting from physical considerations, or as an outcome of soft computing based identification techniques (such as neural networks or fuzzy logic based methods, or as a result of a black-box identification), without analytical interaction, within a reasonable amount of time. Thus, the transformation replaces the analytical and in many cases complex and not obvious conversions to numerical, tractable, straightforward operations that can be carried out in a routine fashion.
- It generates the HOSVD-based canonical form of qLPV models, which is a unique representation. This form extracts the unique structure of a given qLPV model in the same sense as the HOSVD does for tensors and matrices, in a way such that:
- the number of LTI components are minimized;
- the weighting functions are one variable functions of the parameter vector in an orthonormed system for each parameter (singular functions);
- the LTI components (vertex components) are also in orthogonal positions;
- the LTI systems and the weighting functions are ordered according to the higher-order singular values of the parameter vector;
- it has a unique form (except for some special cases);
- introduces and defines the rank of the qLPV model by the dimensions of the parameter vector;
- The core step of the TP model transformation was extended to generate different types of convex polytopic models, in order to focus on the systematic (numerical and automatic) modification of the convex hull instead of developing new LMI equations for feasible controller design (this is the widely adopted approach). It is worth noting that both the TP model transformation and the LMI-based control design methods are numerically executable one after the other, and this makes the resolution of a wide class of problems possible in a straightforward and tractable, numerical way.
- Based on the higher-order singular values (which express the rank properties of the given qLPV model, see above, for each element of the parameter vector in
norm), the TP model transformation offers a trade-off between the complexity of the TP model (polytopic form), hence, the LMI design and the accuracy of the resulting TP model.
- The TP model transformation is executed before utilizing the LMI design. This means that when we start the LMI design we already have the global weighting functions and during control we do not need to determine a local weighting of the LTI systems for feedback gains to compute the control value at every point of the hyperspace the system should go through. Having predefined continuous weighting functions also ensures that there is no friction in the weighting during control.
References
- 10.1109/TIE.2003.822037. TP Model Transformation as a Way to LMI-Based Controller Design. IEEE Transactions on Industrial Electronics. 51. 2. 387–400. 2004. Baranyi. P.. 7957799 .
- Book: 10.1007/978-3-319-19605-3. TP-Model Transformation-Based-Control Design Frameworks. 2016. Baranyi. Péter. 978-3-319-19604-6.
- 10.1016/S0166-3615(03)00058-7. From differential equations to PDC controller design via numerical transformation. Computers in Industry. 51. 3. 281–297. 2003. Baranyi. Péter. Tikk. Domonkos. Yam. Yeung. Patton. Ron J..
- 10.1109/TFUZZ.2013.2278982. The Generalized TP Model Transformation for T–S Fuzzy Model Manipulation and Generalized Stability Verification. IEEE Transactions on Fuzzy Systems. 22. 4. 934–948. 2014. Baranyi. Peter. free.
- Book: P. Baranyi . Y. Yam . P. Várlaki. Tensor Product model transformation in polytopic model-based control. Taylor & Francis . Boca Raton FL. 2013. 240. 978-1-43-981816-9 .
- Baranyi. Peter. February 2022. How to Vary the Input Space of a T–S Fuzzy Model: A TP Model Transformation-Based Approach. IEEE Transactions on Fuzzy Systems. 30. 2. 345–356. 10.1109/TFUZZ.2020.3038488. 1063-6706. free.
- Baranyi. Peter. March 2020. Extracting LPV and qLPV Structures From State-Space Functions: A TP Model Transformation Based Framework. IEEE Transactions on Fuzzy Systems. 28. 3. 499–509. 10.1109/TFUZZ.2019.2908770. 1063-6706. free.
- 10.1002/asjc.1238. Influence of the Tensor Product Model Representation of QLPV Models on the Feasibility of Linear Matrix Inequality. Asian Journal of Control. 18. 4. 1328–1342. 2016. Szollosi. Alexandra. Baranyi. Peter. free.
- 10.1002/asjc.1418. Improved control performance of the 3-DoF aeroelastic wing section: A TP model based 2D parametric control performance optimization. Asian Journal of Control. 19. 2. 450–466. 2017. Szollosi. Alexandra. Baranyi. Peter. 126195046.
- D. Tikk, P.Baranyi, R. J. Patton. Approximation Properties of TP Model Forms and its Consequences to TPDC Design Framework. Asian Journal of Control. 9. 3. 2007. 221–331. 10.1111/j.1934-6093.2007.tb00410.x. 121716136.