Formal Synthesis of Supervisory Control Software for Multiple Robot Systems
description
Transcript of 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
Background System Models Control Software Implementation Task Planning Algorithm Simulation Results Conclusion
Outline
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
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
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
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
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
Represents the rule that the robot must finish a task before it can start another one
System Model: Task Constraints
Task Contraints
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
Represents the rule that robots may not be in the same region at the same time
System Model: Avoidance
Avoidance
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
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
MATLAB Tool1
3
4
5
67 8
2
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
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
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
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
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
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
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
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
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
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
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
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
Player/Stage simulation software
Robot A completed tasks 3 and 4
Robot B completed tasks 1 and 2
Simulation Results
1
2
3
4
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
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