An FPGA implemented cellular automaton crowd evacuation model inspired by the electrostatic-induced potential fields

An FPGA implemented cellular automaton crowd evacuation model inspired by the electrostatic-induced potential fields

Microprocessors and Microsystems 34 (2010) 285–300 Contents lists available at ScienceDirect Microprocessors and Microsystems journal homepage: www...

4MB Sizes 0 Downloads 42 Views

Microprocessors and Microsystems 34 (2010) 285–300

Contents lists available at ScienceDirect

Microprocessors and Microsystems journal homepage: www.elsevier.com/locate/micpro

An FPGA implemented cellular automaton crowd evacuation model inspired by the electrostatic-induced potential fields I.G. Georgoudas, P. Kyriakos, G.Ch. Sirakoulis *, I.Th. Andreadis Democritus University of Thrace, Department of Electrical and Computer Engineering, Laboratory of Electronics, GR-671 00 Xanthi, Greece

a r t i c l e

i n f o

Article history: Available online 4 June 2010 Keywords: Cellular automata Crowd modelling Potential fields Hardware implementation FPGA

a b s t r a c t This paper studies the on-chip realisation of a dynamic model proposed to simulate crowd behaviour, originated from electrostatic-induced potential fields. It is based on cellular automata (CA), thus taking advantage of their inherent ability to represent sufficiently phenomena of arbitrary complexity and, additionally, to be simulated precisely by digital computers. The model combines electrostatic-induced potential fields to incorporate flexibility in the movement of pedestrians. It primarily calculates distances in an obstacle filled space based on the Euclidean metric. Furthermore, it adopts a computationally fast and efficient method to overcome trouble-inducing obstacles by shifting the moving mechanism to a potential field method based on Manhattan-distance. The hardware implementation of the model is based on FPGA logic. Initialisation of the dedicated processor takes place in collaboration with a detecting and tracking algorithm supported by cameras. The instant response of the processor provides the location of pedestrians around exits. Hardware implementation exploits the prominent feature of parallelism that CA structures inherently possess in contrast to the serial computers, thus accelerating the response of the model. Furthermore, FPGA implementation of the model is advantageous in terms of low-cost, highspeed, compactness and portability features. Finally, the processor could be used as a part of an embedded, real-time, decision support system, aiming at the efficient guidance of crowd in cases of mass egress. Ó 2010 Elsevier B.V. All rights reserved.

1. Introduction In recent years, the research community has put significant efforts on the issues of crowd evacuation, presenting and updating sophisticated models that try to approach mass egress effectively. The cost in such circumstances, often severe enough and measured even in human lives, underlines the importance of consistent pursuit of theoretical as well as applicable solutions in the area of crowd evacuation. Circumstantial studies in literature prove that people under panic tend to lose their individuality, display herding behaviour and fail to use means of emergent evacuation effectively [1]. In a crowded environment, it has been observed that most injuries or losses are brought about by abrupt behaviours of the crowd, rather than the actual cause of the disaster [2]. Such behaviours, also called ‘‘non-adaptive” [3], refer to the destructive actions that a crowd may experience during a disaster, such as stampede, pushing others out of the way, knocking others down, and trampling on others. The traditional approach of motion prediction applied to large crowds of pedestrians was based on modelling of the crowd as a continuous homogeneous mass that behaves like a fluid flowing * Corresponding author. Tel.: +30 25410 79547; fax: +30 25410 79540. E-mail address: [email protected] (G.Ch. Sirakoulis). 0141-9331/$ - see front matter Ó 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.micpro.2010.06.001

along corridors. Fluid analogies contradict with some observed crowd behaviours, such as herding behaviour, multi-directional flow and uneven crowd density distribution. A fluid particle cannot experience fear or panic, cannot have a preferred direction of motion, cannot make decisions and cannot stumble or fall [4]. Even particle analogies to crowd seem to share same disadvantages [5]. Recent approaches, enhanced by modern computer power, suggest that the crowd consists of discrete individuals able to react with their surroundings. Particularly, Lightfoot and Milne [6] present a model of crowd behaviour based on CA where the direction of movement is determined by a potential field technique similar to that used in robot path planning applications. The potential field is generated by a recursive flooding method, which gives an approximation to the shortest Euclidean distance between an exit to any point in the environment. Sarmady et al. have recently presented an interesting work in the area of pedestrian modelling, developing a basic multilayer multi-agent model of human movement process, which can be parameterised in various ways to produce more realistic simulations [7]. A CA model is used to simulate small scale movements. The latter is a variation of least effort movement model using CA, which has also been modified and enriched in order to successfully support the effect of the groups [8]. An up-bottom approach is adopted in order pedestrian movement to be simulated. Assuming

286

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

that pedestrians try to maintain a circular path, the CA algorithm tries to maintain this circular macroscopic path while performing collision avoidance and best cell selection in microscopic level. Moreover, Jiang Li-jun et al. [9] present a multi-parameterised model that simulates efficiently crowd evacuation for large stadiums. They use a 2.5-dimension CA, by attaching altitude attribute of the stadium terrain to each cell, which is used to describe the height of the cellular grid in 3D, while each cell dominates just 2D space. The simulation is agent-based, meaning that there are types of agents. There are objective factors that impact agent’s motion, like space availability, altitude, exit target distance and direction and space type. There are also subjective factors such as physical status and psychological situation that affect agents’ reaction. The model developed is a CA-based system, where crowd movement simulation is approached in a bottom-up way, defining the local rule of pedestrian’s interaction with her/his close neighbourhood and allowing the macroscopical behaviour to emerge. CA background enables the model to make use of powerful and sophisticated computation techniques for the development of useful modelling tools [10–12]. Consequently, it is a matrix-based system that discretises a floor area into CA cells. They may represent a free floor area, an obstacle, an area occupied by people, or a region with other attributes. Each cell is equivalent to the minimum area, which a person would occupy; in the proposed model the cell size was set to be 0.4 m  0.4 m [13]. Rules define transition of people from cell to cell towards the final goal. Simultaneously, it is inherently an emergent system, the fundamental concept of which is that the interactions among simple parts can simulate complex phenomena such as crowd dynamics [14]. CA can sufficiently represent phenomena of arbitrary complexity and at the same time can be precisely simulated by digital computers, because of their intrinsic discreteness [15]. Furthermore, distinct phenomena of crowd evacuation captured by the panic model of Helbing et al. [16], exist to the presented model as well; clogging in front of exits, crowd transition to incoordination due to clogging, people queuing or developing herding behaviour, i.e. following the behaviour of other people (Fig. 1). In some extent, the computational model simplifies the behavioural representation of individuals, by employing one decision rule (based on assumption of the least effort) to represent the complex nature of individual behaviours. Furthermore, all individuals are considered to be the same in terms of size, mobility, sex, age and decision-making process. Palmer and Bailey [17] argued that the pedestrian velocities (in an undisturbed

situation) can be considered as a normal distribution; furthermore, the average velocities of male and female pedestrians in the age group 30–50 years were considered to fit into the linear regressions (1.5637–0.806x)ms1 and (1.4334–0.806x)ms1 respectively, with a linear scale x between 1 (for age = 30) and 1 (for age = 50). An estimate of the average velocity would be 1.5 ms1, accordingly. Each cell of the CA grid stores simple values representing the state of its location. This simplicity is the inherent advantage of CA. The theoretical background of the model issues from an electrostatic-induced potential field, which is generated by charges at selected positions and provides the essential knowledge of the whole route. The generation of the virtual potential field is explained from a physics point of view. Negative charges are placed at exit points and generate attractive forces upon pedestrians and positive charges are placed where obstacles and walls exist and generate repelling forces upon them. For every position in the space there is a direction that provides a route to the exit. Occupants attempt to lower their potential, i.e. to reduce the distance from the target, with every step or grid cell they travel to. The model calculates the exact Euclidean distance between the destination and the pedestrian, thus allowing more precise movements and smoother changes of direction. Motion mechanism arises from the gradient of the distance toward a destination [18]. As referred to Khatib [19], in robotics the artificial potential at a certain position from the destination can lead to a potential, where local minima can occur and a robot has to be equipped with the ability to realise it is in a minimum and how to get out of it. The model encounters successfully the existence of obstacles that cause such irregularities in potential fields, thus extending flexibility in the movement of pedestrians. It adopts an efficient method to overcome trouble-inducing obstacles by shifting the moving mechanism to a potential field method based on Manhattandistance. Finally, the model is orientated as a real-time processing module of an embedded system that could prevent clogging in exits under emergency conditions. More specifically, the initialisation process could be originated along with a detecting and tracking algorithm supported by cameras and the automatic response of the processor provides the location of pedestrians around escape points. Consequently, the realisation of the model becomes a rational additional step. Moreover, in terms of circuit design and layout, ease of mask generation, silicon-area utilisation and maximisation of achievable clock speed CA are perhaps the compu-

