Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
be
Orocos
Open Robot Control Software
Peter Soetens
Flanders Mechatronics Technology Centre Leuven
FMTC Celestijnenlaan 300 D B-3001 Leuven Belgium Tel: +32-16-32.25.90 Fax: +32-16-32.27.46 Email: info@fmtc.be
FMTC 2006
Outline
Section Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Orocos in one-liners
Open Robot Control Software Open Source robot control and interfacing Real-time Software Toolkits in C++ Developers tool Tool for developing components for control Real-time, thread-safe, interactive Offers common component implementations Optional Freely available on: http://www.orocos.org
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Introduction
In these examples, Orocos was used to do the real-time communications dene the real-time behaviour of machines in response to communication calculate real-time kinematics access the hardware devices create components which do all this.
Introduction
In these examples, Orocos was used to do the real-time communications dene the real-time behaviour of machines in response to communication calculate real-time kinematics access the hardware devices create components which do all this.
Introduction
In these examples, Orocos was used to do the real-time communications dene the real-time behaviour of machines in response to communication calculate real-time kinematics access the hardware devices create components which do all this.
Introduction
In these examples, Orocos was used to do the real-time communications dene the real-time behaviour of machines in response to communication calculate real-time kinematics access the hardware devices create components which do all this.
Introduction
In these examples, Orocos was used to do the real-time communications dene the real-time behaviour of machines in response to communication calculate real-time kinematics access the hardware devices create components which do all this.
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
What is Real-Time?
Consider solving. . . Robot or machine interaction with the environment Without guarantees. What use is SLAM if your mobile platform bumps into obstacles ? What use is a camera if your manipulator crushes your object ? What use is controller tuning in MATLAB if the controller fails in practice ? They all need real-time control software !
Consider solving. . . More hardware Much more software With monolithic software. New devices, same problems to solve More software and features Device connectivity and networking
Consider solving. . . More threads Much more trouble With bare threads and locks as tools. Deadlocks, thread races, data corruption Synchronisation between threads ? Communication between threads ?
Consider solving. . . More layers Less control With closed toolkits. Solutions restrict the solution Software interaction ? Dead vendor products ?
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
History
Section Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Component Denition
Communication Dened by the component interface Middleware Mediates component communication and distribution Behaviour Dened by real-time state machines
Component Denition
Communication Dened by the component interface Middleware Mediates component communication and distribution Behaviour Dened by real-time state machines
Component Denition
Communication Dened by the component interface Middleware Mediates component communication and distribution Behaviour Dened by real-time state machines
Denitions
What is a Software Component ? Denition A modular and replaceable part of a system that encapsulates implementation . . . and exposes a set of interfaces.
What is a Component Model? Denition A framework for describing components . . . with the purpose for creating software from re-usable software components.
Denitions
What is a Software Component ? Denition A modular and replaceable part of a system that encapsulates implementation . . . and exposes a set of interfaces.
What is a Component Model? Denition A framework for describing components . . . with the purpose for creating software from re-usable software components.
Component Model Toolkit to describe Real-Time components Components Re-usable part of an application Applications Templates select and connect Components
Component Model Toolkit to describe Real-Time components Components Re-usable part of an application Applications Templates select and connect Components
Component Model Toolkit to describe Real-Time components Components Re-usable part of an application Applications Templates select and connect Components
Section Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
In which ways can components communicate? Conguration of parameters Exchange data Cooperate to achieve a task
Component Interface
Component Interface
Component Implementation
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Example Application
Example Application
Application Template
Component Interface
Communication: Conguration
Communication: Data
Communication: Data
Communication: Execution
Execution Flow
Communication: Execution
Communication: Execution
Communication: Execution
The following steps lead to a control application design: identication of the control tasks components dening each components interface setting up components connections dening component or application behaviours
Outline
Introduction Examples Challenges Orocos Solution Orocos History Approach The Component Model Results Interaction Categories Example Application
Conclusion
Orocos offers a software toolkit for building real-time components rich online browsable component interface user dened real-time state machines Further Reference: http://www.orocos.org
Measurement results
Measure communication times with ideal instant communication traditional lock-based communication lock-free communication for all communication primitives
Measurement results
Measure communication times with ideal instant communication traditional lock-based communication lock-free communication for all communication primitives
Measurement results
Measure communication times with ideal instant communication traditional lock-based communication lock-free communication for all communication primitives
Measurement results
Measure communication times with ideal instant communication traditional lock-based communication lock-free communication for all communication primitives
Measurement results
Measure communication times with ideal instant communication traditional lock-based communication lock-free communication for all communication primitives
Conclusion
Orocos offers a software toolkit for building real-time components rich online browsable component interface user dened real-time state machines Further Reference: http://www.orocos.org