A Software Component for Plan Management in Robotics Sylvain Joyeux - - PowerPoint PPT Presentation

a software component for plan management in robotics
SMART_READER_LITE
LIVE PREVIEW

A Software Component for Plan Management in Robotics Sylvain Joyeux - - PowerPoint PPT Presentation

A Software Component for Plan Management in Robotics Sylvain Joyeux Thse prpare au LAAS/CNRS 6 December, 2007 1. Introduction Autonomous robotic systems A Software Component for Plan Management in Robotics Sylvain Joyeux


slide-1
SLIDE 1

A Software Component for Plan Management in Robotics

Sylvain Joyeux

Thèse préparée au LAAS/CNRS

6 December, 2007

slide-2
SLIDE 2
  • 1. Introduction
slide-3
SLIDE 3

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 3 / 75

Autonomous robotic systems

I can’t define a robot, but I know one when I see one

  • J. Engelberger
slide-4
SLIDE 4

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 3 / 75

Autonomous robotic systems

robotic systems electro-mechanical systems able to sense their environment and act in it autonomous able to decide its course of action in order to perform a mission i.e. embodied sense-plan-act loops

slide-5
SLIDE 5

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 4 / 75

Robotic architectures

In software development, an architecture separates functions into components defines the interactions between those components solves the common problems must allow integration to solve the not-so-common

  • nes

in robotics, two main concerns:

modular integration of diverse data processing services integration of decision-making

slide-6
SLIDE 6

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 4 / 75

Robotic architectures

In software development, an architecture separates functions into components defines the interactions between those components solves the common problems must allow integration to solve the not-so-common

  • nes

in robotics, two main concerns:

modular integration of diverse data processing services integration of decision-making

slide-7
SLIDE 7

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 5 / 75

Decision-making

Two kinds of decision-making: reactive given the situation and the goals, what should be the next step.

slide-8
SLIDE 8

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 5 / 75

Decision-making

Two kinds of decision-making: reactive given the situation and the goals, what should be the next step. by anticipation given the situation and the goals, explore the possible futures determine the “desired” ones determine the set(s) of actions required to reach them = the plan(s)

slide-9
SLIDE 9

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 6 / 75

The two-layer model

Robot Hardware Environment Decision layer Functional layer Commands Information Commands Information

slide-10
SLIDE 10

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 6 / 75

The two-layer model

Robot Hardware Environment Decision layer Functional layer Information Information

Multiple decision making tools There’s decision−making in here too !

slide-11
SLIDE 11

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 7 / 75

Focus of this thesis

Integration of decision-making

Our focus An architecture allowing . . . the cooperative integration of heterogeneous decision-making tools

slide-12
SLIDE 12

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 7 / 75

Focus of this thesis

Integration of decision-making

Our focus An architecture allowing . . . the cooperative integration of heterogeneous decision-making tools heterogeneous choose the right planner for the task because there is no one-fits-all planner because planning is complex

⇒ split big problems into smaller ones

slide-13
SLIDE 13

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 7 / 75

Focus of this thesis

Integration of decision-making

Our focus An architecture allowing . . . the cooperative integration of heterogeneous decision-making tools heterogeneous choose the right planner for the task because there is no one-fits-all planner because planning is complex

⇒ split big problems into smaller ones

cooperative integration through planner-planner negotiation ⇒ one planner’s decision must not overconstrain the

  • thers’
slide-14
SLIDE 14

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 8 / 75

Integration through partial plans

Alami et al. – 1998 An Architecture for Autonomy Muscettola et al. – 2002 IDEA: Planning at the Core

  • f Autonomous Agents

Chouinard et al. – 2005 Intelligent rover decision-making in response to exogenous events multiple planners integration is done by exchanging partial plans no representation of the whole system plan

slide-15
SLIDE 15

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 9 / 75

Concurrent Reactive Plans

Execution of plan libraries

a plan library tools to adapt plans continuously

⇒ transformation planning

state projection Demonstrated the validity of a “plan management” scheme Beetz – 2002 Concurrent Reactive Plans

slide-16
SLIDE 16

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 10 / 75

GPGP/TAEMS

Plan-based control of multi-robot systems

plan model based only on tasks and task graphs

⇒ rich set of task relations ⇒ designed for scheduling

designed for multi-robot systems whiteboard-based approach of plan building Lesser, Decker et al. – 2004 Evolution of the GPGP/TAEMS Domain-Independent Coordination Framework

slide-17
SLIDE 17

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 11 / 75

