Flanders’ MECHATRONICS Technology Centre www.fmtc.be Orocos Open Robot Control Software Peter Soetens Flanders’ Mechatronics Technology Centre Leuven 5 July 2006 V Jornades de Programari Lliure Barcelona FMTC Celestijnenlaan 300 D B-3001 Leuven Belgium Tel: +32-16-32.25.90 Fax: +32-16-32.27.46 Email: [email protected]FMTC 2006
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Open Robot Control Software⇒ Open Source ’robot’ control and interfacingReal-time Software Toolkits in C++⇒ Developer’s toolTool for developing components for control⇒ Real-time, thread-safe, interactiveOffers common component implementations⇒ Optional
Freely available on:http://www.orocos.org
Outline
1 IntroductionExamplesChallengesOrocos’ SolutionOrocos History
Continuous and discrete control: Placing a car window
Introduction
In these examples, Orocos was used todo the real-time communicationsdefine the real-time behaviour of machines in response tocommunicationcalculate real-time kinematicsaccess the hardware devicescreate components which do all this.
Introduction
In these examples, Orocos was used todo the real-time communicationsdefine the real-time behaviour of machines in response tocommunicationcalculate real-time kinematicsaccess the hardware devicescreate components which do all this.
Introduction
In these examples, Orocos was used todo the real-time communicationsdefine the real-time behaviour of machines in response tocommunicationcalculate real-time kinematicsaccess the hardware devicescreate components which do all this.
Introduction
In these examples, Orocos was used todo the real-time communicationsdefine the real-time behaviour of machines in response tocommunicationcalculate real-time kinematicsaccess the hardware devicescreate components which do all this.
Introduction
In these examples, Orocos was used todo the real-time communicationsdefine the real-time behaviour of machines in response tocommunicationcalculate real-time kinematicsaccess the hardware devicescreate components which do all this.
Outline
1 IntroductionExamplesChallengesOrocos’ SolutionOrocos History
Consider solving. . .Robot or machine interaction with the environment
Without guarantees.
What use is SLAM if your mobile platform bumps intoobstacles ?What use is a camera if your manipulator crushes yourobject ?What use is controller tuning in MATLAB if the controllerfails in practice ?
⇒ They all need real-time control software !
Rapid Software Development
Consider solving. . .
More hardware⇒ Much more software
With monolithic software.New devices, sameproblems to solveMore software andfeaturesDevice connectivity andnetworking
Safe Software Development
Consider solving. . .More threads⇒ Much more trouble
The following steps lead to a control application design:identification of the ‘control tasks’→ componentsdefining each component’s interfacesetting up components connectionsdefining component or application behaviours
Outline
1 IntroductionExamplesChallengesOrocos’ SolutionOrocos History
Orocos offersa software toolkit for building real-time componentsrich online browsable component interfaceuser defined real-time state machines
Further Reference:http://www.orocos.org
Recap: Data Flow Communication
Measurement results
Measure communication times withideal ‘instant’ communicationtraditional ‘lock-based’ communication‘lock-free’ communication for all communication primitives
Measurement results
Measure communication times withideal ‘instant’ communicationtraditional ‘lock-based’ communication‘lock-free’ communication for all communication primitives
Measurement results
Measure communication times withideal ‘instant’ communicationtraditional ‘lock-based’ communication‘lock-free’ communication for all communication primitives
Measurement results
Measure communication times withideal ‘instant’ communicationtraditional ‘lock-based’ communication‘lock-free’ communication for all communication primitives
Measurement results
Measure communication times withideal ‘instant’ communicationtraditional ‘lock-based’ communication‘lock-free’ communication for all communication primitives
Ideal ‘Instant’ Communication
Measured execution latencies: high and low priority.
Ideal ‘Instant’ Communication
Measured execution latencies: lower priority.
Validation : Data Flow
0.1
1
10
100
1000
10000
100000
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
0.5ms/0.1ms
0.1
1
10
100
1000
10000
100000
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
0.5ms/0.1ms
Measured communication latencies: high priority locked andlock-free.
Validation : Data Flow
0.1
1
10
100
1000
10000
100000
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
1ms/0.2ms
0.1
1
10
100
1000
10000
100000
1e+06
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
1ms/0.2ms
Measured communication latencies: medium priority lockedand lock-free.
Validation : Data Flow
0.1
1
10
100
1000
10000
100000
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
2ms/0.3ms
0.1
1
10
100
1000
10000
100000
1e-06 1e-05 1e-04 0.001 0.01 0.1
Occ
uren
ces
Latency time ( s ). Bucket size: 5 us
2ms/0.3ms
Measured communication latencies: low priority locked andlock-free.
Conclusion
Orocos offersa software toolkit for building real-time componentsrich online browsable component interfaceuser defined real-time state machines