Fig. 1. Distinct features of evacuation process.

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

tational structures best suited for a fully parallel hardware realisation. In contrast to the serial computers, the implementation of the model is motivated by parallelism, an inherent feature of CA that contributes to further acceleration of the model’s operation. The hardware implementation of the presented model is based on FPGA logic. The dedicated processor could be used as a real-time processing module of an embedded system, dedicated to surveillance that responds fast under crowd evacuation emergency conditions. Initialisation process is originated along with a detecting and tracking algorithm supported by cameras and the automatic response of the processor provides the location of individuals around exit points. The implementation of the CA-based crowd simulation model is advantageous in terms of low-cost, high-speed, compactness and portability features. In the length of this paper, the basics of CA are introduced in Section 2. In Section 3, the fundamental architectural concepts of the model are described. Section 4 presents the principles of the hardware implementation of the dedicated processor, followed, in Section 5, by examples and simulation results. Finally, the conclusions drawn are discussed in Section 6.

2. Cellular automata CA are models of physical systems, where space and time are discrete and interactions are local. In this section a formal definition of a CA will be presented [20]. According to Bandini et al. [21], CA are also agent-based models, but provide a more clear separation between the environment and the entities that inhabit, act and interact in it, thus leading to the definition of situated MultiAgent Systems [22]. CA shift the point of view to their environment and it is not necessary for a single agent to be individually intelligent for the system to demonstrate complex (intelligent) behaviours. Such systems (also called reactive-agent systems) are usually more robust and fault tolerant than other agent-based systems (e.g. an agent may be lost without any catastrophic effect for the system). Other benefits of such systems include flexibility and adaptability. Furthermore, CA offer an easy-to-implement framework, providing a cell-centered programming style, where computing units are regularly organised. CA also supply synchronous execution of massively parallel computational devices, thus reducing bias due to updating. A profound benefit of CA formalism is that it forces the programmer to solve conflicts between concurrent agents’ actions at the elementary level of the cell and forbids the use of any global procedure. As a consequence, the implementation on massively distributed devices is easy and it is possible to have a good efficiency by using parallel architecture to run CA simulations for GPU and for FPGA [23]. In general, a CA requires: 1. a regular lattice of cells covering a portion of a d-dimensional space; 2. a set Cð~ r; tÞ ¼ fC 1 ð~ r; tÞ; C 2 ð~ r; tÞ; . . . ; C m ð~ r; tÞg of variables attached to each site ~ r of the lattice giving the local state of each cell at the time t = 0, 1, 2, . . .; and 3. a rule R = {R1, R2, . . ., Rm} which specifies the time evolution of the states Cð~ r; tÞ in the following way: C j ð~ r; t þ 1Þ ¼ Rj ðCð~ r; tÞ; . . . ; Cð~ r þ~ dq ; tÞÞ, where ~ r þ~ dk designate the cells belonging to a given neighbourhood of cell ~ r. In the above definition, the rule R is identical for all sites and it is applied simultaneously to each of them. However, spatial (or even temporal) inhomogeneities can be introduced. Furthermore, in the above definition, the new state at time t + 1 is only a function of the previous state at time t. It is sometimes necessary to have a

287

longer memory and introduce a dependence on the states at times t  1, t  2, . . ., t  k. The neighbourhood of cell ~ r is the spatial region in which a cell needs to search in its vicinity. For 2D CA, two neighbourhoods are usually considered: The von Neumann neighbourhood, which consists of a central cell (the one which is to be updated) and its four geographical neighbours north, west, south, and east. The Moore neighbourhood contains, in addition, second nearest neighbours north-east, north-west, south-east, and southwest that is a total of nine cells. The local rules of CA define an emulation of actual macroscopical behaviour. CA are very effective in simulating physical systems and solving scientific problems, because they can capture the essential features of systems where global behaviour arises from the collective effect of simple components which interact locally [24]. The CA approach is consistent with the modern notion of unified space–time. In computer science, space corresponds to memory and time to processing unit. In CA, memory (CA cell state) and processing unit (CA local rule) are inseparably related to a CA cell. In addition, models based on CA lead to algorithms, which are fast because they exploit the inherent parallelism of the CA structure [25–27]. 3. Description of the CA-based evacuation model A new two-dimensional (2D) CA model based on electrostaticinduced potential field is proposed to simulate efficiently crowd behaviour in the process of developing an active guiding system of crowd during evacuation. Certain attributes of crowd behaviour, have been successfully incorporated in this model. Motion mechanism is based on as virtual potential field generated by electric charges at selected positions that attract pedestrians towards exit points or repel them from obstacles and walls. It is a field similar to an electrostatic one, described by the equation below, though it has some differences in order to be applicable in pedestrian motion.

~ Fð~ rÞ ¼

q 4peo

N N X Q i ð~ r ~ ri Þ q X Qi ^ ^~ ¼ rÞ R ¼ qEð 3 2 i 4 p e ~ ~ o j r  r j i i¼1 i¼1 Ri

