Solving problems for nonlinear control systems using webMathematica

Heli Rennik, Maris Tõnso, Ülle Kotta

Institute of Cybernetics at Tallinn University of Technology, Estonia

NLControl & webMathematica

Mathematica package NLControl, developed in Estonia in the Institute of Cybernetics at Tallinn University of Technology, has been made available over the inernet using webMathematica.

NLControl

The package NLControl consists of functions that assist the solution of different modeling, analysis and synthesis problems for nonlinear control systems, both for discrete- and continuous-time systems.

We consider systems described by the state equations and by the set of higher order input-output difference or differential equations.

webMathematica

Why?

* Mathematica license is expensive and Mathematica is not easy to use.
* We wanted to make this website available for graduate courses and for a larger control system community.

NLControl

Control systems

Control systems are systems that have at least one variable that can be changed in order to control other systems variable. For example: TV remote control. You can change input variable (button) in order to control output variable (channel).

Input-output equations

Input-output equations describe the relations between systems input and output, and possibly their derivatives.

y[t+2]==Sin[y[t]]+Cos[u[t]]+u[t+1]

State equations

State is a function of inputs, outputs and their shifts.

({{(Subscript[x, 1])[t+1], =, u[t]+(Subscript[x, 2])[t]}, {(Subscript[x, 2])[t+1], =, Cos[u[t]]+Sin[(Subscript[x, 1])[t]]}})

website

NLControl package consists of many functions, from which we have implemented 13 of them into our webMathematica website. These 13 functions form together 25 different function pages (they form out of input-output and state equations * discrete- and continuous-time systems).

In the website a selection of most often applied functions is given together with numerous examples and explanations.

Behind all functions is the algebraic approach of differential one-forms.

For example:
* Assistant functions: Submersivity, SequenceHk, SequenceHOre and Ore Polynomials.
* Transformations between different descriptions of system: Reduction, Realization, Normal Form and Classic state to IO.
* Analysis of system properties: Accessibility, Observability filtration.
* Function for solving control problems: Feedback linearization.

Some functions

Realization

Realization problem is for checking whether it is possible to construct the state equations from the higher order input-output difference equations.

Reduction

Reduction problem is to search the reduced equations of a system - the easiest description of a system you can get.

Feedback linearization

Linearization is the typical example of controlling where the feedback is used.

webMathematica

HTML, Java, JavaScript, JSP

Function pages are simple Java Server Pages files.
We are using Java for generating random inputs and JavaScript for opening and closing windows.

Request / Response

* User enters the data from the webpage.
* Kernel manager takes the one kernel we have.
* Kernel is doing calculations.
* The one kernel is released.
* The output data is shown to the user in gif, Mathematica nb or HTML format.

Linux and Apache Tomcat

webMathematica supports Windows, Linux, Solaris, Mac OS X and other operating systems to be installed into the server. You also need a Servlet container to run the website.

webMathematica

http://webmathematica.cc.ioc.ee/webmathematica/NLControl

Our website is already used by researchers of the Control Systems Department in the Institute of Cybernetics at Tallinn University of Technology in Estonia and other scientist in the control community.

Future

Our future goal is to implement more functions into webMathematica website which are already in the NLControl package. (For example: systems described in homogenous time scales.)