Our approach

General principle One central place where the whole system’s plan is represented managed Fit to be the integration place for planners reactive decision-making plan analysis tools: situation assessment, diagnostics, . . .

slide-18
SLIDE 18

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 12 / 75

Our approach

1

A multi-robot plan model

as planner-agnostic as possible

⇒ representation based on actions, not state

aimed at supervision, not planning

⇒ represents from high-level actions to low-level ones ⇒ rich situation representation

designed with multi-robot in mind

Plan

  • bject

instances

  • bject

graphs Models

  • bject

models application code application code

slide-19
SLIDE 19

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 12 / 75

Our approach

1

A multi-robot plan model

2

A plan management scheme

execution of the said plan

⇒ in particular, representation of errors and of their recovery process

adaptation as it is being executed

⇒ dynamic plans

Models Controller Executive

Plan

application code Modifies application code Other robots Functional layer User

slide-20
SLIDE 20

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 12 / 75

Our approach

1

A multi-robot plan model

2

A plan management scheme

3

Decision-making for plan execution

  • nline plan fault resolution

planning-execution conflict resolution

Plan Models

Decision Control

Plan Generation Tools

Planning Tools Executive

slide-21
SLIDE 21

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 13 / 75

Outline of the presentation

1

Introduction

2

Plan Model

3

Plan Execution

4

Plan Adaptation

5

Results

6

Conclusion & Future Work

slide-22
SLIDE 22

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 14 / 75

Illustration and validation of our approach

through a complete robot

⇒ must manage a complex set of functions ⇒ “big enough” plan sizes to test the execution scalability

through the management of a bi-robot plan

⇒ model fit to control multiple robots ⇒ building joint plans ⇒ joint plan execution

slide-23
SLIDE 23

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 15 / 75

Mono-robot scenario: the Dala rover

Mission: navigation in unknown environment Bitmap builds a global traversability map Nav long-range path planning in traversability map Dtm builds a local elevation map P3d short-range path planning in elevation map Pom position fusion

slide-24
SLIDE 24

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 16 / 75

Bi-robot scenario: rover/UAV cooperation

Rover ⇒ local perception UAV ⇒ long-range perception

slide-25
SLIDE 25

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 17 / 75

Simulated bi-robot setup

Terrain + rich simulation: the robot software is used almost as-is + fault injection to test error handling

slide-26
SLIDE 26

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 18 / 75

Experimental mono-robot setup

The Dala rover Fault injection devices

"Algeco", here at LAAS Esperce airfield Caylus, military training ground RF emergency brakes

Thanks to Thierry, Matthieu and Arnaud

slide-27
SLIDE 27

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction

Context Thesis focus Existing approaches Our approach Scenario

Model Execution Adaptation Results Conclusion 19 / 75

Experimental bi-robot setup

The Ressac UAV Thanks to Roger, Vincent and Alain at ONERA

slide-28
SLIDE 28
  • 2. Plan Model
slide-29
SLIDE 29

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 21 / 75

Overview

What do we need ? a representation of activities

⇒ tasks The robot has already reached a given point, and is now moving towards another. It will update its map in the future.

slide-30
SLIDE 30

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 21 / 75

Overview

What do we need ? a representation of activities

⇒ tasks

a representation of the activity interactions

⇒ task graphs how an activity influences another What impact the terrain mapping has on the movement ?

slide-31
SLIDE 31

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 21 / 75

Overview

What do we need ? a representation of activities

⇒ tasks

a representation of the activity interactions

⇒ task graphs how an activity influences another constraints on the activities Is it allowed for the localization to stop ?

slide-32
SLIDE 32

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 21 / 75

Overview

What do we need ? a representation of activities

⇒ tasks

a representation of the activity interactions

⇒ task graphs how an activity influences another constraints on the activities

a representation of the activities evolution

⇒ events The localization has already started. The movement has just blocked.

slide-33
SLIDE 33

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 21 / 75

Overview

What do we need ? a representation of activities

⇒ tasks

a representation of the activity interactions

⇒ task graphs how an activity influences another constraints on the activities

a representation of the activities evolution

⇒ events

a representation of the whole system evolution

⇒ event graphs When the mapping is started and the path is computed, the robot can start moving

slide-34
SLIDE 34

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 22 / 75

Tasks: representation of activities

parametrized activity model

