Next Article in Journal
Multi-Wavelength Path Loss Model for Indoor VLC with Mobile Human Blockage
Previous Article in Journal
A Service Recommendation System Based on Dynamic User Groups and Reinforcement Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Safe Performance of an Industrial Autonomous Ground Vehicle in the Supervisory Control Framework

by
Fotis N. Koumboulis
1,
Dimitrios G. Fragkoulis
1,*,
George E. Panagiotakis
1,2 and
Efthimios Mavroeidis
2
1
Robotics, Automatic Control and Cyber-Physical Systems Laboratory, Department of Digital Industry Technologies, School of Science, National and Kapodistrian University of Athens, Euripus Campus, 34400 Euboea, Greece
2
Core Department, National and Kapodistrian University of Athens, Euripus Campus, 34400 Euboea, Greece
*
Author to whom correspondence should be addressed.
Electronics 2023, 12(24), 5035; https://doi.org/10.3390/electronics12245035
Submission received: 16 October 2023 / Revised: 13 December 2023 / Accepted: 14 December 2023 / Published: 17 December 2023
(This article belongs to the Special Issue Advances in Robust Control for Automated Manufacturing System)

Abstract

:
A Cyberphysical system, being an autonomous guided vehicle (AGV) and having diverse applications such as thematic parks and product transfer in manufacturing units, is modeled and controlled. The models of all subsystems of the AGV are provided in discrete event systems (DES) form following the Ramadge–Wonham (R–W) framework. The safe performance of the AGV, being the desired behavior of the system, is presented in the form of desired rules and translated into a set of regular languages. Then, the regular languages are realized as supervisory automata in the framework of Supervisory Control Theory (SCT). To ease implementation and coordination of the control architecture, the supervisors are designed to be in two-state automata forms. The controllability of the regular languages, regarding the AGV, will be proved, using the physical realizability (PR) of the synchronous product of the automata of the system and the supervisors. Also, the nonblocking property of all the controlled automata will be proven to be satisfied. Simulation of the controlled AGV will validate the proposed method.

1. Introduction

