jill goryca, richard hill american control conference june 17, 2013

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

Upload: joseph-reed

Post on 15-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Jill Goryca, Richard Hill American Control Conference June 17, 2013

Jill Goryca, Richard HillAmerican Control Conference

June 17, 2013

Formal Synthesis of Supervisory Control

Software for Multiple Robot Systems

Page 2: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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

Outline

Page 3: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Task-Planning Optimization

5 15

10A

B3.A1

B3.A1A2

B3.A1B4

b3f

a2s:8 b4s: 10

B

10A

B

18A

B

5

Richard Hill
Emphasize automatic generation of control code (or the structure used by the control software)
Page 5: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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

System Model: Task Constraints

Task Contraints

Page 9: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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

System Model: Avoidance

Avoidance

Page 11: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Page 13: Jill Goryca, Richard Hill American Control Conference June 17, 2013

MATLAB Tool

1

3

4

5

6

7 8

2

Page 14: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Page 15: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Page 17: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Page 19: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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)

Offline

OnlineUser Data

Page 22: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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 25

A B

Page 25: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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

B

18A

B

5

Page 26: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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: Jill Goryca, Richard Hill American Control Conference June 17, 2013

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