1 / 28

Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

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:

rozene
Download Presentation

Formal Synthesis of Supervisory Control Software for Multiple Robot Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Background • System Models • Control Software Implementation • Task Planning Algorithm • Simulation Results • Conclusion

  3. Background • 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

  4. Objective • Develop tools necessary to address complex scenarios • Tools include: • MATLAB Control Software • Task-Planning Optimization

  5. Method • 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

  6. Scenario Components: • 2 robots • 4 tasks • 4 regions Rules: • Complete all tasks • 1 before 2, same robot • 3 before 4, same robot • Different regions

  7. System Model: Geography • 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) Geographical Constraints

  8. System Model: Task Constraints • Represents the rule that the robot must finish a task before it can start another one Task Contraints

  9. System Model: Task Completion • Represents the order of task completion • Task 1 before task 2 by the same robot • Task 3 before task 4 by the same robot Task Completion

  10. System Model: Avoidance • Represents the rule that robots may not be in the same region at the same time Avoidance

  11. Supervisory Controller Model • 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

  12. Control Software Architecture Finite State Machine User Input Interface MATLAB Tool Offline High-Level Control Online User Data Optimization (Calculate Costs, Dijkstra) Planner (Main Control File) Intermediary (Goal Plan, Detect Region Events) Low-Level Control (D*Lite, VFH, Mapping) Simulation (Player/Stage)

  13. MATLAB Tool 2 1 3 4 5 6 8 7

  14. User Data File Finite State Machine User Input Interface MATLAB Tool Offline High-Level Control Online User Data Optimization (Calculate Costs, Dijkstra) Planner (Main Control File) Intermediary (Goal Plan, Detect Region Events) Low-Level Control (D*Lite, VFH, Mapping) Simulation (Player/Stage)

  15. User Data File • 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

  16. Planner: Main Control File Finite State Machine User Input Interface MATLAB Tool Offline High-Level Control Online User Data Optimization (Calculate Costs, Dijkstra) Planner (Main Control File) Intermediary (Goal Plan, Detect Region Events) Low-Level Control (D*Lite, VFH, Mapping) Simulation (Player/Stage)

  17. Planner: Main Control File • 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)

  18. Intermediary Functions Finite State Machine User Input Interface MATLAB Tool Offline High-Level Control Online User Data Optimization (Calculate Costs, Dijkstra) Planner (Main Control File) Intermediary (Goal Plan, Detect Region Events) Low-Level Control (D*Lite, VFH, Mapping) Simulation (Player/Stage)

  19. Intermediate: Detect Region Events • 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)

  20. Intermediate: Goal Plan Function • 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)

  21. Optimization Finite State Machine User Input Interface MATLAB Tool Offline High-Level Control Online User Data Optimization (Calculate Costs, Dijkstra) Planner (Main Control File) Intermediary (Goal Plan, Detect Region Events) Low-Level Control (D*Lite, VFH, Mapping) Simulation (Player/Stage)

  22. Optimization • 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-optimized if costs change

  23. Calculate Costs • 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.

  24. Dijkstra’s Algorithm • Plans minimum-cost path through FSM • Sums total cost of all edges (events) • Does not distinguish between robots

  25. Modified Dijkstra’s Algorithm • MATLAB high-level control algorithm • Utilizes both robots working simultaneously • Sums cost for each robot individually

  26. Simulation Results • Player/Stage simulation software • Robot A completed tasks 3 and 4 • Robot B completed tasks 1 and 2 2 4 1 3

  27. Conclusion • 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

  28. Conclusion: Future Work • 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

More Related