Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

28
Jill Goryca, Richard Hill American Control Conference June 17, 2013 Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

description

Formal Synthesis of Supervisory Control Software for Multiple Robot Systems. Jill Goryca, Richard Hill American Control Conference June 17, 2013. Outline. Background System Models Control Software Implementation Task Planning Algorithm Simulation Results Conclusion. Background. Goal: - PowerPoint PPT Presentation

Transcript of Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Page 1: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Jill Goryca, Richard HillAmerican Control Conference

June 17, 2013

Formal Synthesis of Supervisory Control

Software for Multiple Robot Systems

Page 2: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Background System Models Control Software Implementation Task Planning Algorithm Simulation Results Conclusion

Outline

Page 3: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Goal: ◦ To control two or more robots that work together

Challenges: ◦ Coordinate robot actions◦ Respond to changing goals and conditions◦ Scale small examples to larger ones

Practical applications:◦ Surveillance, search & rescue, and firefighting

Background

Page 4: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Develop tools necessary to address complex scenarios

Tools include:

Objective

MATLAB Control Software

Interface

High- Level Control

Low- Level Control(D*Lite, VFH, Mapping)

Simulation (Player/ Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Task-Planning Optimization

5 15

10A

B3.A1

B3.A1A2

B3.A1B4

b3f

a2s:8 b4s: 10

B

10A

B18A

B

5

Richard Hill
Emphasize automatic generation of control code (or the structure used by the control software)
Page 5: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Apply supervisory control framework◦ Allow controllable and uncontrollable events◦ Assume all events are observable◦ Formally ensure safety and nonblocking

Use a relatively simple, but illustrative scenario involving control of two robots

Method

Page 6: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

ScenarioComponents: 2 robots 4 tasks 4 regions

Rules: Complete all

tasks◦ 1 before 2,

same robot◦ 3 before 4,

same robot Different

regions

y

x

Region 5

Region 6 Region 7

Region 8A B

1

2

3

4

Page 7: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Finite State Machine (FSM) represents region boundaries and task locations

One FSM for each robot

Initial location of robot is marked with an arrow (Robot A starts in region 5)

System Model: Geography

Geographical Constraints

Page 8: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Represents the rule that the robot must finish a task before it can start another one

System Model: Task Constraints

Task Contraints

Page 9: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Represents the order of task completion

Task 1 before task 2 by the same robot

Task 3 before task 4 by the same robot

System Model: Task Completion

Task Completion

Page 10: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Represents the rule that robots may not be in the same region at the same time

System Model: Avoidance

Avoidance

Page 11: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Use UMDES/DESUMA software

Combine multiple FSMs to synthesize controller that meets goals

Contains 638 states and 1666 transitions

Text file format (*.fsm) is input to MATLAB control software

Supervisory Controller Model

Page 12: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Control Software Architecture

Interface

High-Level Control

Low-Level Control(D*Lite, VFH, Mapping)

Simulation (Player/Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Page 13: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

MATLAB Tool1

3

4

5

67 8

2

Page 14: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

User Data File

Interface

High-Level Control

Low-Level Control(D*Lite, VFH, Mapping)

Simulation (Player/Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Page 15: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Script file generated from MATLAB Tool

Name of Initial and Final State User Data matrices:

◦ States—from FSM file◦ Events—from MATLAB Tool◦ Tasks—from MATLAB Tool◦ Regions—from MATLAB Tool

User Data File

Page 16: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Planner: Main Control File

Interface

High-Level Control

Low-Level Control(D*Lite, VFH, Mapping)

Simulation (Player/Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Page 17: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

MATLAB high-level control code

Written off-line References User Data file generated by MATLAB Tool

Controls 1 robot “While” loop completes “mission” of FSM Executes optimal path through FSM

Receives events from both robots (when crossing borders and finishing tasks)

Planner: Main Control File

Page 18: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Intermediary Functions

Interface

High-Level Control

Low-Level Control(D*Lite, VFH, Mapping)

Simulation (Player/Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Page 19: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Detects “uncontrollable” events (border crossing)

Compares robot current position to all user-defined regions

Converts list of region names to event names for calling function (Goal Plan)

Intermediate: Detect Region Events

Page 20: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Commands controllable events, sending robot to goal until event is detected.

Uses low-level algorithms◦ D*Lite◦ VFH◦ Mapping

When uncontrollable event is detected, returns event names to calling function (Main Control File)

Intermediate: Goal Plan Function

Page 21: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Optimization

Interface

High-Level Control

Low-Level Control(D*Lite, VFH, Mapping)

Simulation (Player/Stage)

Planner(Main Control File)

User InputFinite State Machine

MATLAB Tool

Intermediary(Goal Plan, Detect Region Events)

Optimization(Calculate Costs, Dijkstra)

OfflineOnlineUser Data

Page 22: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Plan the best path through FSM “Best” is defined as shortest

time◦ (shortest time = shortest distance)

Path is used to:◦ Control actions of robots◦ Determine when mission is complete

Path can be re-optimizedif costs change

Optimization

Richard Hill
I will look for figure ...
Page 23: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Determines cost matrix for Dijkstra’s algorithm.

Cost is defined as straight-line distance between robot position and task locations.

New robot position after completion of task is taken into account.

Calculate Costs

Page 24: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Plans minimum-cost path through FSM

Sums total cost of all edges (events)

Does not distinguish between robots

Dijkstra’s Algorithm

Cost

B3.A1

B3.A1A2

B3.A1B4

a1f

a2s:8 b4s: 10

23

15

A B

CostA B A

Cost 25A B

Page 25: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

MATLAB high-level control algorithm

Utilizes both robots working simultaneously

Sums cost for each robot individually

Modified Dijkstra’s Algorithm

5 15

10A

B3.A1

B3.A1A2

B3.A1B4

b3f

a2s:8 b4s: 10

B

10A

B18A

B

5

Page 26: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Player/Stage simulation software

Robot A completed tasks 3 and 4

Robot B completed tasks 1 and 2

Simulation Results

1

2

3

4

Page 27: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Developed MATLAB control software and optimization algorithms◦ MATLAB Tool

Generates a data structure from FSM and user input that maps events to low-level functions

◦ Planner Commands controllable events based on optimal path Detects uncontrollable events

◦ Optimization Calculate costs as distance to task Choose optimal path through FSM for two robots

Conclusion

Page 28: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Expand MATLAB tool for additional DES applications with controllable and uncontrollable events.

Further test control software◦ More complex models, actual hardware

Improve optimization algorithms◦ Save cost information that has not changed, only

choose from controllable events

Conclusion: Future Work