Manufacturing Cyberphysical Systems (CPS), (also known as cybermanufacturing systems [1], are continuing to expand, following the directions of Industry 4.0 [2,3,4,5]. This way, all the parts of a manufacturing process are appropriately interconnected to share their information, e.g., through the Industrial Internet of Things (IIOT), and they are controlled or monitored by industrial computers [3]. Clearly, the control of the coordination of such a complex system is a key factor for successful integration [6,7]. Furthermore, the safety and security demands of manufacturing CPSs make even more difficult their analysis, design, and modeling. Thus, the use of approaches based on formal methods becomes more and more a necessity [7,8]. Regular languages and linear temporal logic are two efficient tools to describe, at a high level, the desired behavior of the manufacturing process [7], where the first tool is inherently related to Supervisory Control Theory (SCT) [9,10].
SCT is based on the modeling of CPSs as a finite symbolic system. SCT often uses abstractions of the real CPS. The first aim of SCT is the synthesis of a supervisory control architecture configuration, enforcing the desired behavior of the process while being as permissive as possible. The second aim is the easy and robust implementation of the designed scheme to the real CPS. The main issue in SCT design is the size and complexity of the total symbolic mathematical model, including all CPS’s devices and subsystems, as their size and complexity tend to grow exponentially with respect to the development of new technologies [11,12]. Another issue of SCT, which aims to provide formal and effective solutions, is cyberattacks at the level of the physical part of the CPS [13,14,15].
The use of intelligent assistants in manufacturing CPS in various areas of applications is becoming a normal trend [16,17,18]. Automated Guided Vehicles (AGVs) are used for intelligent transfers, not only in manufacturing, product processing, and product storage, but also in the large infrastructures of the modern economy. In such systems, SCT is used for coordination control [6]. The use of specially designed AGVs that navigate and cooperate autonomously is met in a large class of manufacturing CPSs [6,19,20].
In [21,22,23], an AGV product of the ETF Group [24], called multimover, has been introduced and described. Multimover is usually used as a ride system in theme parks and museums, as well as at special events. This AGV follows a floor-integrated electrical wire, producing a magnetic field that is measured by the embedded track sensors of the AGV. Furthermore, appropriate codes are placed on the floor surface in certain positions near the wire and at points of particular interest, e.g., the starting point and any destination point. Multimover reads the floor codes using appropriate metal detectors. Using multimover, an industrial AGV has been proposed in a study [6] and is used as a forklift that transfers products between fixed stations. The architecture of this AGV is identical to that of multimover, in the sense that they have the same devices and subsystems. The AGV, proposed in [6], is equipped with a product lifting and carrying mechanism in forklift configuration. It is important to mention that the operation of the lifting and carrying mechanism is treated independently from the operation of multimover. The model of this multimover-type industrial AGV has been developed in [6] and is proposed to be used in manufacturing systems. The model is based on state- and event-based abstractions of the actual devices of the systems and their respective low-level controllers. Thus, this model describes the real behavior of the low-level controlled devices of the AGV. Based on its characteristics and applications, multimover can be used as a general-purpose AGV.
In [21,22], the mathematical description of this type of AGV is given using discrete event systems (DES). In [21], for brevity reasons, only some components are presented, while in [22], descriptions of the sensors and actuators of the vehicle are given. Furthermore, in [22], the supervisory control level is studied for the case where the desired requirements are realized using rules of logical expressions. In [21,22], as well as in [6], the controllability and nonblocking issues are not investigated.
Here, the description of the AGV for manufacturing use, proposed in [6], is expressed using 6-tuple DES in the R-W framework [9,10]. The navigation motors and controllers, the proximity and bumper sensors, and the LEDs and buttons are modeled separately. The design requirements of the system are introduced in the form of rules. The rules are translated into regular languages. This is a contribution of the present work. Following the design approaches proposed in [25,26,27,28], a general two-state supervisor that covers the desired regular languages is introduced. The controllability of the desired languages is proven with regard to the total CPS. This property is proved via the physical realizability (PR) [29] of the supervisors in the synchronous product of the system’s automaton and the supervisors. The controllability property of the desired languages is a necessary and sufficient condition for the proposed supervisors to be physically realizable, see [9,10,29]. This is another contribution of the present work. An analytic proof of the nonblocking property of the controlled system is given. This is the third contribution of the paper. Finally, it is important to mention that the present control scheme is event-based, while in [6], the supervisors are state-dependent. Here, the proposed supervisory scheme responds to changes in the system through the appearance of the signal corresponding to the change. This way, a faster execution of control with respect to changes may be derived.
The first motivation of the paper is the huge number of applications of AGVs. So, the present work was directed at the analytic modeling, and supervisor design of AGVs that are clearly offered for the development of extended or new supervisor designs. The second motivation is the clear need to implement event-based and simple supervisors. The third motivation is the need to ensure satisfactory system performance by proving controllability through PR and the nonblocking characteristics of the influence of the supervisors.
The material of the paper is grouped into six sections. In Section 2, the mathematical model of the AGV, in the form of 6-tuple DES models of its subsystems, will be presented. In Section 3, the desired behavior, in the form of rules and in the form of regular languages, will be proposed. In Section 4, a general two-state supervisor automaton will be proposed to cover all realizations of the desired regular languages. In Section 5, the implementation issues of the derived supervisors are discussed. In Section 6, indicative simulation results are presented.

2. DES Model of the AGV

2.1. A Brief Description of the AGV

The class of AGVs studied in the present paper includes autonomous driving electric vehicles with embedded batteries, controlled via computers. This class of AGVs is produced by ETF Group in the Netherlands, and it is called multimover. In [21,22], an abstraction of the actual functionality of the vehicle that incorporates the low-level controllers of the AGV is presented in the form of DES models. In [6], multimover is used for industrial manufacturing. In Figure 1, an indicative form of industrial AGV is presented. AGVs can be used in various applications, as they can be found to be installed in manufacturing or logistic facilities [6] as well as in theme parks [21]. Each AGV of the present class is equipped with two different motors, one for driving and one for steering, a controller for the riding coordination, a battery level sensor, two proximity sensors, one bumper sensor, three LEDs indicating the forward and backward movement and the mode status, and three buttons for forward, backward, and reset selection. Each of the above devices is a separate subsystem of the AGV. Additionally, the operation modes of the vehicle constitute one more subsystem, being the central subsystem of the AGV.
In the following subsections, the models of the subsystems will be presented in the form of 6-tuple automata in the R-W framework. For 6-tuple forms of DES in the R-W framework, see [25,26,27,28]. The DES models of the subsystems will be derived following the respective directions in [6], where a hybrid model for the present class of AGVs has been introduced. The overall model of the AGV will be derived from the synchronous product of the models of its subsystems. Regarding the synchronous product, see [9,10].
Before presenting the models of all devices of the AGV, it is important to mention that the following assumptions, introduced in [6,21,22], are also adopted here:
  • There is no fault in the resource control of the AGV. Hence, all the given commands are executed correctly. This assumption is valid as the already embedded resource controllers of the AGV have passed various quality and functionality tests.
  • The communication delay between the AGV and the supervisors is practically equal to zero. Thus, the synchronization of the supervisors and the events of the AGV is immediate.

2.2. Operation Subsystem

The DES model of the AGV operation modes is
G M M = ( M M , E M M , f M M , M M , x M M , 0 , M M , m ) .
The state set of G M M is M M = { q M M , 1 , q M M , 2 , q M M , 3 } . The AGV has three different operational modes: the emergency mode, the reset mode, and the active mode. The state q M M , 1 represents the emergency mode. The state q M M , 2 represents the reset mode. The state q M M , 3 represents the active mode. The alphabet of G M M is E M M = { e M M , 1 , e M M , 2 , e M M , 3 } . The event e M M , 1 is the command to switch to reset mode. The event e M M , 2 is the command to switch to active mode. The event e M M , 3 is the command to switch to emergency mode. x M M , 0 = q M M , 1 is the initial state and M M , m = { q M M , 1 } is the marked state set. The active events sets of G D M are:
M M ( q M M , 1 ) = { e M M , 1 } ,   M M ( q M M , 2 ) = { e M M , 2 , e M M , 3 } ,   M M ( q M M , 3 ) = { e M M , 1 , e M M , 3 } .
The transitions of G M M are:
f M M ( q M M , 1 , e M M , 1 ) = q M M , 2 ,   f M M ( q M M , 2 , e M M , 2 ) = q M M , 3 ,   f M M ( q M M , 2 , e M M , 3 ) = q M M , 1 ,   f M M ( q M M , 3 , e M M , 1 ) = q M M , 2 ,   f M M ( q M M , 3 , e M M , 3 ) = q M M , 2 .
The controllable event set is E M M , c = { e M M , 1 , e M M , 2 } and the uncontrollable event set is E M M , u c = { e M M , 3 } . The marked behavior and the closed behavior of G M M are:
L m ( G M M ) = e M M , 1 ( e M M , 2 e M M , 1 ) * + ( e M M , 2 e M M , 1 ) * e M M , 2 e D M , 3 * ,   L ( G M M ) = L ( G M M ) ¯ .
Obviously, G M M is a nonblocking automaton [9,10]. In Figure 2, the state diagram of G M M is depicted.

2.3. Drive Motor Subsystem

The DES model of the drive motor (DM) is:
G D M = ( D M , E D M , f D M , D M , x D M , 0 , D M , m )
The state set of G D M is D M = { q D M , 1 , q D M , 2 , q D M , 3 } . DM has three different operations (OFF operation, ON operation, and STOPPING operation). The state q D M , 1 represents the OFF mode, q D M , 2 represents the ON mode, and q D M , 3 represents the STOPPING mode. The alphabet of G D M is E D M = { e D M , 1 , e D M , 2 , e D M , 3 , e D M , 4 , e D M , 5 } . The event e D M , 1 is the command to move forward. The event e D M , 2 is the command to DM to move backward. The event e D M , 3 is the command to DM to stop moving. The event e D M , 4 is the command to DM to be deactivated. The event e D M , 5 denotes the indication of a DM fault. x D M , 0 = q D M , 1 is the initial state and D M , m = { q D M , 1 } is the marked state set of G D M . The active event sets of G D M are:
D M ( q D M , 1 ) = { e D M , 1 , e D M , 2 , e D M , 3 } ,   D M ( q D M , 2 ) = { e D M , 3 , e D M , 5 } , D M ( q D M , 5 ) = { e D M , 1 , e D M , 2 , e D M , 4 , e D M , 5 }
The transitions of G D M are:
f D M ( q D M , 1 , e D M , 1 ) = q D M , 2 ,   f D M ( q D M , 1 , e D M , 2 ) = q D M , 2 ,   f D M ( q D M , 1 , e D M , 3 ) = q D M , 3 ,   f D M ( q D M , 2 , e D M , 3 ) = q D M , 3 ,   f D M ( q D M , 2 , e D M , 5 ) = q D M , 1 ,   f D M ( q D M , 3 , e D M , 1 ) = q D M , 2 , f D M ( q D M , 3 , e D M , 2 ) = q D M , 2 ,   f D M ( q D M , 3 , e D M , 4 ) = q D M , 1 ,   f D M ( q D M , 3 , e D M , 5 ) = q D M , 1
The controllable event set is E D M , c = { e D M , 1 , e D M , 2 , e D M , 3 , e D M , 4 } and the uncontrollable event set is E D M , u c = { e D M , 5 } . The marked behavior and the closed behavior of G D M are:
L m ( G D M ) = ( e D M , 1 + e D M , 2 ) e D M , 5 + e D M , 3 ( e D M , 1 + e D M , 2 ) * e D M , 5 + e D M , 3 ( e D M , 4 + e D M , 5 ) + + e D M , 3 ( e D M , 4 + e D M , 5 ) + ( e D M , 1 + e D M , 2 ) e D M , 3 * ( e D M , 4 + e D M , 5 ) + ( e D M , 1 + e D M , 2 ) e D M , 5 * ,   L ( G D M ) = L ( G D M ) ¯ .
Obviously, G D M is a nonblocking automaton. In Figure 3, the state diagram of G D M is depicted.

2.4. Steer Motor Subsystem

The DES model of the steer motor (SM) is:
G S M = ( S M , E S M , f S M , S M , x S M , 0 , S M , m )
The state set of G S M is S M = { q S M , 1 , q S M , 2 } . SM has two different operations (OFF and ON). The state q S M , 1 represents OFF. The state q S M , 2 represents ON. The alphabet of G S M is E S M = { e S M , 1 , e S M , 2 , e S M , 3 } . The event e S M , 1 is the command for SM to be activated. The event e S M , 2 is the command for SM to be deactivated. The event e S M , 3 denotes an indication of an SM fault. x S M , 0 = q S M , 1 is the initial state and S M , m = { q S M , 1 } is the marked state set of G S M . The active event sets of G S M are:
S M ( q S M , 1 ) = { e S M , 1 , e S M , 3 } ,   S M ( q S M , 2 ) = { e S M , 2 , e S M , 3 }
The transitions of G S M are:
f S M ( q S M , 1 , e S M , 1 ) = q S M , 2 ,   f S M ( q S M , 1 , e S M , 3 ) = q S M , 1 ,   f S M ( q S M , 2 , e S M , 2 ) = q S M , 1 , f S M ( q S M , 2 , e S M , 3 ) = q S M , 1
The controllable event set is E S M , c = { e S M , 1 , e S M , 2 } and the uncontrollable event set is E S M , u c = { e S M , 3 } . The marked behavior and the closed behavior of G S M are:
L m ( G S M ) = e S M , 3 * e S M , 1 ( e S M , 2 + e S M , 3 ) * ,   L ( G S M ) = L m ( G S M ) ¯
Obviously, G S M is a nonblocking automaton. In Figure 4, the state diagram of G S M is depicted.

2.5. Ride Control Subsystem

The DES model of ride control (RC) is:
G R C = ( R C , E R C , f R C , R C , x R C , 0 , R C , m )
The state set of G R C is R C = { q R C , 1 , q R C , 2 } . RC has two different operations (START and STOP). The state q R C , 1 represents START and q R C , 2 represents STOP. The alphabet of G R C is E R C = { e R C , 1 , e R C , 2 } . The event e R C , 1 is the signal from RC, indicating that it has been deactivated. The event e R C , 2 is the signal of RC, indicating that it has been activated. x R C , 0 = q R C , 1 is the initial state, and R C , m = { q R C , 1 } is the marked state set of G R C . The active event set of G R C are:
R C ( q R C , 1 ) = R C ( q R C , 2 ) = E R C
The transitions of G R C are:
f R C ( q R C , 1 , e R C , 1 ) = q R C , 2 ,   f R C ( q R C , 1 , e R C , 2 ) = q R C , 1 ,   f R C ( q R C , 2 , e R C , 1 ) = q R C , 2 f R C ( q R C , 2 , e R C , 2 ) = q R C , 1
The controllable event set is E R C , c = and the uncontrollable event set is E R C , u c = E R C . The marked behavior and the closed behavior of G R C are:
L m ( G R C ) = ( e R C , 2 * e R C , 1 e R C , 1 * e R C , 2 ) * ,   L ( G R C ) = L m ( G R C ) ¯ .
Obviously, G R C is a nonblocking automaton. In Figure 5, the state diagram of G R C is depicted.

2.6. Battery Level Sensor Subsystem

The DES model of the battery level (BL) sensor is:
G B L = ( B L , E B L , f B L , B L , x B L , 0 , B L , m )
The state set of G B L is B L = { q B L , 1 , q B L , 2 , q B L , 3 } . The battery level sensor has three different operations (INACTIVE, ACTIVE, and RELOAD). The state q B L , 1 represents the INACTIVE operation. The state q B L , 2 represents the ACTIVE operation. The state q B L , 3 represents the RELOAD operation. The alphabet of G B L is E B L = { e B L , 1 , e B L , 2 , e B L , 3 } . The event e B L , 1 is the signal from the battery level sensor, indicating that the battery is exhausted. The event e B L , 2 is the signal from the battery level sensor, indicating that the battery is reloading. The event e B L , 3 is the signal from the battery level sensor, indicating that the battery is full. x B L , 0 = q B L , 1 is the initial state and B L , m = { q B L , 1 } is the marked state set of G B L . The active event sets of G B L are:
B L ( q B L , 1 ) = { e B L , 1 } ,   B L ( q B L , 2 ) = { e B L , 2 } ,   B L ( q B L , 3 ) = { e B L , 3 } .
The transitions of G B L are:
f B L ( q B L , 1 , e B L , 1 ) = q B L , 2 ,   f B L ( q B L , 2 , e B L , 2 ) = q B L , 3 ,   f B L ( q B L , 3 , e B L , 3 ) = q B L , 1 .
The controllable event set is E B L , c = and the uncontrollable event set is E B L , u c = E B L . The marked behavior and the closed behavior of G B L are:
L m ( G B L ) = ( e B L , 1 e B L , 2 e B L , 3 ) * ,   L ( G B L ) = L m ( G B L ) ¯ .
Obviously, G B L is a nonblocking automaton. In Figure 6, the state diagram of G B L is depicted.

2.7. Proximity Sensor Subsystem

The DES model of the i -th Proximity sensor (PR), where i { 1 , 2 } , is:
G P S , i = ( P S , i , E P S , i , f P S , i , P S , i , x P S , i , 0 , P S , i , m )
The state set of G P S , i is P S , i = { q P S , i , 1 , q P S , i , 2 } . PS has two different operations (INACTIVE and ACTIVE). The state q P S , i , 1 represents the case where PR is INACTIVE, and q P S , i , 2 represents the case where PS is ACTIVE. The alphabet of G P S , i is E P S , i = { e P S , i , 1 , e P S , i , 2 } . The event e P S , i , 1 is the signal from PS indicating that an object has been detected nearby. The event e P S , i , 2 is the signal from PS indicating that the detected object has stopped. x P S , i , 0 = q P S , i , 1 is the initial state and P S , i , m = { q P S , i , 1 } is the marked state set of G P S , i . The active event set of G P S , i are:
P S , i ( q P S , i , 1 ) = { e P S , i , 1 } ,   P S , i ( q P S , i , 2 ) = { e P S , i , 2 } .
The transitions of G P S , i are:
f P S , i ( q P S , i , 1 , e P S , i , 1 ) = q P S , i , 2 ,   f P S , i ( q P S , i , 2 , e P S , i , 2 ) = q P S , i , 1
The controllable event set is E P S , i , c = and the uncontrollable event set is E P S , i , u c = E P S , i . The marked behavior and closed the behavior of G P S , i are:
L m ( G P S , i ) = ( e P S , i , 1 e P S , i , 2 ) * ,   L ( G P S , i ) = L m ( G P S , i ) ¯
Obviously, G P S , i is a nonblocking automaton. In Figure 7, the state diagram of G P S , i is depicted.

2.8. Bumper Switch Subsystem

The DES model of the bumper switch (BS) is:
G B S = ( B S , E B S , f B S , B S , x B S , 0 , B S , m )
The state set of G B S is P S = { q P S , 1 , q P S , 2 } . BS has two different operations (INACTIVE and ACTIVE) The state q B S , 1 represents the case where BS is INACTIVE, and q B S , 2 represents the case where BS is ACTIVE. The alphabet of G B S is E B S = { e B S , 1 , e B S , 2 } . The event e B S , 1 is the signal indicating that BS has been activated. The event e B S , 2 is the signal indicating that BS has been deactivated. x B S , 0 = q B S , 1 is the initial state and B S , m = { q B S , 1 } the marked state set of G B S . The active event set of G B S are:
B S ( q B S , 1 ) = { e B S , 1 } ,   B S ( q B S , 2 ) = { e B S , 2 }
The transitions of G B S are:
f B S ( q B S , 1 , e B S , 1 ) = q B S , 2 ,   f B S ( q B S , 2 , e B S , 2 ) = q B S , 1
The controllable event set is E B S , c = and the uncontrollable event set is E B S , u c = E B S . The marked behavior and the closed behavior of G B S are:
L m ( G B S ) = ( e B S , 1 e B S , 2 ) * ,   L ( G B S ) = L m ( G B S ) ¯
Obviously, G B S is a nonblocking automaton. In Figure 8, the state diagram of G B S is depicted.

2.9. LED Subsystem

The DES model of the LEDs in 6-tuple DES form is:
G L , j = ( L , j , E L , j , f L , j , L , j , x L , j , 0 , L , j , m ) ; j { 1 , 2 , 3 }
The state set of G L , j is L , j = { q L , j , 1 , q L , j , 2 } . The LEDs has two different modes (OFF and ON). The state q L , j , 1 represents the OFF mode, and the state q L , j , 2 represents the ON mode. The alphabet of G L , i is E L , j = { e L , j , 1 , e L , j , 2 } . The event e L , j , 1 is the command to activate the j -th LED. The event e L , j , 2 is the command to deactivate the j -th LED. Regarding the initial state of G L , j , if j { 1 , 2 } then x L , j , 0 = q L , j , 1 , and if j = 3 then x L , j , 0 = q L , j , 2 . The marked state set of G L , j is L , j , m = { q L , j , 1 } . The active event set of G L , j are:
L , j ( q L , j , 1 ) = { e L , j , 1 } ,   L , j ( q L , j , 2 ) = { e L , j , 2 }
The transitions of G L , j are::
f L , j ( q L , j , 1 , e L , j , 1 ) = q L , j , 2 ,   f L , j ( q L , j , 2 , e L , j , 2 ) = q L , j , 1
The controllable event set is E L , j , c = E L , j and the uncontrollable event set is E L , j , u c = . The marked and the closed behavior of G L , j is
L m ( G L , j ) = ( e L , j , 1 e L , j , 2 ) * , if    j { 1 , 2 } e L , j , 2 ( e L , j , 1 e L , j , 2 ) * , if    j = 3 L ( G L , j ) = L m ( G L , j ) ¯
Obviously, G L , j is a nonblocking automaton. In Figure 9, the state diagram of G L , j is depicted.
Note that G L , 1 describes the behavior of the LED, which is related to the forward movement of the AGV. Also, note that G L , 2 describes the behavior of the LED, which is related to the backward movement of the AGV. Finally, note that G L , 3 describes the behavior of the LED, which is related to the case where the AGV is in reset mode.

2.10. Buttons Subsystem

The DES model of the buttons is:
G B , k = ( B , k , E B , k , f B , k , B , k , x B , k , 0 , B , k , m ) ;    k { 1 , 2 , 3 }
The state set of G B , k is B , k = { q B , k , 1 , q B , k , 2 } . The buttons have two different modes. The first is the RELEASED mode, and the second is the PRESSED mode. The state q B , k , 1 represents the RELEASED mode. The state q B , k , 2 represents the PRESSED mode. The alphabet of G B , k is E B , k = { e B , k , 1 , e B , k , 2 } . The event e B , k , 1 is the signal indicating that the k -th button has been pressed. The event e B , k , 2 is the signal indicating that the k -th button has been released. x B , k , 0 = q B , k , 1 is the initial state and B , k , m = { q B , k , 1 } is the marked state set of G B , k is. The active event set of G B , k are:
B , k ( q B , k , 1 ) = { e B , k , 1 } ,   B , k ( q B , k , 2 ) = { e B , k , 2 }
The transitions of G B , k are:
f B , k ( q B , k , 1 , e B , k , 1 ) = q B , k , 2 ,   f B , k ( q B , k , 2 , e B , k , 2 ) = q B , k , 1
The controllable event set is E B , k , c = and the uncontrollable event set is E B , k , u c = E B , i . The marked behavior and the closed behavior of G B , k are:
L m ( G B , k ) = ( e B , k , 1 e B , k , 2 ) * ,   L ( G B , k ) = L m ( G B , k ) ¯
Obviously, G B , k is a nonblocking automaton. In Figure 10, the state diagram of G B , k is depicted.
Note that G B , 1 describes the behavior of the button, which is related to the forward movement of the AGV. Also, note that G B , 2 describes the behavior of the button, which is related to the backward movement of the AGV. Finally, note that G B , 3 describes the behavior of the reset button on the AGV.

3. Performance Requirements

In the present section, the desired languages for formulating the desired behavior of the AGV will be presented. The languages are based on the performance rules proposed in [6]. Following [6], the goal is to state the desired performance in the form of rules that are as simple as possible. This characteristic will benefit the synchronization of the supervisors in the controller implementation.

3.1. Requirements for Emergency Behavior

The transition of the AGV to the RESET and ACTIVE states is desired to be allowed only if the battery sensor and the bumper switch are inactive. The following two regular languages formulate this specification:
K D , 1 = ( e M M , 1 + e M M , 2 + e B L , 3 ) * e B L , 1 ( e B L , 1 ) * e B L , 3 * ¯ , K D , 2 = ( e M M , 1 + e M M , 2 + e B S , 2 ) * e B S , 1 ( e B S , 1 ) * e B S , 2 * ¯

3.2. Requirements for the Motors

The steer motor is allowed to be disabled only if the AGV is in the RESET or EMERGENCY state and the drive motor is in the OFF state. The following two regular languages formulate this specification:
K D , 3 = ( e S M , 2 + e M M , 1 + e M M , 3 ) * e M M , 2 ( e M M , 1 + e M M , 3 ) * ¯ K D , 4 = ( e S M , 2 + e D M , 5 ) * ( e D M , 1 + e D M , 2 ) ( e D M , 3 + e D M , 5 ) * ¯
The steer motor is allowed to be disabled only if the AGV is in the ACTIVE state. The following regular language formulates this specification:
K ˜ D , 5 = ( e M M , 1 + e M M , 3 ) * e M M , 2 ( e S M , 1 ) * ( e M M , 1 + e M M , 3 ) * ¯
The drive motor is allowed to be enabled, forward or backward, only if the AGV is in the ACTIVE state and the steer motor is ON. The following two regular languages formulate this specification, where the first language is a modification of the previous one:
K D , 5 = ( e M M , 1 + e M M , 3 ) * e M M , 2 ( e S M , 1 + e D M , 1 + e D M , 2 ) * ( e M M , 1 + e M M , 3 ) * ¯ K D , 6 = e S M , 1 ( e D M , 1 + e D M , 2 ) * e S M , 2 * ¯
The drive motor is allowed to stop driving, forward or backward, only if the ride control is in the STOP state or the respective range proximity sensor on the front or back side is in the ACTIVE state. The following two regular languages formulate this specification:
K D , 7 , i = ( e R C , 2 + e P S , i , 2 ) * ( e R C , 1 + e P S , i , 1 ) ( e R C , 1 + e D M , 3 + e P S , i , 1 ) * ( e R C , 2 + e P S , i , 2 ) * ¯ ;    i { 1 , 2 }

3.3. Requirements for the Buttons

The activation of the AGV is allowed only if either the forward button or the backward button is pressed, while the reset button is not pressed. The following two regular languages formulate this specification:
K D , 8 = ( e B , 1 , 2 + e B , 2 , 2 ) * ( e B , 1 , 1 + e B , 2 , 1 ) ( e B , 1 , 1 + e B , 2 , 1 + e M M , 2 ) * ( e B , 1 , 2 + e B , 2 , 2 ) * ¯ K D , 9 = ( e B , 3 , 2 + e M M , 2 ) * e B , 3 , 1 ( e B , 3 , 1 ) * e B , 3 , 2 * ¯
The reset of the AGV is allowed only if the reset button is pressed. The following regular language formulates this specification:
K D , 10 = ( e B , 3 , 2 ) * e B , 3 , 1 ( e B , 3 , 1 + e M M , 1 ) * e B , 3 , 2 * ¯

3.4. Requirements for the LEDs

The reset mode LEDs are allowed to be switched off only if the AGV is in the ACTIVE or RESET state. The following regular language formulates this specification:
K D , 11 = ( e M M , 3 ) * ( e M M , 1 + e M M , 2 ) ( e M M , 1 + e M M , 2 + e L , 3 , 2 ) * e M M , 3 * ¯
The reset mode LED is allowed to be turned on only if the AGV is in the EMERGENCY state. The following regular language formulates this specification:
K D , 12 = ( e M M , 1 + e M M , 2 ) * e M M , 3 ( e L , 3 , 1 + e M M , 3 ) * ( e M M , 1 + e M M , 2 ) * ¯
The LED indicating the forward move and the LED indicating the backward move are allowed to be switched on only if the AGV is in its RESET state. The following regular language formulates this specification:
K D , 13 = ( e M M , 1 + e M M , 3 ) * e M M , 2 ( e L , 1 , 1 + e L , 2 , 1 ) * ( e M M , 1 + e M M , 3 ) * ¯
The LEDs indicating the forward and backward moves is allowed to be switched off only if the AGV is in the ACTIVE or EMERGENCY state. The following regular language formulates this specification:
K D , 14 = ( e M M , 1 + e M M , 3 ) ( e L , 1 , 2 + e L , 2 , 2 + e M M , 1 + e M M , 3 ) * e M M , 2 * ¯

4. Supervisory Control Design

4.1. The Supervisors Realizing the Desired Languages

First, a general two-state supervisor automaton will be developed. This automaton will be used for the design of the supervisors realizing the desired languages, presented in the previous section. The general two-state supervisor automaton is determined to be of the following 6-tuple form:
S = ( S , E S , f S , S , x S , 0 , S )
where,
S = { q S , 1 , q S , 2 } , E S = E S , 1 E S , 2 E S , 3 E S , 4 , x S , 0 = q S , 1 , f S ( q S , 1 , e ) = q S , 1 ;    e E S , 1 , f S ( q S , 1 , e ) = q S , 2 ;    e E S , 2 , f S ( q S , 2 , e ) = q S , 2 ;    e E S , 3 , f S ( q S , 2 , e ) = q S , 1 ;    e E S , 4 .
The sets of active events are:
S ( q S , 1 ) = E S , 1 E S , 2 ,   S ( q S , 2 ) = E S , 3 E S , 4 .
The alphabets E S , 1 , E S , 2 , E S , 3 , and E S , 4 , will be determined by the respective language realized by the supervisor. The state diagram of S is presented in Figure 11.
The complexity triad of the supervisor S is:
| | , | E | , q | | = 2 , | E S | , λ = 1 4 | S ( q S , λ ) |
where · denotes the cardinality of the argument set. More about the complexity triad of an automaton can be found in [25].
The supervisor S 1 , realizing the language K D , 1 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e B L , 1 , e B L , 3 } ,   E S , 1 = { e M M , 1 , e M M , 2 , e B L , 3 } E S , 2 = { e B L , 1 } ,   E S , 3 = E S , 2 ,   E S , 4 = { e B L , 3 } .
The complexity of S 1 is 2 , 4 , 6 .
The supervisor S 2 , realizing the language K D , 2 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e B S , 1 , e B S , 2 } ,   E S , 1 = { e M M , 1 , e M M , 2 , e B S , 2 } E S , 2 = { e B S , 1 } ,   E S , 3 = E S , 2 ,   E S , 4 = { e B S , 2 } .
The complexity of S 2 is 2 , 4 , 6 .
The supervisor S 3 , realizing the language K D , 3 , can be developed by the general supervisor S through the following,
E S = { e S M , 2 , e M M , 1 , e M M , 2 , e M M , 3 } ,   E S , 1 = { e S M , 2 , e M M , 1 , e M M , 3 } E S , 2 = { e M M , 2 } ,   E S , 3 = ,   E S , 4 = { e M M , 1 , e M M , 3 }
The complexity of S 3 is 2 , 4 , 6 .
The supervisor S 4 , realizing the language K D , 4 , can be developed by the general supervisor S through the following,
E S = { e S M , 2 , e D M , 1 , e D M , 2 , e D M , 3 , e D M , 5 } ,   E S , 1 = { e S M , 2 , e D M , 5 } E S , 2 = { e D M , 1 , e D M , 2 } ,   E S , 3 = ,   E S , 4 = { e D M , 3 , e D M , 5 }
The complexity of S 4 is 2 , 5 , 6 .
The supervisor S 5 , realizing the language K D , 5 , can be developed by the general supervisor S through the following,
E S = { e D M , 1 , e D M , 2 , e S M , 1 , e M M , 1 , e M M , 2 , e M M , 3 } ,   E S , 1 = { e M M , 1 , e M M , 3 } E S , 2 = { e M M , 2 } ,   E S , 3 = { e D M , 1 , e D M , 2 , e S M , 1 } , E S , 4 = { e M M , 1 , e M M , 3 }
The complexity of S 5 is 2 , 6 , 8 .
The supervisor S 6 , realizing the language K D , 6 , can be developed by the general supervisor S through the following,
E S = { e D M , 1 , e D M , 2 , e S M , 1 } ,   E S , 1 = ,   E S , 2 = { e S M , 1 } E S , 3 = { e D M , 1 , e D M , 2 } , E S , 4 = { e S M , 2 }
The complexity of S 6 is 2 , 3 , 4 .
For i { 1 , 2 } , the supervisor S 7 , i , realizing the language K D , 7 , i , can be developed by the general supervisor S through the following,
E S = { e R C , 1 , e R C , 2 , e P S , i , 1 , e P S , i , 2 , e D M , 3 } ,   E S , 1 = { e R C , 2 , e P S , i , 2 } ,   E S , 2 = { e R C , 1 , e P S , i , 1 } E S , 3 = { e R C , 1 , e P S , i , 1 , e D M , 3 }
The complexity of S 7 , i is 2 , 5 , 9 .
The supervisor S 8 , realizing the language K D , 8 , can be developed by the general supervisor S through the following,
E S = { e B , 1 , 1 , e B , 1 , 2 , e B , 2 , 1 , e B , 2 , 2 , e M M , 2 } ,   E S , 1 = { e B , 1 , 2 , e B , 2 , 2 } E S , 2 = { e B , 1 , 1 , e B , 2 , 1 } ,   E S , 3 = { e B , 1 , 1 , e B , 2 , 1 , e M M , 2 }
The complexity of S 8 is 2 , 5 , 9 .
The supervisor S 9 , realizing the language K D , 9 , can be developed by the general supervisor S through the following,
E S = { e B , 3 , 1 , e B , 3 , 2 , e M M , 2 } ,   E S , 1 = { e B , 3 , 2 , e M M , 2 } ,   E S , 2 = { e B , 3 , 1 } E S , 3 = E S , 2 ,   E S , 4 = { e B , 3 , 2 }
The complexity of S 9 is 2 , 3 , 5 .
The supervisor S 10 , realizing the language K D , 10 , can be developed by the general supervisor S through the following,
E S = { e B , 3 , 1 , e B , 3 , 2 , e M M , 1 } ,   E S , 1 = { e B , 3 , 2 } ,   E S , 2 = { e B , 3 , 1 } E S , 3 = { e B , 3 , 1 , e M M , 1 }
The complexity of S 10 is 2 , 3 , 5 .
The supervisor S 11 , realizing the language K D , 11 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e M M , 3 , e L , 3 , 2 } , E S , 1 = { e M M , 3 } E S , 2 = { e M M , 1 , e M M , 2 } ,   E S , 3 = E S , 2 { e L , 3 , 2 } ,   E S , 4 = E S , 1
The complexity of S 11 is 2 , 4 , 7 .
The supervisor S 12 , realizing the language K D , 12 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e M M , 3 , e L , 3 , 1 } ,   E S , 1 = { e M M , 1 } ,   E S , 2 = { e M M , 3 } E S , 3 = { e L , 3 , 1 , e M M , 3 } , E S , 4 = { e M M , 1 , e M M , 2 }
The complexity of S 12 is 2 , 4 , 6 .
The supervisor S 13 , realizing the language K D , 13 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e M M , 3 , e L , 1 , 1 , e L , 2 , 1 } ,   E S , 1 = { e M M , 1 , e M M , 3 } E S , 2 = { e M M , 2 } ,   E S , 3 = { e L , 1 , 1 , e L , 2 , 1 } ,   E S , 4 = { e M M , 1 , e M M , 3 }
The complexity of S 13 is 2 , 5 , 7 .
The supervisor S 14 , realizing the language K D , 14 , can be developed by the general supervisor S through the following,
E S = { e M M , 1 , e M M , 2 , e M M , 3 , e L , 1 , 2 , e L , 2 , 2 } ,   E S , 1 = E S , 2 = { e M M , 1 , e M M , 3 } ,   E S , 3 = { e L , 1 , 2 , e L , 2 , 2 , e M M , 1 , e M M , 3 } ,   E S , 4 = { e M M , 2 } .
The complexity of S 14 is 2 , 5 , 7 .

