DOTE

Chain And Rate

Sunday, February 15, 2009

LynxOS : real-time operating system

The LynxOS® RTOS (real-time operating system) is the superior foundation for sophisticated real-time systems:
20 years of RTOS experience goes into LynxOS. Broad conformance to open and de facto standards like Linux®, POSIX and UNIX® means that you can confidently build products with the LynxOS RTOS to meet the most stringent requirements for real-time mission-critical applications. Enjoy the time-to-market and investment-protection advantages of open standards-based development using the LynxOS RTOS.

Real-time determinism

All RTOS components within LynxOS are designed for absolute determinism (i.e.: hard real-time performance). This means that they absolutely must respond within a known period of time. This predictable response is ensured even in the presence of heavy I/O due to the kernel's unique threading model, enabling interrupt routines to be extremely short and fast.
  • Perform complex series of tasks within set periods of time
  • Support multiple applications with multiple interrupting devices
  • Take full advantage of today's powerful high-end microprocessor and advanced networking architecture

True linear scalability

The LynxOS RTOS also exhibits true linear scalability, so that it stays unwaveringly deterministic even as the tasks it performs increase massively. And this determinism extends to networking applications, which can stay responsive even in the face of the most complex demands.

Friday, January 30, 2009

OROCOS Project

What is Orocos?

Orocos” is the acronym of the Open Robot Control Software project. The project's aim is to develop a general-purpose, free software, and modular framework for robot and machine control. The Orocos project supports 4 C++ libraries: the Real-Time Toolkit, the Kinematics and Dynamics Library, the Bayesian Filtering Library and the Orocos Component Library.

Orocos Libraries
  • The Orocos Real-Time Toolkit (RTT) is not an application in itself, but it provides the infrastructure and the functionalities to build robotics applications in C++. The emphasis is on real-time, on-line interactive and component based applications.
  • The Orocos Components Library (OCL) provides some ready to use control components. Both Component management and Components for control and hardware access are available.
  • The Orocos Kinematics and Dynamics Library (KDL) is a C++ library which allows to calculate kinematic chains in real-time.
  • The Orocos Bayesian Filtering Library (BFL) provides an application independent framework for inference in Dynamic Bayesian Networks, i.e., recursive information processing and estimation algorithms based on Bayes' rule, such as (Extended) Kalman Filters, Particle Filters (Sequential Monte methods), etc.
Orocos is a free software project, hence its code and documentation are released under Free Software licenses.

Target audience

Robotics or machine control in general is a very broad field, and many roboticists are pursuing quite different goals, dealing with different levels of complexity, real-time control constraints, application areas, user interaction, etc. So, because the robotics community is not homogeneous, Orocos targets four different categories of “Users” (or, in the first place, “Developers”):
  1. Framework Builders.
    These developers do not work on any specific application, but they provide the infrastructure code to support applications. This level of supporting code is most often neglected in robot software projects, because in the (rather limited) scope of each individual project, putting a lot of effort in a generic support platform is often considered to be “overkill”, or even not taken into consideration at all. However, because of the large scope of the Orocos project, the supporting code (the “Framework”) gets a lot of attention. The hope is, of course, that this work will pay of by facilitating the developments for the other “Builders”. The RTT, KDL and BFL are created by Framework builders
  2. Component Builders.
    Components provide a “service” within an application. Using the infrastructure of the framework, a Component Builder describes the interface of a service and provides one or more implementations. For example a Kinematics Component may be designed as such that it can “serve” different kinematic architectures. Other examples are Components to hardware devices, Components for diagnostics, safety or simulation. The OCL is created by Component Builders.
  3. Application Builders.
    These developers use the Orocos' Framework and Components, and integrate them into one particular application. That means that they create a specific, application-dependent architecture: Components are connected and configured as such that they form an application.
  4. End Users.
    These people use the products of the Application Builders to program and run their particular tasks.
End Users do not directly belong to the target audience of the Orocos project, because Orocos concentrates on the common framework, independent of any application architecture. Serving the needs of the End Users is left to (commercial and non-commercial) Application Builders.