Modelling, analysis and synthesis of nonlinear control systems with Mathematica

Maris Tõnso, Juri Belikov, Vadim Kaparin, Heli Rennik, Ülle Kotta

Institute of Cybernetics, Tallinn University of Technology, Akadeemia tee 21, Tallinn, 10918, Estonia
maris@cc.ioc.ee, jbelikov@cc.ioc.ee, vkaparin@cc.ioc.ee, heli@cc.ioc.ee, kotta@cc.ioc.ee

Abstract

In this talk we will introduce a package, NLControl, for modelling, analysis and synthesis of nonlinear control systems. Our package is oriented purely to nonlinear systems and deals with tasks not covered by Control Systems Professional. Only symbolic computation problems are handled in the package. Most functions in NLControl are based on the algebraic approach of differential one-forms and on the theory on non-commutative skew polynomial rings that provide universal and simple theoretical framework for addressing different nonlinear control problems.

Linear algebraic approach is based on certain sequences of subspaces of differential one-forms, associated to the control system and on the classification of one-forms, for example, according to their relative degrees. The characteristics which make the algebraic approach useful, are its wide applicability (with proper modifications it applies both in discrete- and continuous-time cases), inherent simplicity (the procedures are transparent and most of them can be straightforwardly implemented in Mathematica), analogy with linear case (the analogy makes the package easier to use for engineers and students) and perhaps, most important, its universality (a single tool provides a key for solving several different control problems). The functions for solving control problems require to implement assistant functions that find forward- and backward-shifts, the derivative of one-forms, the inversive closure, associated to control system and integrate a set of one-forms.

The second group of mathematical tools we used comes from the noncommutative polynomial theory. Noncommutative skew polynomials (also known as Ore polynomials) play in nonlinear control theory the similar role as the ordinary polynomials in the linear theory. Unfortunately, the existing general-purpose Ore polynomial package cannot be directly used by the following reason. In our case the variables appearing in coefficients of polynomials are not necessarily independent but relations are defined between them by the equations of control systems. Ignoring this fact may cause serious mistakes. So we wrote our own Ore package, including functions like addition and multiplication of Ore polynomials, finding their left and right quotient, reminder, GCD and LCM. It also enables to work with fractions of Ore polynomials and find the inverse of the Ore polynomials matrix.

The main tasks the package can complete are listed below.

1. Check reducibility of the set of differential/difference input-output (i/o) equations and reduction them into the equivalent irreducible form.
2. Check realizability of the set of i/o equations in the state space form and find the minimal realization. It is also possible to find the i/o equations from the state equations. 
3. Check realizability and find the minimal realization for the SISO composite systems, including series, parallel and feedback compositions.
4. Transform the generalized state equations into the classical state space form or, if not possible, lower the order of the input shifts/derivatives in the generalized equations.
5. Compute the transfer function both from the state equations and from the i/o equations.
6. Check (forward) accessibility of the system and decompose the state equations into the accessible and non-accessible subsystems.
7. Check observability of the system and decompose the state equations into the observable and unobservable subsystems.
8. Check identifiability of the system unknown parameters.
9. Transform the system equations into the normal form which is a good starting point for applying the inversion-based control algorithms and for computing the zero dynamics of the system.
10. Transform the state equations into the controller canonical form and solve the static state feedback linearization problem (full and partial).
11. Transform the state equations into the prime form, using the state feedback, state and output diffeomorphisms.
12. Discretization of the continuous-time system by using either Taylor series expansion or direct integration methods.

Most implemented functions can handle both, discrete- and continuous-time systems, and additionally, some functions work also with systems, defined on homogeneous time scales.