ð1Þ

In Eq. (1), Q i and ~ r i represent the magnitude and the position of the ith charge respectively, R^i the unit vector in the direction of ~i ¼ ~ R r~ ri , i.e. a vector pointing from charge Q i to charge q and Ri ~i , i.e. the distance between charges Q i and q is the magnitude of R and ~ E the corresponding electric field. The unit vector in space is expressed, in Cartesian notation, as a linear combination of i = [1; 0] and j = [0; 1] and the values of its scalar components are equal to the cosine of the angle formed by the unit vector with the respective basis vector. The force is attracting when generated by charges located at exits and repelling when generated by charges that represent obstacles or walls. Assuming that each bounded area that includes an exit corresponds to an independent level, then coupling among different electrical fields is avoided. Efficient local updating rules demonstrate global behavioural patterns that distinctly characterise mass egress. Each pedestrian is represented by a test charge, with such a small magnitude that when placing it at a point has a negligible affect on the field around the point (Fig. 2). The resultant force upon a test charge converges to the closest attractive charge, which corresponds to the closest exit, thus generating the direction of movement for each pedestrian. The figure below displays the graphical solution of the case of convergence at the presence of four attractive sources and one test charge (see Fig. 3). The virtual potential field that sets up the motion mechanism for each of the pedestrians arises from the superposition of two

288

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Fig. 2. The effect of a test charge, which represents a pedestrian, on the field around the point (left) and the corresponding effect of an ordinary charge (right).

independent fields [28]. The first one introduces the attractive direction towards exits and it is generated by the following relationships:

to the analysis above, the generation relationships of that field are the following:

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi d ¼ ðxE  xÞ2 þ ðyE  yÞ2



1

h ¼ tan ððyE  yÞ=ðxE  xÞÞ dE x ¼ a cosðhÞ and dE y ¼ a sinðhÞ; dE x ¼ 0 and dE y ¼ 0; if d ¼ 0

if d > 0

qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ðxO  xÞ2 þ ðyO  yÞ2

ð6Þ

ð2Þ

h ¼ tan1 ððyO  yÞ=ðxO  xÞÞ

ð3Þ

dO x ¼ b cosðhÞ and dO y ¼ b sinðhÞ;

ð4Þ ð5Þ

dO x ¼ 0 and dO y ¼ 0;

where d denotes the Euclidean distance between the pedestrian located at (x, y) and the exit (xE, yE), h the angle between the pedestrian and the exit, a a constant that allows the adjustment of the strength of the field and dx, dy the components of the gradient T vector D~ v ¼ ½x; yT . The second field E v ¼ ½dE x; dE y of the vector ~ defines the repulsive motion away from obstacles and walls. Similar

if d > r

ð7Þ if d < r

ð8Þ ð9Þ

where d denotes the Euclidean distance between a pedestrian located at (x, y) and an obstacle (xO, yO), h the angle between the pedestrian and the obstacle, b a constant that allows the adjustment of the strength of the field, r the radius of the area that the repulsive field is effective and dx, dy the components of the gradient vector T D~ v ¼ ½x; yT . The relationship that repO v ¼ ½dO x; dO y of the vector ~ resents the total field is generated by adding Eqs. (4) and (7) and defines the target-cell for the next time step:

Fig. 3. Graphical solution of the case of the convergence of the resultant force upon a test charge.

289

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

dx ¼ dE x þ dO x and dy ¼ dE y þ dO y

ð10Þ

The aim of the presented model is to define the direction of an individual by guiding her/him to occupy one of the eight possible states of its closest neighbourhood (Moore), during next time step. According to the attracting force from the exit and the repelling forces from obstacles and walls, the coordinates of the next target-cell are calculated. In case that this is free or it has not been defined as target from another pedestrian, the initial pedestrian moves towards. Otherwise, the pedestrian searches for a neighbouring cell equidistant from the exit with the initial target-cell. In case that the target-cell is an exit, it is checked whether this is free or not. Only when the exit is free, then the pedestrian moves towards it. Besides, the model adopts a computationally fast and efficient method to overcome cases of obstacles that may trap pedestrians to an endless recurrent route or force them to stay immovable, e.g. U-shaped obstacles. The motion rule shifts to a mechanism less demanding regarding computational resources, described in a CA driven model that uses another potential field approach [29]. The gradient descent on the potential function designates the direction of movement, thus introducing a kind of global space knowledge for all pedestrians. From a mathematical point of view, this entrapment of the pedestrian can be explained by assuming that the

gradient of direction has reached a local minimum. The algorithm encounters this case by introducing a limit to the number of iterations around the entrapment point. As soon as the limit is reached, the pedestrian chooses a different direction releasing him/herself from aimless motion. In that case, the method used for the calculation of the potential field is a flood fill method, where the distance is calculated by moving a cell to closest neighbour cell and summing up the distances [18]. This operation is recursively applied to all surrounding cells. If a cell is occupied by an obstacle then this obstacle cell will not flood its neighbours. Consequently, it restricts propagation and allows refraction to occur around obstacles. Fig. 4 displays the effective response of the model under complicated conditions. Two internal bounded areas, each with unique exit and one general exit along with the presence of an U-shaped obstacle compose the circumstances of the example. As displayed, pedestrians are directed through interior exits towards the general, overcoming the U-shaped obstacle by moving around it. The occupied cell is always represented by the fifth cell of each row, while all other cells represent the eight closest neighbours, i.e. the north-west (NW), north (N), north-east (NE), west (W), east (E), south-west (SW), south (S) and south-east (SE) neighbour, respectively. As soon as all possible routes are detected, i.e. as soon as each of the n  9 elements of the matrix is calculated, the shortest

50

50

45

45

40

40

35

35

30

30

25

25

20

20

15

15

10

10

5

5 5

10

15

20

25

30

35

40

45

50

50

50

45

45

40

40

35

35

30

30

25

25

20

20

15

15

10

10

5

5 5

10

15

20

25

30

35

40

45

50

5

10

15

20

25

30

35

40

45

50

5

10

15

20

25

30

35

40

45

50

Fig. 4. Successive screenshots displaying clockwise the overcome of an U-shaped obstacle.

290

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Fig. 5. Common target-cell. Two adjacent cells (A and B) targeting the same cell. Priority is given to cell B that fronts the target.

prevails. Consequently, both the destination exit and the direction during next step are defined. The former is represented by the row of the minimum value element and the latter is indicated by its column. Provided that two different pedestrians (A and B) target the same cell, the corresponding outputs coincide. In such a case, priority is given to the pedestrian that fronts the exit (B). Taking into consideration that the Euclidian distance of cell A from target-cell T is greater than that of cell B from T (Fig. 5) the decision regarding priority is straightforward. A distinct feature of the model is that it calculates the direction of motion for each pedestrian based on the Euclidean metric. There are various metrics that can be suitable for the calculation of the distance. Each of them issues a different technique but also introduces an error compared to the Euclidean distance. In two dimensions, the p-norms that can be applied as metrics of distance are defined by the following relationship [18]: 1

