Robust Supervisory Control of a Spacecraft Propulsion System

Similar documents
On the Design of Adaptive Supervisors for Discrete Event Systems

Optimal Non-blocking Decentralized Supervisory Control Using G-Control Consistency

Bridging the Gap between Reactive Synthesis and Supervisory Control

Fault Tolerant Controllability

Achieving Fault-tolerance and Safety of Discrete-event Systems through Learning

Synthesis of Maximally Permissive Non-blocking Supervisors for Partially Observed Discrete Event Systems

Timed Fault Tolerant Supervisory Control

Decentralized Control of Discrete Event Systems with Multiple Local Specializations 1

Supervisory Control of Manufacturing Systems with Time Specifications

Supervisory control under partial observation is an important problem

FORMULAS FOR CALCULATING SUPREMAL CONTROLLABLE AND NORMAL SUBLANGUAGES 1 R. D. Brandt 2,V.Garg 3,R.Kumar 3,F.Lin 2,S.I.Marcus 3, and W. M.

On Supervisory Control of Concurrent Discrete-Event Systems

Language Stability and Stabilizability of Discrete Event Dynamical Systems 1

A Learning-based Active Fault-tolerant Control Framework of Discrete-event Systems

Semi-asynchronous. Fault Diagnosis of Discrete Event Systems ALEJANDRO WHITE DR. ALI KARIMODDINI OCTOBER

Symbolic Decentralized Supervisory Control

Safety Verification of Fault Tolerant Goal-based Control Programs with Estimation Uncertainty

MOST OF the published research on control of discreteevent

Supervisory Control: Advanced Theory and Applications

Supervisor Localization for Large-Scale Discrete-Event Systems under Partial Observation

Semi-asynchronous Fault Diagnosis of Discrete Event Systems

MODULAR MULTITASKING SUPERVISORY CONTROL OF COMPOSITE DISCRETE-EVENT SYSTEMS. Max H. de Queiroz*, José E. R. Cury**

Representation of Supervisory Controls using State Tree Structures, Binary Decision Diagrams, Automata, and Supervisor Reduction

Diagnosis of Dense-Time Systems using Digital-Clocks

On Properties and State Complexity of Deterministic State-Partition Automata

Control Synthesis of Discrete Manufacturing Systems using Timed Finite Automata

Symbolic Hierarchical Interface-based Supervisory Control

CONTROL SYSTEMS, ROBOTICS AND AUTOMATION Vol. XVI - Qualitative Methods for Fault Diagnosis - Jan Lunze QUALITATIVE METHODS FOR FAULT DIAGNOSIS

Stéphane Lafortune. August 2006

Hierarchical Interface-based Supervisory Control of a Flexible Manufacturing System

PSPACE-completeness of Modular Supervisory Control Problems

What Information Really Matters in Supervisor Reduction?

Reducing the Supervisory Control of Discrete- Event Systems under Partial Observation

DECENTRALIZED DIAGNOSIS OF EVENT-DRIVEN SYSTEMS FOR SAFELY REACTING TO FAILURES. Wenbin Qiu and Ratnesh Kumar

Supervisory Control of Timed Discrete-Event Systems under Partial Observation

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Bisimulation, the Supervisory Control Problem and Strong Model Matching for Finite State Machines

The State Explosion Problem

Decentralized Failure Diagnosis of Discrete Event Systems

A Compositional Approach for Verifying Sampled-Data Supervisory Control

Relative Observability and Coobservability of Timed Discrete-Event Systems

Decentralized Modular Control of Concurrent Fuzzy Discrete Event Systems

Supervisory control for collision avoidance in vehicular networks with imperfect measurements

Towards Decentralized Synthesis: Decomposable Sublanguage and Joint Observability Problems

Hierarchical Interface-Based Decentralized. Supervisory Control

of Kentucky, Lexington, KY USA,

MODULAR SUPERVISORY CONTROL OF ASYNCHRONOUS AND HIERARCHICAL FINITE STATE MACHINES

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications

Feng Lin. Abstract. Inspired by thewell-known motto of Henry David Thoreau [1], that government

DIAGNOSING MULTIPLE FAULTS IN COMMUNICATING FINITE STATE MACHINES

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication 1

DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES

COMPLEXITY REDUCTION IN DISCRETE EVENT SYSTEMS

Optimal Discrete Event Supervisory Control of Aircraft Gas Turbine Engines

