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 PresentationTRANSCRIPT
![Page 1: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
Task-Planning Optimization
5 15
10A
B3.A1
B3.A1A2
B3.A1B4
b3f
a2s:8 b4s: 10
B
10A
B18A
B
5
![Page 5: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
![Page 13: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/html5/thumbnails/13.jpg)
MATLAB Tool1
3
4
5
67 8
2
![Page 14: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
![Page 15: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
![Page 17: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
![Page 19: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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)
OfflineOnlineUser Data
![Page 22: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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 25A B
![Page 25: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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
B18A
B
5
![Page 26: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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: Formal Synthesis of Supervisory Control Software for Multiple Robot Systems](https://reader036.vdocuments.site/reader036/viewer/2022062815/56816934550346895de088d7/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