SmartSoft MDSD Toolchain 7 May 2010 / SDIR V - Anchorage Andreas - - PowerPoint PPT Presentation

smartsoft mdsd toolchain
SMART_READER_LITE
LIVE PREVIEW

SmartSoft MDSD Toolchain 7 May 2010 / SDIR V - Anchorage Andreas - - PowerPoint PPT Presentation

servicerobotics Autonomous Mobile Service Robots SmartSoft MDSD Toolchain 7 May 2010 / SDIR V - Anchorage Andreas Steck and Christian Schlegel Computer Science Department University of Applied Sciences Ulm


slide-1
SLIDE 1

7 May 2010 SDIR V / Steck, Schlegel

servicerobotics

Autonomous Mobile Service Robots

SmartSoft MDSD Toolchain

7 May 2010 / SDIR V - Anchorage

Andreas Steck and Christian Schlegel

Computer Science Department University of Applied Sciences Ulm

http://smart-robotics.sourceforge.net/ http://www.zafh-servicerobotik.de/ULM/index.php

slide-2
SLIDE 2

7 May 2010 SDIR V / Steck, Schlegel

servicerobotics

Autonomous Mobile Service Robots

SmartSoft MDSD Toolchain

2010-05-07 SDIR 5 - Anchorage

  • Example 1: Servo (RTAI-Linux)
  • Example 3: “Follow Me” - RoboCup@Home
  • Example 2: Navigation Task
  • Example 4: Cleanup Table Scenario
slide-3
SLIDE 3

7 May 2010 SDIR V / Steck, Schlegel

servicerobotics

Autonomous Mobile Service Robots

SmartSoft MDSD Toolchain

  • Eclipse
  • openArchitectureWare
  • PapyrusUML
slide-4
SLIDE 4

7 May 2010 SDIR V / Steck, Schlegel

PIM PSM / PSI deployment runtime idea

servicerobotics

Autonomous Mobile Service Robots

slide-5
SLIDE 5

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

  • v

e r v i e w s e r v

  • e

x a m p l e

PIM PSM / PSI deployment runtime idea

  • introduction into overall MDSD

process via simple example

  • hard realtime in servo

component

slide-6
SLIDE 6

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

SmartServo component

  • will be created in the following demo

SmartJoystickServer component

  • preexisting component (COTS)

d e p l

  • y

m e n t d i a g r a m

  • v

e r v i e w s e r v

  • e

x a m p l e

PIM PSM / PSI deployment runtime idea

slide-7
SLIDE 7

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

SmartServo component

  • will be created in the following demo

SmartJoystickServer component

  • preexisting component (COTS)

d e p l

  • y

m e n t d i a g r a m

  • v

e r v i e w s e r v

  • e

x a m p l e

PIM PSM / PSI deployment runtime idea

slide-8
SLIDE 8

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

c r e a t i n g a c

  • m

p

  • n

e n t i d e a

PIM PSM / PSI deployment runtime idea

  • nTime
slide-9
SLIDE 9

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

S m a r t T a s k ( r e a l t i m e ) S m a r t T a s k S m a r t M u t e x

c r e a t i n g a c

  • m

p

  • n

e n t P I M

PIM PSM / PSI deployment runtime idea

P I M

create PIM using the elements

  • ffered by the

SmartSoft MDSD Toolchain palette

slide-10
SLIDE 10

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

S m a r t T a s k ( r e a l t i m e ) S m a r t T a s k S m a r t M u t e x control servo calculate servo position port connected to smartJoystickServer

c r e a t i n g a c

  • m

p

  • n

e n t P I M

PIM PSM / PSI deployment runtime idea

P I M t a g g e d v a l u e s

slide-11
SLIDE 11

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

S m a r t T a s k ( r e a l t i m e ) S m a r t T a s k S m a r t M u t e x Run code generator

c r e a t i n g a c

  • m

p

  • n

e n t g e n e r a t e P S I

PIM PSM / PSI deployment runtime idea

P I M

slide-12
SLIDE 12

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

executable component c r e a t i n g a c

  • m

p

  • n

e n t g e n e r a t e P S I

PIM PSM / PSI deployment runtime idea verification (e.g. QoS)+ transformation (is done by toolchain)

P I M

S m a r t T a s k ( r e a l t i m e ) S m a r t T a s k S m a r t M u t e x

slide-13
SLIDE 13

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

User Code MATLAB / Simulink RTAI-Lab OpenCV / Qt / Kavraki-Lab verification (e.g. QoS)+ transformation (is done by toolchain)

executable component c r e a t i n g a c

  • m

p

  • n