4.2. Performance and Properties of the Controlled Automaton

The total automaton of the AGV is the synchronous product of all the automata of the subsystems (devices of the multimover), i.e.,
G = G M M | | G D M | | G S M | | G R C | | G B A | | ( | | i = 1 2 G P S , i ) | | G B S | | ( | | j = 1 3 G L , j ) | | ( | | k = 1 3 G B , k )
Regarding the synchronous product and its properties, see [9,10]. The marked behavior of the total automaton is:
L m ( G ) = P M M 1 L m ( G M M ) P D M 1 L m ( G D M ) P S M 1 L m ( G S M ) P R C 1 L m ( G R C ) P B A 1 L m ( G B A )                    P B S 1 L m ( G B S ) i = 1 2 P P S , i 1 L m ( G P S , i ) j = 1 3 P L , j 1 L m ( G L , i ) k = 1 3 P B , i 1 L m ( G B , k )
where P M M is the projection of E * to E M M * , P D M is the projection of E * to E D M * , P S M is the projection of E * to E S M * , P R C is the projection of E * to E R C * , P B L is the projection of E * to E B L * , P B S is the projection of E * to E B S * , P P S , i is the projection of E * to E P S , i * , P L , j is the projection of E * to E L , j * , P B , k is the projection of E * to E B , k * , and where,
E = E M M E D M E S M E R C E B L E B S i = 1 2 E P S , i j = 1 3 E L , j k = 1 3 E B , k
The controlled automaton, namely the automaton resulting after the application of all supervisors to the total automaton, is expressed as follows:
G c = G | | ( | | l = 1 6 S l ) | | ( | | l = 8 14 S l ) | | S 7 , 1 | | S 7 , 2
The marked behavior of the controlled automaton is computed to be:
L m ( G c ) = L m ( G ) l = 1 6 P i 1 K D , l l = 8 14 P i 1 K D , l P 7 , 1 1 K D , 7 , 1 P 7 , 2 1 K D , 7 , 2
where P i is the projection of E * to E i * with i { 1 , , 6 } { 8 , , 14 } , P 7 , 1 is the projection of E * to E 7 , 1 * , and P 7 , 2 is the projection of E * to E 7 , 2 * . From (4), it is observed that the performance of the controlled automaton is the combined influence of all desired languages in the framework of the marked behavior of the AGV.
To guarantee the realizability of all proposed supervisors, regarding the total automaton G , the results in [29] for the physical realizability will be used. Before presenting the respective, the set of all uncontrollable events is defined to be:
E u c = E M M , u c E D M , u c E S M , u c E R C , u c E B L , u c E B S , u c i = 1 2 E P S , i , u c j = 1 3 E L , j , u c k = 1 3 E B , k , u c
Proposition 1. 
The supervisors  S 1  to  S 14  are physically realizable, regarding  G , through (3).
Proof of Proposition 1. 
The automata of the supervisors are designed to have all uncontrollable events in the active event sets of all their states. Thus, it holds that S ( q S , 1 ) S ( q S , 2 ) E S , u c = E S , u c , where E S , u c = E u c E S . Therefore, using Corollary 1 in [29], it is derived that all supervisors are PR, with respect to G and through (3). □
According to [9,10], an automaton is a nonblocking automaton if and only if the prefix closure of its marked behavior is equal to its closed behavior. In the following proposition, the nonblocking property of G c will be proved without analytic manipulations of the two behaviors. It will be proved by proving that the automata of all subsystems, under the influence of the supervisors, are always allowed to return to or stay in a marked state.
Proposition 2. 
The automaton  G c  is a nonblocking automaton.
Proof of Proposition 2. 
The proof of nonblocking G c will be formed by proving that the controlled automaton of each subsystem preserves the nonblocking property. The proof of nonblocking of each subsystem under the influence of the associated supervisors, namely the supervisors having common events with the subsystem, will be presented.
The supervisors, having common events with G M M , are S 1 , S 2 , S 3 , S 5 , S 8 , S 9 , S 10 , S 11 , S 12 , S 13 , and S 14 . In G M M , the transitions from the two non-marked states to the marked ones can take place through the event e M M , 3 . The alphabets of the supervisors S 1 , S 2 , S 8 , S 9 , and S 10 do not include e M M , 3 . The alphabets of the supervisors S 3 , S 5 , S 11 , S 12 , S 13 , and S 14 include e M M , 3 and it holds that e M M , 3 S ( q ) ,    q S . Thus, the return of G M M to its marked state is not restricted.
The supervisors, having common events with G D M , are S 4 , S 6 , and S 7 , i . In G D M , the transitions from the two non-marked states to the marked can take place through the events e D M , 4 and e D M , 5 . The alphabets of the supervisors S 6 , and S 7 , i do not include e D M , 4 and e D M , 5 . Furthermore, the alphabet of S 4 does not include, e D M , 4 and it holds that e D M , 5 S , 4 ( q ) ,    q S , 4 . Thus, the return of G M M to its marked state is not restricted.
The supervisors, having common events with G S M , are S 3 , S 4 , S 5 , and S 6 . In G S M , the transition from its non-marked state to the marked one can take place through the events e S M , 2 and e S M , 3 . The alphabets of the supervisors S 3 , S 4 , S 5 , and S 6 . do not include e S M , 3 . Thus, the transition of G S M to a marked state is not obstructed.
The supervisor, having common events with G R C , is S 7 , i . In G R C , the transition from the non-marked state to the marked one can take place through the event e R C , 2 . For S 7 , i it holds that e R C , 2 S , 7 , i ( q ) ,    q S , 7 , i . Thus, the transition of G R C to a marked state is not obstructed.
The supervisor, having common events with G B L , is S 1 . In G B A , the transition from its non-marked states to the marked one can take place through the event e B L , 3 . Furthermore, in G B A , the event e B L , 2 triggers the transition from one non-marked state to the other. For S 1 it holds that the event e B L , 2 is not in the alphabet of S 1 and e B L , 3 S , 1 ( q ) ,    q S , 1 . Thus, the transition of G R C to a marked state is not obstructed.
The supervisor, having common events with G P S , i , is S 7 , i . In G P S , i , the transition from the non-marked state to the marked one can take place through the event e P S , i , 2 . For S 7 , i it holds that e P S , i , 2 S , 7 , i ( q ) ,    q S , 7 , i . Thus, the transition of G P S , i to a marked state is not obstructed.
The supervisor, having common events with G B S , is S 2 . In G B S , the transition from the non-marked state to the marked one can take place through the event e B S , 2 . For S 2 it holds that e B S , 2 S , 2 ( q ) ,    q S , 2 . Thus, the transition of G B S to a marked state is not obstructed.
The supervisors, having common events with G L , 1 and G L , 2 , are S 13 and S 14 . In G L , 1 and G L , 2 , the transition from the non-marked states to the marked ones can take place through the events e L , 1 , 2 and e L , 2 , 2 . The alphabet of S 13 does not include e L , 1 , 2 and e L , 2 , 2 . For S 14 it holds that { e L , 1 , 2 , e L , 2 , 2 } S , 14 ( q S , 14 , 1 ) and { e L , 1 , 2 , e L , 2 , 2 } S , 14 ( q S , 14 , 2 ) . Thus, the transition from q S , 14 , 1 to q S , 14 , 2 is always feasible through the uncontrollable event e M M , 3 .
The supervisors, having common events with G L , 3 , are S 11 and S 12 . In G L , 3 , the transition from the non-marked state to the marked one can take place through the event e L , 3 , 2 . The alphabet of S 12 does not include e L , 3 , 2 . For S 11 it holds that e L , 3 , 2 S , 11 ( q S , 11 , 1 ) and e L , 3 , 2 S , 11 ( q S , 11 , 2 ) . Thus, the transition from q S , 12 , 2 to q S , 12 , 1 is always feasible through the uncontrollable event e M M , 3 .
The supervisor, having common events with G B , 1 and G B , 2 , is S 8 . In G B , 1 and G B , 2 , the transition from the non-marked states to the marked ones can take place through the events e B , 1 , 2 and e B , 2 , 2 . For S 8 it holds that { e B , 1 , 2 , e B , 2 , 2 } S , 8 ( q ) ,    q S , 8 . Thus, the transition of G B , 1 to a marked state and the transition of G B , 2 to a marked state are not obstructed.
The supervisors, having common events with G B , 3 , are S 9 and S 10 . In G B , 3 , the transition from the non-marked state to the marked one can take place through the event e B , 3 , 2 . For S 9 and S 10 it holds that { e B , 3 , 2 , e B , 3 , 2 } S ( q ) ,    q S . Thus, the transition of G B , 3 to a marked state is not obstructed.
Finally, it is important to mention that the alphabets of the subsystem are disjoint sets. So, the examination of the nonblocking for each individual subsystem is sufficient to prove the nonblocking of the total controlled system. □
Remark 1. 
Using the complexities of the supervisors, determined in Section 4.1, the complexity of the total supervisor control scheme is computed to be.
λ = 1 λ 7 14 | S , λ | + λ = 1 2 | S , 7 , λ | , λ = 1 λ 7 14 | E S , λ | + λ = 1 2 | E S , 7 , λ | , λ = 1 λ 7 14 μ = 1 2 | S , λ ( q S , λ , μ ) | + λ = 1 2 μ = 1 2 | S , λ ( q S , 7 , λ , μ ) | = ( 30 , 65 , 100 )

