• Ingen resultater fundet

Dept. of Computer Science

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "Dept. of Computer Science"

Copied!
25
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Model-Based Development and Validation of Multirobot

Cooperative System

Jüri Vain

Dept. of Computer Science

Tallinn University of Technology

1

(2)

Syllabus

Monday morning: (9:00 – 13.30)

9:00 – 10:30 Intro: Model-Based Development and Validation of Multirobot Cooperative System (MCS)

10:30 – 12:00 MCS model construction and learning

12:00 – 13:30 Model-based testing with reactive planning testers

Tuesday morning: (9:00 – 12.30)

9:00 – 10:30 Model checking Multirobot Cooperative Systems

10:30 – 12:00 Hands-on: Distributed intruder capture protocol

(3)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Lecture #L2 : Model construction & learning Motivation

Model construction is one of the bottlenecks in MBD

is time consuming

needs understanding of the system modelled

needs understanding why it is modelled

needs understanding how has to be modelled

Choose the right modelling formalism that:

is intuitive

has right modelling power

has efficient decision procedures

has good tool support

UPTA

3

(4)

Model construction techniques

Model extraction from program code

Text analysis (used in some UML tools)

Pattern-based model construction

Model learning

(5)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Terminology of machine learning

Passive vs active

Supervised vs unsupervised

Reinforcement learning (reward guided)

Computational structures used:

FSA

Hidden Markov Model

Kohonen Map

NN

Timed Automata

etc

5

(6)

Learning XTA (lecture plan)

Problem context

Assumptions:

I/O observability

Fully observable (output determinism)

Generally non-deterministic models

The learning algorithm

Evaluating the quality of learning

(7)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Camera2

Marker Camera1

Marker

Patient

Monitor for endoscope

Operating surgeon

Assistant

Endoscope assistant Scrub

nurse

Surgical instruments

Camera2 Camera1

Anesthetist

Problem context: SNR scene and motion analysis

get idle

insert work

extract return

.

prepare_istr pick_instr hold_wait pass withrow stretch wait-return receive idle

.

. . .

. . . .

. . Scrub Nurse:

Surgeon:

Anesthetic machine &

monitors for vital signs

7

(8)

Scrub Nurse Robot (SNR): Motion analysis

Camera2

Marker

Photos from CEO on HAM, Tokyo Denki University

Demo

(9)

3rd generation Scrub Nurse Robot “Michael”

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

9

(10)

SNR Control Architecture

Reactive action planning Reactive action planning

Targeting and motion control Targeting and motion control Motion

recognition Motion recognition

3D position tracking

3D position tracking Direct manipulator control

Direct manipulator control

Predicted furthermotions

Data samplings of hand position

Force & position feedback

Control parameters Model(s)

of Surgeon’s motions

Reactive ctrl. layer Deliberative ctrl. layer

Symbolic control loop

SNR’s “world” model

Surgeon’s behaviour model

Nurse’s behaviour model Reference scenario

Instrumentation layer

Recognized motion

SNR action to be taken

Collision avoidance

Collision avoidance

(11)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Current coordinates

Preprocessing and filtering

NN-based detection

Statistics based

detection Decision making

( )

( ) ( )

dxdydz e

p

X

X T

D

µ µ

π

Σ

Σ

=

∫∫∫

21 21 1

2 3

2 1

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

( )

=

















































− +

− +

− +

− +

− +

− +

− +

− +

− +

=













+ + + + +

n

i

wrist wrist wrist elbow

elbow elbow chest

chest chest

i i i

i n t z

i n t y

i n t x

i n t z

i n t y

i n t x

i n t z

i n t y

i n t x

W f C

n t m

n t m

n t m

n t m

n t m

1

5 4 3 2 1

Motion recognition

Kohonen Map- based detection

11

(12)

Motion recognition using statistical models

- working->extracting, - extracting->passing, - passing->waiting, -

waiting->receiving, - receiving->inserting, - inserting->working

(13)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

SNR Control Architecture

Reactive action planning Reactive action planning

Targeting and motion control Targeting and motion control Motion

recognition Motion recognition

3D position tracking

3D position tracking Direct manipulator control

Direct manipulator control