e n t i n t e g r a t e u s e r

  • c
  • d

e

PIM PSM / PSI deployment runtime idea

P I M

S m a r t T a s k ( r e a l t i m e ) S m a r t T a s k S m a r t M u t e x

slide-14
SLIDE 14

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea

isRealtime = false isRealtime = false

mapping PIM elements to PSM elements (is done by toolchain)

isPeriodic = false isPeriodic = true

c r e a t i n g a c

  • m

p

  • n

e n t g e n e r a t e P S M P I M P S M

toolchain generates elements to emulate periodic tasks

P S I

slide-15
SLIDE 15

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea mapping PIM elements to PSM elements (is done by toolchain)

c r e a t i n g a c

  • m

p

  • n

e n t g e n e r a t e P S M P S M

RTAI-Linux already provides periodic tasks

P S I

isRealtime = false isRealtime = true isPeriodic = false isPeriodic = true

P I M

slide-16
SLIDE 16

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea generate PSI

  • ut of

PSM elements (is done by toolchain)

c r e a t i n g a c

  • m

p

  • n

e n t g e n e r a t e P S I P S M P S I

slide-17
SLIDE 17

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea

c r e a t i n g a c

  • m

p

  • n

e n t i n t e g r a t e u s e r

  • c
  • d

e

code added by developer code added by developer

P S I

slide-18
SLIDE 18

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea

c r e a t i n g a c

  • m

p

  • n

e n t i n t e g r a t e u s e r

  • c
  • d

e

code added by developer calculate servo position (servoOnTime) wait for position update (joystickServer)

P S I

slide-19
SLIDE 19

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea

c r e a t i n g a c

  • m

p

  • n

e n t i n t e g r a t e u s e r

  • c
  • d

e

code added by developer

P S I

slide-20
SLIDE 20

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

d e p l

  • y

m e n t d i a g r a m

SmartServo component

  • created

SmartJoystickServer component

  • preexisting component (COTS)
  • v

e r v i e w s e r v

  • e

x a m p l e

PIM PSM / PSI deployment runtime idea

slide-21
SLIDE 21

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

c r e a t e d e p l

  • y

m e n t

PIM PSM / PSI deployment runtime idea use these elements to create deployment

slide-22
SLIDE 22

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

PIM PSM / PSI deployment runtime idea

c r e a t e d e p l

  • y

m e n t

deploy to target system and run startscript

slide-23
SLIDE 23

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 2: Navigation Task

  • v

e r v i e w n a v i g a t i

  • n

t a s k

  • deployment of COTS components
  • simple replacement of components

(P3DX/SICK ↔ Player/Stage)

  • robot drives to positions given by operator
  • collision avoidance, map building, path planning, etc.
slide-24
SLIDE 24

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 2: Navigation Task

d e p l

  • y

m e n t n a v i g a t i

  • n

t a s k P 3 D X / S I C K

slide-25
SLIDE 25

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 2: Navigation Task

d e p l

  • y

m e n t n a v i g a t i

  • n

t a s k P l a y e r / S t a g e

slide-26
SLIDE 26

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 2: Navigation Task

Live Demo

  • how to create a deployment in

SmartSoft MDSD Toolchain

  • define the initial wiring between

the components

  • add platform specific details
  • add target platform settings
  • deploy scenario to target
  • run scenario in Player/Stage simulator

watch on youtube:

http://www.youtube.com/watch?v=4dZnDPgw3fA

attached file: 2009-12-02-deploy-toolchain.mp4

  • v

e r v i e w n a v i g a t i

  • n

t a s k

slide-27
SLIDE 27

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 3: “Follow Me” - RoboCup@Home

  • v

e r v i e w

  • deployment of COTS components
  • reuse for RoboCup@Home
  • robot follows a person through an

unstructured environment

slide-28
SLIDE 28

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 3: “Follow Me” - RoboCup@Home

d e p l

  • y

m e n t

slide-29
SLIDE 29

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 3: “Follow Me” - RoboCup@Home

  • v

e r v i e w

watch on youtube:

http://www.youtube.com/watch?v=-xvO_bbrb-I

http://www.youtube.com/watch?v=grf-_-32oY0 attached files:

2009-09-10-followMe.mp4

2010-02-25-followMe.mp4

slide-30
SLIDE 30

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 4: Cleanup Table Scenario

  • v

e r v i e w

  • deployment of COTS components
  • complex real world scenario

in everyday environment

  • robot cleans up the table
slide-31
SLIDE 31

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 4: Cleanup Table Scenario

d e p l

  • y

m e n t

