CAR' 2010 Soraya Arias Florine Boudin Roger Pissard-Gibollet - - PowerPoint PPT Presentation

car 2010
SMART_READER_LITE
LIVE PREVIEW

CAR' 2010 Soraya Arias Florine Boudin Roger Pissard-Gibollet - - PowerPoint PPT Presentation

1 Orccad, a Model Driven Architecture and Environment for Robot Control May 18 th & 19 th 2010, Douai CAR' 2010 Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon 2 Orccad : status and motivations Model: Control


slide-1
SLIDE 1

1 May 18th & 19th 2010, Douai

Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

CAR' 2010

Orccad, a Model Driven Architecture and Environment for Robot Control

slide-2
SLIDE 2

2

Orccad : status and motivations

Model:

  • Control design oriented approach for robotics
  • Mixed feedback and discrete events

Tools:

  • Design & simulation/validation
  • Real-time workshop

V4 modeling and software development:

  • Aging version, based on proprietary tools
  • Sound model & design approach
  • Model Driven Architecture based on Eclipse Modeling Tools
  • Open Source software
slide-3
SLIDE 3

3

The Orccad model

RobotTasks

  • Feedback Control
  • Cyclic real-time data flow
  • Event-based view

RobotProcedures

  • Discrete Events Control
  • Incremental design
  • Exception processing
  • Mission definition

Top-down requirements capture Bottom-up design

slide-4
SLIDE 4

4

Quadrotor networked control & diagnosis

Networked system

  • CAN bus
  • Distributed diagnosis
  • Fault tolerant control

Flexible scheduling

  • Varying sampling
  • (m,k)-firm
  • Dynamic priorities

Hardware-in-the-loop

  • Linux simulation
  • PPC embedded

V4 Runtime update

(SafeNecs ANR)

slide-5
SLIDE 5

5

Drone control block-diagram

Networked system

  • CAN bus
  • Distributed diagnosis
  • Fault tolerant control

Flexible scheduling

  • Varying sampling
  • (m,k)-firm
  • Dynamic priorities

Hardware-in-the-loop

  • Linux simulation
  • PPC embedded

V4 Runtime update

slide-6
SLIDE 6

6

Feedback control action

  • Control algorithm definition
  • Modular design
  • Functional parameters
  • Timing parameters

Event based behaviour

  • Precondition
  • Synchronization
  • Exception
  • Weak T1
  • Strong T2
  • Fatal T3
  • Postcondition

Orccad components: RobotTask

slide-7
SLIDE 7

7

Orccad components: Modules

Implement functions Algorithmic Phy_Resource (drivers) Typed Input/Output ports

  • Data
  • Drivers
  • Parameters
  • Events

User defined C code init(inputs) forever{ compute(inputs) } end()

slide-8
SLIDE 8

8

  • Task ID
  • Modules ID
  • Priority
  • Synchronization
  • Clock
  • Output port
  • Extern event
  • Overrun policy
  • Skip, Soft, Hard
  • User's defined
  • WCET
  • CPU ID

Orccad components: Temporal Constraint

Real time threads

slide-9
SLIDE 9

9

Orccad components: RobotProcedure

  • Composition of control actions
  • Incremental design
  • From exception processing to mission definition
  • Currently written in Esterel

See next talk!

slide-10
SLIDE 10

10

Runtime

Code generation

  • C++ classes
  • Virtual system calls

Compilation

  • Binding to real calls
  • Link with specific runtime library
  • Linux/Posix
  • Xenomai/Native
  • ...
slide-11
SLIDE 11

11

MDA in Orccad

  • Eclipse Modeling Project based on the idea of a Model (MetaModel)
  • EMP offers different tools for different goals : EMF, GMF, Xpand...
  • Principe of plug-in in the Eclipse Environment

Ecore Java XSD UML

slide-12
SLIDE 12

12

Orccad by Developer & User

Orccad MetaModel

Software

As a Developer

slide-13
SLIDE 13

13

Orccad by Developer & User

Orccad metamodel

As a User

slide-14
SLIDE 14

14

MDA : How it works

MetaModel Model Generator The Metamodel defines how a model is made. Made by the developer. The Model is realized by the user. It matches to the meta-model and its constraints. It generates the source code from the model, using templates defined by the developer .

slide-15
SLIDE 15

15

MetaModel - an example

The graphical view is close to an UML model.

slide-16
SLIDE 16

16

MetaModel - an example

Class Code is generated in Java, we find Java properties in the Ecore model.

slide-17
SLIDE 17

17

MetaModel - an example

Inheritance Code generated in Java, we find Java properties in the Ecore model.

slide-18
SLIDE 18

18

MetaModel - an example

References

slide-19
SLIDE 19

19

EMF – Tree Editor

  • A plugin developed in the Eclipse project
  • From a metamodel, generates a Tree

Editor as a plugin

  • For Eclipse
  • RCP plugin
  • Really useful to realize beta-version
  • Constraints must be defined and filled at

this step.

slide-20
SLIDE 20

20

EMF – Tree Editor

  • Generation of Code
  • Creation of a new Project (Plug-in)
  • Packages by functions
  • All the customization on eclipse plug-in

are allowed

  • Generated code must be modified and/or
  • completed. With keyword, a re-generation of

the code is safe.

slide-21
SLIDE 21

21

EMF – Tree Editor

slide-22
SLIDE 22

22

GMF – Graphical Editor

  • The Tree Editor must be generated before the

generation of the Graphical Editor.

  • We specify through files
  • Graphical representations of elements and

links

  • Palette tool
  • Mapping, the coherence between view,

ecore and palette.

  • Then we can generate the Graphical Editor.
slide-23
SLIDE 23

23

GMF – Graphical Editor

Graphical Interface Code :

  • MVC design pattern

Model, Controller and View are independent for a easier maintenance.

slide-24
SLIDE 24

24

GMF – Graphical Editor

Result of a quick Graphical Interface uncluttered -> customization !

slide-25
SLIDE 25

25

GMF – Graphical Editor

Example of a simple customization

slide-26
SLIDE 26

26

Xpand – The Code generator

➢ Xpand is proposed as a M2T (Model to

Text ) technology in the Eclipse Modeling Project

➢ It fits with the Ecore Metamodel ➢ Entirely customization for any type of file ➢ Templates have a simple syntax ➢ Code generator is independent from the

source code

Why Xpand ?

slide-27
SLIDE 27

27

Xpand – The Code generator

Templates .xpt

Meta Model .ecore XPAND

files

  • Source code
  • Documentation
  • Webpages
  • Whatever you want

Model

slide-28
SLIDE 28

28

Eclipse tooling assessment

  • Advantages

✔ Eclipse Environment ✔ Model and Code independence ✔ Extensibility/scalability ✔ Fast when technology mastered

  • Disadvantages

✗ Abandoned tools ✗ Choices ✗ Technology not easy to master

slide-29
SLIDE 29

29

Questions ?

http://orccad.gforge.inria.fr Opening soon!