Multi-Layered Architectures for Autonomous Systems Jos Carlos - - PowerPoint PPT Presentation

multi layered architectures
SMART_READER_LITE
LIVE PREVIEW

Multi-Layered Architectures for Autonomous Systems Jos Carlos - - PowerPoint PPT Presentation

Doct. of Computer Science and Technology Ph. D. thesis defense Multi-Layered Architectures for Autonomous Systems Jos Carlos Gonzlez Dorado Fernando Fernndez Rebollo Thesis advisors ngel Garca Olaya Planning and Learning Group


slide-1
SLIDE 1

Fernando Fernández Rebollo Ángel García Olaya

Multi-Layered Architectures for Autonomous Systems

José Carlos González Dorado Planning and Learning Group

  • Doct. of Computer Science and Technology
  • Ph. D. thesis defense

Thesis advisors March 27th, 2020 Computer Science Department

slide-2
SLIDE 2

1. Introduction 2. NAOTherapist architecture 3. Proposed guidelines 4. Mlaras architecture 5. Mlaras opportunities & failures 6. Mlaras in the logistics league 7. Conclusions

Multi-Layered Architectures for Autonomous Systems

Outline

slide-3
SLIDE 3
  • Autonomous robotics is complex
  • Many types of sensors and actuators
  • Deliberation to behave coherently
  • Deliberation is complex
  • Now feasible for real systems
  • Architecture for coordination
  • Use cases must be defined
  • How to really implement them?

Motivation

Multi-Layered Architectures for Autonomous Systems

1/42

Rehabilitation Geriatrics Butler

Logistics Simulation

Logistics

Thesis

Introduction

NAOTherapist

[Kortenkamp et al. 2008]

slide-4
SLIDE 4
  • Use cases can be seen as action plans
  • Stochastic environments
  • May invalidate the plans
  • Reasoning strategy
  • Deliberative: all deliberation (sense-plan-act), but slow
  • Reactive: all reactive, fast, but short-term
  • Hybrid: joins both, hierarchical, layered
  • 5. Move
  • 6. Door
  • 7. Knock
  • 8. Give
  • 1. Door
  • 2. Move
  • 3. Make
  • 4. Get

Managing use cases

Multi-Layered Architectures for Autonomous Systems

2/42

Introduction

NAOTherapist

[Ghallab et al. 2014]

slide-5
SLIDE 5

Control strategies

  • Procedural control
  • Behavioral trees
  • Tree sets can model use cases
  • Action decompositions save deliberation time
  • Deliberation
  • Decomposed deliberation
  • Higher layers: deliberative
  • Lower layers: reactive
  • Several simpler problems are easier

Multi-Layered Architectures for Autonomous Systems

3/42

Selector Sequential Parallel . . . . . . . . . . . . →

? ∅

→ →

Action decomposition

Introduction

NAOTherapist

[Ögren et al. 2018]

→ →

slide-6
SLIDE 6

PELEA

  • Planning and execution system
  • Focused on classical planning
  • Automated Planner as a black box
  • Modular and extensible
  • Ad-hoc abstraction translation
  • Actions: High to low
  • States: Low to high
  • Monitors the execution
  • Replans when state is invalid

Multi-Layered Architectures for Autonomous Systems

4/42

Robot High to Low Low to High Executive Monitoring Decision Support Low Actions Set Low State 1 2 3 4 5 6 7 8 9 10

AP

Introduction

NAOTherapist

[Alcázar et al. 2010]

slide-7
SLIDE 7

Layered architectures

Multi-Layered Architectures for Autonomous Systems

5/42

Introduction

NAOTherapist

  • 1. [Alami et al. 1998]
  • 2. [McGann et al. 2008]
  • 3. [Alcázar et al. 2010]
  • 4. [Cashmore et al. 2015]
  • 5. [Bustos et al. 2019]

Deliberation Stochastic Temporal Declarative Multilayer Middleware

LAAS1

  • Cust. AP

Ad hoc

  • Cust. AP

Ad hoc ✓

  • T-REX2

AP Replan Timelines Partial ✓

  • PELEA3

AP Replan

  • Temp. AP

Partial ✗

  • ROSPlan4

AP Replan

  • Temp. AP

Partial ✗ ROS

CORTEX5

Ad hoc Ad hoc Ad hoc Ad hoc ✗ RoboComp

  • Ascending order by year
  • No one fulfills everything
slide-8
SLIDE 8

Problems of the architectures

  • Lack of guidelines and standards
  • Difficult to reuse previous works
  • Use cases are hardcoded by developers
  • However, they must be defined by end users
  • Hardcoded abstraction conversions
  • Complex and slow deliberation models
  • Lack of multilayer deliberation support

Multi-Layered Architectures for Autonomous Systems

All them slow down the development and advancement of autonomous systems

6/42

Introduction

NAOTherapist

slide-9
SLIDE 9

Objectives of the thesis

  • Ease the use of standard deliberative techniques in use-case
  • riented cognitive architectures for autonomous systems