k~ xkp ¼ ðjDxjp þ jDyjp Þp ;

p 2 Rþ

ð11Þ

The Euclidean distance is defined for p = 2, and this is actually the reference metric. Apart from the precision limits that a digital computer introduces, the model calculates during each time step the exact direction of movement, i.e. the Euclidean distance between the pedestrian and the exit. 4. Hardware implementation of the evacuation model Modern computers offer sufficient processing power to handle most of the analysis that several complex phenomena require. Though, the application of a general-purpose computer in some cases may not be desirable, or it is even impossible, due to high power consumption and significant size. Portable, embedded general-purpose processors may however be unable to handle more complex computational tasks. One of the methods to achieve the speed-up execution of the algorithm in such embedded systems is to use the potential of available FPGA-devices. They enable parallel processing of data using custom digital structures. Besides, CA circuit design reduces to the design of a single, relatively simple cell and the layout is uniform. The whole mask for a large CA array (the cells with their internal connections as well as the interconnection between cells) can be generated by a repetitive procedure so no silicon area is wasted on long interconnection lines and because of the locality of processing, the length of critical paths is minimal and independent of the number of cells [30].

There are many factors influencing the performance of a CA algorithm on a multiprocessor system; especially, the amount of resources that should be taken into account in order to make the comparison more valuable. Nevertheless, the application of the model to a multicore processor system remains a rational option taking into account its high-standard performance along with its easy code portability, high-level programming and reasonable cost. In the simulations cases that are described, the performance of the hardware implementation and that of the computer software are comparable. However, FPGA-based computation engines appear to be very attractive for CA algorithms, since CA consist of a uniform structure composed of many finite state machines, thus matching the inherent design layout of FPGA hardware. Moreover, FPGAs are useful for creating cellular architectures as they are reconfigurable, making it possible to model fault tolerance. Research into cellular architectures which can be made fault tolerant is of importance in the current era as faults are becoming increasingly common due to decreasing device dimensions, the increasing complexity of chips and the designs being implemented with them [31]. There are various recent CA-based applications that have been implemented on FPGAs and record significant performance evaluation compared to software. For example, in an image processing application, the system achieved speed-up of 10 for end-to-end applications compared to software implementations [32] and in a Lattice Boltzmann method realisation, an overall speed-up of 2.3 was achieved by moving from Fortran application to a single FPGA-based implementation. [33]. Additionally, FPGA implementations of CA applications have been realised in order to improve their performance; Halbach and Hoffman [34] have implemented CA on FPGAs and reported a speed-up compared to optimised software as well as Murtaza et al. [35] and more recently Jendrsczok et al. [36]. Besides, tests based on double-precision floating point operations’ (add/multiply) performance showed that FPGAs are competitive to multicore processors for particular applications implemented [37,38]. Finally, as FPGAs can be completely dedicated to a particular function, in several cases they are more energy efficient than general-purpose CPUs, which must be able to handle a variety of functions, and which support a large memory subsystem with different layers of cache [38]. Obviously, each implementation has its own features but the merits of CA-based applications on FPGAs along with low-power consumption, compactness and portability justify in many cases such an option. The motivation for using FPGAs proceeds from the fact, that this particular design comprises a significant part of an embedded electronic system further equipped with camera, dedicated to realtime prevention of clogging in exits under emergency conditions. From that point of view, power consumption, compactness and portability should play a significant role. Traditionally, FPGAs have been used in embedded devices displaying advantages over more conventional processors in terms of power consumption, flexibility and upgradeability. In our case, the design is suitable for autonomous applications and the proposed FPGAs can be programmed at run-time with the already presented parallel CA algorithm taking into advantage potential feedback provided by a camera. In the simulations cases that are described, the performance of the FPGA implementation, though not providing a speed-up, is advantageous in terms of power consumption, indicating total power dissipation equal to 32 W (indicated by the power analysis of the proposed Stratix FPGA), whereas a general-purpose processor is rated as requiring average 95 W (e.g. AMD dual-core 2.8 GHz Opteron) or to average 120 W (e.g. Intel 3 GHz quad-core Xeon) [38]. In this section, the principles of the implementation of the dedicated processor are thoroughly described. It is based on FPGA logic. FPGAs offer high density designs with low-cost demands. The

291

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Initialisation process

nxn CA grid

output

inputs CA cell

n

b (initial state matrix)

CA Euclidean based calculation

Counter matrix exit a Final CA map

output

load CA Manhattan based calculation

reset

Change function (if needed)

clk

Fig. 6. FPGA design of the proposed CA system.

overall module design was based on a parallel, pipelined architecture. The hardware design architecture is displayed in Fig. 6. The device used for this realisation is the Stratix EP1S80F1508C7 that belongs to the ALTERA family. The choice of the board constitutes a trade-off between performance and cost for the specific implementation, given priority to the low cost factor. Newer editions of Stratix family accelerate the performance of the implemented model but the cost rises significantly (Table 1). Furthermore, it should be clarified that a choice of a device from the cheaper Cyclone family was not adopted, because the Stratix part is more computational efficient in terms of logic elements and memory resources compared to the Cyclone part. Moreover, the latter presents slower speed grade as well. Basic statistical information of the implementation is provided in Table 2, as supplied by the compilation report of the programmable logic device design software (Altera Quartus). The fundamental structural part of the design is the cell of the CA grid module. According to the design (Fig. 7), each cell of the CA grid is supplied with nine, three (3)-bit length, input signals that correspond to the state of the cell itself -b(i, j)- and the state of each eight closest neighbours; b(i  1, j  1), b(i  1, j), b(i  1, j + 1), b(i, j  1), b(i, j + 1), b(i + 1, j  1), b(i + 1, j) and b(i + 1, j + 1). The length of the coordinates-x and -y of each CA cell is equal to round(log2(n)+1), where n corresponds to the variable that repre-

Table 1 Acceleration and cost comparison of Strarix: EP1S80F1508C7 board with newer boards of the same family. Boards compared to Stratix: EP1S80F1508C7

Speed-up ratio 1

Cost ratio 1

Stratix Stratix Stratix Stratix

1.43 1.85 1.95 1.87

1.46 2.29 2.17 1.88

II: EP2S180F1508C5 II: EP2S180F1508C3 III:EP3SL340F1517C3 IV: EP4SE530F43C3

sents the size of the grid (n  n). Moreover, there is a two (2)-bit length signal called load and the synchronisation signal -clk-, as well as the reset signal that brings the circuit back to its initial state and the output signal a(i, j). The evacuation of the area starts as soon as load signal is successively supplied with the values ‘11’, ‘10’, ‘01’, ‘00’. Each of these states triggers a sequence of essential operations and calculations for the evacuation process. Particularly, as soon as input load is given the value ‘11’, input b(i, j) loads its current value to the array of the present state, called c. This array is defined as an internal variable of the cell, allowing changes to the value of the cell’s state to take place directly, i.e. during the same clock state. As soon as the value of input b, becomes ‘10’ [equals to two (2) to the decimal arithmetic system and representing the general exit of the area] signals xe, ye are supplied with the values of coordinates of the cell, which are i and j, respectively. Provided that the value of input load is ‘10’, the value of input b(i, j) is different than ’11’ and that at the same time there is at least one of the signals that describe the state of neighbouring cells with value ‘11’, then the value of signals sumx and sumy in-

Table 2 Statistical information of the implementation. Analysis and synthesis Family Total logic elements Total pins

Stratix 79040 1212

Fitter Device Timing models Total logic elements Total pins Total memory bits DSP block 9-bit elements Total PLLs Total DLLs

EP1S80F1508C7 Final 57164/79040 (72%) 261/1212 (22%) 0/7427520 (0%) 0/176(0%) 0/12 (0%) 0/2 (0%)

292

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

b(i-1,j-1) b(i-1,j) b(i-1,j+1) b(i,j-1) b(i,j+1) b(i+1,j-1) b(i+1,j) b(i+1,j-1) b(i,j)

a(i,j)

Cell (i,j)

load reset clk Fig. 7. Block description of a cell of the CA grid.

creases or decreases to one. Sumx and sumy are intermediate signals of a cell. Whether signals sumx and sumy increase or decrease, depends on the exact location of the neighbouring cell. If the neighbouring cell stands upon or to the left of the cell of reference, then sumy and sumx increase their value by one (1), respectively. Otherwise, in case that the neighbouring cell stands below or to the right of the cell of reference, then the value of sumy and sumx is accordingly decreased by one (1). Variables sumx and sumy correspond to signals that indicate the resultant force acted upon each cell and generated by forces exerted by exits (internal or general), obstacles and walls. What follows next is the calculation of the vectors due to the attractive force of the general exit. This corresponds to an increase or decrease of the value of signals sumx and sumy by two (2), depending on the direction of the vector. A state of increasing (or decreasing) these values by two units, indicates that the magnitude of the attractive force of general exit is two times greater than the magnitude of the repulsive force of walls or obstacles. If the value of input load is defined to ‘01’, then the array of Euclidean distances is filled with the distances between cells and

x

y input

i-1 j-1 b1 i-1 j b2 i-1 j+1 b3 b: initial state matrix i

j-1

b4

i

j

b5

i

sumx adder

j

x

sumy adder load =10

c present state matrix

load =11

Trans matrix Destination vectors

Euclidean distance from the general exit

b7 b8

i+1 j+1 b9

xe bi=2

y

exit

i-1 j-1 a1 i-1 j a2 i-1 j+1 a3

bi = 3

j+1 b6

i+1 j-1 i+1

b5 ≠ 3

the general exit. A shift of this value to ‘00’ signals the commencement of the evacuation process. The states of occupied cells during next time step are stored in the array of next state, d. Variable d along with variable c and output signal a lead to the computation of movements during next time step and so on. In fact, variable-array d is copied to output variable a as well as to variable c (the array of present state), so as next time step movements to be determined. The main advantage of this approach is that the internal update of the states of the cells is reassured, avoiding feeding back inputs with output values. The size of the area, n  n, is the only variable, n, that is dependant on the specific case the model is applied to. All other parameters are automatically modified and computed according to the current conditions, providing an adaptable and efficient tool. Summarising the description above, Fig. 8 depicts thoroughly the structure of a cell of the CA grid for Euclidean based calculations, and clarifies the operation afore-mentioned. In case that the model records iterative motion or long immovability due to the presence of an obstacle, then it shifts to an operation based on Manhattan-distance. The adoption of such an operation lowers the level of accuracy concerning the direction

ye

d: next state matrix load =00

i

j-1

a4

i

j

a5

i

j+1 a6

i+1 j-1 i+1

j

a7 a8

i+1 j+1 a9 load =01 Fig. 8. Structure of a cell of the CA grid for Euclidean based calculations.

293

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

IncompN FEEDER

InruleN

. . . InruleE

. . .

CA cell sequential logic

8

inputs

outputs Combinational circuit Memory Elements

compCA CAvalue

IncompW InruleCA InitEN

clk

Fig. 9. Combinational part of a cell of the CA grid for Manhattan based calculations.

of pedestrians’ motion. However, the models apparently gains in terms of speed, since it holds the merit of simpler implementation. The need trouble-inducing obstacles to be successfully confronted leads to such a trade-off. Below, the implementation of that part is thoroughly described. The grid consists of two types of cells; external and internal cells. The design of each CA cell follows sequential logic. Each cell is sep-

arated into two parts; the combinational one, which mainly includes all computations taking place into cells and the memory part that passes the combinational results to adjacent cells during next time step. Furthermore, delay troubles are efficiently confronted. The combinational part consists of three structures operating successively (Fig. 9), namely (a) the closest exit identification cir-

Fig. 10. The schematic design of the closest exit tracker.

294

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Fig. 11. Neighbours coordinates computation circuit (left) and closest-to the chosen exit-neighbour tracker (right).

cuit, (b) the closest neighbourhood coordinates calculation circuit and (c) the shortest route tracking circuit. As soon as the initialisation process is completed, in case that a cell is occupied, the first circuit identifies the closest exit. In the meanwhile, the second circuit calculates the coordinates of the Moore neighbourhood and the third circuit proceeds to the detection of the closest neighbour to the recognised exit. The circuit representation of closest exit identifier (Fig. 10) clearly depicts the realisation of Manhattan-distance between occupied cells and exits:

Dmin ¼ minfjxelement  xexiti j þ jyelement  yexiti jg

ð12Þ

D corresponds to the distance of element (xelement, yelement) from exit i (xexiti, yexiti). According to Fig. 10, exit coordinates are loaded to two multiplexers followed by the control input, which is driven by a sub-circuit of adders, subtractors and comparators, properly connected. Control input defines each time the closest exit. In fact, the minimum Manhattan-distance between the occupied cell and the exits is tracked. The other two parts of the combinational circuit of a cell, i.e. the one that computes neighbour coordinates and the shortest route tracker are illustrated in Fig. 11. The left part depicts the circuit that implements the computation of the coordinates of the eight

Fig. 12. Interconnection between cells.

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

295

Fig. 13. External and internal cells.