▼♦✈❡❚♦✭①✱ ②✮ P♦♠✿✿▲♦❝❛❧✐③❛t✐♦♥✭✮ ▼❛♣❩♦♥❡✭①❴st❛rt✱ ②❴st❛rt✱ ①❴❢✐♥❛❧✱ ②❴❢✐♥❛❧✮ ❚r❛❝❦P❛t❤✭♣❛t❤✮

slide-35
SLIDE 35

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 22 / 75

Tasks: representation of activities

parametrized activity model hierarchical organization of task models

⇒ allows to represent equivalence between activities

P3D::MoveTo (x, y, yaw) NDD::MoveTo (x, y, yaw) Nav::MoveTo (x, y, yaw) MoveTo(x, y, yaw) TraversabilityMapping Bitmap::Mapping RemoteMapping Roby::Task()

slide-36
SLIDE 36

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 22 / 75

Tasks: representation of activities

parametrized activity model hierarchical organization of task models notion of non-executable tasks

⇒ partially instantiated activities ⇒ activities from abstract models

slide-37
SLIDE 37

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 23 / 75

Task relations: activity interactions

Different kinds of relations hard dependency planning execution support ⇒ task graphs !

Bmap::Mapping Pom::Localization P3d::TrackPath Nav::Path Nav::PathPlanning Nav::MoveTo(x, y, yaw) Nav::MoveTo(x, y, yaw) Nav::Runner Pom::Runner depends_on executed_by PlanningTask planned_by

slide-38
SLIDE 38

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 24 / 75

Multi-robot plans: ownership and roles

Notion of ownership and roles

  • wnership who is doing what ?

role who will be doing what in team interest ?

Bmap::TravMapping POM::Localization P3d::TrackPath Nav::Path Nav::MoveTo(to: C) Nav::PathPlanning RegionsOfInterest RemoteMapping DataTransfer

slide-39
SLIDE 39

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 25 / 75

Execution flow: what for ?

Example: perception on the Dala rover

The needs trigger the updates at the appropriate times need to sequence the perception activities

when does a perception should start/stop ? when are the maps updated ? . . .

Bitmap::Mapping Dtm::Mapping PlanningLoop PlanningLoop Bitmap::Perception Dtm::Perception Dtm::Perception Bitmap::Perception

slide-40
SLIDE 40

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 26 / 75

Events

A representation of milestones during execution

represents a noticeable situation

⇒ the robot moved more than x meters ⇒ timeout of 5 seconds ⇒ . . .

slide-41
SLIDE 41

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 26 / 75

Events

A representation of milestones during execution

represents a noticeable situation

⇒ the robot moved more than x meters ⇒ timeout of 5 seconds ⇒ tasks are composed of events

success stop failed aborted start MoveTo(x, y, yaw) blocked

slide-42
SLIDE 42

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 26 / 75

Events

A representation of milestones during execution

represents a noticeable situation

⇒ the robot moved more than x meters ⇒ timeout of 5 seconds ⇒ tasks are composed of events

interface to control the system

⇒ start an activity/stop it ⇒ update the map ⇒ . . .

slide-43
SLIDE 43

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 27 / 75

Reacting to events: signalling

Describes the reaction to events When there is a signal e1 → e2 the command of e2 is called when e1 is emitted

Dtm::Perception success stop Stereopixel::Perception success start start

slide-44
SLIDE 44

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 27 / 75

Reacting to events: signalling

Describes the reaction to events When there is a signal e1 → e2 the command of e2 is called when e1 is emitted

Dtm::FuseDtm success start stop Dtm::Perception success stop Stereopixel::Perception success stop start start

slide-45
SLIDE 45

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 28 / 75

Signal is not enough !

Dtm::FuseDtm success start stop Dtm::Perception success stop Stereopixel::Perception success stop Dtm::FillP3dPoster success stop start start start

? ? ? ? ?

slide-46
SLIDE 46

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 29 / 75

Event generalization: forwarding

Generalization semantic between events When e1 is forwarded on e2, e2 is emitted when e1 is. Therefore the situations represented by e2 are a superset of those represented by e1.

Dtm::FuseDtm success start stop Dtm::Perception success stop Stereopixel::Perception success stop Dtm::FillP3dPoster success stop start start start

slide-47
SLIDE 47

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 29 / 75

Event generalization: forwarding

Generalization semantic between events When e1 is forwarded on e2, e2 is emitted when e1 is. Therefore the situations represented by e2 are a superset of those represented by e1.

Dtm::Mapping updated_data PlanningLoop loop_success Dtm::Perception success stop Dtm::FillP3dPoster success stop start start

slide-48
SLIDE 48

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 30 / 75

Back to Dala perception loops

implemented using two loop structures

⇒ generic structures built with the standard model

triggers are state events

⇒ in this case, represent a delta in position, heading

  • r time

The loop construct

slide-49
SLIDE 49

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model

Overview Activities Execution flow

Execution Adaptation Results Conclusion 31 / 75

Summary

with separated activity and temporal structures allows to represent progressive tasks and their interaction able to represent joint plans

slide-50
SLIDE 50
  • 3. Plan Execution
slide-51
SLIDE 51

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 33 / 75

Overview

event propagation

⇒ synchronous model ⇒ global propagation algorithm

slide-52
SLIDE 52

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 33 / 75

Overview

event propagation

⇒ synchronous model ⇒ global propagation algorithm

multi-robot execution rich error definition and handling automatic cleanup of the plan

slide-53
SLIDE 53

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 34 / 75

Composition of plans in multi-robot context

cannot have all tasks of all robots in all plans selection of relevant tasks is based on:

direct relation to one’s own plan

⇒ there is a relation between a local task and the remote task

an explicit subscription mechanism

⇒ a plan manager can explicitly ask another to send updates about its tasks

slide-54
SLIDE 54

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 35 / 75

Example: partial views of Dala and Ressac

Live data from Caylus 25/10

Nav::PathPlanning ZoneMapping::Export Nav::RegionsOfInterest Bitmap::Perception PlanningLoop Genom::Bitmap::Mapping Pom::Localization Dtm::Mapping MapPath PlanningLoop UAVMapping::MapAlongPath TransferSink TransferSource

Joint plan as seen by Ressac: ∼ 17 tasks, 8 remote tasks

Nav::PathPlanning Nav::RegionsOfInterest Bitmap::Perception PlanningLoop Genom::Bitmap::Mapping Pom::Localization Dtm::Mapping UAVMapping::MapAlongPath TransferSink TransferSource Nav::MoveTo Nav::Path P3d::Track Rflex::TrackSpeedStart P3d::TrackPath

Joint plan as seen by Dala: ∼ 65 tasks, 2 remote tasks

slide-55
SLIDE 55

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 36 / 75

Synchronization problems in multi-robot

The protocol has synchronization guaranties either it guarantees synchronization

⇒ example: plan building tools

  • r it reports plan-related errors

⇒ lack of synchronization in the plan

Example

TransferSource push TransferSink pull failed 1

Ressac sends a notification to Dala

2

communication delays

⇒ ❚r❛♥s❢❡r❙✐♥❦ fails in the meantime

3

Dala receives the notification but the target does not exist anymore

⇒ ❙②♥❝❤r♦♥✐③❛t✐♦♥❊rr♦r on common parent

slide-56
SLIDE 56

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 37 / 75

Error handling

a generic description of errors as

a type a fault point

means to constrain the system

⇒ to define what’s allowed and what is not

means to react to errors and a default mechanism for unhandled errors

slide-57
SLIDE 57

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 38 / 75

Managing fault modes

⇒ forwarding is used to represent fault modes

success stop failed aborted start MoveTo(x, y, yaw) blocked

slide-58
SLIDE 58

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 38 / 75

Managing fault modes

⇒ forwarding is used to represent fault modes

success stop failed aborted start MoveTo(x, y, yaw) blocked

Forwarding and failure points a handler which applies to a given erroneous situation . . . . . . also applies to the subsets of this situation

slide-59
SLIDE 59

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 39 / 75

Task relations as constraint definition

The link between events and task relations

Task relations describe which situations are desired and which are forbidden

Dtm::Perception success stop start Stereopixel::Perception success start

depends_on

slide-60
SLIDE 60

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 39 / 75

Task relations as constraint definition

The link between events and task relations

Task relations describe which situations are desired and which are forbidden

Dtm::FuseDtm success start stop Stereopixel::Perception failed stop start Dtm::Perception success stop start

depends_on

Type ❉❡♣❡♥❞❡♥❝②❋❛✐❧❡❞❊rr♦r failure point ❢❛✐❧❡❞ event of ❙t❡r❡♦♣✐①❡❧✿✿P❡r❝❡♣t✐♦♥

slide-61
SLIDE 61

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 40 / 75

Error reparation

Three error handling methods

1

repair errors during event propagation

2

repair using subplans

3

exception propagation

slide-62
SLIDE 62

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 41 / 75

