Re: Orocos and RTAI/LXRT
Pierangelo Masarati <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Organization | Dipartimento di Ingegneria Aerospaziale |
| Message-ID | <[email protected]> |
Peter Soetens wrote: > Hi, > > The last half year, we have been porting Orocos to RTAI/LXRT. First, for > people not knowing LXRT, I have made an LXRT porting howto, which is already > a lot more on http://people.mech.kuleuven.ac.be/~psoetens/portingtolxrt.html > > We came to the conclusion that building extensive software frameworks in the > linux kernel (with kernel-RTAI and kernel-RTLinux) are requiring to much > maintenance and this environment does not support enough OS primitives or > libraries. While developping the software for userspace was fast and easy, > kernel development consumed a big part of our time budget. When we started to > realize that RTAI allows truly integrated userspace realtime processes, > supporting that platform became a high priority. So we ported Orocos also > to LXRT. All our findings are described in the above howto. > > With this comprehensible howto, we hope to provide the future users a way to > 'port' their device drivers to LXRT. When using Orocos software, the running > threads will automatically be using LXRT, and can directly use the LXRT > extensions. > > Does this mean we drop portability ? Certainly not ! Orocos still has an > os-abstraction layer, and kernel-RTAI and kernel-RTLinux just fell out > because of the 'incompleteness' they offer in their API. > > If you read the introduction to the howto, you might get a good impression of > how good it is, and how much closer (or even further !) it brings linux to > commercial realtime operating systems like VxWorks and the likes. With reference to a previous message of mine, on the exploitation of RTAI in MBDyn for real-time multibody simulations, at the Dipartimento di Ingegneria Aerospaziale of the University Politecnico di Milano we have been using LXRT as the essential means to exploit hard real-time in programs that could hardly fit into kernel space. As a matter of fact, this was the fundamental push towards its development: give programmers hard real-time hooks basically unrelated to the programming language or tool. Our multibody software is a mix of C++, F77 and C, linked to many standard and specialized libraries, and the major effort in exploiting LXRT was to ensure no system calls were performed during the normal execution (e.g. after hard real-time is enforced), which required patching a couple of libraries. Pierangelo. -- Dr. Pierangelo Masarati | voice: +39 02 2399 8309 mailto:pierangelo.masarati AT polimi.it | fax: +39 02 2399 8334 http://www.aero.polimi.it/~masarati Dip. Ing. Aerospaziale Politecnico di Milano, via La Masa 34, 20156 Milano, Italy