Supervisory control of mobile sensor networks: math ... - CiteSeerX

5 downloads 934 Views 968KB Size Report
Therefore, in this paper are introduced several new tools for DEC design and ... 1 Supported by ARO grant DAAD 19-02-1-0366; NSF grants IIS-0326505 and ..... Figure 2- Decomposition of the environment monitoring operation into missions ...
1

Supervisory control of mobile sensor networks: math 1 formulation, simulation and implementation Vincenzo Giordano1, Prasanna Ballal2, Frank Lewis2, Biagio Turchiano1, Jing Bing Zhang3 1

Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari, via Redavid 200-70125 Bari, Italy 2 Robotics and Automation Research Institute, University of Texas at Arlington, J. Newell Blvd. 7300, Fort Worth, TX 76118 USA 3 Singapore Institute of Manufacturing Technology, Singapore 71 Nanyang Drive Singapore 638075

Abstract— This paper uses a novel discrete-event controller (DEC) for the coordination of cooperating heterogeneous wireless sensor networks (WSN) containing both unattended ground sensors and mobile sensor robots. The DEC sequences the most suitable tasks for each agent and assigns sensor resources according to the current perception of the environment. A matrix formulation makes this DEC particularly useful for WSN, where missions change and sensor agents may be added or may fail. WSN have peculiarities that complicate their supervisory control.

Therefore, in this paper are introduced several new tools for DEC design and

operation, including methods for generating the required supervisory matrices based on mission planning, methods for modifying the matrices in the event of failed nodes or nodes entering the network, and a novel Dynamic Priority Assignment Weighting approach for selecting the most appropriate and useful sensors for a given mission task. The resulting DEC represents a complete dynamical description of the WSN system which allows fast programming of deployable WSN, computer simulation analysis, and efficient implementation. The DEC is actually implemented on an experimental wireless sensor network prototyping system. Both simulation and experimental results are presented to show the effectiveness and versatility of the developed control architecture.

_____________________________________________________________ 1 Supported by ARO grant DAAD 19-02-1-0366; NSF grants IIS-0326505 and CNS-0421282; Singapore SERC TSRP grant 0421120028; JC Penney Inc, NI Lead User grant

2

I. INTRODUCTION In the last few years, there has been an increasing emphasis on developing wide area distributed wireless sensor networks with self-organization capabilities to cope with sensor failures, changing environmental conditions, and different environmental sensing applications [1, 21, 35]. In particular, mobile sensor networks (MSN) hold out the hope to support self-configuration mechanisms, guaranteeing adaptability, scalability and optimal performance, since the best network configuration is usually time-varying and context dependent. Mobile sensors can physically change the network topology, reacting to the events of the environment or to changes in the mission planning. In [6], the advantages of sensor mobility are pointed out and several algorithms for network self-organization after the occurrence of predetermined events are proposed. Gerkey [11] and others have studied coordination of groups of robots and Petriu et al. [30] discuss networks of autonomous robotic sensor agents for active investigation of complex environments. McMickell et al. [23] and Sibley et al. [32] point out the need for inexpensive, small and efficient robots in order to make experimentation in large-scale distributed robotic feasible. Therefore a hybrid approach can be envisioned which uses a network containing (cheap) unattended ground sensors (UGS) and (expensive) mobile robots [7, 20], which, suitably organized together in a wireless network, can profitably cooperate for solving complex sequences of tasks (missions). Another issue in WSN is the balance between centralized and decentralized control.

In [5], [9]

decentralized coordination algorithms for robot teams are proposed that guarantee minimum exploration time and complete coverage respectively. In [16] a potential field approach to reach uniform deployment of sensors in an unstructured environment is proposed. It is implicitly assumed that the network cannot be configured for different missions apart from blanket coverage. [2, 3] propose behavior-based formation control for exploration purposes, but no specific performances can be guaranteed and changes in the mission plans are not straightforward. In all these decentralized approaches, robots possess similar functionalities, perform similar tasks and just one mission at a time is usually implemented.

3

To overcome the inherent limitations of decentralized approaches, including lack of the ability to provide fast and globally optimal solutions, supervisory (centralized) control techniques have been studied. In [12], a supervisory control is proposed which reschedules the mission planning in response to uncontrollable events (node failures) using computationally efficient algorithms. It is pointed out how the use of a coordinator can ensure that the group possesses certain desired properties and remains within the bounds of pre-specified behavioral constraints. Some significant results in supervisory control have also been obtained using Petri nets [17, 26]. Nevertheless the implementation of high-level mission specifications for WSN is not straightforward and a new design stage, almost from scratch, is required if objectives or resources change. There is a lack of supervisory control techniques which can dynamically sequence different missions in WSN according to the scenario (adaptability) and reformulate the mission if some of the robots fail (fault tolerance). From a practical perspective, another relevant issue to be addressed in WSN regards the choice of the sensor nodes and of their functionalities. Task allocation has been thoroughly studied [29], and there exist many algorithms under the general topic of integer programming [4] such as the Hungarian Method, etc. Recently, task allocation algorithms have been developed for mobile robots [11]. However, the peculiarities of WSN require multiple competing missions and network topology changes, including mobility and addition/removal of nodes, which require new developments in dynamic task allocation. Fast programming and configuration on initial deployment is also a requirement. Recently, a matrix-based discrete event controller (DEC) has been proposed [24, 34] that proves to be very efficient in sequencing tasks in manufacturing environments. The matrix formulation allows fast, direct design and reconfiguration of discrete event controllers. It provides a better dynamical description and high-level interface than other popular tools for discrete event systems, such as Petri Nets [26]. In this paper we propose the use of the matrix-based DEC as a central planner to produce high-level missions for a network of sensing units and mobile robots cooperating for a common goal.

4

The matrix formulation makes this DEC particularly useful for WSN, where missions change and sensor agents may be added or may fail.

This DEC allows for tailored combinations of centralized and

decentralized control by using the properties of block matrix structures. WSN have peculiarities that complicate their supervisory control. Therefore, we introduce several new tools for DEC design and operation, including: Methods for generating the required supervisory matrices based on mission planning, Methods for switching between missions as priorities change or exception situations occur, Methods for modifying the matrices in the event of failed nodes or nodes entering the network, and a novel Dynamic Priority Assignment Weighting approach for generating a certain resource assignment matrix based on individual sensor node effectiveness. The resulting DEC represents a complete dynamical description of the WSN system which allows fast programming of deployable WSN, computer simulation analysis, and efficient implementation. This is a key contribution since computer simulation of the WSN is a necessary design stage due to the complexity of WSN and the difficulty to perform experiments in real world scenarios (e.g. when hostile terrains and huge areas have to be monitored). A case study of coordination between fixed sensors and mobile sensor robots is actually implemented on the mobile WSN test bed at ARRI (Automation and Robotics Research Institute), University of Texas at Arlington. II. DISCRETE EVENT CONTROLLER In this section we present a matrix-based discrete event controller for modeling and analysis of complex interconnected DE systems with shared resources, routing decisions, and dynamic resource management [25, 34]. Its formulation gives a very direct and efficient technique for both computer simulation and actual online supervisory control of DE systems. The matrix approach provides a rigorous, yet intuitive mathematical framework to represent the dynamic evolution of DE systems according to linguistic if-then rules:

