Open Robot Control Software Peter Soetens - Orocos · Leuven 1 October 2007 FMTC, Leuven FMTC...

Preview:

Citation preview

Flanders’MECHATRONICSTechnology Centrewww.fmtc.be

Orocos IntroductionOpen Robot Control Software

Peter Soetens

Flanders’ Mechatronics Technology CentreLeuven

1 October 2007FMTC, Leuven

FMTC Celestijnenlaan 300 D B-3001 Leuven BelgiumTel: +32-16-32.25.90 Fax: +32-16-32.27.46 Email: info@fmtc.be FMTC 2006

Outline

1 Introduction

2 Approach

3 Example Application

Section Outline

1 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

Orocos in one-liners

The Real-Time Toolkit (RTT):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 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

Communication and Behaviour

Continuous control: tracking a light source.

Communication and Behaviour

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 tocommunicationaccess 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 tocommunicationaccess 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 tocommunicationaccess 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 tocommunicationaccess the hardware devicescreate components which do all this.

Section Outline

1 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

Outline

1 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

A Component Model for Control

ApproachCreate a software component for each ‘task’ within themachine

Component Definition

CommunicationDefined by thecomponent interface

BehaviourDefined by real-timestate machines

Component Definition

CommunicationDefined by thecomponent interface

BehaviourDefined by real-timestate machines

Work-flow

Component ModelReal-Time Toolkit tobuild components

ComponentsRe-usable part of anapplication

Applications‘Deployments’ selectand connectComponents

Work-flow

Component ModelReal-Time Toolkit tobuild components

ComponentsRe-usable part of anapplication

Applications‘Deployments’ selectand connectComponents

Work-flow

Component ModelReal-Time Toolkit tobuild components

ComponentsRe-usable part of anapplication

Applications‘Deployments’ selectand connectComponents

Outline

1 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

Component CommunicationPatterns

In which ways can components communicate?

Configuration of parametersExchange dataCooperate to achieve a task

Component CommunicationPatterns

Component Interface

Component Interface

Component Implementation

State Machine Example

Section Outline

1 IntroductionExamples

2 ApproachThe Component ModelCommunication Categories

3 Example Application

Example Application

How are these communication primitives used ?

Example Application

Deployment Configuration

Component Interface

Communication: Configuration

Configuration Flow : Properties

Communication: Data

Data Flow : Ports and Connectors

Communication: Data

Data Flow : Ports and Connectors

Communication: Execution

Execution Flow

Communication: Execution

Execution Flow: Methods

Communication: Execution

Execution Flow: Commands

Communication: Execution

Execution Flow: Events

Communication: Complete Picture

Example Application Summary

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

Recommended