for the Robocup Logistics League Jos Carlos Gonzlez ngel - - PowerPoint PPT Presentation

for the robocup logistics league
SMART_READER_LITE
LIVE PREVIEW

for the Robocup Logistics League Jos Carlos Gonzlez ngel - - PowerPoint PPT Presentation

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League Jos Carlos Gonzlez ngel Garca-Olaya Fernando Fernndez Planning and Learning Group April 15 th , 2020 Computer Science Department Motivation


slide-1
SLIDE 1

José Carlos González

Ángel García-Olaya Fernando Fernández

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Planning and Learning Group

April 15th, 2020 Computer Science Department

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

Motivation

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

1/12

Logistics Simulation

Planning and Execution Competition for Logistics in Simulation

Mlaras

[Kortenkamp et al. 2008]

Introduction

Mlaras architecture

slide-3
SLIDE 3

Classical

  • Simplest
  • Fastest

Probabilistic

  • Explicit probabilities

Temporal

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

Automated-planning technique

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

2/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

PDDL

[Ghallab et al. 2004]

Introduction

Mlaras architecture

slide-4
SLIDE 4
  • Multi-Layered ARchitecture for

Autonomous Systems

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

Mlaras architecture

3/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League 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

[González 2020]

Introduction

Mlaras architecture

Logistics competition

slide-5
SLIDE 5
  • Deliberation layer overview

Mlaras modules

4/12 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Introduction

Mlaras architecture

Logistics competition

slide-6
SLIDE 6
  • Declarative configuration

Mlaras modules

5/12 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Introduction

Mlaras architecture

Logistics competition

slide-7
SLIDE 7

RoboCup logistics simulation league

  • Goal
  • Product building orders
  • More rings for more score
  • Robots
  • 2 teams of 3 robots
  • Should cooperate
  • Products
  • Base (3 colors)
  • From 0 to 3 rings (4 colors)
  • Cap (2 colors)

6/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

[Niemueller et al. 2015]

Mlaras architecture

Logistics competition

Mlaras instance

slide-8
SLIDE 8

RoboCup logistics simulation league

  • Stations
  • Base, ring, cap, delivery
  • Errors break them
  • Require bases to work
  • Orders
  • Supplied by the referee
  • Product, gate and time window
  • Appear randomly
  • Completion gives score
  • Only 15 minutes

7/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Mlaras architecture

Logistics competition

Mlaras instance

slide-9
SLIDE 9

Mlaras logistics for RC logistics

  • Parts replaced
  • Deliberation
  • Abstraction conversions
  • New PDDL domain
  • Based on classical planning

‒ Centralized plan for the 3 robots

  • Opportunities management
  • Rescheduling for new orders

8/12

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) . . .

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

[Borrajo et al. 2019]

Logistics competition

Mlaras instance

Conclusions

slide-10
SLIDE 10

Mlaras logistics layer overview

9/12

Level 2 Level 1 Level 0

Action1

Robot actions

State1 State2

Reactor

Robots

State0 Action0 Action2 Monitoring

Order schedule

Referee

Orders

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Logistics competition

Mlaras instance

Conclusions

slide-11
SLIDE 11

Results

  • Planning
  • Planning time of 10 seconds is enough
  • The three agents execute orders in parallel
  • In spite of using classical planning approach
  • Scores
  • Over 170 points if there are no obstructions

‒ Last winner 139 points, runner-up 32 points

  • Full declarative configuration

10/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Logistics competition

Mlaras instance

Conclusions

slide-12
SLIDE 12

Conclusions

  • Mlaras control architecture
  • Eases the development of autonomous systems
  • Declarative languages to ease use case refining
  • Planning and Execution for Logistics in Simulation
  • Classical planning approach
  • Stochastic, temporal, hierarchical and multiagent aspects
  • Competitive results
  • Future work
  • Better multiagent parallelization
  • Improve the high-level scheduler

11/12

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Mlaras instance

Conclusions

slide-13
SLIDE 13

References

12/12

  • [Borrajo et al. 2019] Borrajo, D. and Fernández, S. (2019). Efficient approaches

for multi-agent planning. Knowledge and Information Systems, 58(2):425–479

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

planning: theory & practice. Elsevier

  • [González 2020] González, J. C. (2020). Multi-Layered Architectures for

Autonomous Systems. Universidad Carlos III de Madrid (UC3M), Madrid, Spain

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

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

  • [Niemueller et al. 2015] Niemueller, T., Lakemeyer, G., and Ferrein, A. (2015).

The RoboCup logistics league as a benchmark for planning in robotics. In Workshop on Planning and Robotics (PlanRob), ICAPS

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

Mlaras instance

Conclusions

slide-14
SLIDE 14

Planning and Learning Group

Thank you for your attention

Computer Science Department José Carlos González

Ángel García-Olaya Fernando Fernández

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

April 15th, 2020

slide-15
SLIDE 15

Problems of SoA 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

All them slow down the development and advancement of autonomous systems

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-16
SLIDE 16

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

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

? ∅

→ →

Action decomposition

→ → Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-17
SLIDE 17

Abstraction layers

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-18
SLIDE 18

Managing temporal aspects

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-19
SLIDE 19

State separation

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-20
SLIDE 20

Declarative configuration

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) 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 Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-21
SLIDE 21

Durative conditions

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-22
SLIDE 22

Action decompositions

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-23
SLIDE 23

Action decompositions

  • 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 ?

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-24
SLIDE 24

State generalizations

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-25
SLIDE 25

Goal relations

  • 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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-26
SLIDE 26

Opportunities management

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-27
SLIDE 27

Opportunities management

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-28
SLIDE 28

Mlaras comparison

  • Mlaras eases the development of autonomous systems
  • Evaluations in 3 real and 1 simulated environments

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

Mlaras6

AP Replan Classic AP Use case ✓ RoboComp

  • 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]
  • 6. [González 2020]

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League

slide-29
SLIDE 29

Comparison references

  • [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

  • [González 2020] González, J. C. (2020). Multi-Layered Architectures for Autonomous Systems.

Universidad Carlos III de Madrid (UC3M), Madrid, Spain

  • [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

Multi-Layered Multi-Robot Control Architecture for the Robocup Logistics League