closest neighbours of the occupied cell. The right part shows the corresponding hardware realisation of the closest-to the chosen exit-neighbour tracker for one of the nine elements of the n  9 matrix. As mentioned in Section 3, the n  9 matrix forms the basis of the algorithmic solution in case of pedestrians’ recurrent motion due to an obstacle. The implementation is repeated for the rest of the matrix elements. This is indicated by the dashed line in the bottom of Fig. 11. The set of these three structural parts realise in hardware the shortest route tracking methodology, i.e. the operation of the n  9 matrix. Focusing on the implementation of a single cell, it should be mentioned that for each cell, the outputs of the eight adjacent cells constitute eight one-bit inputs. Initial State and Obstacle are also one (1)-bit inputs. The former defines whether the cell is occupied or not, thus enabling or disabling the afore-mentioned circuits (closest exit to the cell, neighbours coordinates and shortest route tracker). The latter defines whether a cell or a group of cells should be identified as obstacle or not. Initenable is an enabling input that is on during the initialisation process. The other four eight-bit inputs define the coordinates of the cell and the exits. Regarding the outputs, for each cell there are eight single-bit, outputs but only one of them is equal to one during each time step. Feeder output is activated during the initialisation process and provides the cell with the appropriate initial data. There are also parallel-to-serial converters that drive parallel outputs to serial inputs in order to minimise the number of pins of the processor and serial to parallel converters inside the block that modify the serial routes to parallel. Fig. 12 displays a typical interconnection between cells. Apart from the parallel-to-serial converter, supplementary memory components are used in order to balance delays during signal propagation. Moreover, main structural devices pipeline the function they represent, incorporating a latency of some clock-cycles. The essence of pipelining is to break up a long process into smaller parts, and then to have each part to accomplish its mission and pass the result to the next part. Pipelined circuits contain registers in-between the logic blocks that break up the circuit into smaller pipeline stages. Applying this technique, the inclusion of eight-bit registers in-between structural devices is also essential for reasons of synchronisation, further increasing latency. Nevertheless, the appearance of a result at a constant period is reassured, hence increasing the throughput and/or the frequency of the entire circuit. Another feature of the design is the existence of different kind of cells in the CA grid; namely external and internal cells (Fig. 13). Their existence forms a solution for the initialisation of all cells. In fact, the difference is that external cells have a serial

data port, Initdata that supplies initial data to the grid, while internal cells have a parallel port, Initfeed that forwards initial data to internal grid. Initialisation process takes place in a semi-parallel way; initial data (e.g. coordinates) are serially provided to the processor through external cells. They are provided, though, simultaneously (that is in parallel) to all cells located at the left part of the CA grid. Inside the grid, data propagates through parallel channels, from one internal cell to the other. During initialisation, Initenable input, driven by an auxiliary circuit keeps all other inputs inactive. The adoption of such an initialisation method considerably shortens the number of input pins as well as the length of interconnections, thus accelerating the operation of the processor. 5. Simulation examples and results In this section, two explicit examples are developed, in order to clarify the operation of the design and that of its supplementary function in the case of a U-shaped obstacle. It will be graphically described the computation method of the magnitude of the total force exerted on a randomly chosen cell. Moreover, the corresponding signals will be displayed, for each successive step, further illuminating the process. For reasons of better readability and in order the operational principles of the design to be illuminated acutely, straightforward examples have been chosen. Nevertheless, all major circumstances, regarding obstacles and walls, interior and general exits or bounded areas have been included. Following the tables below, a randomly selected cell with coordinates (4, 1) is occupied. As shown at the right side of Table 3, different borders and shadings have been appropriately chosen in order to correspond to free cells, occupied cells, internal exits, general exit, as well as obstacles and walls, respectively.

Table 3 Initial state of the example and the corresponding borders and shadings.

296

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Table 4 Initial values of CA cells.

0 1 2 3 4 5 6 7

0 3 3 3 3 3 3 3 3

1 3

2 3

3 3

4 3

3

4

3

3 3 3 3 3 3

1

3

3

3

5 3

3

6 3

3

7 3 3 3 3 2 3 3 3

When load shifts to ‘10’, then it begins the computation of the consultant force acted upon the cell. The attractive force from exits and the repulsive force from obstacles and walls form the total force. According to the method, mathematically described by Eqs.

Table 8 Attractive forces acted upon reference cell on y-axis.

Table 5 Repulsive forces acted upon reference cell on x-axis.

Table 9 Total force acted upon reference cell on x-axis.

As soon as load changes to ‘11’, the state of the chosen cell is expressed by the 3-bit length signal b. Obviously, since the respective cell is free, the value of the signal is zero (0). In case that the cell is occupied, the corresponding value equals to one (1), while signal b equals to two (2) three (3) and four (4) provided that the corresponding cell represents a general exit, an obstacle/wall or an internal exit, respectively. Consequently, for the current example the initial values of all cells are given by Table 4.

Table 6 Repulsive forces acted upon reference cell on y-axis.

Table 10 Total force acted upon reference cell on y-axis.

Table 7 Attractive forces acted upon reference cell on x-axis.

Table 11 Distance between a cell and the general exit (left side, in the middle).

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

297

Fig. 14. The 4-bit signal transition, indicating the distance from the general exit.

Table 12 The whole route of the pedestrian towards the general exit.

(2)–(10), both x- and y-components of the total force are calculated. As clearly depicted by the Tables 5–10, regarding the cell of reference, there is a force down-directed (+2) and another one right-directed (+2). The corresponding values for all other cells are depicted as well.

According to the next step, the value of signal load becomes ‘01’ and the computation of the distance between each cell and the general exit takes place (Table 11). The corresponding distance of the cell under test and the general exit is six (6) steps and it is indicated by the respective 4-bit signal, transition, in Fig. 14. Finally, when load becomes ‘00’, the evacuation process begins. The 3-bit signal a, corresponds to the output state of the testing cell. According to this signal, the cell under test is occupied during the ninth time step, while signal load has changed all possible states (‘11’ ? ’10’ ? ’01’ ? ’00’) during the initial four cycles. Table 12 represents the whole route of the pedestrian to the general exit, displaying all cells that were occupied. As already mentioned, in case that a pedestrian faces an obstacle that may trap her/him to an endless recurrent route or forces her/him to stay immovable, the model changes its operation to the Manhattan-distance based mode. The example below explains clearly the method that initially determines the closest exit to an occupied cell and secondly indicates the closest neighbour to that

Fig. 15. Input data of the example. The coordinates of the pedestrian (3, 3) (circled at the bottom) and the coordinates of all exits. Circled above the coordinates of the closest exit.

298

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

Fig. 16. Output data of the example. The coordinates of the closest exit (second circle from above), the coordinates of the closest neighbour to that exit (first and third circle).

exit. Under the assumption that the coordinates of the occupied cell and all possible exits are known, the results prove the validation of the design. Input data are displayed at Fig. 15. Actually, for an occupied cell at point (3, 3), the closest exit, compared to those given, is the one located at (5, 3) and the closest neighbour to that exit is the East neighbour. Output results prove the efficiency of the method and the design as well. Actually, as illustrated in Fig. 16, the closest among all exits to the pedestrian located at cell (3, 3), is the one chosen with coordinates (5, 3). Clearly visualised to the embedded matrix as well, the closest neighbour of the cell of reference to that exit is the east neighbour, i.e. the one located at (4, 3). Indeed, E_out output is the only enabled output among all other single-bit outputs of the cell, hence indicating the direction that the pedestrian should follow at the next time step.

