jill goryca, richard hill american control conference june 17, 2013
TRANSCRIPT
![Page 1: Jill Goryca, Richard Hill American Control Conference June 17, 2013](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/4.jpg)
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
![Page 5: Jill Goryca, Richard Hill American Control Conference June 17, 2013](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/13.jpg)
MATLAB Tool
1
3
4
5
6
7 8
2
![Page 14: Jill Goryca, Richard Hill American Control Conference June 17, 2013](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/22.jpg)
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
![Page 23: Jill Goryca, Richard Hill American Control Conference June 17, 2013](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022062803/56649ccf5503460f9499a9f1/html5/thumbnails/28.jpg)
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