5

Rule i: If then

For coordination problems of multi-agent systems (e.g. a mobile wireless sensor network), we can write down a set of if-then rules to define the mission planning of the sensor agents, such as:

Rule i: If then

The matrix-based DE controller allows one to easily represent these linguistic rules in a rigorous fashion. Let r be the vector of resources used in the system (e.g. mobile robots and UGSs), v the vector of tasks that the resources can perform (e.g. go to a prescribed location, take a measurement, retrieve and deploy UGS), u the vector of input events (occurrence of sensor detection events, node failures, etc.). We define a mission as a prescribed sequence of tasks, based on sensor readings, programmed into the WSN. Let y be the vector of completed missions (outputs). Finally, let x be the state logical vector of the rules of the DE controller, whose entry of ‘1’ in position i denotes that rule i of the supervisory control policy is currently activated. Then we can define two different sets of logical equations, one for checking the conditions for the activation of rule i (matrix controller state equation), and one for defining the consequences of the activation of rule i (matrix controller output equation). In the following, all matrix operations are defined to be in a specialized or/and algebra [34], where + denotes logical ‘or’ and ‘times’ denotes logical ‘and’. The DEC is based on formal equations that allow computation of the next tasks and resources to be assigned in the WSN. As shown in Figure 1, the DEC reads information from the WSN about sensor events, node failures, and resource availability. Then, it computes which tasks to start and which resources to assign or release, which are commands sent to the WSN. The main equation is the controller state equation

6

x = Fv v + Fr r + Fu u + Fud u d

(1)

where Fv is the task sequencing matrix, Fr is the resource requirements matrix, and Fu is the input matrix. Fud is the conflict resolution matrix and u d is the conflict resolution vector, used to avoid simultaneous

activation of conflicting rules, as shown later. The current status of the DE system includes task vector v, whose entries of `1' represent `completed tasks', resource vector r, whose entries of `1' represent `resources currently available’, and the input vector u, whose entries of ‘1’ represent occurrences of certain predefined events (fire alarm, intrusion etc.). The overbar in equation (1) denotes logical negation, so that tasks completed and resources released are represented by ‘0’ entries in v, r respectively. The task sequencing matrix Fv (used by Steward [33] and others in manufacturing) has element (i,j) set to '1' if the completion of task vj is an immediate prerequisite for the activation of logic state xi. The resource requirements matrix Fr (used by Kusiak [19] and others in manufacturing) has element (i,j) set to '1' if the availability of resource j (robot or UGS) is an immediate prerequisite for the activation of logic state xi. On the grounds of the current status of the DE system, equation (1) calculates the logical vector x, i.e. which rules are currently activated. The activated rules determine the commands that the DEC has to sequence in the next iteration, according to the following equations:

vs = Sv x

(2)

rs = S r x

(3)

y = Syx

(4)

where:

Sv is the task start matrix and has element (i,j) set to '1' if logic state xj determines the activation of task i. Sr is the resource release matrix and has element (i,j) set to '1' if the activation of logic state xj determines the release or resetting of resource i.

Sy is the output matrix and has element (i,j) set to '1' if the activation of logic state xj determines the completion of mission i.

7

The task start equation (2) computes which tasks are activated and may be started, the resource release equation (3) computes which resources should be released or reset (due to completed tasks) and the mission completion equation (4) computes which missions have been successfully completed. Vector vs, whose `1' entries denote which tasks are to be started, and vector rs, whose `1' entries denote which resources are to be released, represent the commands sent to the DE system by the controller. ‘1’ entries in vector y denote which missions have been successfully completed. Equations (1)-(4) represent the rule-base of the supervisory control of the DE system. All the coefficient matrices are composed of Boolean elements and are sparse, so that real time computations are easy even for large interconnected DE systems. The DEC equations are efficiently implemented using software such as MATLAB® [34]. Performance Measures Program DEC For WSN Applications

Program Missions- Selection of matrices Node Node Deployment Deployment & & FailureFailure- Modify Modify FFrr Select Resources- Priority modification of Fr

vs

NEXT TASK LOGIC: x = Fv v + Fr r + Fu u + Fud ud

rs

RESOURCE RESOURCERESET RESETLOGIC: LOGIC:

vs = S v x Matrix DE Controller

rs r=s =S rSxr x y

MISSION COMPLETE LOGIC:

y = Syx

Targets or Events In

Wireless Sensor Net Sensor reading events

vs Task Commands rs Resource Reset Commands

u

Sensor readings

Tasks performed

v

WSN logical Status information

Tasks completed

Resources available Missions completed

Resources Idle

y Missions completed

Figure 1- Discrete Event Control architecture III. DISCRETE EVENT CONTROL FOR WSN APPLICATIONS WSN, particularly mobile WSN, have complications that require modifications and extensions of the DEC just presented.

Nodes may fail or be added. Missions must be programmed easily into the network.

8

Multiple competing missions require enhanced decision-making for task priorities and resource assignment. A combination of centralized and decentralized control is usually required. Computer simulation of complex mission scenarios is needed prior to actual deployment and implementation of the WSN. A major issue is as follows. In manufacturing systems there is a great focus on reentrant flow lines, where the resources needed for each job are pre-specified. Unfortunately, in mobile WSN, there are numerous distributed sensors and it is not clear a priori which sensor is the most useful resolution of specific events. Therefore, in the subsequent development, we provide a streamlined method for dealing with dynamic sensor selection using a novel Dynamic Priority Assignment Weighting approach. All of these issues specific to WSN are handled by providing specialized techniques for generating or modifying the DEC controller matrices, as now detailed.

Mission Programming and Priority Assignment A mission is defined to be a prescribed sequence of tasks to be performed by the WSN based on observed sensor readings.

Many missions may be programmed into a WSN, and several missions may execute

simultaneously depending on sensor readings, node failures, or operator queries. Sample missions are given in Tables II-V in the Implementation Section. Adaptability [28] is the ability of an agent team to change its behavior according to the dynamical evolution of the environment. In our framework, adaptability occurs on two levels. On one level, the DEC allows for dynamic on-line assignment of tasks and resources based on sensor events, given fixed DEC matrices Fv, Fr, Sv, Sr. These matrices contain the task sequencing and resource assignment information for fixed prescribed missions.