I. Design architectures whose structures reflect the use-case

  • Use formalisms to involve the user in the behavior development
  • Ease the use-case modular decomposition into subproblems
  • Design layered architectures to organize knowledge

II. Define relations among architecture components and layers

  • III. Use state-of-the-art deliberative techniques
  • IV. Carry out objectives I, II and III declaratively

V. Design guidelines to apply deliberation in these systems

  • VI. Evaluate all previous objectives in real systems

Multi-Layered Architectures for Autonomous Systems

7/42

Introduction

NAOTherapist

slide-10
SLIDE 10
  • Automated Planning (AP)
  • Generic planner finds action plans for goals
  • Declarative formal language (PDDL)
  • Need to interleave planning and execution
  • Multiple paradigms

‒ Classical, probabilistic, temporal

  • Mixed Integer Programming (MIP)
  • Fast way to reason with numbers and time
  • Declarative rules and problem
  • More complex paradigms are slower

Used deliberation techniques

Multi-Layered Architectures for Autonomous Systems

8/42

a b

Initial state

b

Final state

a

Planner

Introduction

NAOTherapist

[Ghallab et al. 2004] [Chen et al. 2010]

slide-11
SLIDE 11

NAOTherapist architecture

Multi-Layered Architectures for Autonomous Systems

9/42

Introduction

NAOTherapist

Guidelines

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions
slide-12
SLIDE 12

Multi-Layered Architectures for Autonomous Systems

9/42

youtu.be/PbfqoILctH4

Mirror-game use case

Introduction

NAOTherapist

Guidelines

slide-13
SLIDE 13

Therapeutic protocol

Multi-Layered Architectures for Autonomous Systems

10/42

Introduction

NAOTherapist

Guidelines

Exercises Sessions Poses Therapy

slide-14
SLIDE 14

Use-case planning levels

  • High level: plan all therapy sessions
  • Classical planning
  • Many complex constraints
  • Offline, manual replannings
  • Medium level: plan the actual execution
  • Classical planning and PELEA to replan online
  • Problems converted from the high level
  • Centralized ad-hoc abstraction translations
  • Low level: plan each movement
  • Transparent and independent from the robot and sensor

Multi-Layered Architectures for Autonomous Systems

11/42 Exercises Sessions Poses Therapy

Introduction

NAOTherapist

Guidelines

slide-15
SLIDE 15

High-level therapy designer

Multi-Layered Architectures for Autonomous Systems

12/42

Introduction

NAOTherapist

Guidelines

slide-16
SLIDE 16

Medium and low-level architecture

Multi-Layered Architectures for Autonomous Systems

13/42

Introduction

NAOTherapist

Guidelines

slide-17
SLIDE 17
  • Planning times
  • 62 real short sessions
  • 23 poses each
  • Generalization
  • Simon
  • Reverse Simon
  • Simon says
  • Dancing
  • Teaching movements

Technical evaluations

Multi-Layered Architectures for Autonomous Systems

14/42

Introduction

NAOTherapist

Guidelines

[García et al. 2017]

slide-18
SLIDE 18

Field tests

  • 3 field tests with patients
  • 3 children, 1 session
  • 8 children, 4 months, weekly
  • 10 children, 15 days, daily
  • Overall
  • 244 children (21 patients)
  • 429 sessions (206 of patients)
  • Good interactive outcomes
  • Clinical and HRI analysis

Multi-Layered Architectures for Autonomous Systems

Introduction

NAOTherapist

Guidelines

15/42 [Pulido 2020]

slide-19
SLIDE 19
  • Multilayered deliberation works well
  • Needs guidelines
  • Need to fix the monolithic Executive
  • Hard to maintain, small changes hard to apply
  • Needs a full declarative configuration
  • Needs action interruption
  • Needs an online high-level planning
  • The NAOTherapist architecture is not enough

Lessons learned

Multi-Layered Architectures for Autonomous Systems

16/42

Introduction

NAOTherapist

Guidelines

Rehabilitation Geriatrics Butler Logistics

✓ ✗ ✗ ✗

slide-20
SLIDE 20

Proposed guidelines

Multi-Layered Architectures for Autonomous Systems

17/42

NAOTherapist

Guidelines

Mlaras architecture

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions
slide-21
SLIDE 21
  • Face the system design from the use case
  • 1. Deliberation strategy: problem decomposition
  • 2. Planning model: domain and problem modeling
  • 3. Executive model: interleaving planning and execution

Objective of the guidelines

Multi-Layered Architectures for Autonomous Systems

17/42

NAOTherapist

Guidelines

Mlaras architecture

  • 1. Design

deliberation strategy

  • 2. Design

planning model

  • 3. Design

executive model

slide-22
SLIDE 22
  • 1. Design deliberation strategy
  • Define planning paradigm

‒ Classical, temporal, probabilistic…

  • Design layer reasoning

‒ Deliberative, reactor