Predicted furthermotions

Data samplings of hand position

Force & position feedback

Control parameters Model(s)

of Surgeon’s motions

Reactive ctrl. layer Deliberative ctrl. layer

Symbol level control loop

SNR’s “world” model

Surgeon’s behaviour model

Nurse’s behaviour model Reference scenario

Instrumentation layer

Recognized motion

SNR action to be taken

Collision avoidance Collision avoidance

13

(14)

High-level behavior learning of SNR

(Initial)

||

interaction learning

Role models of interacting actors

RTIOCO monitoring (with Uppaal

TRON) Model-based

behavior planning of SNR

Learning counter examples RTIOCO violation:

counter example traces

Correctness checking of

model extension

(with Uppaal) Extended role model

Switching SNR planning to extended role

model Revision of actor

ontology/correctness criteria

Online Offline

Check positive

Check negative Ontology/ correctness

criteria revision request

Recovery request Update request 1

3

2

4 5

6

(15)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

(Timed) automata learning algorithm

Input:

Definition of actors’ Observable inputs/outputs X obs

Rescaling operator R: X Obs → X XTA

where X

XTA is a model state space

Equivalence relation “~” defining the quotient state space X / ~

Time-stamped sequence of observed i/o events (timed trace TTr(Obs))

Output:

Uppaal timed automaton A s.t.

TTr(A) ⊇ RTIOCO R(TTr(Obs))/ ~

15

(16)

Initialization

L ← {l 0 } % L – set of locations, l 0 – (auxiliary) initial location T ← ∅ % T – set of transitions

k,k’ ← 0,0 % k,k’– indexes distinguishing transitions between same location pairs

h ← l 0 % h – history variable storing the id of the motion currently processed in the TTr FIFO E

h’ ← l 0 % h’ – variable storing the id of the motion before previous h cl ← 0 % h cl – clock reset history

l ← l 0 % l – destination location of the current switching event cl ← 0 % cl – local clock variable of the automaton being learned g_cl ← ∅ % g_cl - 3D matrix of clock reset intervals

g_x ← ∅ % g_x - 4D matrix of state intervals that define state switching conditions

% E TTr FIFO, consisting of switching triples:

[target_action_ID, switching time, switching state]

Algorithm 1: model compilation (one learning session)

(17)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Match with existing eq.class Encode

new motion

Encode motion previously observed

Extend existing eq.class

Create a new eq.class

1: while E ≠ ∅ do

2: e get(E ) % get the motion switching event record from buffer E

3: h’← h, h ← l

4: l ← e[1], cl ← (e[2] - h

cl

), Xe[3]

5: if lL then % if the motion has never occurred before

6: L L {l},

7: T ← T{t(h,l,1)} % add transition to that motion 8: g_cl(h,l,1) ← [cl, cl] % add clock reset point in time

9: for all x

i

X do

10: g_x(h,l,1,x

i

) ← [x

i

, x

i

] % add state switching point

11: end for

12: else % if switching e in existing equivalence class

13: ifk[1,|t(h,l,.)|], x

i

X,: x

i

g_x(h,l,k,x

i

) ∧ cl g_cl(h,l,k) then

14: goto 34

15: else % if switching e extends existing equival. class

16: if ∃k∈ [1,|t(h,l,.)|], ∀x

i

X: x

i

g_x(h,l,k,x

i

) ↨

Ri

cl ∈ g_cl(h,l,k)

Rcl

17: then

18: if cl < g_cl(h,l,k)

-

then g_cl(h,l,k) ← [cl, g_cl(h,l,k)

+

] end if 19: if cl > g_cl(h,l,k)

+

then g_cl(h,l,k) ← [g_cl(h,l,k)

-

, cl] end if

20: for all x

i

X do

21: if x

i

< g_x(h,l,k,x

i

)

-

then g_x(h,l,k,x

i

) ← [x

i

, g_x(h,l,k,x

i

)

+

] end if 22: if x

i

> g_x(h,l,k,x

i

)

+

then g_x(h,l,k,x

i

) ← [g_x(h,l,k,x

i

)

-

, x

i

] end if

23: end for

24: else % if switching e exceeds allowed limits of existing eqv. class