Therefore, on a second higher level,

programming missions into the WSN amounts to appropriately defining the DEC matrices. On this higher level, adaptability requires modification of the DEC matrices as mission change, nodes fail, or additional nodes are deployed.

9

Programming the WSN for Multiple Missions Harris et al. [15] showed how to select the task sequencing matrices Fv, Sv and the resource assignment matrices Fr, Sr using computer science high-level planners such as HTN planners. A method was given for combining plans. For WSN, extensions are needed to this procedure since missions may change in real time based on sensor events, node failures, or human user desires. The overall complex environment monitoring operation is decomposed into multiple missions. Each mission has defined tasks and requires rules for task sequencing, resource dispatching and conflict resolution (Figure 2a). Our DEC contains an intuitive matrix representation of this architecture and allows missions to be designed and combined in a very direct manner using block matrix techniques. This amounts to programming the WSN to accomplish the desired missions.

10

Environment monitoring operation



Mission 1

Fv Task11(r1..m)

Mission i



Mission n

Task sequencing rules Fv

1

Fvn

.. Task1q1(r1..m) … Taskn1(r1..m) .. Tasknqm(r1..m) Fr1

Frn

Resource assignment rules Fr

(a) q1

... q i

 Fv1  ...  FV =  Fvi    

... q n

m

 Fr1       ...    Fr =  Fri     ...  ...   F n  Fvn   r  (b)

Figure 2- Decomposition of the environment monitoring operation into missions (a) and its matrix representation (b)

Suppose that we have m resources rj j=1…m (mobile sentry robots and stationary sensors) each one capable of performing pj tasks, and that we define n different missions, with each mission i composed of qi tasks. For each mission, we define the corresponding set of matrices Fvi , Fri , S vi , S ri which represent the coordination rules of the agents in the execution of the tasks for that mission. An illustration is provided in the Implementation Section, where it is seen that for a given mission it is straightforward to write down the DEC matrices.

11

To combine multiple missions for the same WSN, one may simply block together the matrices of the individual missions to obtain matrices for the WSN as shown in Figure 2b. These composite matrices contain the information needed to implement multiple missions in the same WSN.

Implementation of distributed and centralized algorithms Recently proposed decentralized approaches define the reference path of mobile sentry robots to accomplish pre-specified mission objectives, such as minimum exploration time [5], or complete monitoring coverage [9]. On the other hand, centralized algorithms allow faster response and more efficient coordination among agents, and can yield globally optimal solutions. The matrix DEC allows for a tailored mix of centralized and decentralized control in a single WSN. In fact, decentralized algorithms appear in the DEC as compatibly partitioned block diagonal matrices Fv, Fr, Sv, Sr, for compatibility of the block matrix sizes allows one to decompose the DEC into several decentralized controllers that can be locally implemented. Coordination between decentralized controllers is revealed as entries outside the blocks that effectively couple the decentralized blocks together. This can be interpreted as a hierarchal control structure where a high-level supervisor coordinates the activities of the decentralized controllers.

Dynamic reallocation of resources A dynamic reallocation of the agents to missions can be performed by rearranging the ‘1’s’ in the matrices

Fr

and S r when new missions (or new agents) are added. Some possible criterion could be the balance of workload of the agents, the minimization of circular waits and deadlock risks, the maximization of throughput (mission completion time). Thanks to the matrix representation of the mission plans, these objectives can be pursued using computationally efficient algorithms.

12

In Figure 3 is shown an example of reallocation of resources (r1, r2 and r3) to the tasks of two missions. The number of tasks each resource has to perform is equal to the number of ‘1’s’ in the corresponding column. After the reallocation, the resources have a more balanced workload, i.e. they perform a similar number of tasks. r1 r2 r 3 0  0 1  0 1  Fr (t ) =  0  1  1 0  1

r1 r2 r3

0 1... 0   0 1... 0 1 0 0...   0 1... 0 1  0 0...    Fr (t + 1) =  0 0 1...   0 1... 1   0 0... 1 0 1 1...   0 1... 1

0 1...  0 1... 0 0...  1 0... 0 0...   1 0...  1 0...  0 0... 1 1...  0 1...

Mission1

Mission2

Figure 3- Reallocation of resources through matrix operations

Combining multiple plans for the same mission In certain circumstances, different sequences of tasks can be used to implement the same mission. As shown in [14], a computationally efficient algorithm can be used to combine the plans together and derive a single compact matrix representation for the DEC. This is accomplished by first combining the two sets of matrices Fv, Fr, Sv, Sr. for the two versions of the mission, and then deleting certain redundant rows and columns. Using the resulting matrices, the DEC automatically sequences the most suitable sequence of tasks for the mission depending on the current available resources.

Priority resource dispatching among missions WSN have numerous distributed sensors, and often many of them can perform the same or similar sensing tasks. Given the presence of such shared resources, simultaneous activation of conflicting rules may arise.

13

That is, several tasks (possibly from different missions) may simultaneously request the same set of resources. The function of the conflict resolution input ud in equation (1) is to appropriately assign shared resources. This is known in manufacturing as the resource dispatching problem [27]. Inappropriate assignment of shared resources can lead to blocking phenomena including deadlock. In [22] it was shown how to assign shared resources to avoid deadlock, and in [13] it was shown how to assign shared resources using a game theory payoff matrix. To correctly resolve shared resource conflicts, matrix Fud in equation (1) must be suitably defined. This is accomplished as follows for multiple missions in a single WSN. Matrix Fud has as many columns as the number of tasks performed by shared resources and its element (i,j) is set to '1' if completion of shared task j is an immediate prerequisite for the activation of logic state xi. Then an entry of ‘1’ in position j in the conflict resolution vector ud, determines the inhibition of logic state xi (rule i cannot be fired). It results that, depending on the way one selects the conflict-resolution strategy to generate vector ud, different dispatching strategies can be selected, in order to avoid resource conflicts or deadlocks. In order to take into account the dynamical priorities among multiple missions, we derive the global conflict resolution matrix Fud according to the following procedure. After assigning a priority order k to each mission, we calculate, for every resource j and every mission i, a matrix Fudi (r j ) , creating a new column for every ‘1’ appearing in the jth column of

Fri

as described in section II. Then we construct the global conflict

resolution matrix of resource rj ( Fud (r j ) ) inserting each Fudi (r j ) matrix in position (i,k). The result is the

[

]

overall matrix Fud = Fud (r1 )...Fud (r j )...Fud (rm ) which contains the conflict resolution information needed for dispatching shared resources in multiple missions for the same WSN.

14