Guidelines for AP and robotics

Multi-Layered Architectures for Autonomous Systems

18/42

PA AA 1 AA 2 AA 3 AA 4 PB AB 1 AB 2 AB 3 AB 4 Problem

Layered decomposition

NAOTherapist

Guidelines

Mlaras architecture

PA Define therapy AA Session definition PB Execute session AB Interactive actions NAOTherapist

slide-23
SLIDE 23
  • 1. Design deliberation strategy
  • Design planning decomposition

Guidelines for AP and robotics

Multi-Layered Architectures for Autonomous Systems

19/42

PA AA 1 AA 2 AA 3 AA 4 PB1 AB1 1 AB1 2 Problem PB2 AB2 1

Planning horizon

NAOTherapist

Guidelines

Mlaras architecture

Exercises Sessions Poses Therapy

PB1 Session 1 PB2 Session 2 AB Exercise NAOTherapist High-level Divide & conquer

slide-24
SLIDE 24
  • 1. Design deliberation strategy
  • Design planning decomposition

Guidelines for AP and robotics

Multi-Layered Architectures for Autonomous Systems

20/42

NAOTherapist

Guidelines

Mlaras architecture

PA AA 1 AA 2 AA 3 AA 4 PBA ABA 1 ABA 2 Problem PBB ABB 1

Model partition

NAOtherapist’s use cases

  • 1. Mirror
  • 2. Simon
  • 3. Reverse Simon
  • 4. Simon says
  • 5. Dancing
  • 6. Teaching movements

PA Define therapy AA Session definition PBA Execute use case A PBB Execute use case B AB Interactive actions NAOTherapist

slide-25
SLIDE 25
  • 2. Design planning model
  • Action model

‒ Nominal behavior ‒ Corrective actions ‒ Islands ‒ Interactive steps

  • State model

‒ Internal vs. external ‒ Predictable vs. unpredictable ‒ Symbolic vs. numerical

Guidelines for AP and robotics

Multi-Layered Architectures for Autonomous Systems

21/42 detect-patient identify-patient greet-patient stand-up start-training introduce-exercise start-exercise execute-pose finish-exercise finish-training say-good-bye

Nominal behavior

correct-pose claim-stand-up

Corrective actions

claim-sit-down pause resume cancel

NAOTherapist

Guidelines

Mlaras architecture

slide-26
SLIDE 26
  • 3. Design executive model
  • Continuous monitoring

‒ Replanning scheme ‒ Interruption scheme ‒ Failures and opportunities ‒ Planning time constraints

  • Online knowledge management

‒ High to low decomposition (actions) ‒ Low to high generalizations (states)

  • Deployment issues

‒ Retrieving numerical fluents ‒ Component connection ‒ Easing the use-case definition

Guidelines for AP and robotics

Multi-Layered Architectures for Autonomous Systems

22/42

NAOTherapist

Guidelines

Mlaras architecture

AM

HTL Actions

SM

LTH States

slide-27
SLIDE 27

Mlaras architecture

Multi-Layered Architectures for Autonomous Systems

23/42

Guidelines

Mlaras architecture

Opportunities & failures

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions
slide-28
SLIDE 28
  • Multi-Layered ARchitecture for

Autonomous Systems

  • Focused on classical AP
  • PELEA generalization
  • Temporal: condition annotations
  • Stochastic: monitoring and replanning
  • Hierarchical: layered deliberation
  • Explicit abstraction conversions
  • Declarative use case definition

Mlaras architecture

Multi-Layered Architectures for Autonomous Systems

23/42

Level N Level 1 Level 0

Action1

Deliberation1

State1 State2 Action2

Deliberation0

Reactor-Hardware

State0 Action0 ActionN StateN

. . . . . .

User monitoring

DeliberationN

Control interface

User commands Guidelines

Mlaras architecture

Opportunities & failures

slide-29
SLIDE 29
  • Deliberation layer overview

Mlaras modules

Multi-Layered Architectures for Autonomous Systems

24/42 Monitoring State Converter Action Converter

ActionH Goal+ StateL StateM StateH ActionH Stop StateH Idle Domain StateM Goal+ ActionM Compat. Opp./Fail. ActionL

+

ActionM StateL Idle ActionL Stop ActionM

+

Domain StateM Goal+

Goal Converter Search Executive

Guidelines

Mlaras architecture

Opportunities & failures

slide-30
SLIDE 30
  • Declarative configuration

Mlaras modules

Multi-Layered Architectures for Autonomous Systems

25/42 Monitoring State Converter Action Converter Goal Converter Search

External solver Model state

Domain Problem template

Agent state

Action decompositions Durative conditions

ActionH Stop StateH Idle StateL Idle ActionL Stop

State generalizations

Executive

Goal relations

Guidelines

Mlaras architecture

Opportunities & failures

slide-31
SLIDE 31

Managing temporal aspects

Multi-Layered Architectures for Autonomous Systems