5. Implementation Issues of the Two-State Supervisor Automata

As already mentioned, the main advantage of the proposed supervisor architecture is the simple two-state structure of all designed supervisors. Moreover, this simple structure of the supervisors facilitates the adaptation of programming methods, guaranteeing the secure functionality of the program. For instance, according to [30,31,32], the avalanche effect in PLC’s control program is the sequential state transition in the supervisor implementation program, triggered by a single event occurrence. The avalanche effect problem in PLC control programs, which can be faced with a simple inversion of the appearance of the states in the program, can easily be handled in the proposed scheme. Furthermore, the structure of the present supervisors can be easily implemented in various programming languages, such as Visual Basic, Ladder Diagrams, Structured Text etc., making them suitable for SCADA, PLC, and microcontroller environments ([33,34]).
As already mentioned, the implementability of the proposed scheme is guaranteed by the controllability of the desired languages via the physical realizability of the synchronous product of the system’s automaton and the supervisors. All supervisors are implemented in the Control Unit of the system. The input signals of the Control Unit are the signals corresponding to the uncontrollable events and the signals (commands) corresponding to the controllable events. The signals outputted by the Control Unit are the controllable events. The controllable events, ending to multimover, are the commands of multimover. The signals corresponding to the uncontrollable events ending with multimover directly without passing through the Control Unit. In Figure 12, a block diagram of the controlled automaton is presented, where the controllable and uncontrollable events are connected to the system automaton and the control unit.