Dynamic Priority Sensor Assignment In manufacturing systems there is a great focus on the so-called “reentrant flow lines” [18] where the resources needed for each job are pre-specified. Resource assignment and dispatching for such systems is well understood [10, 22]. Unfortunately, in mobile WSN, there are numerous distributed sensors and it is not clear a priori which sensor is the most useful for resolution of specific events. Dynamic sensor selection is a special sort of routing problem [25], or free-choice Petri net, which requires highly complex decisionmaking. Therefore, we provide here a streamlined method for dealing with dynamic sensor selection using a novel Dynamic Priority Assignment Weighting Matrix. To cast the dynamic selection of sensors most appropriate for a task into the DEC format, one may use the Greedy activity/resource selector algorithm from [8] to modify the resource assignment matrix Fr at each event iteration as follows. For each task that has a choice of resources to use, define a Dynamic Priority Assignment Matrix (DPAM) according to the example: res. 1 res. 2 task 1 0 Dc = task 2 1 task 3 0.2

res. 3 1 0.7 , 0 0.5 0 1

which indicates that task 1 may be efficiently performed by resource 2, or less efficiently by resource 3. The numerical entry in position (i,j) is between 0 and 1, and indicates the efficiency with which resource j performs task i, with 0 indicating that resource j cannot perform task i, and 1 indicating that resource j performs task i with maximum efficiency. Note that this matrix indicates that task 1 may be performed with either resource 2 or resource 3, in contrast to the matrix Fr, where multiple entries of 1 in a row indicate that all those resources are required for that task. According to greedy dispatching policies (e.g. [8]), one selects the resource to perform a given task according to the immediate 1-step look ahead maximum payoff. Therefore, depending on the DPAM, at

15

each event step, for the free-choice tasks, modify the resource matrix Fr to have 1’s in the entries corresponding to the maximum values of the DPAM in each row. This effectively selects the current most efficient resource to perform each task. Then, compute the DEC equations (1)-(4) to determine which tasks to start and which resources to reset. After the tasks have been performed, the DPAM is dynamically updated based on evaluation information from the task on how well the assigned resource performed. Thus, resources that perform well will be assigned next time to that task.

Node deployment and failure Scalability [28] defines the possibility to add agents (resources) as they are deployed, and remove them as they fail. This issue is strictly related to the fault-tolerance capability of a WSN, which is a major requirement for efficient operations. We can use the DEC to tackle scalability at the supervisor level, updating the matrixbased representation of the missions to take into account the failure of agents as well as the adding of new ones. If a new agent is added to the system, a new column is added in the matrices Fr and

S r'

(the symbol ‘

denotes transpose). Then, dispatching algorithms (based on matrix operations) can be applied to rearrange the tasks among resources (see previous section). In a similar fashion, an agent failure can be tackled rearranging the tasks among the resources so that the columns relative to the failed resources in Fr and Sr’ are null. For example, if the Dynamic Priority Assignment Matrix described in previous section is implemented, the failure of a resource results in setting to zero all the matrix entries corresponding to the failed resource.

16 IV. COMPLETE DYNAMICAL DESCRIPTION OF THE SYSTEM

It is well known that a matrix approach can be used to describe the marking transitions of a Petri Net (PN) using the PN transition equation [26]

