![]() |
|||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
Linux Real TimeOperating System RequirementsThe demands on the platform hosting the Katana control are manifold and very much heterogeneous in the sense that the different modules do not require the same execution environment. Controlling the robot and calculating the kinematics need hard real-time, whereas the visualization and some optimization algorithms do not necessarily so. Furthermore, the software should be modular, configurable and easily portable and adaptable to new robots and product lines. The ultimate choice for the Katana Robot operating system fell on embedded Linux because its real-time extensions have matured considerably during the last few years and it brings a highly customizable platform that is largely familiar to a broad range of developers, non-proprietary and unbeatable regarding long-term maintenance.Real-Time ConceptMaking GNU/Linux a hard real-time system is achieved by using the co-kernel approach of the Real-Time Application Interface [RTAI] which takes control of the hardware interrupt management, and allows running real-time tasks seamlessly aside of the hosting GNU/Linux system. The 'regular' Linux kernel is eventually seen as a low-priority background task of the small real-time executive.However, this approach has a major drawback: since the real-time tasks run outside the Linux kernel control, the GNU/Linux programming model cannot be preserved when porting these applications. The result is an increased complexity in redesigning and debugging the ported code. That is why the real-time nucleus Xenomai [12] was added. This pre-emption and scheduling concept provides a real-time development framework cooperating with the Linux kernel in order to provide pervasive, interface-agnostic, hard real-time support to nucleus-, kernel- and user-space applications, seamlessly integrated into the GNU/Linux environment. Xenomai is based on an abstract RTOS core and relies on the sophisticated hardware abstraction layer ADEOS. User Space Real-TimeThe benefits of this approach is mainly to keep the development process in the GNU/Linux user space environment, instead of moving to a rather 'hostile' kernel context. This way, the rich set of existing tools such as debuggers and monitors are immediately available to the application developer. Moreover, the standard GNU/Linux programming model is preserved, allowing the application to use the full set of facilities existing in the user space (e.g. full POSIX support, including interprocess communication). Last but not least, programming errors in a customers own robotics application occurring in this context don't jeopardize the overall system stability, unlike what can happen if a bug is encountered on behalf of a hard real-time task in kernel space, which could cause serious damage to the running Linux kernel.For the Katana robot and its embedded Linux system, this means that dedicated applications can fully profit from real-time support even if they run in user space. That strongly simplifies the requirements on an interface that exports intelligent algorithms, robot control and communication functionality. |
|
||||||||||||||||||||||||||||||
Neuronics AG CH-8405 Winterthur T +41 (0)52 235 24 40 |
|||||||||||||||||||||||||||||||
| © 2010 Neuronics AG | |||||||||||||||||||||||||||||||