6. Simulation

A simulation of the controlled automaton will be presented for the validation of the proposed control scheme. Consider the following word:
e B , 3 , 1 e M M , 1 e B , 3 , 2 e M M , 2 e B , 1 , 1 e M M , 2 e D M , 1 e S M , 1 e D M , 1 e D M , 3 e R C , 1 e D M , 3
It is clear that only events of the subsystems Button 1, Button 3, Operation, Drive Motor, Steer Motor, and ride control take part in the word, thus only the behavior of the six subsystems will be investigated. In Table 1, the transitions of the automata of the Button 1 subsystem, Button 3 subsystem, Operation subsystem, the Drive Motor subsystem, the Steer Motor subsystem, and the ride control subsystem are presented. The three shadowed lines represent the three lines where the transitions to the respective automata are not triggered, as they are restricted by the supervisor scheme.
Initially, the six automata are in states q B , 1 , 1 (Button 1), q B , 3 , 1 (Button 3), q M M , 1 (Operation subsystem), q D M , 1 (Drive Motor), q S M , 1 (Steer Motor), and q R C , 1 (ride control). Furthermore, all supervisors are in their initial state. After the occurrence of the event e B , 3 , 1 the six automata are in states q B , 1 , 1 , q B , 3 , 2 , q M M , 1 , q D M , 1 , q S M , 1 and q R C , 1 (Line 2 of Table 1). The supervisors having the event e B , 3 , 1 in their alphabets are S 9 and S 10 . The event is active to the current states of both supervisors. Hence, after the occurrence of e B , 3 , 1 , the new states of the two supervisors are q S , 9 , 2 and q S , 10 , 2 , respectively.
After the occurrence of e M M , 1 , the six automata are in states q B , 1 , 1 , q B , 3 , 2 , q M M , 2 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 3 of Table 1). The supervisors having e M M , 1 in their alphabets are S 1 , S 2 , S 3 , S 5 , S 10 , S 11 , S 12 , S 13 , and S 14 . The event is active to the current states of all supervisors being q S , 1 , 1 , q S , 2 , 1 , q S , 3 , 1 , q S , 5 , 1 , q S , 10 , 2 , q S , 11 , 1 , q S , 12 , 1 , q S , 13 , 1 , and q S , 14 , 1 , respectively. Hence, after the occurrence of e M M , 1 , the new states of the supervisors are q S , 1 , 1 , q S , 2 , 1 , q S , 3 , 1 , q S , 5 , 1 , q S , 10 , 2 , q S , 11 , 2 , q S , 12 , 1 , q S , 13 , 1 , and q S , 14 , 2 , respectively.
After the occurrence of the event e B , 3 , 2 , the six automata are in states q B , 1 , 1 , q B , 3 , 1 , q M M , 2 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 4 of Table 1). The supervisors having e B , 3 , 2 in their alphabets are S 9 and S 10 . The event is active in the current states of both supervisors being q S , 9 , 2 and q S , 10 , 2 , respectively. Hence, after the occurrence of e B , 3 , 2 , the new states of the supervisors are q S , 9 , 1 and q S , 10 , 1 , respectively.
After the occurrence of e M M , 2 , the six automata remain in states q B , 1 , 1 , q B , 3 , 1 , q M M , 2 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 5 of Table 1). The supervisors having e M M , 2 in their alphabets are S 1 , S 2 , S 3 , S 5 , S 8 , S 9 , S 11 , S 12 , S 13 , and S 14 . The event e M M , 2 is not active in the current state of supervisor S 8 , i.e., e M M , 2 ( q S , 8 , 1 ) . Hence, after the occurrence of e M M , 2 , the supervisors remain in the states q S , 1 , 1 , q S , 2 , 1 , q S , 3 , 1 , q S , 5 , 1 , q S , 8 , 1   q S , 11 , 1 , q S , 11 , 2 , q S , 12 , 1 , q S , 13 , 1 , and q S , 14 , 2 , respectively.
After the occurrence of e B , 1 , 1 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 2 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 6 of Table 1). The supervisor having the event e B , 1 , 1 in its alphabet is S 8 . The event is active in the current state of the supervisor being q S , 8 , 1 . Hence, after the occurrence of e B , 1 , 1 , the new state of the supervisor is q S , 8 , 2 .
After the occurrence of the event e M M , 2 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 7 of Table 1). The supervisors having e M M , 2 in their alphabets are S 1 , S 2 , S 3 , S 5 , S 8 , S 9 , S 11 , S 12 , S 13 , and S 14 . The event is active in the current states of all supervisors being q S , 1 , 1 , q S , 2 , 1 , q S , 3 , 1 , q S , 5 , 1 , q S , 8 , 2   q S , 11 , 1 , q S , 11 , 2 , q S , 12 , 1 , q S , 13 , 1 , and q S , 14 , 2 . Hence, after the occurrence of e M M , 2 , the new states of the supervisors are q S , 2 , 1 , q S , 3 , 2 , q S , 5 , 2 , q S , 8 , 2   q S , 11 , 1 , q S , 11 , 2 , q S , 12 , 1 , q S , 13 , 1 , and q S , 14 , 2 ., respectively.
After the occurrence of e D M , 1 , the six automata remain in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 1 , q S M , 1 , and q R C , 1 (Line 8 of Table 1). The supervisors having e D M , 1 in their alphabets are S 4 , S 5 , and S 6 . The event e M M , 2 is not active in the current state of supervisor S 6 , i.e., e D M , 1 ( q S , 6 , 1 ) . Hence, after the occurrence of e D M , 1 , the supervisors remain in the states q S , 4 , 1 , q S , 5 , 2 , and q S , 6 , 1 , respectively.
After the occurrence of e S M , 1 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 1 , q S M , 2 , and q R C , 1 (Line 9 of Table 1). The supervisors having event e S M , 1 in their alphabet are S 5 , and S 6 . The event is active the current states of both supervisors being q S , 5 , 2 and q S , 6 , 1 . Hence, after the occurrence of e S M , 1 , the new states of the supervisors are q S , 5 , 2 and q S , 6 , 2 , respectively.
After the occurrence of e D M , 1 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 2 , q S M , 2 , and q R C , 1 (Line 9 of Table 1). The supervisors having event e D M , 1 in their alphabets are S 4 , S 5 , and S 6 . The event is active in the current states of all supervisors being q S , 4 , 1 , q S , 5 , 2 , and q S , 6 , 2 . Hence, after the occurrence of e D M , 1 , the new states of the supervisors are q S , 4 , 2 , q S , 5 , 2 , and q S , 6 , 2 , respectively.
After the occurrence of e D M , 3 , the six automata remains in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 2 , q S M , 2 , and q R C , 1 (Line 10 of Table 1). The supervisors having event e D M , 3 in their alphabet are S 4 and S 7 , i . The event e D M , 3 is not active in supervisors S 7 , i , i.e., e D M , 3 ( q S , 7 , i , 1 ) . Hence, after the occurrence of e D M , 3 , the supervisors remain in the states q S , 4 , 2 and q S , 7 , i , 1 , respectively.
After the occurrence of e R C , 1 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 2 , q S M , 2 , and q R C , 2 (Line 11 of Table 1). The supervisor having the event e R C , 1 in its alphabet is S 7 , i . The event is active in the current state of the supervisor being q S , 7 , i , 1 . Hence, after the occurrence of e R C , 1 , the new state of the supervisor is q S , 7 , i , 2 .
After the occurrence of e D M , 3 , the six automata are in states q B , 1 , 2 , q B , 3 , 1 , q M M , 3 , q D M , 1 , q S M , 2 , and q R C , 2 (Line 12 of Table 1). The supervisors having event e D M , 3 in their alphabet are S 4 and S 7 , i . The event is active in the current states of both supervisors being q S , 4 , 2 and q S , 7 , i , 2 . Hence, after the occurrence of e D M , 3 , the new states of the supervisors are q S , 4 , 1 and q S , 7 , i , 2 , respectively.

