Real-time Linux in Control Applications Area

Stephan, R.A. (2002) Real-time Linux in Control Applications Area.

Abstract:This thesis describes the design and realization of control software and drivers for a mechatronic setup. The mechatronic setup has two degrees of freedom, and a separate controller controls each joint. The software design and implementation is done according to Communicating Sequential Processes (CSP) concepts on a real-time Linux (RTLinux) platform. Real-time Linux is a hard real-time version of the standard Linux. It has the facilities the timing requirements needed to provide real-time behaviour. All the functionality of the normal Linux is available for development. Communicating Threads for C++ (CTCPP) (Hilderink, 2001) is an object oriented software package developed at Control Engineering. This package provides a clear way of concurrent programming based on the theory of Communicating Sequential Processes (CSP). With CSP a concurrent system can be described by concurrently running processes that communicate with each other via channels. The C++ code for the two controllers is generated with the 20-sim program. A set of device drivers has been developed for the used fast professional data acquisition board. This has been done in the C++ programming language. Test utilities for testing the drivers have been created. FIFO communication and data logging have been implemented. A console line print routine to print to screen from a real-time process has also been created. Some performance aspects of RTLinux and CSP have been analysed by means of two test programs. The interrupt latency of RTLinux and the channel communication time of CSP under RTLinux have been measured. The CSP package has a maximum channel communication time of 5.06 ¿s. The interrupt latency of RTLinux is at most 8 ¿s. The setup dependent parts have been implemented. The two controllers needed to drive the setup have been generated with 20-sim. A design for a controller with CSP has been given. This controller will use interrupt clocked IO to minimize the hardware delays. The performance of the controller was measured. The X-axis has a maximum error of 4 % and the Y-axis has a maximum error of 6.6 %. The steady state errors are 0.38 % and 0.12 % respectively. RTLinux and the CSP package were tested and they are good programs to be used for real-time programming. The code generation of 20-sim, the device drivers and the support functions are working well.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:53 electrotechnology
Programme:Electrical Engineering MSc (60353)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page