Repairing errors during event propagation

An event handler of a specific erroneous event repairs the plan

Rflex::TrackSpeedStart failed stop poster_not_updated Rflex::TrackSpeedStart start P3d::PathTracking

slide-63
SLIDE 63

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 42 / 75

Asynchronous repairs

mark a task as repairing a failure point

⇒ plan repair

during the lifetime of the repair task and while a timeout is not reached

⇒ the error is inhibited

The repair_with relation This relation associates a task and an event which may be a failure point ⇒ activated when the failure point is the event

slide-64
SLIDE 64

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 43 / 75

Example: P3D’s ❜❧♦❝❦❡❞ event

Cascade of error handlers When the motion control reports “blocked”

1

update the elevation map locally

2

if it still fails, reinitialize the elevation map

3

if it still fails, the robot is really blocked

⇒ real error

+

if the robot moves after a repair, reinitialize to

1 Video ❜r❛❦❡s❴♦♥ on Rflex

slide-65
SLIDE 65

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 44 / 75

Exception handling

a failure

is not handled by a repair_with relation has no associated plan repair

a repair task has failed

Bitmap::Perception PlanningLoop Genom::Bitmap::Mapping Dtm::Mapping P3d::Track Rflex::TrackSpeedStart P3d::TrackPath Nav::PathPlanning Nav::Path Nav::MoveTo Pom::Localization failed stop

slide-66
SLIDE 66

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 45 / 75

Exception handling call order

Bitmap::Perception PlanningLoop Dtm::Mapping P3d::Track Rflex::TrackSpeedStart P3d::TrackPath Nav::PathPlanning Nav::Path Nav::MoveTo Genom::Bitmap::Mapping Pom::Localization

1

slide-67
SLIDE 67

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 45 / 75

Exception handling call order

Bitmap::Perception Dtm::Mapping P3d::Track Rflex::TrackSpeedStart P3d::TrackPath Nav::PathPlanning Nav::Path Nav::MoveTo Pom::Localization PlanningLoop

2

Genom::Bitmap::Mapping

1

slide-68
SLIDE 68

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 45 / 75

Exception handling call order

Bitmap::Perception Dtm::Mapping P3d::Track Rflex::TrackSpeedStart P3d::TrackPath Pom::Localization PlanningLoop Genom::Bitmap::Mapping Nav::Path Nav::MoveTo Nav::PathPlanning

1 2 3 4 5

slide-69
SLIDE 69

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 46 / 75

Garbage collection

must remove tasks which are harmful must remove tasks that are not useful anymore

not used by any missions not meaningful in the robot-robot interaction

Our plans are made of task graphs ⇒ global algorithm

slide-70
SLIDE 70

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution

Multi-robot Errors GC

Adaptation Results Conclusion 47 / 75

Summary: the execution cycle

  • 1. Event

Propagation

  • 2. Error

Handling

  • 3. Garbage

Collection

slide-71
SLIDE 71
  • 4. Plan Adaptation
slide-72
SLIDE 72

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 49 / 75

Transactions: motivation

  • ur plan manager relies on task and event structure

to manage the system

execution flow determination of errors garbage collection . . .

slide-73
SLIDE 73

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 49 / 75

Transactions: motivation

  • ur plan manager relies on task and event structure

to manage the system ⇒ we need a tool to change the old structure into the new one in a single step

slide-74
SLIDE 74

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 49 / 75

Transactions: motivation

  • ur plan manager relies on task and event structure

to manage the system ⇒ we need a tool to change the old structure into the new one in a single step plan generation is not a fast process

planning is a complex task communication latency in multi-robot

slide-75
SLIDE 75

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 49 / 75

Transactions: motivation

  • ur plan manager relies on task and event structure

to manage the system ⇒ we need a tool to change the old structure into the new one in a single step plan generation is not a fast process ⇒ we need a tool to allow simultaneous plan generation and execution

slide-76
SLIDE 76

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 50 / 75

Transaction

  • riginally a concept from databases

represents the transformation

from the plan as it is being executed into the new plan

negotiation: allows to sandbox every kind of plan change

structure

  • wnership

roles subscription . . .

slide-77
SLIDE 77

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 51 / 75

Example: Dala/Ressac negotiation

Live data from Caylus 25/10

Ressac’s plan

RemoteTrvMapping::Planning start Bitmap::Mapping Services::RemoteTraversabilityMapping

slide-78
SLIDE 78

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 51 / 75

Example: Dala/Ressac negotiation