7. Conclusions

A Cyberphysical system for several and diverse applications, including product transfer in manufacturing units, has been presented. The system is an industrial AGV. All subsystems of the AGV have been presented using discrete event systems. The desired behavior of the system has been expressed in the form of rules and consequently formulated in the form of regular languages. A set of supervisor automata, realizing the desired languages and being simple two-state automata, has been designed. This way, the implementation of the proposed supervisory architecture can be easily implemented in any language and computer system. The property of the controllability of the desired languages, via the physical realizability of the synchronous product of the total system’s automaton and the automata of the supervisors, is proven. The nonblocking property of all the total controlled system automaton is guaranteed. Finally, indicative simulation results of the controlled automaton are presented.
The implementation of the proposed supervisory architecture in experimental environments is under investigation. The problem of collision avoidance of AGVs in industrial environments, which is of great importance, is in the future concerns of the authors.

Author Contributions

Conceptualization, F.N.K. and D.G.F.; methodology, F.N.K. and D.G.F.; validation, D.G.F., G.E.P. and E.M.; investigation, F.N.K. and D.G.F.; resources, G.E.P.; writing—original draft preparation, F.N.K., D.G.F. and G.E.P.; writing—review and editing, D.G.F., G.E.P. and E.M.; visualization, G.E.P. and E.M.; supervision, F.N.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. National Science Foundation. Cybermanufacturing Systems. 15 November 2015. Available online: http://www.nsf.gov/pubs/2015/nsf15061/nsf15061.jsp (accessed on 31 May 2023).
  2. Pivoto, D.G.S.; de Almeida, L.F.F.; da Rosa Righi, R.; Rodrigues, J.J.P.C.; Baratella Lugli, A.; Alberti, A.M. Cyber-physical systems architectures for industrial internet of things applications in Industry 4.0: A literature review. J. Manuf. Syst. 2021, 58, 176–192. [Google Scholar] [CrossRef]
  3. Xu, L.D.; Duan, L. Big data for cyber physical systems in industry 4.0: A survey. Enterp. Inf. Syst. 2019, 13, 148–169. [Google Scholar] [CrossRef]
  4. Jeschke, S.; Brecher, C.; Meisen, T.; Özdemir, D.; Eschert, T. Industrial Internet of Things and Cyber Manufacturing Systems. In Industrial Internet of Things; Jeschke, S., Brecher, C., Song, H., Rawat, D., Eds.; Springer Series in Wireless Technology; Springer: Cham, Switzerland, 2017. [Google Scholar] [CrossRef]
  5. Ahmed, U.; Lin, J.C.-W.; Srivastava, G. Exploring the Potential of Cyber Manufacturing Systems in the Digital Age. ACM Trans. Internet Technol. 2023, 4, 1–38. [Google Scholar] [CrossRef]
  6. Reniers, M.; van de Mortel-Fronczak, J.; Roelofs, K. Model-Based Engineering of Supervisory Controllers for Cyber-Physical Systems. In Industrial Internet Things; Springer Series in Wireless Technology; Springer: Cham, Switzerland, 2017. [Google Scholar] [CrossRef]
  7. Yin, X.; Li, S. Recent advances on formal methods for safety and security of cyber-physical systems. Control Theory Technol. 2020, 18, 459–461. [Google Scholar] [CrossRef]
  8. Ferrari, A.; Ter Beek, M.H. Formal Methods in Railways: A Systematic Mapping Study. ACM Comput. Surv. 2022, 55, 37. [Google Scholar] [CrossRef]
  9. Wonham, W.M.; Kai, C. Supervisory Control of Discrete-Event Systems; Springer: Cham, Switzerland, 2019. [Google Scholar] [CrossRef]
  10. Cassandras, C.G.; Lafortune, S. Introduction to Discrete Event Systems, 3rd ed.; Springer: Cham, Switzerland, 2021. [Google Scholar] [CrossRef]
  11. Komenda, J.; Masopust, T. Hierarchical Supervisory Control Under Partial Observation: Normality. IEEE Trans. Autom. Control 2023, 68, 7286–7298. [Google Scholar] [CrossRef]
  12. Komenda, J.; Masopust, T.; van Schuppen, J.H. Synthesis of controllable and normal sublanguages for discrete-even systems using a coordinator. Syst. Control Lett. 2011, 60, 492–502. [Google Scholar] [CrossRef]
  13. Meira-Góes, R.; Kang, E.; Kwong, R.H.; Lafortune, S. Synthesis of sensor deception attacks at the supervisory layer of Cyber–Physical Systems. Automatica 2020, 121, 109172. [Google Scholar] [CrossRef]
  14. Fritz, R.; Zhang, P. Detection and Localization of Stealthy Cyber Attacks in Cyber-Physical Discrete Event System. IEEE Trans. Autom. Control 2023, 68, 7895–7902. [Google Scholar] [CrossRef]
  15. Yu, Z.; Duan, X.; Cong, X.; Li, X.; Zheng, L. Detection of Actuator Enablement Attacks by Petri Nets in Supervisory Control Systems. Mathematics 2023, 11, 943. [Google Scholar] [CrossRef]
  16. Wang, Y.; Weyrich, M. Towards a novel learning assistant for networked automation systems. In Machine Learning for Cyber Physical Systems; Niggemann, O., Beyerer, J., Eds.; Technologien für die Intelligente Automation; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar] [CrossRef]
  17. Tran, N.-H.; Park, H.-S.; Nguyen, Q.-V.; Hoang, T.-D. Development of a Smart Cyber-Physical Manufacturing System in the Industry 4.0 Context. Appl. Sci. 2019, 9, 3325. [Google Scholar] [CrossRef]
  18. Dafflon, B.; Moalla, N.; Ouzrout, Y. The challenges, approaches, and used techniques of CPS for manufacturing in Industry 4.0: A literature review. Int. J. Adv. Manuf. Technol. 2021, 113, 2395–2412. [Google Scholar] [CrossRef]
  19. Maza, S. Hybrid supervisory-based architecture for robust control of Bi-directional AGVs. Comput. Ind. 2023, 144, 103797. [Google Scholar] [CrossRef]
  20. Bolbhat, S.S.; Bhosale, A.S.; Sakthivel, G.; Saravanakumar, D.; Sivakumar, R.; Lakshmipathi, J. Intelligent Obstacle Avoiding AGV Using Vector Field Histogram and Supervisory Control. J. Phys. Conf. Ser. 2020, 1716, 012030. [Google Scholar] [CrossRef]
  21. Forschelen, S.T.; van de Mortel-Fronczak, J.M.; Su, R.; Rooda, J.E. Application of supervisory control theory to theme park vehicles. Discret. Event Dyn. Syst. 2012, 22, 511–540. [Google Scholar] [CrossRef]
  22. Forschelen, S. Supervisory Control of Theme Park Vehicles. Master’s Thesis, Eindhoven University of Technology, Eindhoven, The Netherlands, 2010. [Google Scholar]
  23. Baeten, J.C.M.; van de Mortel-Fronczak, J.M.; Rooda, J.E. Integration of Supervisory Control Synthesis in Model-Based Systems Engineering. In Complex Systems; Studies in Systems, Decision and Control; Springer: Cham, Switzerland, 2016; Volume 55. [Google Scholar] [CrossRef]
  24. ETF Group Ride-Systems. Available online: https://www.etf.nl (accessed on 13 December 2023).
  25. Kouvakas, N.D.; Koumboulis, F.N.; Fragkoulis, D.G.; Souliotis, A. Modular Supervisory Control for the Coordination of a Manufacturing Cell with Observable Faults. Sensors 2022, 23, 163. [Google Scholar] [CrossRef]
  26. Koumboulis, F.N.; Fragkoulis, D.G.; Kalkanas, I.; Fragulis, G.F. Supervisor Design for a Pressurized Reactor Unit in the Presence of Sensor and Actuator Faults. Electronics 2022, 11, 2534. [Google Scholar] [CrossRef]
  27. Koumboulis, F.N.; Fragkoulis, D.G.; Michos, A.A. Modular Supervisory Control for multi-floor manufacturing processes. Control Theory Technol. 2023, 21, 148–160. [Google Scholar] [CrossRef]
  28. Koumboulis, F.N.; Fragkoulis, D.G.; Georgakopoulos, P. A Distributed Supervisor architecture for a General Wafer Production System. Sensors 2023, 23, 4545. [Google Scholar] [CrossRef]
  29. Koumboulis, F.N.; Fragkoulis, D.G.; Arapakis, S. Supervisor design for an assembly line in the presence of faults. In Proceedings of the 27th IEEE International Conference on Emerging Technology and Factory Automation, Stuttgart, Germany, 6–9 September 2022. [Google Scholar] [CrossRef]
  30. Vieira, A.D.; Santos, E.A.P.; de Queiroz, M.H.; Leal, A.B.; de Paula Neto, A.D.; Cury, J.E.R. A Method for PLC Implementation of Supervisory Control of Discrete Event Systems. IEEE Trans. Control Syst. Technol. 2017, 25, 175–191. [Google Scholar] [CrossRef]
  31. Prenzel, L.; Provost, J. PLC implementation of symbolic, modular supervisory controllers. IFAC-PapersOnLine 2018, 51, 304–309. [Google Scholar] [CrossRef]
  32. James, L.D.; Teixeira, C.A.; Leal, A.B. Formal Design and Implementation of Supervisory Controller for a Didactic Manufacturing Cell. In Proceedings of the 2019 IEEE International Conference on Industrial Technology (ICIT)., Melbourne, VIC, Australia, 13–15 February 2019. [Google Scholar] [CrossRef]
  33. Scotti WA, F.; Portilla, N.B.; de Queiroz, M.H.; Cury, J.E.R. Modular and systematic design of supervisory control system integrating PLC, SCADA and task routing for a modular production system. In Proceedings of the 2015 IEEE International Conference on Automation Science and Engineering (CASE), Gothenburg, Sweden, 24–28 August 2015. [Google Scholar] [CrossRef]
  34. Alves MV, S.; Carvalho, L.K.; Basilio, J.C. Supervisory Control of Networked Discrete Event Systems With Timing Structure. IEEE Trans. Autom. Control 2020, 66, 2206–2218. [Google Scholar] [CrossRef]