Decentralized vs. Monolithic Control of Automata and Weighted Automata

Extending Supervisory Controller Synthesis to Deterministic Pushdown Automata Enforcing Controllability Least Restrictively

STRUCTURAL DESIGN OF SYSTEMS WITH SAFE BEHAVIOR UNDER SINGLE AND MULTIPLE FAULTS. and Marcel Staroswiecki

Optimal Supervisory Control of Probabilistic Discrete Event Systems

On Controllability and Normality of Discrete Event. Dynamical Systems. Ratnesh Kumar Vijay Garg Steven I. Marcus

Monitoring and Active Diagnosis for Discrete-Event Systems

Overview of Control System Design

arxiv: v2 [cs.sy] 16 Jun 2011

NONBLOCKING CONTROL OF PETRI NETS USING UNFOLDING. Alessandro Giua Xiaolan Xie

CONTROL AND DEADLOCK RECOVERY OF TIMED PETRI NETS USING OBSERVERS

Decentralized Diagnosis of Discrete Event Systems using Unconditional and Conditional Decisions

THE RAPID progress and technological advances in batteries

Supervisory Control of Hybrid Systems

Masked Prioritized Synchronization for Interaction and Control of Discrete Event Systems

Diagnosability Analysis of Discrete Event Systems with Autonomous Components

Petri Net Diagnoser for DES Modeled by Finite State Automata

Hierarchical Interface-based Supervisory Control: Command-pair Interfaces

Robust Actuator Fault Detection and Isolation in a Multi-Area Interconnected Power System

748 IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 54, NO. 4, APRIL 2009

A Discrete Event Systems Approach for Protocol Conversion

A. Disjunctive Prognosers

Runtime Verification of Stochastic, Faulty Systems

Analysis and Optimization of Discrete Event Systems using Petri Nets

Online Failure Diagnosis of Stochastic Discrete Event Systems

Industrial Automation (Automação de Processos Industriais)

A Comparative Evaluation of Models and Algorithms in Model-Based Fault Diagnosis

CONTROL SYSTEMS, ROBOTICS AND AUTOMATION Vol. XVII - Analysis and Stability of Fuzzy Systems - Ralf Mikut and Georg Bretthauer

Supervisor Localization of Discrete-Event. Systems with Infinite Behavior

Coordinated Decentralized Protocols for Failure Diagnosis of Discrete Event Systems

THE simulation of a continuous or discrete time system

Supervisory Control of Petri Nets with. Uncontrollable/Unobservable Transitions. John O. Moody and Panos J. Antsaklis

Fault Tolerance, State Estimation and Fault Diagnosis in Petri Net Models

Formal Verification of Diagnosability via Symbolic Model Checking

Active Fault Diagnosis for Uncertain Systems

Hierarchical Design of Discrete Event Controllers: An Automated Manufacturing System Case Study

Programming a Fast Explicit Conflict Checker

Nonblocking Supervisory Control. of Nondeterministic Systems. Michael Heymann 1 and Feng Lin 2. Abstract

Supervisory Control of Manufacturing Systems with Time Specifications

IN THIS paper we investigate the diagnosability of stochastic

SUPERVISORY CONTROL AND FAILURE DIAGNOSIS OF DISCRETE EVENT SYSTEMS: A TEMPORAL LOGIC APPROACH

TESTING is one of the most important parts of the

Finite-state machines (FSMs)

An Efficient Algorithm for Finding Over-constrained Sub-systems for Construction of Diagnostic Tests

Discrete Event Systems Exam

Intersection Based Decentralized Diagnosis: Implementation and Verification

Structural Analysis of Resource Allocation Systems with Synchronization Constraints

Transcription:

