model-based development and validation of multirobot

25
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

Upload: others

Post on 21-Jan-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-Based Development and Validation of Multirobot

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

Page 2: Model-Based Development and Validation of Multirobot

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

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

2

Page 3: Model-Based Development and Validation of Multirobot

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

Lecture #L2 : Model construction & learningMotivation

� 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

Page 4: Model-Based Development and Validation of Multirobot

Model construction techniques

� Model extraction from program code

� Text analysis (used in some UML tools)

� Pattern-based model construction

� Model learning

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

4

Page 5: Model-Based Development and Validation of Multirobot

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

Page 6: Model-Based Development and Validation of Multirobot

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

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

6

Page 7: Model-Based Development and Validation of Multirobot

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

Camera2

Marker

Camera1

Marker

Patient

Monitor for endoscope

Operatingsurgeon

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

Page 8: Model-Based Development and Validation of Multirobot

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

Scrub Nurse Robot (SNR): Motion analysis

Camera2

Marker

Photos from CEO on HAM, Tokyo Denki University

Demo

8

Page 9: Model-Based Development and Validation of Multirobot

3rd generation Scrub Nurse

Robot “Michael”

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

9

Page 10: Model-Based Development and Validation of Multirobot

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

SNR Control Architecture

Reactive action planningReactive action planning

Targeting and motion control

Targeting and motion control

Motion recognition

Motion recognition

3D position tracking3D position trackingDirect manipulator

controlDirect manipulator

control

Predicted further motions

Data samplingsof 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

Instrumentationlayer

Recognizedmotion

SNR action to be taken

Collision avoidanceCollision avoidance

10

Page 11: Model-Based Development and Validation of Multirobot

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

Current coordinates

Preprocessing and filtering

NN-based detection

Statistics based detection Decision making

( )( ) ( )

dxdydzepXTX

D

µµ

π

−−Σ−−

Σ= ∫∫∫1

2

1

2

1

2

3

2

1

( )( )( )( )( )

( )( )( )( )( )( )( )( )( )

∑=

−+−+−+−+−+−+−+−+−+

=

+++++

n

i

wrist

wrist

wrist

elbow

elbow

elbow

chest

chest

chest

iii

intz

inty

intx

intz

inty

intx

intz

inty

intx

WfC

ntm

ntm

ntm

ntm

ntm

1

5

4

3

2

1

Motion recognition

Kohonen Map-based detection

11

Page 12: Model-Based Development and Validation of Multirobot

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

Motion recognition using statistical

models

- working->extracting, - extracting->passing, - passing->waiting, -waiting->receiving, - receiving->inserting, - inserting->working

12

Page 13: Model-Based Development and Validation of Multirobot

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

SNR Control Architecture

Reactive action planningReactive action planning

Targeting and motion controlTargeting and motion control

Motionrecognition

Motionrecognition

3D position tracking3D position trackingDirect manipulator

controlDirect manipulator

control

Predicted further motions

Data samplingsof 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

Instrumentationlayer

Recognizedmotion

SNR action to be taken

Collision avoidanceCollision avoidance

13

Page 14: Model-Based Development and Validation of Multirobot

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

examplesRTIOCO violation:

counter example

traces

Correctness

checking of

model

extension

(with

Uppaal)

Extended

role model

Switching SNR

planning to

extended role

modelRevision of actor

ontology/correctness

criteria

OnlineOffline

Check

positive

Check

negative Ontology/ correctness

criteria revision request

Recovery request

Update request

1

32

45

6

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

14

Page 15: Model-Based Development and Validation of Multirobot

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: XObs

→ XXTA

� where XXTA

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

Page 16: Model-Based Development and Validation of Multirobot

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

� Initialization

L ← {l0} % L – set of locations, l0 – (auxiliary) initial locationT ← ∅ % T – set of transitionsk,k’ ← 0,0 % k,k’–indexes distinguishing transitions between same

location pairsh ← l0 % h – history variable storing the id of the motion