Live data from Caylus 25/10

Ressac’s plan

Nav::PathPlanning PlanningLoop Dtm::Mapping Pom::Localization RemoteTrvMapping::Planning Bitmap::Mapping Services::RemoteTraversabilityMapping

slide-79
SLIDE 79

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 52 / 75

Example: Dala/Ressac negotiation

Live data from Caylus 25/10

Abstract proposal for Dala Transaction built by Ressac

Bitmap::Mapping Services::RemoteTraversabilityMapping

slide-80
SLIDE 80

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 53 / 75

Example: Dala/Ressac negotiation

Live data from Caylus 25/10

Dala’s accepts and adds the ❘❡❣✐♦♥s❖❢■♥t❡r❡st task Transaction as modified by Dala

Bitmap::Mapping Services::RemoteTraversabilityMapping Nav::RegionsOfInterest Nav::PathPlanning

slide-81
SLIDE 81

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 54 / 75

Example: Dala/Ressac negotiation

Live data from Caylus 25/10

Final state of the transaction

Bitmap::Mapping Services::RemoteTraversabilityMapping MapPath TransferSource Nav::RegionsOfInterest PlanningLoop TransferSink PlanningLoop Nav::PathPlanning UAVMapping::MapAlongPath

slide-82
SLIDE 82

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 55 / 75

Planning/execution conflict

The plan is executed while the transactions are being built Every time the executed plan changes . . . . . . compare the transaction with the new executed plan

slide-83
SLIDE 83

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 56 / 75

Example: replanning P✸❞✿✿❚r❛❝❦P❛t❤

Pom::Localization Rflex::TrackSpeedStart

P3d::TrackPath Pom::Localization

PlanningTask Nav::MoveTo

Rflex::TrackSpeedStart

P3d::TrackPath PlanningTask

Rflex::TrackSpeedStart Nav::MoveTo PlanningTask P3d::TrackPath

Main Plan

slide-84
SLIDE 84

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 57 / 75

Planning/execution conflict

Rflex::TrackSpeedStart

P3d::TrackPath Pom::Localization

PlanningTask Nav::MoveTo

Rflex::TrackSpeedStart

P3d::TrackPath PlanningTask

Rflex::TrackSpeedStart Nav::MoveTo PlanningTask P3d::TrackPath

failed stop

Main Plan

Pom::Localization

slide-85
SLIDE 85

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 58 / 75

Edition cycle: handling invalid transactions

Decision Control Marks the transaction as invalid Sends the conflict to the planner Planner

Interaction w/ decision control Plan generation

Pom::Localization Rflex::TrackSpeedStart P3d::TrackPath Pom::Localization PlanningTask Nav::MoveTo P3d::TrackPath PlanningTask Nav::MoveTo PlanningTask P3d::TrackPath failed stop

Conflict

Change the transaction or discard it

slide-86
SLIDE 86

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 59 / 75

Planning/execution conflicts

simplest solution: discard the transaction

  • therwise, adapt the transaction

the decision control can also forbid a plan change brought by execution

slide-87
SLIDE 87

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation

Transactions Conflicts

Results Conclusion 60 / 75

Summary

Because of . . . the way our system works need for simultaneous planning & execution need for a plan-centric negociation tool we defined transactions ⇒ sandbox to prepare plan transformations

slide-88
SLIDE 88
  • 5. Results
slide-89
SLIDE 89

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 62 / 75

Implementation: the Roby software

A robotics integration framework through plan management specification and development of tasks/events small plan generation tool integrated applications integrated simulation test-driven development

slide-90
SLIDE 90

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 63 / 75

Mono-robot on Dala

Integration and validation on top of an existing functional layer framework (GenoM)

Rough terrain navigation

Camera Stereo Dtm Difmap Bitmap Nav P3D Sick Aspect NDD

Path planning Flat terrain navigation Locomotion

GPS POM

Localization

IMU Gyro Rflex

Elevation mapping