1 Robust Supervisory Control of a Spacecraft Propulsion System Farid Yari, Shahin Hashtrudi-Zad*, and Siamak Tafazoli In this paper the theory of supervisory control of discrete-event systems is used to develop command sequences for turning on and off a spacecraft propulsion subsystem. The subsystem considered is a simplified version of the Propulsion Module Subsystem of the Cassini spacecraft. The supervisor controls the system in such a way that the design specifications are satisfied in both normal and faulty modes of operation. The study shows that to meet the specifications of both modes, the supervisor has to be a robust supervisor, and that a conventional (non-robust) supervisor could lead to engine getting stuck in shutdown state. Index Terms Supervisory control, Spacecraft propulsion, Fault recovery, Discrete-event systems, Robust control. I. INTRODUCTION This paper is concerned with the design of supervisory control system for spacecraft propulsion system. Specifically we seek to design a controller (supervisor) that issues appropriate command sequences to turn on and off the engines of a simplified spacecraft propulsion system. The objective is to enhance spacecraft autonomy. The subject of spacecraft autonomy has been studied by many researchers. Notably, the diagnosis and recovery system, Livingstone, has been designed based on probabilistic discrete models [Muscettola et al. (1998)]. Livingstone was tested on Deep Space 1 (1998) and its successor, Livingstone 2, was used on Earth Observing 1 (2000). In another approach, the methods of formal verification have been used to verify if a given control logic satisfies the design specifications (see, e.g. [Pekala et al. (2008)] and [Bensalem et al. (2010)]). In this paper we apply the Ramadge-Wonham theory of supervisory control ([Ramadge and Wonham (1987); Wonham (2014)]) to systematically design controller (supervisor) from the design specifications based on deterministic discrete-event models. The resulting supervisor (which will be in the form of an automaton) is guaranteed to satisfy the specifications. We study a simplified version of the Propulsion Module Subsystem (PMS) of the Cassini spacecraft. Our study shows that the application of conventional (non-robust) supervisory F. Yari, S. Hashtrudi Zad and S. Tafazoli are with the Department of Electrical and Computer Engineering, Concordia University, Montréal, QC, Canada H3G 1M8. E-mail: f yari@encs.concordia.ca, shz@ece.concordia.ca, stafazoli@videotron.ca * Corresponding author. This work was supported in part by Natural Sciences and Engineering Research Council of Canada (NSERC) under grant RGPIN-227688-2011. NOTICE: this is the authors version of a work that was accepted for publication in the 20th IFAC Symposium on Automatic Control in Aerospace (ACA 2016). Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version will be subsequently published in IFAC-PapersOnLine. control [Ramadge and Wonham (1987)] does not result in the appropriate command sequences. However, an extension of this approach to the Robust Supervisory Control ([Saboori and Hashtrudi Zad (2006)]) produces the desired solution. The concept of robust control arises in control theory in dealing with modeling uncertainties or model changes. Several approaches have been explored for robust supervisory control of discrete-event systems (DES). In [Lin (1993)], the plant model belongs to a finite family of DES models G 1,...,G n, and the objective is to design a supervisor such that all plant models under supervision satisfy a common design specification. [Bourdon et al. (2005)] extends the results of [Lin (1993)] to the case involving separate design specifications for each plant model and considers the nonblocking property. The nonblocking property is guaranteed through the (sufficient condition of) nonconflicting property. [Saboori and Hashtrudi Zad (2006)] extends the results of [Bourdon et al. (2005)] to the case of control under partial observation. Furthermore, [Saboori and Hashtrudi Zad (2006)] replaces the nonconflicting property with the G i -nonblocking property to obtain a set of necessary and sufficient conditions for the solvability of the robust control problem. Robust control is used to deal with model changes. For instance, in some fault recovery problems, the plant starts in normal mode and may enter one of several faulty modes. Each mode can have its own design specification and set of marked states. This control and fault recovery problem can be solved as a robust control problem [Saboori and Hashtrudi Zad (2005)]. [Yari and Hashtrudi Zad (2016)] develops automaton-based computational procedures for the design of robust supervisors of [Saboori and Hashtrudi Zad (2006)]. The procedures have been implemented in MATLAB environment using Discrete Event Control Kit (DECK) ([DECK (2013)]). In this paper, these procedures are used to solve the control and fault recovery problem for the simplified spacecraft propulsion system. Our study shows that to arrive at an appropriate control logic satisfying all design specifications, the supervisor has to be a robust supervisor. Furthermore, the features of the system studied here that necessitate the use of robust supervisor seem to be present in many other aerospace systems as well. This paper is organized as follows. Sec. II reviews some preliminaries of supervisory control. Sec. III formulates the supervisory control and fault recovery problem. Sec. IV discusses the simplified propulsion system and the design of supervisor. Sec. V further analyzes the results and provides comments on the methodology and its relation to other approaches. The paper is concluded in Sec. VI.