slide-32
SLIDE 32

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 4: Cleanup Table Scenario

d e p l

  • y

m e n t

b e h a v i

  • r

s p e e c h r e c

  • g

n i t i

  • n

s p e e c h s y n t h e s i s m a p b u i l d i n g p a t h p l a n n i n g r

  • b
  • t

b a s e l a s e r r a n g e r ( S I C K ) S L A M c

  • l

l i s i

  • n

a v

  • i

d a n c e ( C D L ) p a t h p l a n n i n g ( O p e n R A V E )

  • b

j e c t r e c

  • g

n i t i

  • n

K a t a n a m a n i p u l a t

  • r

H

  • k

u y

  • l

a s e r r a n g e r

slide-33
SLIDE 33

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Example 4: Cleanup Table Scenario

  • v

e r v i e w

watch on youtube:

http://www.youtube.com/watch?v=40d4Dlk5LCQ

attached file:

2010-02-23-cleanUpTable.mp4

slide-34
SLIDE 34

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Links

http://smart-robotics.sourceforge.net/ http://www.youtube.com/roboticsAtHsUlm

slide-35
SLIDE 35

7 May 2010 SDIR V / Steck, Schlegel

Addendum

slide-36
SLIDE 36

7 May 2010 SDIR V / Steck, Schlegel

Eclipse Modeling Framework Meta-Modeling

Ecore-Metamodel (based on OMG EMOF) UML SmartMARS (UML-Profile) MARTE any other meta-model

M3 meta-meta-model M2 meta-model M1 model M0 sourcecode/ text

any other meta-model user-model user-model user-model user-model user-model sourcecode sourcecode sourcecode sourcecode sourcecode

modeling tool code generation

slide-37
SLIDE 37

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain

slide-38
SLIDE 38

7 May 2010 SDIR V / Steck, Schlegel

SmartSoft MDSD Toolchain Generation Gap Pattern

slide-39
SLIDE 39

7 May 2010 SDIR V / Steck, Schlegel

PIM SmartMARS – Metamodel

(Modeling and Analysis of Robotics Systems)

 UML2-Profile  platform independent

stereotypes

  • SmartComponent
  • SmartTask
  • SmartMutex
  • SmartQueryServer
  • SmartEventClient
  • ...

PSM CorbaSmartSoft

CORBA based implementation

  • f SmartSoft

PSI has to be created by a middleware expert

 UML2-Profile  platform specific stereotypes

AceSmartSoft

ACE based implementation

  • f SmartSoft

M2T

  • AW

xPand check

The User Space can contain arbitrary code and libraries The User Space stays the same independent of the different platform specific models Just the component hull will be created

c r e a t i n g a c

  • m

p

  • n

e n t w

  • r

k f l

  • w

...

any other middleware

M2M

  • AW

xTend check

SmartSoft MDSD Toolchain Example 1: Servo (RTAI-Linux)

slide-40
SLIDE 40

7 May 2010 SDIR V / Steck, Schlegel

PIM SmartMARS – Metamodel

(Modeling and Analysis of Robotics Systems)

 UML2-Profile  platform independent

stereotypes

  • SmartComponent
  • SmartTask
  • SmartMutex
  • SmartQueryServer
  • SmartEventClient
  • ...

PSM CorbaSmartSoft

CORBA based implementation

  • f SmartSoft

PSI has to be created by a middleware expert

 UML2-Profile  platform specific stereotypes

M2T

  • AW

xPand check

The User Space can contain arbitrary code and libraries The User Space stays the same independent of the different platform specific models Just the component hull will be created M2M

  • AW

xTend check

c r e a t i n g a c

  • m

p

  • n

e n t w

  • r

k f l

  • w

SmartSoft MDSD Toolchain

slide-41
SLIDE 41

7 May 2010 SDIR V / Steck, Schlegel

PIM SmartMARS – Metamodel

(Modeling and Analysis of Robotics Systems)

 UML2-Profile  platform independent

stereotypes

  • SmartComponent
  • SmartTask
  • SmartMutex
  • SmartQueryServer
  • SmartEventClient
  • ...

PSM CorbaSmartSoft

CORBA based implementation

  • f SmartSoft

PSI has to be created by a middleware expert

 UML2-Profile  platform specific stereotypes

M2T

  • AW

xPand check

The User Space can contain arbitrary code and libraries The User Space stays the same independent of the different platform specific models Just the component hull will be created M2M

  • AW

xTend check

model checking + M2M + M2T

c r e a t i n g a c

  • m

p

  • n

e n t w

  • r

k f l

  • w

SmartSoft MDSD Toolchain