Fig. 17. Hexagonal, regular cells as the minimum area of pedestrian occupation. Introduction of more options of changes of direction.

6. Conclusions and future work The proposed CA model, based on electrostatic-induced potential fields successfully incorporates extended flexibility in pedestrian moving, also confronting effectively cases of obstacles that may trap pedestrians to a recurrent route or force them to stay immovable. One of the merits of the model is that it allows more precise movements and smoother changes of direction. The model calculates the exact direction of movement, defined by the Euclidean distance between the pedestrian and the exit and by the angle formed between the horizontal line and the line that connects the pedestrian and the exit. Furthermore, the model adopts a fast and efficient method to overcome trouble-inducing obstacles. In such cases, the model introduces appropriate limitations and shifts the moving mechanism to a potential field method based on Manhattan-distance. A future improvement of the presented model would be the adoption of regular hexagonal cells, as the minimum area that each pedestrian could occupy along with an expanded neighbourhood (Fig. 17). This could exploit more effectively the precise calculation of direction, introducing more options of changing direction and allowing more accurate movement. Moreover, targeting to further validation of the model, a calibration method based on real data acquired by cameras is elaborated. Actual motion based on recorded data is compared to the simulated one. Preliminary results are quite encouraging. The implementation of the proposed CA model is straightforward with no silicon overhead. It accelerates the response of the model by developing the distinct feature of parallelism that CA structures inherently possess in contrast to the serial logic of digital computers. CA are efficient computational structures for hardware realisation, in terms of circuit design and layout, silicon-area utilisation and maximisation of clock speed. Furthermore, the implementation is advantageous in terms of compactness, portability, high-speed, low-power consumption and low cost. The incorporation of the design as a real-time processing module of

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300

299

Fig. 18. Schematic diagram of a system for dynamic guidance of crowd evacuation under emergency conditions.

an embedded system dedicated to surveillance is also feasible (Fig. 18). The system could prevent clogging in front of exits under emergency conditions. Initialisation process is originated along with a detecting and tracking algorithm supported by cameras and the automatic response of the processor provides the location of pedestrians around escape points. The processor could be also supplied with the ability to produce signals that would redirect pedestrians, enhancing its effectiveness and efficiency. References [1] K. Hirai, K. Tarui, A Simulation of the Behavior of a Crowd in Panic, Systems and Control, Japan, 1977. [2] J. Chertkoff, R. Kushigian, Don’t Panic: The Psychology of Emergency Egress and Ingress, Praeger, London, 1999. [3] K. Law, K. Dauber, X. Pan, Computational Modeling of Nonadaptive Crowd Behaviors for Egress Analysis: 2004-2005 CIFE Seed Project Report, CIFE Technical Report #162, Stanford University, October 2005. [4] D.J. Low, Following the crowd, Nature 407 (2000) 465–466. [5] The Primrose Guide, Guide to Fire Precautions in Existing Places of Entertainment and Like Premises, HMSO, London, 1998. [6] T.J. Lightfoot, G.J. Milne, Modelling emergent crowd behaviour, in: Proceedings of the 1st Australian Conference on Artificial Life, Canberra, 2003, pp. 159–169. [7] S. Sarmady, F. Haron, A.Z. Hj. Talib, Multi-agent simulation of circular pedestrian movements using cellular automata, in: Proceedings of the 2nd Asia International Conference on Modelling & Simulation, IEEE Computer Society, 2008, pp. 654–659. [8] S. Sarmady, F. Haron, A.Z. Hj. Talib, Modeling groups of pedestrians in least effort crowd movements using cellular automata, in: Proceedings of the 3rd Asia International Conference on Modelling and Simulation, Bali, Indonesia, IEEE Computer Society, 2009. [9] J. Li-jun, C. Jin-chang, Z. Wei-jie, A crowd evacuation simulation model based on 2.5-dimension cellular automaton, in: Proceedings of the IEEE International Conference on Virtual Environments, Human–Computer Interfaces and Measurements Systems, 2009, pp. 90–95. [10] A.W. Burks, Theory of Self-Reproducing Automata JOHN VON NEUMANN, University of Illinois Press, Urbana and London, 1966. [11] I.G. Georgoudas, G.Ch. Sirakoulis, I.Th. Andreadis, A simulation tool for modelling pedestrian dynamics during evacuation of large areas, in: I. Maglogiannis, K. Karpouzis, M. Bramer (Eds.), International Federation for Information Processing, Artificial Intelligence Applications and Innovations, vol. 204, Springer, Boston, 2006, pp. 618–626. [12] I.G. Georgoudas, G.Ch. Sirakoulis, E.M. Scordilis, I.Th. Andreadis, A cellular automaton simulation tool for modelling seismicity in the region of Xanthi, Tnvironmental Modelling & Software 22 (10) (2007) 1455–1464. [13] C. Burstedde, K. Klauck, A. Schadschneider, J. Zittartz, Simulation of pedestrian dynamics using a two-dimensional cellular automaton, Physica A 295 (2001) 507–525. [14] S. Johnson, Emergence: The Connected Lives of Ants, Brains, Cities, and Software, Simon & Schuster, New York, 2001.

[15] I.G. Georgoudas, G.Ch. Sirakoulis, I.Th. Andreadis, An intelligent cellular automaton model for crowd evacuation in fire spreading conditions, in: Proceedings of the 19th IEEE International Conference on Tools with Artificial Intelligence, vol. 1, 2007, pp. 36–43. [16] D. Helbing, I. Farkas, T. Vicsek, Simulating dynamical features of escape panic, Nature 407 (2000) 487–490. [17] A. Palmer, R. Bailey, Sex differences and the statistics of crowd fluids, Behavioral Science 20 (4) (1975) 223–227. [18] T. Kretz, C. Bönisch, P. Vortisch, Comparison of Various Methods for the Calculation of the Distance Potential Field, . [19] O. Khatib, The potential field approach and operational space formulation in robot control, in: K.S. Narendra (Ed.), Adaptive and Learning SystemsTheory and Application, Plenum Press, New York and London, 1986, pp. 367–377. [20] I.G. Georgoudas, G.Ch. Sirakoulis, I.Th. Andreadis, Modelling earthquake activity features using cellular automata, Mathematical and Computer Modelling 46 (2007) 124–137. [21] S. Bandini, S. Manzoni, G. Vizzari, Agent based modeling and simulation: an informatics perspective, Journal of Artificial Societies and Social Simulation 12 (4) (2009) 4–12. [22] S. Bandini, M.-L. Federici, G. Vizzari, Situated cellular agents approach to crowd modeling and simulation, Cybernetics and Systems: An International Journal 38 (2007) 729–753. [23] A. Spicher, N. Fates, O. Simonin, Translating discrete multi-agents systems into cellular automata: application to diffusion-limited aggregation, in: J. Filipe, A. Fr, B. Sharp (Eds.), Springer-Verlag, Berlin Heidelberg, 2010, pp. 270–282. [24] R.P. Feynman, Simulating physics with computers, International Journal of Theoretical Physics 21 (1982) 467–488. [25] I. Kokolakis, I. Andreadis, Ph. Tsalides, Comparison between cellular automata and linear feedback shift registers based pseudo-random number generators, Microprocessors and Microsystems 20 (10) (1997) 643–658. [26] G.Ch. Sirakoulis, I. Karafyllidis, A. Thanailakis, A CAD system for the construction and VLSI implementation of Cellular Automata algorithms using VHDL, Microprocessors and Microsystems 27 (8) (2003) 381–396. [27] Ch. Georgoulas, L. Kotoulas, G.Ch. Sirakoulis, I. Andreadis, A. Gasteratos, Realtime disparity map computation module, Microprocessors and Microsystems 32 (3) (2008) 159–170. [28] M.A. Goodrich, Potential Fields Tutorial, . [29] I.G. Georgoudas, G.Ch. Sirakoulis, I.Th. Andreadis, Potential field approach of a cellular automaton evacuation model and its FPGA implementation, in: Proceedings of the 8th International Conference on Cellular Automata for Research and Industry, Yokohama, Japan, Lecture Notes in Computer Science, vol. 5191, 2008, pp. 546–549. [30] T. Toffoli, CAM: a high-performance cellular automaton machine, Physica D 10 (1–2) (1984) 195–204. [31] J.L. Weston, P. Lee, FPGA implementation of cellular automata spaces using a CAM based cellular architecture, in: Proceedings of the NASA/ESA Conference on Adaptive Hardware and Systems, 2008, pp. 315–322. [32] R. Porter, J. Frigo, A. Conti, N. Harvey, G. Kenyon, M. Gokhale, A reconfigurable computing framework for multi-scale cellular image processing, Microprocessors and Microsystems 31 (8) (2007) 546–563. [33] S. Murtaza, A.G. Hoekstra, P.M.A. Sloot, Floating point based cellular automata simulations using a dual FPGA-enabled system, in: Proceedings of the 2nd

300

[34]

[35]

[36]

[37]

[38]

I.G. Georgoudas et al. / Microprocessors and Microsystems 34 (2010) 285–300 International Workshop on High-Performance Reconfigurable Computing Technology and Applications, 2008, pp. 1–8. M. Halbach, R. Hoffmann, Implementing cellular automata in FPGA logic, in: Proceedings of the 18th International Parallel and Distributed Processing Symposium, Santa Fe, NM, United States, 2004, pp. 3531–3535. S. Murtaza, A.G. Hoekstra, P.M.A. Sloot, Performance modeling of 2D cellular automata on FPGA, in: Proceedings of the International Conference on Field Programmable Logic and Applications, 2007, pp. 74–78. J. Jendrsczok, P. Ediger, R. Hoffmann, A scalable configurable architecture for the massively parallel GCA model, International Journal of Parallel, Emergent and Distributed Systems 24 (4) (2009) 275–291. M. Langhammer, Double precision floating point on FPGAs, in: Proceedings of the 3rd Annual Reconfigurable Systems Summer Institute, National Center for Supercomputing Applications 1205 W. Clark St., Urbana, Illinois, 2007. Altera. White Paper. Designing and Using FPGAs for Double Precision FloatingPoint Math, 2007.

Ioakeim G. Georgoudas received the Dipl. Eng. degree in Electrical and Computer Engineering from the Aristotle University of Thessaloniki, Greece, in 2000. He received the M.Sc. degree in Microwaves and Optoelectronics from the Department of Electronic and Electrical Engineering, University College London (UCL), University of London, UK, in 2001. Currently, he is a Ph.D. candidate in the Department of Electrical and Computer Engineering, Democritus University of Thrace, Greece. He is a member of the Technical Chamber of Greece (TEE). He is a teacher of Informatics in Greek State Secondary Education. His research interests include large scale complex systems, cellular automata applications and electronic systems. He has participated in many international conferences and has published his work in international scientific journals.

Panagiotis G. Kyriakos received the Diploma Degree from the Department of Electrical and Computer Engineering, Democritus University of Thrace (DUTH), Greece, in 2009. Currently, he is a M.Sc. student in the Delft University of Netherlands. His current research interests include crowd evacuation modelling, artificial intelligence, electronic systems and real-time field programmable gate array (FPGA) implementation. He is a member of the Technical Chamber of Greece (TEE).

Georgios Ch. Sirakoulis received the Dipl. Eng. and Ph.D. degree in Electrical and Computer Engineering from the Democritus University of Thrace, Greece, in 1996 and 2001, respectively. He joined the Department of Electrical and Computer Engineering, Democritus University of Thrace, Greece, as a non tenured faculty member, in 2002, where he serves as Assistant Professor. He has published more than 70 technical papers and he is co-editor of one book and co-author of two book chapters. His current research emphasis is on automated electronic systems design, cellular automata theory and applications, CAD systems, physical design automation of VLSI systems, applied electronics, bioelectronics and molecular electronics. Dr. Sirakoulis received a prize of distinction from the Technical Chamber of Greece (TEE) for his Diploma Thesis in 1996. He is Associate Editor of the Recent Patents on Electrical Engineering and a member of the Institution of Engineering and Technology (IET), of the European Geosciences Union (EGU), of the International Society of Computational Biology (ISCB) and a member of the TEE. He was also founding member and Vice President of the IEEE Student Branch of Thrace for the period 2000–2001.

Ioannis Th. Andreadis received the Diploma Degree from the Department of Electrical and Computer Engineering, Democritus University of Thrace (DUTH), Greece, in 1983 (1978–1983 IKY Scholarship) and the M.Sc. and Ph.D. Degrees from the University of Manchester Institute of Science and Technology, UK, in 1985 and 1989, respectively. His research interests are mainly in electronic systems design, intelligent systems and machine vision. In these areas he has published some 200 referred publications in book chapters, international journals and conferences. He was awarded the IET Image Processing Premium in 2009. He received the best paper award (Computer Vision and Applications) in PSIVT 2007 as well the best paper award in EUREKA 2009. He joined the Department of Electrical and Computer Engineering, DUTH in 1993. He has supervised 7 Ph.D. theses, 12 M.Sc. theses and 51 diploma dissertations. He has served as reviewer for leading scientific journals in his areas of interest as well as member of Program Technical Committees of premier Conferences such as ICIP and ICASSP. Professor Andreadis is a member of the Board of Governors of the European Commission Joint Research Center (JRC). He is a Fellow of the Institution of Engineering and Technology, (IET – London, UK), an Associate Editor of the Pattern Recognition Journal (1996 – Present) and a member of the Technical Chamber of Greece (1983 – Present).