2 II. PRELIMINARIES In this section, we briefly review the supervisory control of DES [Wonham (2014); Cassandras and Lafortune (2008)]. Languages and Automata. A finite set of symbols, Σ, is called an alphabet. A sequence of symbols σ 1 σ 2...σ n (with σ i Σ) is called a word or sequence. A sequence with no symbols is called the empty sequence and denoted by ɛ. Σ denotes the set of all finite sequences. Any subset of Σ is called a language. A deterministic automaton G = (X, Σ, η, x 0, X m ) is a model for a discrete-event system with X the state set, Σ the finite set of events, η : X Σ X the partial transition function, x 0 the initial state and X m X the set of marked states. The set of sequences that can be generated by automaton G (from initial state x 0 ) is called the closed behavior of G: L(G) = {s Σ η(x 0, s) is defined}. The subset of L(G) consisting of sequences that end in a marked state is referred to as the marked behavior of G: L m (G) = {s L(G) η(x 0, s) X m }. A state x X is called reachable if there exists a sequence s L(G) from x 0 to x. Also, a state x is called coreachable if there is a sequence, say s, from x to some marked state. A DES G is nonblocking if every reachable state of G is coreachable. A nonblocking automaton is free of deadlocks and livelocks. An automaton is trim if all of its states are reachable and coreachable. The product of automata G 1 and G 2 is denoted by G 1 G 2 and generates L(G 1 ) L(G 2 ) and marks L m (G 1 ) L m (G 2 ). The synchronous product (parallel composition) of G 1 and G 2 is denoted by sync(g 1, G 2 ) and can be used to model the joint operation of G 1 and G 2. Supervisory Control. Consider a plant modeled by a DES G. Suppose a language E L m (G) represents the legal marked behavior; i.e., the marked sequences that satisfy the design specifications. In the supervisory control theory, a supervisor S is to be designed to restrict the behavior of the plant G to the legal behavior E and to ensure that the resulting system is nonblocking (Fig. 1). It is assumed that Fig. 1. Block Diagram of Supervisory control. the plant event set Σ can be partitioned into two disjoint subsets, Σ c the set of controllable events, and Σ uc the set of uncontrollable events. The supervisor is allowed to disable the controllable events only. A supervisory control for DES G can be designed as a map S : Σ Γ Σ where Γ Σ = {γ P wr(σ) Σ uc γ} denotes the set of all control patterns in Σ. In this context, for s Σ (generated in G), S(s) is the set of events enabled by the supervisor. Let S/G represent the plant G under the supervision of S (or the closedloop system). Thus the Supervisory Control Problem (SCP) is to find a supervisor S such that (1) L m (S/G) E, and (2) S/G is nonblocking. ((1) and (2) imply that all sequences in L(S/G) are legal.) Next we consider the robust supervisory control problem which can be regarded as an extension of SCP. Problem 1: Robust Nonblocking Supervisory Control Problem (RNSCP) [Bourdon et al. (2005); Saboori and Hashtrudi Zad (2006)]. Consider the set of plant models G = {G 1,..., G n } with G i = (X i, Σ i, η i, x 0,i, X m,i ) where i I = {1, 2,..., n}. Let the controllable and uncontrollable sets of events in G i be denoted by Σ c,i and Σ uc,i respectively. It is assumed that all plant models agree on the controllability of events, that is Σ c,i Σ uc,j = for all i, j I. Furthermore, suppose language K i denotes the design specification for plant model G i and hence E i = K i L m (G i ) denotes the corresponding legal marked behavior. Design a supervisor S such that (1) L m (S/G i ) E i and (2) S/G i is nonblocking, for all i I. Thus in RNSCP we seek to find a supervisor S such that (for every i) S/G i specification. Let Σ = i I Σ i and define E as is nonblocking and satisfies its design E = (E i (Σ L m (G i ))) ( L m (G i )) (1) i I i I The solutions of RNSCP can be characterized in terms of relative-closed, controllable and G-nonblocking sublanguages of E [Saboori and Hashtrudi Zad (2006)]. Let RCN b(e, G) denote the set of relative-closed, controllable and G i -nonblocking sublanguages of E (for all G i G). This set is nonempty and has a supremal element denoted by E = SupRCNb(E, G). Then E is the maximally permissive solution of RNSCP. A trim automaton S that marks E can be regarded as an implementation of a maximally permissive supervisor with S G i modeling the system under supervision S/G i. [Yari and Hashtrudi Zad (2016)] provides a computational procedure to find an automaton to mark E. This algorithm has been implemented in MATLAB environment using DECK [DECK (2013)]. III. SUPERVISORY CONTROL AND FAULT RECOVERY PROBLEM In this section we explain how a problem of control and fault recovery can be cast as a robust control problem. Consider a DES plant G that starts in normal mode N. The plant may enter a set of permanent failure modes. For simplicity we assume a single failure mode F (Fig. 2). Let G N denote Fig. 2. DES G with a single failure mode. the subautomaton of G with X N as its state set representing the normal mode, and G NF represent the behavior of the system in normal (N) and faulty (F ) modes. In this case, since we have assumed one failure mode, G NF and G are the

3 same. Furthermore, suppose in each mode we have multiple sets of marked states, say two, and denote them by Xm,1 N and Xm,2 N (normal mode) and Xm,1 F and Xm,2 F (faulty mode). Xm,1 N and Xm,2 N could for example represent the off states and operational states in normal mode. Similarly, Xm,1 F and Xm,2 F could represent off states and operational states in faulty mode. We use G N,1 and G N,2 to represent G N with Xm,1 N and Xm,2 N as their marked states. Automata G NF,1 and G NF,2 similarly are copies of G NF with Xm,1 NF and Xm,2 NF as marked states. The control and fault recovery problem is to find a supervisor S such that the system under supervision remains nonblocking in normal and faulty modes and satisfies the design specifications of each mode: L m (S/G N,i ) E N,i i = 1, 2 S/G N,i is nonblocking L m (S/G NF,i ) E NF,i i = 1, 2 S/G NF,i is nonblocking (E N,i and E NF,i (i = 1, 2) are the legal behaviors.) The above problem can be solved as a robust nonblocking supervisory control problem for the family of models G = {G N,1, G N,2, G NF,1, G NF,2 }. Next we turn our attention to the simplified spacecraft propulsion system. Fig. 3. Simplified spacecraft propulsion module subsystem. Fig. 4. DES model of valve V 1. IV. CONTROL AND FAULT RECOVERY IN SPACECRAFT PROPULSION SYSTEM In this paper we study supervisory control of a simplified version of the Propulsion Module Subsystem (PMS) of the Cassini spacecraft [Leeds et al. (1996); Morgan (2010)]. Fig. 3 shows the simplified propulsion system which consists of two propellant tanks and two engines E1 and E2. The valve assembly for E1 includes valves V 1, V 2, normally-open pyro valves P V 1 and P V 2, and normally-closed pyro valves P V 3 and P V 4. Two pressure sensors measure pressures P 1 and P 2, and a temperature sensor T 1 monitors chemical reactions and thrust generation in E1. The valve assembly for E2 is simpler consisting of valves V 3, V 4 and pressure sensors P 3, P 4 and temperature sensor T 2. When the fuel paths between the propellant tanks and engines are open, propellants can combine, ignite and produce thrust. In this example, we intend to design a supervisor that in response to high-level Master Controller commands, fires the engine in such a way that the design specifications (to be discussed later) are satisfied. Plant DES Model In our problem, for simplicity, only valve V 1 is assumed prone to stuck-open failure and the other valves are assumed faultfree. Fig. 4 shows the DES model of valve V 1. (Marked states are shown with double circles.) We assume that the valves are initially closed. The stuck-open failure mode of V 1 is permanent (state SO ) and the valve never returns to normal mode. The models of V 2, V 3 and V 4 are similar but without the failure event and faulty state (SO). The models of the normally-open pyro valves P V 1 and P V 2 are shown in Fig. 5. These valves can be closed only once. The models of Fig. 5. Normally-open pyro valves P V 1 and P V 2. normally-closed valves P V 3 and P V 4 are similar but their initial states is C and their event P V i O. The models of the four pressure sensors and two sensors measuring temperature as well as the Master Controller are shown in Fig. 6. Start and stop commands can be generated at any time by the Master Controller (Fig. 6(c)). Valve events V i O, V i C, P V i O and P V i C are controllable. Failure event V 1 SO, sensor events (P ih, P il, T ih and T il) and Master Controller events (stop and start) are uncontrollable. (a) Pressure sensors P i (i = 1, 2, 3, 4). (b) Temperature sensors T 1,T 2. Fig. 6. Sensors and Master Controller. (c) Master Controller

4 To complete the model, we build DES models INT1 to INT4 to describe the effect of valve positions on the pressure sensors, and INT5 and INT6 to model the reading of the temperature (thrust) sensors as a function of the pressures measured by P 1, P 2, P 3 and P 4. The reading of pressure sensor P 1 depends on the state of V 1, P V 1 and P V 3. Specifically the pressure goes high only when P V 1 is open, and either V 1 is open (or stuck-open) or P V 3 is open. This dependency is represented by INT1. INT1 is formed by first constructing sync(p V 1, P V 3, V 1 ). Next selfloops of P ih are added to those states of sync automaton where P V 1 is open, and either P V 3 is open, or V 1 is open or stuck-open. P il selfloops are added to other states. INT2, INT3 and INT4 are constructed similarly for pressure sensors P 2, P 3 and P 4. Now we proceed to model the interactions between pressure sensor readings and the thrust of engines. The thrust of an engine goes high only when the corresponding pressure sensors show high pressure reading. Fig. 7 shows these interactions for engine E1. INT6 (for engine E2) is built similarly. The plant model G is obtained by the synchronous product of all component models (V 1,..., V 4, P V 1,..., P V 4, P 1,..., P 4, T 1, T 2 ) and interaction models (INT1,..., INT6). The resulting plant model has 16384 states and 278528 transitions. Fig. 7. INT5: Interactions between pressure sensors and temperature sensor for engine E1. Design Specifications Broadly speaking, the design specifications require the use of engine E1 for normal mode and E2 in case of valve V 1 failure and prohibit simultaneous firing of E1 and E2. In normal (resp. faulty) mode, the supervisor must be able to turn on E1 (resp. E2) and turn off E1 (resp. E2). (Other requirements that deal with other issues such as fuel waste are not considered for brevity.) The detailed design specifications are as follows. In normal mode: (a) The system should wait for the start command to start firing engine E1; (b) After the start command is issued by the master controller, any start and stop command should be ignored during the start-up procedure until thrust is generated; (c) When the thrust is high, once the master controller issues the stop command, the shutdown procedure starts; (d) During the shutdown procedure, any start and stop command must be ignored. The automaton SP 1 that models the start-up and shutdown procedure in normal mode according to the design specifications is shown in Fig. 8. Engine 2 is a backup engine and must be used in case of engine 1 failure. When fault (i.e. valve V 1 stuck-open) occurs, engine 1 shall no longer be used and the system must switch Fig. 8. DES model for start-up and shutdown procedure in normal mode according to design specifications 2. over to engine 2 based on the current state of the system. The design specifications for the faulty mode are: (a) If the fault occurs before a start command, the system should switch completely to engine 2 and wait for the start command. In other words, the procedure for starting and shutting down engine 2 should be followed; (b) If the fault occurs after the master controller issues a start command, engine 1 should continue firing until the master controller issues the stop command and engine E1 is turned off. Then the system must switch to engine E2 for future maneuvers; (c) If the fault occurs after the master controller issues a stop command but before engine E1 is turned off, the engine must be turned off and then the system should switch over to engine E2. The DES model of these specifications is shown in Fig. 11. Robust Supervisory Control This supervisory control problem is a problem of fault recovery with a normal and a faulty mode. In each mode there are two sets of marked states, one for thrust low (engine off) and another for thrust high (engine on). The problem can be solved as a robust control problem with four plant models G N,off, G N,on, G NF,off and G NF,on. G N,off (resp. G N,on ) is the subautomaton of plant model G with states in normal mode G N with thrust low (resp. high) states marked. This marking can be done by the synchronous product of G N with automaton Marker N in Fig. 9 with state 1 (resp. state 2) of Marker N marked. Similarly G NF,off (resp. G NF,on ) are obtained by the synchronous product of G with Marker F (Fig. 10) with state 3 (resp. state 4) marked. Fig. 9. Mark state 1 for OFF and state 2 for ON. Automata for legal marked behaviors are obtained as E N,1 = SP 1 G N,off, E N,2 = SP 1 G N,on E NF,1 = SP 2 G NF,off, E NF,2 = SP 2 G NF,on The solution of robust control problem (RNSCP) is obtained using the computer code. The solution is an automaton with 2 To each state of SP 1 selfloops for all events except start, stop, T 1H and T 1L are added. The selfloops are for events that are not restricted by design specification SP 1.

5 Fig. 11. DES model for start-up and shutdown procedure in faulty mode according to design specifications 3. Fig. 10. Mark state 3 for OFF and state 4 for ON. 944 states and 11438 transitions. This automaton marks E and is a model of the supervisor. To illustrate what the robust supervisor does, consider a sample sequence from the system under supervision depicted in Fig. 12. Master Controller issues a start command. After valves V 1 and V 2 become open, pressures P 1 and P 2 become high. At this stage the thrust of E1 becomes high and the first engine fires. Next valve V 1 becomes stuck-open (It is assumed the failure is diagnosed quickly and hence is treated an observable event.) Next when a stop command is issued, engine E1 is switched off. This is done by firing P V 1 to shut the path between the oxidizer tank and engine E1 and by closing valve V 2 which shuts off supply from the fuel tank. Following another start command from the Master Controller, the system switches to engine E2 and the start-up procedure for E2 opens valves V 3 and V 4, the pressure sensors P 3 and P 4 show high pressure and E2 fires. Later, when a stop command comes from Master Controller, engine E2 is turned off by closing the corresponding valves V 3 and V 4. When Master Controller issues another start command to generate thrust, engine E2 is being used and the same sequence happens to complete a thrust on and thrust off sequence. Remark 1: It should be noted that it is necessary to ensure nonblocking with respect to multiple sets of marked states (and not just one set). Suppose we choose the E1 off states as the only marked state set for normal mode. Assume E1 is on in normal mode and Master Controller issues thrust shutoff command. The conventional (non-robust) supervisory control solution allows the system to close P V 1 to turn off the thrust of engine 1. But the supervisor will no longer be able to turn on E1 since the pyro valve cannot be opened again. The robust supervisor designed based on RNSCP however does not fire P V 1 and P V 2 unless a fault occurs. Fig. 12. Sample start-up and shutdown sequences. In the configuration shown in Fig. 3, pyro valves P V 3 and P V 4 are redundant. In fact, it can be validated that the RNSCP still has a solution even if P V 3 and P V 4 are removed from the propulsion system. This shows that the RNSCP and its maximally permissive solution can be used as a design tool to validate different valve configurations. Finally, it should be noted that the purpose of having P V 3 and P V 4 in Fig. 3 is to have the ability for handling stuck-closed failures of valves V 1 and V 2 (which have not been studied in this example). V. DISCUSSION In this section, we discuss some issues related to the problem studied here and the approach used to solve it. Robustness: As mentioned in Remark 1 in the previous section, to solve the control and fault recovery problem for the propulsion system, the robust supervisory control problem, RNCSP, should be considered and that a non-robust supervisor does not yield the desired solution. There are two problem and plant features that are the reasons for this result: First we want nonblocking property with respect to more than one set of marked states. Also, the plant model changes as a result of fault. Second, in the propulsion system studied, there were irreversible activities; in particular, the opening (resp. 3 Similar to SP 1, to each state of SP 2, selfloops of every event not present in Fig. 11 are added.

6 closing) of normally-closed (resp. normally-open) pyro valves and the permanent failure event are irreversible. These two features are present in many aerospace systems that have to be able to accommodate permanent faults with limited onboard resources (such as pyro valves and non-resettable fuses). In such cases, a robust supervisor must be used instead of a conventional (non-robust) supervisor. It should be noted that the above two features may not be present in other categories of systems. For example, for manufacturing systems reversibility may be a very desirable property. Plant Model: In this paper we limited our attention to a single failure mode. This has been primarily due to the execution time of our computer code in MATLAB environment. With a compiled code, say in C, we would be able to study more complex problems. Furthermore, other theoretical developments in the theory of supervisory control, for instance, modular and decentralized control, and symbolic calculations allow much larger problems to be tackled (see, e.g. [Brandin and Charbonnier (1994)] and [Ma and Wonham (2006)]). The DES models used in this paper are untimed and assume full event observation. Robust control for timed DES models is discussed in [Bourdon et al. (2005)] and for partial event observation in [Saboori and Hashtrudi Zad (2006)]. We have developed computational algorithms for the case of partial event observation and will publish them in the future. Related Work: [Muscettola et al. (1998)] provides and overview of the model-based diagnosis and reconfiguration system, Livingstone. Livingstone uses probabilistic discrete models. Probabilistic models are used to focus on the more likely scenarios in order to reduce computational complexity. The result is a system that can work in real time. Livingstone was implemented on Deep Space 1. The drawback is that every now and then, the actual situation is not among the likely scenarios. Our work is based on deterministic models and can be regarded as a step in the direction of considering all possible scenarios. [Pekala et al. (2008)] and [Bensalem et al. (2010)] use model checking tools to verify the design of control logic. In [Bensalem et al. (2010)], for instance, the plant is modeled with discrete models in BIP framework. Next based on design specifications, the supervisor modules, called connectors, are represented in BIP framework. Then the safety and deadlockfreedom properties are verified using model checker D-finder. D-finder and similar tools, use symbolic calculations to handle problems far more complex than the one considered in this paper. The main difference between the approach used in this paper and that in [Pekala et al. (2008)] and [Bensalem et al. (2010)] is that here we start from the design specifications and systematically design a control logic (supervisor) that satisfies the specifications. [Pekala et al. (2008)] and [Bensalem et al. (2010)] however start with given supervisors (connectors) and verify that they satisfy the specifications. If the test fails, then the designer has to modify the supervisors till a satisfactory solution is obtained. VI. CONCLUSION In this paper the theory of supervisory control of discreteevent systems is used to develop command sequences for control and fault recovery of a spacecraft propulsion subsystem. The study shows that to meet the specifications of normal and faulty modes, the supervisor has to be a robust supervisor, and that a conventional (non-robust) supervisor could lead to engine getting stuck in shutdown state. The features of this system that necessitate the use of robust supervisor seem to be present in many aerospace systems. In addition to theoretical developments, we are conducting lab tests on an experimental setup to evaluate the robust supervisory control methodology. REFERENCES Bensalem, S., de Silva, L., Gallien, M., Ingrand, F., and Yan, R. (2010). Rock solid software: a verifiable and correct-by-construction controller for rover and spacecraft functional levels. Int. Symp. on Artificial Intelligence, Robotics and Automation for Space (i-sairas), Sapporo, Japan. Bourdon, S., Lawford, M., and Wonham, W. (2005). Robust nonblocking supervisory control of discrete-event systems. IEEE Trans. Autom. Control, 50(12), 2015 2021. Brandin, B.A. and Charbonnier, F.E. (1994). The supervisory control of the automated manufacturing system of the aip. Proc. 4th Int. Conf. on Computer Integrated Manufacturing and Automation Technology, 319 324. Cassandras, C. and Lafortune, S. (2008). Introduction to Discrete Event Systems. Springer. DECK, Discrete Event Control Kit (DECK 1.2013.11). ECE Dept., Concordia University. http://www.ece.concordia.ca/ shz/deck. [Online]. Leeds, M., Eberhardt, R., and Berry, R. (1996). Development of the Cassini spacecraft propulsion subsystem. 32nd Joint Propulsion Conf. and Exhibit, paper 96-2864. Lake Buena Vista, FL. Lin, F. (1993). Robust and adaptive supervisory control of discrete event systems. IEEE Trans. Autom. Control, 38(12), 1848 1852. Ma, C. and Wonham, W.M. (2006). Nonblocking supervisory control of state tree structures. IEEE Trans. Autom. Control, 51(5), 782 793. Morgan, P. (2010). Cassini spacecraft s in-flight fault protection redesign for unexpected regulator malfunction. Proc. IEEE Aerospace Conf., 1 14. Big Sky, MT. Muscettola, N., Nayak, P., Pell, B., and Williams, B.C. (1998). Remote agent: to boldly go where no AI system has gone before. Artificial Intelligence, 103(12), 5 47. Pekala, M., Cancro, G., and Moore, J. (2008). Verifying executable specifications of spacecraft autonomy. Int. Symp. on Artificial Intelligence, Robotics and Automation for Space (i-sairas08), Pasadena, CA. Ramadge, P. and Wonham, W. (1987). Supervisory control of a class of discrete event processes. SIAM J. Control Optim., 25(1), 206 230. Saboori, A. and Hashtrudi Zad, S. (2005). Fault recovery in discrete event systems. Proc. ICSC Congr. on Computational Intelligence Methods and Applications. Istanbul, Turkey. Saboori, A. and Hashtrudi Zad, S. (2006). Robust nonblocking

7 supervisory control of discrete-event systems under partial observation. Systems & Control Letters, 55(10), 839 848. Wonham, W. (2014). Supervisory Control of Discrete Event Systems. Systems Control Group, ECE Dept., University of Toronto, Canada, available at http://www.control.utoronto.ca/des. Yari, F. and Hashtrudi Zad, S. (2016). Computational procedures for robust nonblocking supervisory control. Proc. Canadian Conf. on Electrical and Computer Eng., 274 278, Vancouver, Canada.