top of page

Control

Adaptive Identification and Control Kit

​

The adaptive identification and control kit application was designed to be a new investigative tool for analyzing adaptive identification and control of single-input-single-output engineering systems. This kit is structured to test identification and control of Linear and Quadratic Neural Unit (LNU & QNU) architectures, along with various training methods, as such Real Time Recurrent Learning (RTRL) and Batch Propagation Through Time (BPTT) training. The kit is an offline tuning program (i.e.; no connection with the real process is necessary, only tuning with previously measured data), implemented fully in Programming Language from Python 2.6, with wxPython, Numpy and Matplotlib modules!

 

The adaptive control kit is aimed for students, teachers and even practitioners who wish to investigate the potentials of neural networks for identifying their process behavior and further wish to investigate control. This kit was also designed to optimize already controlled engineering processes and thus a second window is featured in the kit for this application. If the user loads their measured or simulated data of the investigated process into the software folder ("uout.txt, for input data, "yout.txt" for output data and "d.txt" for desired behavior) they may first adaptively identify and model their plant behavior to represent the real, loaded process data. Following the adaptive identification the user may then try the second module which extends a state-feedback Neuro-controller to the identified plant model and analyze the behavior of the investigated control.

 

The main interface as seen above, allows the user to select from range of options as such, re-sampling of the system data, visualization of the loaded data, altering of samples for neural model inputs, learning rate and runs of the adaptive algorithm. Further to this the user also may choose from a combination of DLNU or DQNU adaptive identification models with RTRL and BPTT training and LNU or QNU Neuro-controller with RTRL and BPTT training as an adaptive state feedback controller.

 

You may investigate the usage of this adaptive control kit for yourself! An open source version is available at the following link, with two pre loaded cases of example data for an uncontrolled plant and already controlled plant. Requirements: Python 2.6 or higher, wxPython, Numpy, Matplotlib.

 

 

 

For more information on the algorithm implemented, or theory behind adaptive identification and control via the various neural network architectures, you may also refer to the following paper:

 

 

Conceptual Layout of the AC Kit

Main Interface of the AC Kit

Output of Adaptive Identification Module

Frequency Drives Application

​

The CTU Roller Rig, is an experimental stand designed to simulate the behaviour of a railway carriage on a set railway track. This rig features 5 motor drives, two pairs of 0.5m diameter rollers are independently driven, via the largest of the set of drives (FM1 & 2). To simulate both straight and curved tracks, similar to those present on real railway networks. A central servo motor (FM4) was introduced, to yaw the lower roller pair for replicating curved track motion. This setup however, assumes simulation of a rail pair without effects of rail buckling. For manipulation of the wheel set yaw, a separate servo motor, central to the wheel set (FM3) is installed. It is the action of this servo motor that is used for control actuation for the lateral skew of the wheel sets. With a fifth drive FM5 located between the front roller set, as a control differential.

 

The purpose of this project is to control the 5 independant motors situated on the CTU Roller Rig, simultanously via a programmed applicationwhich realises manipulation of the drives via serial communication. The used drives are configured via an ANSI protocol, used to receive and writeparameters of the drive, which are necessary in order to control them. Pyserial module, was thus used to program direct communication with these frequencydrives through ANSI protocol.

 

Once successful reading and writting of the parameters was realised. An application was designed where the user could program via a series of edits, what parameters they wish to program into the respective drives. A parameter table was programmed in the background of this application, to control which drivesreceive the resulting change of parameters at any given time. A dynamic table is also included on the right, to show the changing variables in real time, as read from the respective drives.

 

To ensure that all parameters which are written in the edits are really what the drive receives, a programmed error check mechanism is included. Further to this, a visual aid was incorporated, lighting green if all parameters correspond correctly to the programmed edits and red if not.

 

 

 

CTU Roller Rig Controlled with 5 Frequency Drives

Main Interface - Frequency Drive Control Application

bottom of page