P3d::Runner Pom::Localization Nav::Runner Camera::Runner Difmap::Runner Bitmap::Runner VirtualTask PlanningLoop Rflex::BrakesOnFailureHandler Nav::Path Bitmap::Mapping Rflex::TrackSpeedStart Nav::PathPlanning Sequence Dtm::FuseDtm Dtm::Perception PlanningTask P3d::SetGoalParamsControl PlanningTask P3d::ReadDemP3dPoster PlanningLoop PlanningTask P3d::Track PlanningLoop Stereopixel::Perception Camera::OneShot Dtm::FillP3dPoster P3d::TrackPath Bitmap::Perception Dtm::Mapping Sequence Nav::MoveTo PlanningTask Bitmap::FuseMap start Stereopixel::Compute Difmap::Difmap Nav::ComputePath PlanningTask Bitmap::Perception Stereopixel::Compute Dtm::FuseDtm Difmap::Difmap Bitmap::UpdateRegionMap PlanningTask Stereopixel::Perception Camera::OneShot PlanningTask Bitmap::SetPosterNamesControl success stop start Dtm::FillP3dPoster PlanningTask stop success Task Dtm::Perception Bitmap::UpdateRegionMap Bitmap::FuseMap Bitmap::SetPosterNamesControl AndGenerator

Roby plan GenoM functional layer

slide-91
SLIDE 91

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 64 / 75

Mono-robot experiment

duration 3-4 minutes per run for 15 meters nominal cycle size 100 milliseconds global execution statistics mean execution cycle size: 105 7776 emissions. max: 29/cycle 3604 commands called. max: 18/cycle 281 transaction commits. max: 3/cycle

slide-92
SLIDE 92

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 64 / 75

Mono-robot experiment

Count of cycles vs. simultaneous event emissions

50 100 150 200 250 300 5 10 15 20 25 30 count of cycles events emitted

⇒ numerous cases of simultaneous event emission

slide-93
SLIDE 93

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 64 / 75

Mono-robot experiment

Count of cycles vs. simultaneous event calls

50 100 150 200 5 10 15 20 count of cycles events called

⇒ numerous cases of simultaneous event calls

slide-94
SLIDE 94

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 64 / 75

Mono-robot experiment

Count of cycles vs. transaction commits

10 20 30 40 50 1 2 3 4 5 count of cycles events called

⇒ numerous cases of simultaneous commits of non-conflicting transactions

slide-95
SLIDE 95

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 65 / 75

Bi-robot setup

⇒ both robots have their own Roby controller ⇒ failed because of functional layer issues on Dala

P3d::Runner Pom::Localization Nav::Runner Camera::Runner Difmap::Runner Bitmap::Runner VirtualTask PlanningLoop Rflex::BrakesOnFailureHandler Nav::Path Bitmap::Mapping Rflex::TrackSpeedStart Nav::PathPlanning Sequence Dtm::FuseDtm Dtm::Perception PlanningTask P3d::SetGoalParamsControl PlanningTask P3d::ReadDemP3dPoster PlanningLoop PlanningTask P3d::Track PlanningLoop Stereopixel::Perception Camera::OneShot Dtm::FillP3dPoster P3d::TrackPath Bitmap::Perception Dtm::Mapping Sequence Nav::MoveTo PlanningTask Bitmap::FuseMap start Stereopixel::Compute Difmap::Difmap Nav::ComputePath PlanningTask Bitmap::Perception Stereopixel::Compute Dtm::FuseDtm Difmap::Difmap Bitmap::UpdateRegionMap PlanningTask Stereopixel::Perception Camera::OneShot PlanningTask Bitmap::SetPosterNamesControl success stop start Dtm::FillP3dPoster PlanningTask stop success Task Dtm::Perception Bitmap::UpdateRegionMap Bitmap::FuseMap Bitmap::SetPosterNamesControl AndGenerator

Roby plan GenoM functional layer

Rough terrain navigation Camera Stereo Dtm Difmap Bitmap Nav P3D Sick Aspect NDD Path planning Flat terrain navigation Locomotion GPS POM Localization IMU Gyro Rflex Elevation mapping

Roby plan

Nav::PathPlanning ZoneMapping::Export Nav::RegionsOfInterest Bitmap::Perception PlanningLoop Genom::Bitmap::Mapping Pom::Localization Dtm::Mapping MapPath PlanningLoop UAVMapping::MapAlongPath TransferSink TransferSource

Ressac Server

slide-96
SLIDE 96

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 66 / 75

Bi-robot in simulation

Simulation engine ⇒ functional layer almost used as-is ⇒ time control: time synchronization between simulated robots

Camera Stereo Dtm Difmap Bitmap Nav P3D Sick Aspect NDD GPS POM IMU Gyro Rflex

A priori DEM file Pocosim simulation engine Gazebo world/sensor simulation

slide-97
SLIDE 97

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 67 / 75

Bi-robot simulation results