26/42

  • Actions have duration
  • Can be unknown
  • Interruption in the middle of their execution
  • Overall and finish-when annotations
  • Similar to temporal planning without overlapping actions
  • Controlled by Mlaras, not by the planner

5 10 15 20 25 Speech Person in area

Interruption!

Time

Guidelines

Mlaras architecture

Opportunities & failures

slide-32
SLIDE 32

Mlaras opportunities & failures

Multi-Layered Architectures for Autonomous Systems

27/42

CoBots

Mlaras architecture

Opportunities & failures

Mlaras logistics

Joint work with Prof. Manuela Veloso

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions
slide-33
SLIDE 33

Opportunities and failures

Multi-Layered Architectures for Autonomous Systems

27/42 A B

VIP

Subtasks: A, B

Opportunity (person in the corridor) Failure (nobody is in the office) Opportunity (high-priority task) Cooling-down time

!

Mlaras architecture

Opportunities & failures

Mlaras logistics

High-level options

  • VIP first, then resume B
  • Redo A and B
  • VIP after B
  • Cancel A and B
  • Cancel VIP
  • Try a quick VIP
slide-34
SLIDE 34

Monitoring model

Multi-Layered Architectures for Autonomous Systems

28/42

  • Updated states received
  • While subtasks are being executed
  • Opportunities and failures
  • Declarative
  • Priority, cooldown-time
  • A rescheduling can
  • Add or remove tasks in the pool
  • Interrupt the current subtask
  • CoBot’s scheduler based in MIP

Lower Levels High-level layer Task Pool

Task 1 Task n

Opportunities Failures

. . .

State Tasks

Mlaras architecture

Opportunities & failures

Mlaras logistics

slide-35
SLIDE 35

Multi-Layered Architectures for Autonomous Systems

29/42

youtu.be/pUCcLHkTgVU

CoBot monitoring example

Mlaras architecture

Opportunities & failures

Mlaras logistics

slide-36
SLIDE 36

CoBot’s solving time

Multi-Layered Architectures for Autonomous Systems

30/42

5 10 15 20 25 30 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  • Avg. solving time (s)

Task pool size (set B)

10 s, 4.4% tol. 10 s 30 s

(all with solutions) (suboptimal)

  • Quality in “10s suboptimal” is acceptable for the CoBots

Mlaras architecture

Opportunities & failures

Mlaras logistics

slide-37
SLIDE 37

High-level event management

Multi-Layered Architectures for Autonomous Systems

31/42

Mlaras architecture

Opportunities & failures

Mlaras logistics

slide-38
SLIDE 38

High-level event management

Multi-Layered Architectures for Autonomous Systems

31/42

Mlaras architecture

Opportunities & failures

Mlaras logistics

slide-39
SLIDE 39

Mlaras in the logistics league

Multi-Layered Architectures for Autonomous Systems

32/42

Opportunities & failures

Mlaras logistics

Conclusions

Logistics Simulation

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions
slide-40
SLIDE 40

RoboCup logistics simulation league

Multi-Layered Architectures for Autonomous Systems

  • Goal
  • Product building orders
  • More rings for more score
  • Robots
  • 2 teams of 3 robots
  • Should cooperate
  • Stations
  • Base, ring, cap, delivery
  • Errors break them
  • Require bases to work

32/42

Opportunities & failures

Mlaras logistics

Conclusions

slide-41
SLIDE 41

Mlaras logistics for RC logistics

Multi-Layered Architectures for Autonomous Systems

  • Parts replaced
  • Deliberation
  • Abstraction conversions
  • New PDDL domain
  • Based on classical planning
  • Centralized plan for the 3 robots

‒ Anytime search with 10 seconds

  • Opportunities management
  • Rescheduling for new orders

33/42

Opportunities & failures

Mlaras logistics

Conclusions

1 (GO_TO R1 C-CS1 IN START_AREA) 1 (GO_TO R2 C-BS OUT START_AREA) 1 (GO_TO R3 C-CS1 OUT START_AREA) 2 (RETRIEVE_BASE_SHELF R1 C-CS1 IN B_TR) 2 (RETRIEVE_BASE R2 C-BS OUT B_BL) 3 (FEED_CAP_STATION R1 R3 C-CS1) 3 (GO_TO R2 C-RS1 IN C-BS) 4 (RETRIEVE_BASE_SHELF R1 C-CS1 IN B_TR) 4 (FEED_RING_STATION R2 C-RS1 IN B_BL) 4 (GO_TO R3 C-RS2 IN C-CS1) 5 (GO_TO R2 C-BS OUT C-RS1) 5 (GO_TO R1 C-CS2 IN C-CS1) 5 (FEED_RING_STATION R3 C-RS2 IN B_TR) . . .

slide-42
SLIDE 42

Mlaras layer overview

Multi-Layered Architectures for Autonomous Systems

34/42

Level 2 Level 1 Level 0

Action1

Robot actions

State1 State2

Reactor