Figure 1. An indicative form of AGVs for product transfer.
Figure 1. An indicative form of AGVs for product transfer.
Electronics 12 05035 g001
Figure 2. State diagram of G M M .
Figure 2. State diagram of G M M .
Electronics 12 05035 g002
Figure 3. State diagram of G D M .
Figure 3. State diagram of G D M .
Electronics 12 05035 g003
Figure 4. State diagram of G S M .
Figure 4. State diagram of G S M .
Electronics 12 05035 g004
Figure 5. State diagram of G R C .
Figure 5. State diagram of G R C .
Electronics 12 05035 g005
Figure 6. State diagram of G B L .
Figure 6. State diagram of G B L .
Electronics 12 05035 g006
Figure 7. State diagram of G P S , i .
Figure 7. State diagram of G P S , i .
Electronics 12 05035 g007
Figure 8. State diagram of G B S .
Figure 8. State diagram of G B S .
Electronics 12 05035 g008
Figure 9. State diagram of G L , j (a) for j { 1 , 2 } and (b) for j = 3 .
Figure 9. State diagram of G L , j (a) for j { 1 , 2 } and (b) for j = 3 .
Electronics 12 05035 g009
Figure 10. State diagram of G B , k .
Figure 10. State diagram of G B , k .
Electronics 12 05035 g010
Figure 11. State diagram of S .
Figure 11. State diagram of S .
Electronics 12 05035 g011
Figure 12. Block diagram of the controlled automaton.
Figure 12. Block diagram of the controlled automaton.
Electronics 12 05035 g012
Table 1. Transitions of the Controlled Automaton.
Table 1. Transitions of the Controlled Automaton.
EventsButton 1Button 3OperationDrive MotorSteer MotorRide Control
q B , 3 , 1 q M M , 1 q D M , 1 q S M , 1 q R C , 1
e B , 3 , 1 q B , 1 , 1 q B , 3 , 2 q M M , 1 q D M , 1 q S M , 1 q R C , 1
e M M , 1 q B , 1 , 1 q B , 3 , 2 q M M , 2 q D M , 1 q S M , 1 q R C , 1
e B , 3 , 2 q B , 1 , 1 q B , 3 , 1 q M M , 2 q D M , 1 q S M , 1 q R C , 1
e M M , 2 q B , 1 , 1 q B , 3 , 1 q M M , 2 q D M , 1 q S M , 1 q R C , 1
e B , 1 , 1 q B , 1 , 2 q B , 3 , 1 q M M , 2 q D M , 1 q S M , 1 q R C , 1
e M M , 2 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 1 q S M , 1 q R C , 1
e D M , 1 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 1 q S M , 1 q R C , 1
e S M , 1 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 1 q S M , 2 q R C , 1
e D M , 1 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 2 q S M , 2 q R C , 1
e D M , 3 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 2 q S M , 2 q R C , 1
e R C , 1 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 2 q S M , 2 q R C , 2
e D M , 3 q B , 1 , 2 q B , 3 , 1 q M M , 3 q D M , 1 q S M , 2 q R C , 2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Koumboulis, F.N.; Fragkoulis, D.G.; Panagiotakis, G.E.; Mavroeidis, E. Safe Performance of an Industrial Autonomous Ground Vehicle in the Supervisory Control Framework. Electronics 2023, 12, 5035. https://doi.org/10.3390/electronics12245035

AMA Style

Koumboulis FN, Fragkoulis DG, Panagiotakis GE, Mavroeidis E. Safe Performance of an Industrial Autonomous Ground Vehicle in the Supervisory Control Framework. Electronics. 2023; 12(24):5035. https://doi.org/10.3390/electronics12245035

Chicago/Turabian Style

Koumboulis, Fotis N., Dimitrios G. Fragkoulis, George E. Panagiotakis, and Efthimios Mavroeidis. 2023. "Safe Performance of an Industrial Autonomous Ground Vehicle in the Supervisory Control Framework" Electronics 12, no. 24: 5035. https://doi.org/10.3390/electronics12245035

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop