Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

Post on 25-Feb-2016

35 views 0 download

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

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

Richard Hill
Emphasize automatic generation of control code (or the structure used by the control software)

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

Richard Hill
I will look for figure ...

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