Robots

State0 Action0 Action2 Monitoring

Order schedule

Referee

Orders Opportunities & failures

Mlaras logistics

Conclusions

slide-43
SLIDE 43

Declarative configuration

Multi-Layered Architectures for Autonomous Systems

35/42 Monitoring State Converter Action Converter Goal Converter Search

External solver Model state Agent state ActionH Stop StateH Idle StateL Idle ActionL Stop

Executive

Goal relations State generalizations Problem template Domain Action decompositions Durative conditions

High: execute_order(id, base, ring1, ring2, ring3, cap, gate), ?ring1 is void and ?ring2 is void and ?ring3 is void Goal: add(product_piece ?id zero ?base, goals) add(product_cap ?id ?cap, goals) add(product_gate/~?id ?gate, agents) add(delivered ?id, goals) High: execute_order(id, base, ring1, ring2, ring3, cap, gate), ?ring3 is void Goal: add(product_piece ?id zero ?base, goals) add(product_piece ?id one ?ring1, goals) add(product_piece ?id two If: ?robot/1/is_gripping delete(can_grip r1, model) If: not ?robot/1/is_gripping add(can_grip r1, model) If: ?robot/2/is_gripping delete(can_grip r2, model) If: not ?robot/2/is_gripping add(can_grip r2, model) If: ?robot/3/is_gripping delete(can_grip r3, model) If: not ?robot/3/is_gripping add(can_grip r3, model) If: ?robot/1/id is ?pelea/agent_name add(agent_status ?robot/1/status Medium: ENTER(robot_front, robot_back) Finish-when: ?agent_status == 3 and ?agent_last_low_timestamp >= ?pelea/last_low_timestamp Medium: ARRIVE(robot, to_area, to_side) Finish-when: ?agent_status == 3 and ?agent_last_low_timestamp >= ?pelea/last_low_timestamp Medium: GO_TO_FROM(robot, area, side, from_area, from_side, from_robot) Finish-when: ?agent_status == 3 and ?agent_last_low_timestamp >= ?pelea/last_low_timestamp Medium: RETRIEVE_BASE(robot, (:init (= (total-cost) 0) (outside_field) (enter_order r1 r2) (enter_order r2 r3) (can_grip r1) (can_grip r2) (can_grip r3) (without_product r1) (without_product r2) (without_product r3) (missing_piece p1 zero) (missing_piece p1 one) (missing_piece p1 two) (missing_piece p1 three) (missing_cap p1) (missing_piece p2 zero) (:action FEED_RING_STATION :parameters (?ro - robot ?st - ring_station ?in - input ?ba - base ?na - integer ?nb - integer) :precondition (and (into_field) (robot_at ?ro ?st ?in) (manages ?ro ?st) (gripping ?ro ?ba) (without_product ?ro) (bases_feeded ?st ?na) (one_more ?na ?nb) (ready ?ro) ) :effect (and (not (bases_feeded ?st ?na)) (bases_feeded ?st ?nb)

Opportunities & failures

Mlaras logistics

Conclusions

High: MOUNT_CAP(robot_input, robot_o Lows: wait(?robot_input, "?station/" Lows: prepare_station(?robot_input, bring_product_to(?robot_input, High: MOUNT_CAP(robot_input, robot_o Lows: wait(?robot_output, "?station/ Lows: get_product_from(?robot_output High: MOUNT_CAP_ALONE(robot, station Lows: wait(?robot, "?station/" + ?st Lows: prepare_station(?robot, ?stati bring_product_to(?robot, "plac High: DELIVER(robot, station, side, High: MOUNT_CAP_ALONE(robot, station Lows: wait(?robot, "?station/" + Lows: prepare_station(?robot, ?stati bring_product_to(?robot, "plac ?play_sound(etc/ff7fanfare.wav

slide-44
SLIDE 44

Results

Multi-Layered Architectures for Autonomous Systems

  • Planning
  • Planning time of 10 seconds is enough
  • The three agents execute orders in parallel
  • In spite of using classical planning approach
  • Scores
  • Can finish a 0-ring product and a 3-ring product
  • Over 170 points if there are no obstructions

‒ Last winner 139 points, runner-up 32 points

  • Declarative configuration

36/42

Opportunities & failures

Mlaras logistics

Conclusions

slide-45
SLIDE 45

Multi-Layered Architectures for Autonomous Systems

37/42

Mlaras logistics

Conclusions

  • 1. Introduction
  • 2. NAOTherapist architecture
  • 3. Proposed guidelines
  • 4. Mlaras architecture
  • 5. Mlaras opportunities & failures
  • 6. Mlaras in the logistics league
  • 7. Conclusions

Conclusions

slide-46
SLIDE 46

Main conclusions

Multi-Layered Architectures for Autonomous Systems

  • NAOTherapist was a success as a real project
  • Mlaras eases the development of autonomous systems
  • Mlaras achieves all thesis objectives
  • Evaluations in 3 real and 1 simulated environments

37/42

Mlaras logistics

Conclusions

Deliberation Stochastic Temporal Declarative Multilayer Middleware

LAAS

  • Cust. AP

Ad hoc

  • Cust. AP

Ad hoc ✓

  • T-REX

AP Replan Timelines Partial ✓

  • PELEA

AP Replan

  • Temp. AP

Partial ✗

  • ROSPlan

AP Replan

  • Temp. AP

Partial ✗ ROS

CORTEX

Ad hoc Ad hoc Ad hoc Ad hoc ✗ RoboComp

Mlaras

AP Replan Classic AP Use case ✓ RoboComp

slide-47
SLIDE 47

Main contributions

Multi-Layered Architectures for Autonomous Systems

  • Guidelines for deliberation in robotics
  • Focused on automated planning
  • Layered-deliberation implementation
  • Instantiated in a multiagent logistics environment
  • Mechanisms to widen the classical planning application
  • Temporal preconditions without reasoning about time
  • Interlayer interruptions for opportunities and failures
  • Declarative languages to ease use case refining
  • Specially the high to low, which models behavioral trees

38/42

Mlaras logistics

Conclusions

slide-48
SLIDE 48

Future works

Multi-Layered Architectures for Autonomous Systems

  • Deeper study
  • Any-time plan refining
  • Declarative mechanisms to restart an action
  • Opportunities and failures in automated planning
  • Graphical tool to generate the declarative files
  • Automatic opportunities and failures detection
  • Plan reuse to save deliberation time
  • Optimize a gain metric to select the best schedules
  • Different use cases
  • Improve multi-agent support
  • Explore the limits of the layered deliberation of Mlaras

39/42

Mlaras logistics

Conclusions

slide-49
SLIDE 49

Publications

Multi-Layered Architectures for Autonomous Systems

40/42

Mlaras logistics

Conclusions

  • 17 publications since 2014 (4 JCR journal articles)
  • 2019 JCR journal A Socially Assistive Robotic Platform for Upper-Limb Rehabilitation: A Longitudinal

Study With Pediatric Patients: Robotics & Automation Magazine, vol. 26(2), p. 24-39

  • 2019 JCR journal Developing a Robot-Guided Interactive Simon Game for Physical and Cognitive

Training: International Journal of Humanoid Robotics, vol. 16(1), p. 1950003

  • 2018 From High to Low Level and Vice-Versa: A New Language for the Translation between

Abstraction Levels in Robot Control Architectures: in proceedings of the 3rd Workshop on Semantic Policy and Action Representations for Autonomous Robots (SPAR), IROS conference

  • 2018 Task Monitoring and Rescheduling for Opportunity and Failure Management: in proceedings
  • f the 2nd IntEx Workshop, ICAPS conference, pp. 24-31
  • 2017 On the Application of Classical Planning to Real Social Robotic Tasks: in proceedings of the 5th

Workshop on Planning and Robotics (PlanRob), ICAPS conference, pp. 38-47

  • 2017 JCR journal Evaluating the Child–Robot Interaction of the NAOTherapist Platform in Pediatric

Rehabilitation: International Journal of Social Robotics, vol. 9(3), pp. 343–358

  • 2017 JCR journal A three-layer planning architecture for the autonomous control of rehabilitation

therapies based on social robots: Cognitive Systems Research, vol. 43, pp. 232-249

slide-50
SLIDE 50

NAOTherapist accolades

Multi-Layered Architectures for Autonomous Systems

  • 2019 The Collider entrepreneurship program of the World Mobile Congress
  • Grant of 50,000 €
  • 2019 HealthStart entrepreneurship program of madri+d
  • Grant of 2,000 €
  • 2019 CaixaImpulse entrepreneurship program of La Caixa
  • Grant of 70,000 €
  • 2017 1st prize of the act Implicados y solidarios of Bankinter
  • Grant of 13,000 €
  • 2017 Winner of the eSalud award from the Asociación Investigadores en eSalud
  • 2017 National Geographic exclusive 30-minutes documentary film
  • 2016 3rd prize of the Yuzz entrepreneurship program by Banco Santander
  • Grant of 10,000 €

41/42

Mlaras logistics

Conclusions

slide-51
SLIDE 51

References

Multi-Layered Architectures for Autonomous Systems

42/42

Mlaras logistics

Conclusions

  • [Alami et al. 1998] Alami, R., Chatila, R., Fleury, S., Ghallab, M., and Ingrand, F. (1998). An

Architecture for Autonomy. The Int. Journal of Robotics Research, 17:pp.315–337

  • [Alcázar et al. 2010] Alcázar, V., Guzmán, C., Prior, D., Borrajo, D., Castillo, L., and Onaindia, E.

(2010). PELEA: Planning, Learning and Execution Architecture. In Proceedings of the 28th Workshop of the UK Planning and Scheduling Special Interest Group (PlanSIG), Brescia, Italy

  • [Bustos et al. 2019] Bustos García, P., Manso Argüelles, L., Bandera, A., Bandera, J., García-

Varea, I., and Martínez-Gómez, J. (2019). The CORTEX cognitive robotics architecture: Use

  • cases. Cognitive Systems Research, 55:107 – 123
  • [Cashmore et al. 2015] Cashmore, M., Fox, M., Long, D., Magazzeni, D., Ridder, B., Carreraa, A.,

Palomeras, N., Hurtós, N., and Carrerasa, M. (2015). Rosplan: Planning in the robot operating

  • system. In Proceedings of the Twenty-Fifth International Conference on Int. Conference on

Automated Planning and Scheduling, ICAPS’15, pages 333–341.

  • [Chen et al. 2010] Chen, D.-S.; Batson, R. G.; and Dang, Y. (2010). Applied Integer

Programming: Modeling and Solution. John Wiley & Sons

  • [García et al. 2017] García Estévez, E., Díaz Portales, I., Pulido, J. C., Fuentetaja, R., and

Fernández, F. (2017). Enhancing a Robotic Rehabilitation Model for Hand-Arm Bimanual Intensive Therapy. In Proceedings of the 3rd Iberian Robotics Conference.

slide-52
SLIDE 52

References

Multi-Layered Architectures for Autonomous Systems

42/42

Mlaras logistics

Conclusions

  • [Ghallab et al. 2004] Ghallab, M., Nau, D., and Traverso, P. (2004). Automated planning: theory

& practice. Elsevier

  • [Ghallab et al. 2014] Ghallab, M., Nau, D., and Traverso, P. (2014). The Actor’s View of

Automated Planning and Acting: A Position Paper. AI, 208:1– 17

  • [Kortenkamp et al. 2008] Kortenkamp, D. and Simmons, R. (2008). Springer Handbook of

Robotics - Chapter 8, pages 187–206. Springer Berlin Heidelberg

  • [McGann et al. 2008] McGann, C., Py, F., Rajan, K., Thomas, H., Henthorn, R., and McEwen, R.

(2008). A deliberative architecture for auv control. In 2008 IEEE International Conference on Robotics and Automation, pages 1049–1054.

  • [Ögren et al. 2018] Ögren, P. and Colledanchise, M. (2018). Behavior Trees in Robotics and AI:

An Introduction. Number 6 in Chapman & Hall/CRC artificial intelligence and robotics series. CRC Press

  • [Pulido 2020] Pulido J. C. (2020). Autonomous Socially Assistive Robotics in Pediatric Clinical
  • Practice. Universidad Carlos III de Madrid.
slide-53
SLIDE 53

Multi-Layered Architectures for Autonomous Systems

Planning and Learning Group

  • Doct. of Computer Science and Technology
  • Ph. D. thesis defense

Thank you for your attention

Fernando Fernández Rebollo Ángel García Olaya

José Carlos González Dorado

Thesis advisors March 27th, 2020 Computer Science Department

slide-54
SLIDE 54

Classical

  • Simplest
  • Fastest

Probabilistic

  • Explicit probabilities

Temporal

  • Explicit durations
  • Overlapping actions
  • Overall and at-end

Classical PDDL

Multi-Layered Architectures for Autonomous Systems

a b

Initial state

b

Final state

a

Planner

(:action pickup :parameters (?ob) :precondition (and (clear ?ob) (on-table ?ob) (arm-empty)) :effect (and (holding ?ob) (not (clear ?ob)) (not (on-table ?ob)) (not (arm-empty))))

Domain (action)

(:init (on-table a) (on-table b) (clear a) (clear b) (arm-empty)) (:goal (and (on a b))))

Problem

1: pickup(a) 2: stack(a,b)

Plan

slide-55
SLIDE 55

NAOTherapist high-level strategy

Multi-Layered Architectures for Autonomous Systems

  • Plan one therapy is harder than individual sessions
  • Divide and conquer strategy
  • Plan quality is preserved
  • Much less planning time

Session plan

Initial PDDL problem CBP automated planner Therapy plan Planning control Next PDDL problem

All session plans

slide-56
SLIDE 56

Abstraction layers

Multi-Layered Architectures for Autonomous Systems

  • High-level
  • High states to deliberate with (PDDL)
  • High actions to define behaviors
  • Low-level
  • Low states with data from the sensors
  • Low actions are instructions for the robot

Low actions

Approach Move arm Grip handle Turn hand Push door

High actions

Open door . . .

Low state

Image raw data Depth raw data . . .

High state

Door closed Handle at right

H H

Deliberation LTH HTL LTH States HTL Actions

slide-57
SLIDE 57
  • Internal: value is always the expected

(total-cost) (above ?n1 - count ?n2 - Count)

  • Predictable: value predicted in nominal behavior

(validAnswer)

  • Unpredictable

‒ Do not appear in any effect ‒ Changes triggered externally

(pauseActivated)

  • Symbolic or numeric

State model predicates

Multi-Layered Architectures for Autonomous Systems

Planner Predicate Planner Predicate World World Predicate

slide-58
SLIDE 58

State separation

Multi-Layered Architectures for Autonomous Systems

  • Model state
  • Minimum predicate set to deliberate with in Search
  • Corresponds with StateL and the StateM
  • Agent state
  • Predicates used only to control abstraction conversions
  • Not present in any state (optionally in StateH)
  • Layer accesses
  • Read only: Model state, action parameters
  • Read and write: Agent state
  • Variable resolution order: parameter → agent → model
slide-59
SLIDE 59

Rescheduling policy

Multi-Layered Architectures for Autonomous Systems

  • If the scheduler cannot find a suitable plan
  • Failures: Monitoring cancels the next task

‒ With the lowest priority first ‒ Then the smallest time window that overlaps another

  • Opportunities:

1. Tries to redo the current subtask later 2. If it cannot: try to redo the whole task 3. If it cannot: cancel the current task or the new by maximizing the gain

Sum of the priorities of the scheduled tasks

slide-60
SLIDE 60

Durative conditions

Multi-Layered Architectures for Autonomous Systems

  • Order is important: First match is selected

Medium: deliver-object(object, person, location_a, location_b), ?object is coffee Priority: 10 Cooldown: 360000 Overall: ?held_object is ?object Opportunity: ?nearest_person is ?person Medium: introduce-session(pres, robot, pause, 1st_name, 2nd_name) Overall: ?person and not ?battery and not ?help and not ?stop and not ?stop_session Finish-when: not ?is_speaking Medium: RETRIEVE_BASE (robot, station, side, color) Finish-when: ?agent_status == 3 and ?agent_last_low_times >= ?pelea/last_low_times

AM

Action parameter Model predicate Agent predicate

slide-61
SLIDE 61

Action decompositions

Multi-Layered Architectures for Autonomous Systems

  • Low-level actions of each set are executed in parallel

High: say(speech,behavior), ?behavior is show_video High: say(speech,behavior), ?behavior is show_tutorial Lows: say(?speech) show_video(?speech) ?pauseatend(600) High: say(speech,behavior) Lows: say(?speech) High: finish-pose(), ?counter_skipped_pose < 3 Lows: print("FINISH-POSE (skipped)") executeAnimation(green_eyes) Lows: say(speech_clue) Lows: executeAnimation(blinking) ?set(counter_failed_pose, 0) ?increase(counter_skipped_pose, 1)

AM

HTL Actions Agent state updates Internal instruction

slide-62
SLIDE 62

Action decompositions

Multi-Layered Architectures for Autonomous Systems

  • High-level set = Branch of a behavioral tree node
  • Powerful and easy tool to refine use cases
  • Low-level actions depend on the lower level layer catalog

High: finish-exercise-mirror() High: finish-exercise-simon(mode), ?mode==classic_finish Lows: print("FINISH-EXERCISE") allowAutonomousMovements(true) executeAnimation(blinking) executeAnimation(initFull) say(speech_success) ?pauseatend(200) Lows: say("We have finished this exercise.") Lows: executeAnimation(blinking) Lows: say(speech_encouragement) ?pauseatend(1000)

AM

HTL Actions ?

slide-63
SLIDE 63

State generalizations

Multi-Layered Architectures for Autonomous Systems

  • Order is not important, all conditions are evaluated
  • Agent state is only written here

If: True add(checkPoseResult ?checkPoseResult, model) add(exerciseTotalPoses ?exerciseTotalPoses, model) If: not ?person If: ?emergency_situation delete(can_continue, model) If: ?checkPoseResult is OK and ?ready increase(performedPoses 1, agent)

SM

LTH States Agent state update

slide-64
SLIDE 64

Goal relations

Multi-Layered Architectures for Autonomous Systems

  • All ActionH received in parallel are checked sequentially

High: execute_order(id, base, ring1, ring2, ring3, cap, gate), ?ring1 is void and ?ring2 is void and ?ring3 is void Goal: add(product_piece ?id zero ?base, goals) add(product_cap ?id ?cap, goals) add(product_gate/~?id ?gate, agents) add(delivered ?id, goals) High: execute_order(id, base, ring1, ring2, ring3, cap, gate), ?ring3 is void Goal: add(product_piece ?id zero ?base, goals) add(product_piece ?id one ?ring1, goals) add(product_piece ?id two ?ring2, goals) add(product_cap ?id ?cap, goals) add(product_gate/~?id ?gate, agents, goals) add(delivered ?id, goals) Agent state updates

AH

slide-65
SLIDE 65

RoboCup logistics simulation league

Multi-Layered Architectures for Autonomous Systems

  • Products
  • Base (3 colors)
  • From 0 to 3 rings (4 colors)
  • Cap (2 colors)
  • Orders
  • Supplied by the referee
  • Product, gate and time window
  • Appear randomly
  • Completion gives score
  • Only 15 minutes