m(t + 1) = m(t ) + (S '− F ) ′ ⋅ x (t )

(5)

where S and F are the PN output and input incidence matrices respectively. This equation gives a useful insight on the dynamic of DE systems but does not provide a complete dynamical description of DE systems. If we observe that the vector x in equation (5) is the same as in equation (1), then we may identify x as the vector associated with the PN transitions and u, v, r, ud as associated with the places. Then it follows that [34]

m(t ) = [u (t )' , v(t )' , r (t )' , u d (t )']'

[

]

[

]

S = S u ' , S v ' , S r ' , Su d ' , S y ' '

F = Fu ' , Fv ' , Fr ' , Fud ' , F y ' '

Therefore, we can use equation (1) to generate the allowable firing vector to trigger transitions in equation (5). That is, the combination of the DEC (1) and the PN marking transition equation provides a complete dynamical description of the system. In order to take into account the time durations of the tasks and the time required for resource releases, we can split m(t) into two vectors, one representing available resources and current finished tasks ( ma (t ) ) and the other representing the tasks in progress and idle resources ( m p (t ) )

m(t ) = ma (t ) + m p (t )

(6)

This is equivalent to introducing timed places in a Petri net and to dividing each place into two parts, one relative to the pending states (task in progress, resource idle) and the other relative to the steady states (task completed and resource available). As a consequence, we can also split equation (5) into two equations

17

ma (t + 1) = ma (t ) − F ′ ⋅ x(t )

(7)

m p (t + 1) = m p (t ) + S ⋅ x(t )

(8)

When a transition fires a token is moved from m p (t ) to m a (t ) where it may be used to fire subsequent transitions. Therefore equations (1), (7) and (8) represent a complete description of the dynamical behavior of the discrete event system [34] and can be implemented for the purposes of computer simulations using any programming language (e.g. MATLAB® or C). In the case of a mobile wireless sensor network, where experiments on wide and hostile areas can be really complex and challenging, it allows one to perform extensive simulations of the control strategies and then test experimentally only those which guarantee the most promising results.

V. IMPLEMENTATION OF DEC ON WSN TESTBED The Secure Area Assurance Test-bed at the Automation and Robotics Research Institute, University of Texas at Arlington, consists of mobile sentry robots, Unattended Ground Sensors, a wireless network, and a centralized control unit (figure 4). The core equipment of our test-bed platform is a PC where the DE controller, the control algorithms of the robots and the data acquisition interface of the UGS are executed. The NI PCI eight port serial interface is employed to connect (via transceivers) each resource to the PC. LabVIEW® has been used to implement the DEC (figure 5) [see 24 for more details], the serial communication interface and the suite of executable tasks for each agent. LabVIEW timed loop module has been employed to define, on the same LabVIEW diagram, multiple operations running at different rates, and to assign execution priorities among them. In this way it is possible to implement the control algorithm of each resource at a different rate depending on its computational capabilities and dynamic characteristics. The priority and the sampling times of each loop are reported in table I.

18

Sentry robot

Sentry robot charger DEC

UGSs

Transceiver

Figure 4- The WSN test-bed at ARRI

Table I- Priority and sampling time of each timed-loop Timed loops priority Sampling time DEC 1 250 ms Sentry robot 2 500 ms (2) UGS (5) 3 1s Sensor to 4 3s context mapping

Figure 5- LabVIEW interface of the DEC, showing control matrices Fv, Fr, Sv, and Sr

Mobile sentry robots

19

Two Cybermotion mobile sentry robots (donated by JC Penney, Inc.) formerly used to patrol a warehouse in Dallas, Texas are employed as mobile sensing units. They are wheeled synchronous drive robots, i.e. the rotation speed and the drive speed can be independently controlled through two different actuators sending velocity commands through a wireless RS232 serial connection. They have an extensive sensor suite including ultrasonic intrusion, optical flame detector, dual passive IR, microwave intrusion, smoke, temperature, humidity and light sensors, and gas sensors including oxygen, NOx, and CO. Sonar sensors are distributed on the front and on the sides of the robot for obstacle avoidance. Each robot’s task is executed through an ad hoc LabVIEW® VI. In this paper six different tasks have been envisioned for each robot: proceed to a designated location, scan sensors, dock at charger, deploy UGS, retrieve UGS, charge UGS. At present the first two tasks have been actually implemented whereas the other four have been implemented just as time delays. However, this assumption is not limitative since it does not affect the behavior of the DEC, which is the main focus of this paper.

Unattended ground sensors

A set of five Berkeley Crossbow® UGSs has been incorporated into the Secure Area Testbed at ARRI. Each of these is used for measuring various quantities such as Light, Acceleration, Temperature, Magnetism and Sound. The UGSs communicate through a wireless link with a base station connected to on of the serial ports of the NI PCI board. A high-level LabVIEW® interface has been designed to handle the reading operations of each sensor. All the sensors are battery operated and have a range of transmission of about 100-200 meters.

Implementation of the missions

20

In this section, using our test-bed WSN, two different missions have been implemented to show the potentialities of the proposed DEC. In the first mission, after one of the sensors launches a chemical alert, the network automatically reconfigures its topology to further investigate the phenomenon. In the second mission, one of the mobile robots is employed to charge the batteries of one of the UGSs. The procedure for implementing the supervisory control policy consists of three different steps. First of all, we define the vector of resources r present in the system and the tasks they are able to perform. In our test-bed we have two robots (R1 and R2), each one able of performing six tasks (see previous section), and five stationary sensors (UGS1, UGS2, UGS3, UGS4, UGS5), each one able of performing one task (i.e. taking measurement). The resource vector is r=[R1, R2, UGS1, UGS2, UGS3, UGS4, UGS5]. Then for each mission i, we define the vector of inputs ui, of outputs yi and of tasks vi, and the task sequence of each mission (table II and IV for mission 1 and mission 2). Then we write down the if-then rules representing the supervisory coordination strategy to sequence the programmed missions (table III and table V). In the definition of the rule bases particular attention has to be devoted to the definition of consecutive tasks performed by the same resources. If the consecutive tasks are interdependent (hereinafter macro-tasks, e.g. go to sensor 2 and retrieve sensor 2), the corresponding resource should be released just at the end of the macro-task. We have two macro-tasks in mission 1 (R1gS2-R1rS2 and R1gS1-R1dS2-R1m), and one macro-task in mission 2 (R1gS3-R1cS3). Instead, if the tasks are not interdependent, before starting the new consecutive task, the DEC releases the corresponding resource and makes sure that no other missions are waiting for it. If after a predetermined period of time no other missions request that resource, the previous mission can continue. This is the function of the “Robot 1 listens for interrupts” task in mission 1. Finally we translate the linguistic description of the coordination rules into a more convenient matrix representation, suitable for mathematical analysis and computer implementation. For example, considering the rule-base of mission 1 (table III), we can easily write down the Fv1 and Fr1 matrices considering that Fv1 (i, j ) is ‘1’ if task j is required as an immediate precursor to rule i and Fr1 (i, j )

21

is ‘1’ if resource j is required as an immediate precursor to rule i (see figure 6). The conditions for firing rule 6 ( x16 ), are the completion of tasks R1gS11 and R2m1 (task 7 and 8 respectively, see table II). We therefore have two ‘1’ entries in position (6,7) and (6,8) in matrix Fv1 . Resource 1 is required for the execution of the two macro-tasks of mission 1 defined previously (R1gS2-R1rS2 and R1gS1-R1dS2-R1m), which start when rules 2 and 5 respectively are triggered. Therefore, as shown in figure 6b, we have two ‘1’ in position (2,1) and (5,1) of Fr1 .

Table II- Mission1- Task sequence mission1 notation description Input 1

u1

Task 1

S4m1

Task 2

S5m1

Task 3 Task 4 Task 5 Task 6

R1gS21 R2gA1 R1rS21 R1lis1

Task 7 Task 8 Task 9 Task 10 Task 11 output

R1gS11 R2m1 R1dS21 R1m1 S2m1 y1

UGS1 launches chemical alert UGS4 takes measurement UGS5 takes measurement R1 goes to UGS2 R2 goes to location A R1 retrieves UGS2 R1 listens for interrupts R1 gores to UGS1 R2 takes measurement R1 deploys UGS2 R1 takes measurement S2 takes measurement Mission 1 completed

22

Rule1 x11 Rule2 x12 Rule3 x31 Rule4 x14 Rule5 x51 Rule6 x16 Rule7 x17 Rule8 x81 Rule9 x91

Table III-Mission 1-Rule-base Mission1-operation sequence If u1occurs and S4 available and S5available then start S4m1 and start S5m1 If S4m1 and S5m1 completed and R1 and R2 available then start R1gS21 and R2gA1 and release S4 and S5 If R1gs21 and R2gA1 competed then start R1rS21 and release R2 If R1rS21 completed then start R1lis1 and release R1 If R1lis1 completed and R1 and R2 available then start R2m1 and R1gS11 If R1gS11 and R2m1 completed then start R1dS21 and release R2 If R1dS21 completed then start R1m1 If R1m1 completed and S2 available then start S2m1 and release R1 If S2m1 completed then release S2 and terminate mission1 y1

Table IV- Mission 2-Task sequence Mission2 notation description input u2 UGS3 batteries are low Task 1 S1m2 UGS1 takes measurement 2 Task 2 R1g S3 R1 goes to UGS3 Task 3 R1cS32 R1 charges UGS3 Task 4 S3m2 UGS3 takes measurement Task 5 R1dC2 R1 docks at charger 2 output y Mission 2 completed

23

Rule1 x12 Rule2 x22 Rule3 x32 Rule4 x42 Rule5 x52 Rule6 x62

Table V-Mission 2-Rule-base Mission2- operation sequence If u2 occurs and S1 available then start S1m2 If S1m2 completed and R1 available then start R1g S32 and release S1 If R1gS32 completed then start R1cS32 If R1cS32 completed and S3 available then start S3m2and release R1 If S3m2 completed and R1 available then start R1cCT2 and release S3 If R1dC2 completed then release R1 and terminate mission2 y2

24

S5m R2gA R1lis R2m S4m R1gS2 R1rS2 R1gS1 x11  0 0 0 0 0 0 0 0  x12  1 1 0 0 0 0 0 0 x31  0 0 1 1 0 0 0 0  x14  0 0 0 0 1 0 0 0 Fv1 = x51  0 0 0 0 0 1 0 0 x16  0 0 0 0 0 0 1 1  x17  0 0 0 0 0 0 0 0 x81  0 0 0 0 0 0 0 0  x19  0 0 0 0 0 0 0 0 R1 x11  0  x 12  1 x 31  0  x 14  0 Fr1 = x 15  1 x 16  0  x 17  0 x 81  0  x 19  0

R2 0 1 0 0 1 0 0 0 0

S1 0 0 0 0 0 0 0 0 0

S2 0 0 0 0 0 0 0 1 0

S2m R1dS2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0

R1 m 0  0 0  0 0  (a) 0  0 0  1 

S3 S4 S5 0 1 1  0 0 0 0 0 0  0 0 0 0 0 0  (b) 0 0 0  0 0 0 0 0 0  0 0 0 

x11  0  x 12  1 x 31  0  x 14  0 Fud1 ( R1) = Fud1 ( R2) = x 15  0 x 16  0  x 17  0 x 81  0  x 19  0

0  0 0  0 1  (c) 0  0 0  0  Figure 6- Mission1- job sequencing matrix Fv1 (a), resource requirement matrix Fr1 (b) and conflict resolution matrix Fud1 (c)

25

x11 x12 x31 x14 x51 x16 x17 x81 x19 S 4m  1  S 5m  1 R1gS 2  0  R 2 gA  0 R1rS 2  0 1 Sv = R1lis  0  R1gS1  0 R2m  0  R1dS 2  0 S 2m  0  R1m  0

0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0  (a)  1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0  0 0 1 0 0 0 0 0  0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0  0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0  0 0 0 0 0 0 1 0 

x11 x12 x31 x14 x51 x16 x17 x81 x19 R1  0 0 0 1  R2  0 0 1 0 S1  0 0 0 0  S r1 = S 2  0 0 0 0 S 3  0 0 0 0 S40 1 0 0  S5 0 1 0 0 Figure 7-Mission 1- Task start matrix S v1

2 1 2 2 2 3 2 4 2 5 2 6

x x x Fv2 = x x x

0 0 0 1 0  0 1 0 0 0 0 0 0 0 0  0 0 0 0 1  (b) 0 0 0 0 0  0 0 0 0 0  0 0 0 0 0 (a) and resource release matrix Sr1 (b)

S1m R1cS3 R1dC R1gS3 S3mR1 R1 R2 2 0 0 0 0 0 x1  0 0    x22  1 0 1 0 0 0 0 0 1 0 0 0 2 0 0   (a) Fr2 = x3  2 0 0 1 0 0 x4  0 0 0 0 0 1 0  x52  1 0   0 0 0 0 1 x62  0 0   x12  0  x 22  1 x2 0 Fud2 ( R1) = 32  x4  0  x 52  0 x 62  0

0  0 0  (c) 0 1  0 

S1 1 0 0 0 0 0

S2 0 0 0 0 0 0

S3 0 0 0 1 0 0

S4 0 0 0 0 0 0

S5 0  0 0  (b) 0 0  0 

26

Figure 8- Mission 2- Task sequencing matrix Fv2 (a), resource requirement matrix Fr2 (b) and conflict resolution matrix Fud2 ( R1 ) (c)

Using the procedure described in section II, we can calculate the conflict resolution matrix for each resource. An analysis of matrix Fr1 reveals that only robot 1 and robot 2 are shared resources (due to multiple ‘1’s in the corresponding column of Fr1 ), therefore we need to specify just Fud1 ( R1 ) and Fud1 ( R2 ) (figure 6c). The S v1 matrix (figure 7a) is built considering which tasks should be executed after a rule fires. For example, when rule 5 fires, R1 should go to UGS1 (R1gS1, task 7) and R2 should start taking measurements with its onboard sensors (R2m, task 8). Accordingly, the elements of S v1 in position (7,5) and (8,5) are equal to 1. The S r1 matrix (figure 7b) is built considering that S r1 (i,j) is 1 if resource i has to be released after rule j has been fired. For example, since R1 (resource1) has to be released when rules 4 and 8 fire, we have entries of 1 in positions (1,4), and (1,8). In the same way, the set of matrices relative to mission 2 can be built (figure 8-9). Then the matrix formulation of the overall monitoring operation is easily obtained by stacking together the matrices of mission 1 and mission 2 (figure 10). As stated before, the matrix formulation proposed in paragraph II can be used to represent a Petri Net. Therefore, for the sake of clarity, in figure 11 we have reported the Petri Net which corresponds to the matrix description of the two implemented missions. x12 x 22 x32 x 42 x52 x62 S1m  1  R1gS 3  0 Sv2 = R1cS 3  0  S 3m  0  R1dC  0

0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

x12 x22 x32 x 42 x52 x62 R1  0  0 R2  0  0 S1  0  0  (a) Sr2 = S 2  0  0 S 3  0  0 S40  S5  0

0 0 1 0 0 0 0

0 0 0 0 0 0 0

1 0 0 0 0 0 0

0 0 0 0 1 0 0

1  0 0  0  (b) 0  0  0

Figure 9-Mission 2- Task start matrix S v2 (a) and resource release matrix S r2 (b)

x 1  Fv1 Fv = 2  x  0

0  x 1  Fr1   Fr = 2  2  Fv2  x  Fr  v1  S 1 0   S r = r (S r1 S r2 ) S v = 2  v 2 v  0 Sv  R2 R1 1 1  0 Fud ( R1 ) Fud (R 2 ) Fud =  2  0 0   Fud (R1 ) Figure 10-Overall monitoring operation- Matrix formulation

27 R2

UGS5

X 1 X1

S5m

1 2

R1gS2

X

1 3

R1rS2

1 4

UGS2

1 X 5 R2m X16

X

R1dS2

R1lis

u1

X

1 7

1

X

1 9

X

S2m

R1m

y1 Mission1 result

R1gS1

S4m

8

R2gA R1

UGS4 u2 2

X

S1m 1

X

2 2

R1cS3

R1gS3

X

2 3

UGS1

2 4

y2 Mission2 result

R1dC

S3m

2 5

X

X

2 6

X

UGS3

Figure 11-Petri net representation of the implemented missions, corresponding to the matrixes Fv, Fr, Sv, Sr

VI. SIMULATION RESULTS A MATLAB® simulation of the system with these missions has been written using equations (1), (7), (8) as described in [34]. In figure 12, we have reported the utilization time trace of the resources and the execution time trace of the tasks. In these time traces, busy resources and tasks not in progress are denoted by low level, whereas idle resources and tasks in progress are denoted by high level. At time instants 5s and 15s the events u2 (UGS3 has low batteries) and u1 (UGS1 detects a chemical agent) occur respectively and mission 2 and mission 1 are triggered. Since mission 1 has a lower priority, after the first two tasks are completed (S4m1 and S5m1), the mission is temporarily interrupted because resource R1 is assigned to mission 2 for the execution of task R1gS3. At time instant 75 s, R1, after listening for interrupts (task 6, mission 1), is reassigned to mission 2 which can then come to an end with the execution of task R1dC2. Finally, mission 1 can be successfully terminated. From the time traces of figure 12, it is interesting to note that whenever possible, the missions are executed simultaneously, and the shared resources are alternatively assigned to the two missions. If we change the priority order of the two missions, permuting the block matrices Fud1 and Fud2 in paragraph V, we get the utilization time trace of figure 13. This time, mission 2 is executed more

28

fragmentarily, since resource 1 is preferentially assigned to mission 1. To further increase the priority of mission 1 we could eliminate the listening task R1lis, reducing the possibilities of mission 2 to get resource 1 while mission 1 is active.

29

u1

Mission 1

70

mobile wireless sensor network DE simulation priority 2-->1 1S4m 1S5m 1R1gS2 1R2gA 1R1rS2 1R1lis 1R2m 1R1gS1

60

Mission2

50

1R1dS2

1R1m 1S2m

40 u2

2S1m 2R1gS3 2R1cS3 2S3m 2R1dC

30

Resources

20

R1 R2 UGS1 UGS2 UGS3 UGS4 UGS5

10 0

10 20 30 40 50 60 70 80 90 100 110 120 130 140 Time [s]

Figure 12-Event time trace simulation results of the WSN

Resources

Mission2

Mission1

70

u1

mobile wireless sensor network DE simulation priority1-->2 1S4m 1S5m 1R1gS2 1R2gA 1R1rS2 1R1lis 1R2m 1R1gS1 1R1dS2 1R1m 1S2m

60 50 40

u2

2S1m 2R1gS3 2R1cS3 2S3m 2R1dC

30 20 10

0

20

40

60

80

100 120 140 0

20

40

60

80

R1 R2 UGS1 UGS2 UGS3 UGS4 UGS5 100 120

Time [s]

Figure 13- Event time trace simulation results of the WSN after changing the priority order between the two missions

VII. EXPERIMENTAL RESULTS After performing extensive simulations, we can implement the control system directly on the WSN test-bed described in paragraph V. In figure 14 we have reported the actual experimental utilization time trace of the agents, assigning higher priority to mission 2. Notice that the time duration of the real WSN runs in terms of

30

discrete-event intervals, whereas the simulation results shown in figures 12 and 13 are in terms of time. It is interesting to note the similarity and fidelity of the dispatching sequences in both the simulation and experimental cases. This is a key result since it shows that the proposed DEC allows one to perform a “simulate and experiment” approach for a WSN, with noticeable benefits in terms of cost, time and performance.

S4 S5m R1gS2 R2gA R1rS R1lis R2m R1gS R1dS2 R1m S2m S1m R1gS R1cS3 S3m R1dC

Figure 14- Utilization time trace of the WSN- Experimental results

(a)

(b)

figure 15-(a) Starting configuration and trajectory followed by the mobile robots- (b)Final configuration after execution of mission 1 and 2

31

Figure 16- Panoramic view of the configuration of the mobile WSN during real-world experiments.

In figure 15, for the sake of clarity, we have depicted the configuration of the agents in the environment, showing how the topology of the network evolves along time (15a) and finally reaches the configuration shown in figure (15b). In figure 16 and 17, the same results are proposed showing a panoramic view of the mobile WSN.

32

Figure 17- Panoramic view of the final configuration of the mobile WSN.

Reassignment of resources Since the topology of a mobile WSN evolves with time, it is necessary to adapt the mission planning to the changed operating conditions. We want to show now how the matrix formulation of the DEC allows one to easily reconfigure the dispatching rules of the system.

33

(a)

(b)

figure 18- Execution of mission1 (a), change of plans and execution of mission 2 (b)

R1

R2

 0 Fud1 ( R1 ) Fud1 (R 2 ) Fud =  2  (a) 0 0   Fud (R1 )

R1

R2

 F 1 (R ) 0 Fud1 ( R 2 ) Fud =  ud 1  (b) Fud2 (R 2 ) 0   0

Figure 19- Conflict resolution matrix when robot 1 (a) or robot 2 (b) are assigned to execute mission 2

Suppose that robot 2 has the same functionalities of robot 1 and that mission 2 is triggered after the completion of mission 1 (figure 18a). Since at the end of mission 1, robot 2 is actually closer to UGS3, we might consider employing robot 2 for mission 2 instead of robot1 (figure 18b). This change in mission planning results in simple matrix operations. The ‘1’s relative to the tasks of mission 2 are shifted from column 1 to column 2 of matrix Fr2 and from row 1 to row 2 of matrix resource1 to resource2).

