automata (finite state machine)
This block gives the possibility to construct hybrid automata, i.e., a hybrid system whose discrete part is defined via modes and transitions between modes, and the continuous part is defined via DAE (differential algebraic equations).
The automaton block provides a switching mechanism between subsystems corresponding to control modes of an automaton. Subsystems are constructed in such a way that they have the state vector as input ( coming from the automaton block) and compute the flow and jump functions (zero-crossing) and pass them back to the automaton block. The state variables are defined in the automaton block and the subsystems are static functions.
Suppose that a hybrid automaton consists of ** ** control modes. The continuous-time dynamics in mode is defined with DAE ( ) where and the dimension of is () for any . Suppose that in control mode , there are jump conditions indicating jumps toward other modes. The jump conditions are defined by functions where .
When a jump function changes sign and becomes positive, a mode transition will happen. When transition function becomes positive, a transition to mode happens and state vector is reset to , for .
In order to develop an automaton containing a mode with multiple reset functions, the value of the current and previous active modes should be used. These values are available at the first output port of the block.
The automaton block has the following input/output ports.
Output 1: The first output port is a vector of size two consisting of the current and the previous active control modes, i.e., .
Output 2: The second output port is a vector of size ** ** providing the state vector and its first time derivative, .
Inputs: The automaton block has vector input ports corresponding to modes or subsystems of the automaton. Each input defines the dynamic behavior in the control each mode as well as the reset functions and the transition functions. The input port which is the output of the subsystem is a vector of size . Each input is composed of the following vector.
- The first elements of the are the continuous-time dynamics. The dynamics of the system in the control mode is described by a smooth index-1 DAE ( ).
- The next elements of are the values used to reset the continuous- time state when a transition to control mode is activated.
- The next elements of are the jump or zero-crossing functions. If the zero-crossing function of mode crosses zero with negative to positive direction, a transition to destination mode happens.
Event Output: This is an event output port, which is activated whenever a mode transition happens. This event is useful when an event is needed to activate or initialize a part of the subsystem not included in the internal dynamics of the automaton block.
In the interface window, the number of control modes, the initial control mode and the initial value of continuous-time state at the beginning of the simulation should be given.
Find more documentation and demos about the Automaton block oat www.scicos.org. Interested users are referred to the paper “Modeling Hybrid Automata in Scicos”, Masoud Najafi, Ramine Nikoukhah, 2007 IEEE Multi-conference on Systems and Control, Singapore.