25: k|t(h,l,.)| +1

26: T ← T{t(h,l,k)} % add new transition

27: g_cl(h,l,k) ← [cl, cl] % add clock reset point in time

28: for all x

i

X do

29: g_x(h,l,k,x

i

) ← [x

i

, x

i

] % add state switching point

30: end for

31: end if

32: end if

33: a(h’,h,k’) a(h’,h,k’) X

c

% add assignment to previous transition 34: end while

Create a new eq.class

17

(18)

HRI learning algorithm (3)

35: for all t(l

i

,l

j

,k) ∈ T do % compile transition guards and updates 36: g(l

i

,l

j

,k) ← ‘cl ∈ g_cl(l

i

,l

j

,k) ∧ /\

s[1,|X|]

x

i

∈ g_x(l

i

, l

j

, k, x

s

)’

37: a(l

i

,l

j

,k) ← ‘X

c

← random(a(l

i

,l

j

,k)), cl ← 0’ % assign random value in a 38: end for

39: for all l

i

∈ L do

40: inv(l

i

) ← ‘/\

k

g(t

ki

) /\ ¬ \/

j

g(t

ij

)’ % compile location invariants 41: end for

Interval extension operator:

[.,.] ↨ R : [x - , x + ] ↨ R = [x - - δ , x + + δ ], where δ = R - (x + - x - )

Finalize TA

syntax

formattin

g

(19)

Given

Observation sequence E =

System configuration

Rescaling operator with region [0,30] for all x i

Granularity of the

quotient space X / ~ : 2

Learning example (1)

nY

sY nX sX

Nurse Surgeon

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

19

(20)

Learning example (2)

||

(21)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Does XTA exhibit the same behavior as the traces observed?

Question 1: How to choose the equivalence relation “~” to define a feasible quotient

space?

Question 2: How to choose the equivalence relation to compare traces TTr(XTA) and

TTr(Obs)?

TTr(XTA) = R (TTr(Obs)) / ~ ?

↓↓↓↓

TTr(XTA) ⊇ RTIOCO R(TTr(Obs)) / ~

21

(22)

How to choose the equivalence relation

“~” do define a feasible quotient space?

State space granularity parameter γ i defines the maximum length of an interval [x - i ,x + i ), of

equivalent (regarding ~) values of x i where x - i ,x + i

∈ X i for all X i (i = [1,n]).

Partitioning of dom X i (i = [1,n]) to intervals (see line 16 of the algorithm) is implemented using interval expansion operator [.,.] ↨ R :

Interval extension operator:

[.,.] ↨ R : [x - , x + ] ↨ R = [x - - δ , x + + δ ], where δ =R-(x + -x - )

(23)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

On Question 2:

Possible candidates:

Equivalence of languages?

Simulation relation?

Conformace relation?

...?

23

(24)
(25)

Doctoral course ’Advanced topics in Embedded Systems’. Lyngby' 10

Conclusions

Proposed UPTA learning method makes the on- line synthesis of model-based planning

controllers for HA robots feasible.

Other practical aspects:

o learning must be incremental, i.e., knowledge about the previous observations can be re-used;

o UPTA models can be verified - functional correctness and performance can be verified on the model before used e.g., for planner synthesis;

o adjustable level of abstraction of the generated model to keep the analysis tractable.

25

Referencer

RELATEREDE DOKUMENTER

Department of Applied Mathematics and Computer Science PERSONAL

?Energy control, air-conditioning, safety systems, etc.

 In some situtations (when using GMF), you can use Recording commands – basically programming as usual except for the set up (tutorial 2).  When changes are made in a GMF

 Like EMOF, CMOF can be defined in terms of its own concepts (or in terms of EMOF)..

 Concepts and underlying theory of Model-based Software Engineering (with focus on the meta-level).  Relation between the concepts and rationale

Satisfiability is reduced to emptiness of regular languages Decidable result for both discrete and continuous time Seemingly small extensions give undecidable subsets.. RDC

∙ Duration Calculus: A formal approach to real-time systems Zhou Chaochen and Michael

Copyright c 1997, BRICS, Department of Computer Science University of Aarhus.. All