Fud

S r2

(i.e. tasks are shifted from

is changed redefining the conflict resolution matrix of each resource for each

34

mission (in this case we have to define the block matrices in

Fud

2 Fud (R2 )

whereas

2 Fud (R1 ) becomes

null) and accordingly reassembling

(figure 19). VIII. CONCLUSIONS

This paper has presented a discrete-event coordination scheme for sensor networks composed of both mobile and stationary nodes that is based on en effective Matrix Form Discrete Event Controller. The proposed formulation of the DEC represents a complete dynamical description that allows efficient computer simulation of the WSN prior to implementing a given DE coordination scheme on the actual system. New methods have been provided specifically for WSN in selecting and configuring the required DEC matrices. This architecture supports high-level planning for multiple heterogeneous agents with multiple concurrent goals in dynamic environments. In particular our DEC is able to easily interface with human supervisors, is able to model the sequential constraints of the tasks (through matrices Fv and Sv), to define the priority among missions (through matrix Fud) and represents an effective mathematically grounded framework for any task allocation algorithm whose results determine straightforward updates of matrices Fr and Sr. Also, since the supervisory controller keeps track of the overall monitoring operation structure, a time-extended assignment of tasks (i.e. on a longer time-horizon than a single step ahead) could be potentially performed.

REFERENCES [1]

Akyldiz I., Su W., Sankarasubramaniam Y, Cayirci E., “A survey on sensor networks”, IEEE Communications Magazine, Vol. 40, Issue 8, pp. 102–114, August 2002.

[2]

Balch T., Hybinette M., “Social potentials for scalable multi-robot formations”, Proceedings of the International Conference on Robotics and Automation, Vol. 1, pp. 73–80, April 2000.

[3]

Balch T., Arkin R., “Behavior-based formation control for multirobot teams”, IEEE Transactions on Robotics and Automation, Vol. 14, Issue 6, pp. 926–939, December 1998.

35 [4]

Bronson, R., and Naadimuthu, G., Operations Research, 2 ed., Schaum’s Outline, McGraw-Hill, New York, 1997.

[5]

Burgard, W.; Moors, M.; Fox, D.; Simmons, R.; Thrun, S.; “Collaborative multi-robot exploration”, Proceedings of the IEEE International Conference on Robotics and Automation, Vol. 1, pp. 476–481, April 2000.

[6]

Butler Z., Rus D., “Event-based motion control for mobile-sensor network”, IEEE Transactions. on Pervasive Computing, Vol.2, Issue 4, pp. 34–42, October-December 2003.

[7]

Christensen T., Noergaard M., Madsen C., Hoover A., “Sensor networked mobile robotics”, Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition, Vol. 2, pp. 782783, June 2000.

[8]

Corman, T., Leisenson, C., and Rivest R., Introduction to Algorithms, Prentice Hall of India, 2001.

[9]

Cortes J., Martinez S., Karatas T., Bullo F., “Coverage control for mobile sensing network”, IEEE Transactions on Robotics and Automation, Vol. 20, Issue 2, pp. 243–255, April 2004.

[10]

Ezpeleta J., Colom J.M., and Martinez J., “A Petri net based deadlock prevention policy for flexible manufacturing systems,” IEEE Transactions on Robotics and Automation, Vol. 11, no. 2, pp. 173-184, April 1995.

[11]

Gerkey B., Mataric M., "A formal analysis and taxonomy of task allocation in multi-robot systems", The International Journal of Robotics Research, Vol. 23, no. 9, pp. 939-954, September 2004.

[12]

Gordon-Spears A., Kiriakidis K., “Reconfigurable robot teams: modeling and supervisory control”, IEEE Transactions on Control System Technology, Vol. 12, Issue 5, pp. 763–769, September 2004.

[13]

Gmytrasiewicz P.J.,. Huang H.-H, and Lewis F.L., “Combining operations research and agent-oriented techniques for agile manufacturing system design,” Proceedings of IASTED International Conference on Robotics and Manufacturing, pp. 396-402, Cancun, Mexico, June 1995.

36 [14]

Harris B., Lewis F., Cook D., “Machine planning for manufacturing: dynamic resource allocation and online supervisory control”, Journal of Intelligent Manufacturing, Vol. 9, pp. 413-430, October 1998.

[15]

Harris, B., Cook, D., and Lewis, F.L., “Automatically generating plans for manufacturing”, Journal of Intelligent Systems, Vol. 10, no. 3, pp. 279-319, 2000.

[16]

Howard, A.; Mataric, M.J.; Sukhatme, G.S.; “An incremental deployment algorithm for mobile robot teams”, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and System, Vol.30, pp. 2849–2854, October 2002.

[17]

King J., Pretty R., Gosine R., “Coordinated execution of tasks in multiagent environment”, IEEE Transactions on Systems, Man and Cybernetics- Part A: Systems and Humans, Vol. 33, Issue 5, pp. 615–619, September 2003.

[18]

Kumar P.R. and Meyn S.P., “Stability of queuing networks and scheduling policies,” IEEE Transactions on Automatic Control, Vol. 40, no. 2, pp. 251-260, February 1995

[19]

Kusiak A. Intelligent scheduling of automated machining systems. In Intelligent design and Manufacturing. A. Kusiak (ed.) Wiley, New York (1992).

[20]

Lee J., Hashimoto H, “Controlling mobile robots in distributed intelligent sensor network”, IEEE Transactions on Industrial Electronics, Vol. 50, Issue 5, pp. 890 – 902, October 2003.

[21]

Lewis F., “Wireless sensor networks”, Smart environments: technologies, protocols, and applications, ed. D. J. Cook and S. K. Das, John Wiley, New York, 2004.

[22]

Lewis F.L., Gurel A., Bogdan S., Doganalp A., Pastravanu O., “Analysis of deadlock and circular waits using a matrix model for flexible manufacturing systems”, Automatica, Vol. 34, no. 9, pp. 1083-1100, 1998.

[23]

McMickell M., Goodwine B., Montestruque L., “MICAbot: a robotic platform for large-scale distributed robotics”, Proceedings of the International Conference on Robotics and Automation, Vol. 2, pp. 1600– 1605, September 2003.

37 [24]

Mireles J., Lewis F., “Intelligent material handling: development and implementation of a matrix-based discrete event controller”, IEEE Transactions on Industrial Electronics, Vol. 48, Issue 6 , pp. 1087– 1097, December 2001.

[25]

Mireles J., Lewis F., “Deadlock analysis and routing on free-choice multipart reentrant flow lines using a matrix-based discrete event controller”, Proceedings of the IEEE International conference on Decision and Control, Vol. 1, pp. 793–798, December 2002.

[26]

Murata, T. “Petri nets: properties, analysis and applications.” Proceedings of the IEEE, Vol.77, no.4, pp.541-80, April 1989.

[27]

Panwalker S.S. and Iskander W., “A survey of scheduling rules,” Operations Research, Vol. 26, no. 1, pp. 45-61, 1977.

[28]

Parker L., “ALLIANCE: An Architecture for Fault Tolerant Multirobot Cooperation”, IEEE Transactions on Robotics and Automation, Vol. 14, no. 2, April 1998.

[29]

Paruchuri, P., Tambe, M., Ordonez, F., Kraus, S., “Towards a formalization of teamwork with resource constraints”, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2004, pp. 596-603.

[30]

Petriu E., Whalen T.,Abielmona R., Stewart A., “Robotic sensor agents: a new generation of intelligent agents for complex environment monitoring”, IEEE Magazine on Instrumentation and Measurement, Vol. 7, Issue 3, pp. 46–51, September 2004.

[31]

Saridis G., “Intelligent robotic control”, IEEE Transactions on Automatic Control, Vol. 28, Issue 5, pp. 547–557, May 1983.

[32]

Sibley G., Rahimi M., Sukhatme G., “Robomote: a tiny mobile platform for large-scale ad-hoc sensor networks”, Proceedings of the International Conference on Robotics and Automation, Vol. 2, pp. 1143– 1148, May 2002.

38 [33]

Steward D. V., “The design structure system: a method for managing the design of complex systems”, IEEE Transactions on Engineering Management, Vol. 28, pp. 71-74, Aug. 1981.

[34]

Tacconi D., Lewis F., “A new matrix model for discrete event systems: application to simulation”, IEEE Control System Magazine, Vol. 17, Issue 5, pp. 62–71, October 1997.

[35]

Tilak S., Abu-Ghazaleh N., Heinzelman W., "A taxonomy of wireless micro-sensor network models," ACM Mobile Computing and Communications Review, Vol. 6, no. 2, pp. 28-36, April 2002.

Suggest Documents