Report on the first Linux in Control Workshop
May 26, 2003 — by LinuxDevices Staff — from the LinuxDevices Archive — 1 viewsThe following report on the first Linux in Control Workshop, held earlier this month in Belgium, was kindly submitted by Koen Vervloesem and Herman Bruyninckx. The workshop was launched with the following mission:
The goal of this workshop is to bring together developers and users of all sorts of free and open source software projects related to control in the broad sense. With this group of people, we want to define a common roadmap for the following years: how should different aspects of control be integrated? what modules can we develop in common? where do we want to be in two years? what about common user interfaces and data formats? etc.
by Koen Vervloesem and Herman Bruyninckx
Representatives from more than fifteen Free Software projects in the area of “control” gathered in the historic university town of Leuven, Belgium, on May 9-10 for the first “Linux in Control Workshop.” The projects covered a broad range of control-oriented infrastructure and tools, from the real-time operating systems RTLinux and RTAI, to device driver projects such as Comedi, CanFestival, and RTnet, to control projects for PLC, machine tools, and robotics, to “Human-Machine Interface” (HMI) projects. The Free Software enthusiasts were joined by engineers from a number of companies interested in the development of Free Software control applications such as machine tool builders and large-scale data acquisition departments. In total, about 45 people participated in the event.
The goal of the workshop was to get to know each other's project goals and current development status, and to foster an open discussion of how projects can cluster to define and reach common goals. After two intense days of surprisingly constructive discussions, most participants left with a happy feeling, and with the motivation to cooperate on libraries and tools that transcend the scope and expertise of the individual projects. It was decided that a linuxincontrol.org website would be brought on-line, to provide a convenient forum where different projects can share their common design and development efforts.
The idea of the “Linux in Control Workshop” was born at a “birds of a feather” session at last December's “Real-time Linux Workshop” in Boston. Herman Bruyninckx (Katholieke Universiteit Leuven), Nicholas McGuire (RTLinux/GPL), and Peter Wurmsdobler (Real-Time Linux Foundation, and Eurotherm Drives) decided to cooperate on organizing the “Linux in Control Workshop.” The EU-sponsored Orocos project (Open Robot Control Software) provided some travel grants to help people from as far as the US and Australia to participate to the workshop.
Bringing together lead developers of Free Software projects, to discuss how their cherished projects should be improved by cooperation and integration with other projects is a very risky business. After all, Free Software project developers tend to have strong egos. So, in order to avoid hefty discussions based on prejudices and incomplete knowledge about each other's projects, the first day was spent on short presentations by the participating projects. They explained their core expertise and the status of their activities, as well as their future roadmap. Here is a (non-exhaustive) overview of projects that were presented . . .
- MatPLC, which is a quite mature PLC (Programmable Logic Controllers) project, running as a set of user-space Linux modules.
- Orocos (Open RObot COntrol Software), which builds a framework infrastructure for (hard real-time and non real-time) robot control software. It uses C++ with RTAI, RTLinux, and Comedi.
- The LME Craftsman Project, which is basically a one-man project on manufacturing machines.
- CanFestival, which provides a set of drivers, API and tools to implement Can and on crossing the boundary between software and firmware CanOpen field-bus layers.
After the coffee break, some implementations and general design issues were presented . . .
- The ACElab plant supervision, which has built various process control interfaces.
- Process View Browser, which provides a Qt-based dynamic client-server implementation for industrial process visualisation.
- Jvisu, a browser-based process visualisation using HTML, Java, C, TCP/IP, and CGI.
- Comedi, a sensor control and management system, a suite of drivers for data acquisition devices, together with a generic acquisition API.
- RTNet, RTAI-based real-time communication with cheap and fast Ethernet hardware for distributed control systems.
These grassroots project presentations were complemented by two presentations by industrial users, i.e., Randy Newman from Pratt & Whitney, and Fabrizio Meo from FIDIA (major partner in the Ocean project).
Nicholas McGuire emphasized a couple of important generic issues . . .
- The importance of a framework of common features and shared concepts, without overloading it: there exist too many projects in parallel, and none reaches its goal due to a lack of critical mass.
- Without good security, Linux-based control applications will never be accepted in industry.
- Monitoring tools are very important, but very few exist already. Moreover, on-line tendency analysis is more important for autonomous systems than post-mortem analysis.
- The development of “Human-Machine Interfaces” should definitely become a common effort.
- There exist already many relevant standards, so don't invent new ones from scratch again.
- The Linux RTOS projects RTLinux and RTAI should be able to provide a common API, suitable for all control projects, such that the choice of RTOS is transparent for control application builders.
The first day was concluded by a discussion between all participants about what are the real control problems, what application classes exist, and what are general requirements for control applications. (If there is such a thing as “general requirements” in the very broad application area of control.) An animated discussion followed, leading to no concrete concensus or common vision. So, many participants left this discussion with an uneasy feeling of failure.
But that uneasy feeling apparently inspired many to concrete and constructive thinking during the night. Saturday morning, many people were already gathered in the meeting room one hour before the official start at 9am, and the organic self-organization power of Free Software proved itself again: it didn't take too long before three major discussion topics were agreed upon as clearly being “super-project” interest areas:
- “PLC” and similar infrastructural technologies.
- “Comedi” and similar hardware interface systems.
- Common OS interfaces.
Participants were split in three groups that discussed these topics in parallel, and they reported on the discussion results in a subsequent plenary discussion. Here is a summary of what came out of these discussions . . .
- It's not useful to adopt a common general architecture, but projects have to agree on general purpose middleware, on top of which different sorts of architectures can be built.
- It's vital to agree on interfaces between software components, because without meaningful interfaces of the “right” granularity, integration of the projects will fail.
- The bad news is that the existing interfaces don't fit well; the good news is that many participants learned that CORBA is a well thought-out, vendor and language independent specification language for interfaces that is, in addition, supported by a large set of Free Software tools and implementations.
- Hardware interfacing is a very appropriate subject to start some concrete and common bottom-up development efforts. A first target is to provide a CORBA interface on top of Comedi, as well as an XML configuration description.
- It seems realistic to reach a certain level of integration between the user-space PLC developments of MatPLC and the hard real-time work in Orocos and Ocean.
The overall feeling at the end of the workshop was quite positive: there really is a common understanding of what control software components can and should be designed and developed in a community that goes beyond the existing individual control projects. And it was also decided to give www.linuxincontrol.org a chance of becoming the “Linux kernel mailinglist” forum of Free Software for control.
References
- Linux in Control homepage
- 1st Linux In Control Workshop, Leuven 2003
- The mailing list registration for the Linux In Control list is here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.