currently processed in the TTr FIFO Eh’ ← l0 % h’ – variable storing the id of the motion before previoushcl ← 0 % hcl – clock reset historyl ← l0 % l – destination location of the current switching eventcl ← 0 % cl – local clock variable of the automaton being learnedg_cl ← ∅ % g_cl - 3D matrix of clock reset intervalsg_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)

16

Page 17: Model-Based Development and Validation of Multirobot

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 ≠ ∅ do2: e ← get(E ) % get the motion switching event record from buffer E3: h’← h, h ← l4: l ← e[1], cl ← (e[2] - hcl), X ← e[3]5: if l ∉ L then % if the motion has never occurred before 6: L ← L ∪ {l},7: T ← T ∪ {t(h,l,1)} % add transition to that motion8: g_cl(h,l,1) ← [cl, cl] % add clock reset point in time9: for all xi ∈ X do10: g_x(h,l,1,xi) ← [xi, xi] % add state switching point 11: end for12: else % if switching e in existing equivalence class13: if ∃k∈ [1,|t(h,l,.)|], ∀xi∈ X,: xi ∈ g_x(h,l,k,xi) ∧ cl ∈ g_cl(h,l,k) then 14: goto 3415: else % if switching e extends existing equival. class16: if ∃k∈ [1,|t(h,l,.)|], ∀xi∈ X: xi ∈ g_x(h,l,k,xi)↨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 if19: if cl > g_cl(h,l,k)+ then g_cl(h,l,k) ← [g_cl(h,l,k)-, cl] end if20: for all xi ∈ X do21: if xi < g_x(h,l,k,xi)- then g_x(h,l,k,xi) ← [xi, g_x(h,l,k,xi)+] end if22: if xi > g_x(h,l,k,xi)+ then g_x(h,l,k,xi) ← [g_x(h,l,k,xi)-, xi] end if23: end for24: else % if switching e exceeds allowed limits of existing eqv. class25: k ←|t(h,l,.)| +126: T ← T ∪ {t(h,l,k)} % add new transition27: g_cl(h,l,k) ← [cl, cl] % add clock reset point in time28: for all xi ∈ X do29: g_x(h,l,k,xi) ← [xi, xi] % add state switching point 30: end for31: end if32: end if33: a(h’,h,k’) ← a(h’,h,k’) ∪ Xc % add assignment to previous transition34: end while

Create a new eq.class

17

Page 18: Model-Based Development and Validation of Multirobot

HRI learning algorithm (3)

35: for all t(li,lj,k) ∈ T do % compile transition guards and updates

36: g(li,lj,k) ← ‘cl ∈ g_cl(li,lj,k) ∧ /\s ∈[1,|X|] xi ∈ g_x(li, lj, k, xs)’

37: a(li,lj,k) ← ‘Xc ← random(a(li,lj,k)), cl ← 0’ % assign random value in a

38: end for

39: for all li ∈ L do

40: inv(li) ← ‘/\k g(tki) /\ ¬ \/j g(tij)’ % compile location invariants

41: end for

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

Finalize TA syntax formatting

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

18

Page 19: Model-Based Development and Validation of Multirobot

� Given

� Observation sequence E =

� System configuration

� Rescaling operator with region [0,30] for all xi

� Granularity of the quotient space X /~: 2

Learning example (1)

nY

sY

nXsX

NurseSurgeon

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

19

Page 20: Model-Based Development and Validation of Multirobot

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

Learning example (2)

||

20

Page 21: Model-Based Development and Validation of Multirobot

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

Page 22: Model-Based Development and Validation of Multirobot

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

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 xi where x-i,x

+i

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

� Partitioning of dom Xi (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-)

22

Page 23: Model-Based Development and Validation of Multirobot

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

On Question 2:

� Possible candidates:

� Equivalence of languages?

� Simulation relation?

� Conformace relation?

� ...?

23

Page 24: Model-Based Development and Validation of Multirobot

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

24

Page 25: Model-Based Development and Validation of Multirobot

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

Conclusions

� Proposed UPTA learning method makes the on-line synthesis of model-based planningcontrollers 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