duration 30 minutes per run for 400 meters nominal cycle size 100 milliseconds global execution statistics mean execution cycle size: 110 23490 emissions. max: 24/cycle 11518 commands called. max: 15/cycle 1180 transaction commits. max: 3/cycle

Video

slide-98
SLIDE 98

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion 68 / 75

Summary

What still requires validation ? extensive use of plan adaptation operators transaction conflict resolution multi-robot validation – only bi-robot Conclusion flexible enough to adapt to existing systems fast enough to manage a real-world, complex system built around the aim of being an application integration framework for robotics

slide-99
SLIDE 99
  • 6. Conclusion & Future Work
slide-100
SLIDE 100

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

70 / 75

Contributions

1

A rich plan model

with separated activity and temporal structures task graphs adapted to multi-robot systems

slide-101
SLIDE 101

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

70 / 75

Contributions

1

A rich plan model

2

A complete execution scheme

able to handle the specificities of the plan model rich error handling procedures multi-robot plan execution

slide-102
SLIDE 102

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

70 / 75

Contributions

1

A rich plan model

2

A complete execution scheme

3

A tool for simultaneous plan execution and adaptation

adaptation of the notion of transaction from DBs usable as whiteboard in multi-robot context

slide-103
SLIDE 103

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

71 / 75

Future work

1

State and time prediction

explicit representation of time integration of temporal constraint networks integration of a causal model: state projection

slide-104
SLIDE 104

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

71 / 75

Future work

1

State and time prediction

2

Planner/planner interaction through plans

integration of real planners from diverse plan models using state projection

plan ahead-of-time forestall faults related to changes in the projection integration of repair capabilities

definition of loose planner-planner interaction protocols

⇒ plan merging

integration of multi-robot cooperation protocols

slide-105
SLIDE 105

A Software Component for Plan Management in Robotics Sylvain Joyeux

Introduction Model Execution Adaptation Results Conclusion

Contributions Future Work

71 / 75

Future work

1

State and time prediction

2

Planner/planner interaction through plans

3

Long term goals

formalization of the approach

⇒ prove equivalence between our model and others ⇒ represent execution properties in a formal model

getting it used by more than one person

slide-106
SLIDE 106

Thank you for your attention !

slide-107
SLIDE 107

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 73 / 75

Looping: global structure

PlanningTask(i+1) start stop success LoopActivity(i) success stop start Return

slide-108
SLIDE 108

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 73 / 75

Looping: global structure

PlanningTask(i+1) start stop success PlanningTask(i+2) start success stop LoopActivity(i+1) start success stop LoopActivity(i) success stop start

& Return

slide-109
SLIDE 109

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 73 / 75

Looping: global structure

PlanningTask(i+1) start stop success LoopActivity(i) success stop start

&

LoopActivity(i+1) start success stop PlanningTask(i+2) start success stop Return

slide-110
SLIDE 110

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 73 / 75

Looping: global structure

PlanningTask(i+1) start stop success LoopActivity(i) success stop start

& ||

Delayed event

LoopActivity(i+1) start success stop PlanningTask(i+2) start success stop

& Return

slide-111
SLIDE 111

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 73 / 75

Looping: global structure

PlanningTask(i+1) start stop success LoopActivity(i) success stop start

& ||

LoopActivity(i+1) start success stop PlanningTask(i+2) start success stop

& & Return

slide-112
SLIDE 112

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 74 / 75

So, what if the algorithms/planning are not fast enough ?

Task PlanningTask PlanningLoop loop_start Dtm::Mapping Dtm::Perception AndGenerator UntilGenerator PosDeltaEvent OrGenerator Return

slide-113
SLIDE 113

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 74 / 75

So, what if the algorithms/planning are not fast enough ?

Task PlanningTask PlanningLoop loop_success loop_end Dtm::Mapping updated_data Dtm::Perception stop success AndGenerator Return

slide-114
SLIDE 114

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 74 / 75

So, what if the algorithms/planning are not fast enough ?

Task PlanningTask start PlanningTask stop success PlanningLoop loop_start Dtm::Perception start Dtm::Mapping AndGenerator AndGenerator Return

slide-115
SLIDE 115

A Software Component for Plan Management in Robotics Sylvain Joyeux

Appendix 75 / 75

Fault injection pattern

replace the real task with a fake one when the real task is properly interrupted, forward its stop event to the wanted fault event

Nav::MoveTo Sequence P3d::Track blocked stop failed P3d::Track failed interrupted stop P3d::TrackPath failed blocked stop FilterGenerator