Professional Documents
Culture Documents
Implementation of Dispatching Algorithms
Implementation of Dispatching Algorithms
32
implement the LCSs. A Java interface was implemented for based on AI, neural networks and genetic algorithms have been
simulating the main tasks of an EGCS (the user manually chooses reported [6,10,16,17,18].
the algorithm for each LCS) apart from testing and monitoring the
different EGCS functionalities. Additionally, this tool provides Many studies have been done and important progress has been
commands to the system architecture through the RS485 interface. made regarding algorithms to assign hall-calls. Several techniques
The novelty of this approach is that the LCSs are capable to run assume that the desired floors are equally likely, and later on
four different algorithms, which are suitable for different explain how non-uniform destination probabilities can be handled
passenger traffic situations. Thus, the EGCS only must determine [12]. Additionally, it is assumed that the full state of the problem is
the best algorithm to be run in each LCS. This approach has direct known for the scheduling system; namely, the number of people
impact in reducing the data traffic in the network given that the standing on each floor is known. It is clear that such information
EGCS is not directly involved in calculating next floors to be cannot be obtained only by inspecting the number of hall-call
visited. The algorithms were described in VHDL and implemented button pressed. To solve this, different approximations involving
on Spartan3 FPGA based boards [5, 23]. As soon as an algorithm several qualities are proposed [12].
is selected on a LCS the three others are disabled by stopping the In general, the problem of finding the best solution is very hard; in
corresponding clock signals. This reduces the power consumption fact, if n passengers are assigned to a car, there are n! orders for
of the system. them to be picked up. If all orders are allowed and will be
Section 2 describes works on elevator controller techniques. considered by the scheduling system, the corresponding planning
Section 3 presents basic concepts of the proposed architectural problem is NP-hard even for a single car [12, 15]. This problem
system. Section 4 describes the hardware implementation of the can be seen as a special case of the Dial-a-Ride-Problem (DARP)
algorithms. Before concluding, section 5 describes the Java where objects have to be moved between given sources and
interface and shows the implementation of the network. destinations in a transportation network by means of a server.
DARP comprises well-known NP-hard problems such as the
2. RELATED WORK traveling salesman problem. The special case of elevator
scheduling is the one where the transportation network forms a
Elevators were introduced in the 1890’s when each car was caterpillar which also has been shown NP-hard [8]. In [12] a
individually controlled by an attendant riding it. In the 1920’s it heuristic is proposed, based on the fact that the elevator will move
was introduced the first semiautomatic elevator controller where in the current direction until all passengers who are requesting
the attendant’s job was reduced to close the doors and start the car rides in this direction are picked up and delivered. Afterwards, the
[17]. The fully automatic elevator was introduced in the earlier car moves to the first hall-call in the opposite direction, and
1950’s eliminating the attendant altogether. Because of the repeats the same procedure for all opposite hall-calls. This solution
increasing in processor speed and memory capacity it was possible is reported as being rarely sub-optimal [12].
to implement complicated dispatching algorithms. Modern
dispatching algorithms employ expert system techniques, fuzzy 3. DESCRIPTION OF THE SYSTEM
logic, rule and search-based strategies, learning approaches,
dynamic programming, among others. The system’s description is shown in the Fig. 1. There are an
EGCS, several LCSs and an RS485 based network system. The
The oldest elevator schedulers used the collective control principle EGCS is a high level system, which has to choose the best strategy
according to which cars always stop at the nearest floor call in for each LCS.
their running direction [12], a far from optimal strategy that
usually results in bunching – the phenomena where several cars MASTER Slave 1 Slave 2 Slave 3 Slave N
arrive at the same floor at about the same time [12]. The jamming Rx Rx Rx Rx
RS 485 Network
Rx
RS232
RS232
RS232
Elevator 3
Elevator 2
•••••
defined as the time necessary for a car to reach the respective floor
of the new hall-call, given several restrictions such as loading or
unloading passengers already assigned to it. Several problems
related with RRT are discussed in [12] such as ignoring the time Figure 1. The system environment
required for the passengers to get off.
Each LCS manages the choice of the next floor to be visited and
Approaches using fuzzy logic based methods which are capable to implements the logic circuits for the motion system. The network
prescribe a correct assignment to a car given a new hall-call [21, system is composed of several hardware nodes that implement the
22]. Well-known criteria as Average Waiting Time (AWT) and physical layer of the network. Each LCS is connected with the
Residual Waiting Times (RWT) are discussed in [12]. Also, network nodes via serial interface (RS232). Characteristics of the
techniques based in discrete-state Markov and Markov decision network were developed for this application (see Section 5).
problem formulation are shown in [4, 12, 13]. Also, techniques Elevators have car buttons for choosing a desired floor and one or
two floor calling buttons. When they have two floor buttons, they
33
are used to determine the direction (up/down). The process to a) Collective/collective (C) implements the collective principle in
assign an elevator is represented by the following steps: both the up- and down-ways. The car stops in the floor sequence
a) A passenger who wishes to go to the floor x press a hall-call given by the floor calls during both the up- and down-trips. This is
button and stand waiting until the elevator moves to the floor done by taking into account the nearest floor-call instead the order
where the hall-call occurred. in which the calls were given. The Fig. 2.a shows the sequence of
b) The hall-call is transmitted to the LCS, which is currently visited floors in an up/down trip for an 8-floors building.
running a given algorithm. The LCS attends the solicitation. b) Selective-down/Collective-up (U) collects the hall-calls during
c) The LCS transmits the solicitation to the EGCS (via the the up-trip. In the down-trip the system initially chooses the lowest
RS485 based protocol). hall-call to be visited first (selective step). Following, the calls are
d) The EGCS gather the data sent by the LCS and periodically attended in sequence (collectively), stopping always in the nearest
chooses what algorithm will be suitable for the current calling floor, during the up-trip (see Fig. 2.b). This algorithm is
situation. To do that a fuzzy system was implemented. suitable when the up-direction traffic is the majority.
The Java interface runs over PCs (Fig. 1) and is capable to c) Selective-up/Collective-down (D) switches the up- and down-
represent different situations of a real elevator system sending data premises of the previous one being suitable when the traffic is
and commands through the RS485 network to the LCSs. majority in the down-direction (see Fig. 2.c).
d) Selective-Collective/up-down (CSud) is implemented by using
4. THE ARCHITECTURES OF THE LCS two hall buttons. It attends the up-hall-calls in a collective way
(collective step) (see Fig. 2.d). Before the car begins its down-trip
The implementation of the LCS follows the collective principle in the algorithm chooses the highest hall-call due to a down-button
[12]. That is, the calls can be registered in an array, which can be selection (selective step). Then this floor is visited (in the up-trip).
sorted according to a previous defined strategy. The basic structure Afterwards, the system attends the down-hall-calls in a collective
(illustrated in the Fig. 2.a) can be used for hardware way during the down-trip. Then, it chooses the lowest hall-call
implementation of the collective principle. In this case hall-calls (due to an up-button selection) to be visited. This is suitable when
are recorded in the array and the elevator control sequentially visits the passenger traffic is equal in both up and down directions [12].
every cell. Every array’s cell stores one bit and this bit can be set
4.2 The basic hardware structure
by both hall-calls and car-calls. The elevator control turns-off the
corresponding bit whenever a floor is visited. This algorithm is The circuit is composed of an n-bit array and a multiplexer set,
simple and guarantees that the next floor, which is related with a where the ith cell represents the ith building floor (see Fig. 3). Each
call, will be visited in the next time. multiplexer controls the signals coming from the hall-car-calls (Ei)
and control-unit signal (bit_rst signal). Every hall-car-call can be
4.1 Algorithms implemented in hardware registered in the array (by writing “1” in the respective cell).
Otherwise, the control unit can independently reset each cell by
The algorithms follow the collective principle where the registered writing “0” in the bit-line and selecting the respective ith cell by
calls are memorized and then, the elevator can pick several hall- using the Ci control bit.
calls during the up/down trip.
34
floor is actualized at the up-state and down-state, which are
responsible to generate the ControlMux and bit_rst signals as well.
The second FSM (FSM_ele) is responsible to lead the car to the
respective next-floor apart from relays output signals such as Door
(controlling the elevator door), PWM (controlling the motor’s
speed, motor_dir (controlling the motor direction). The FSM_ele
has three states: init-state, up-direction-state and down-direction-
state. The FSM compares the current floor with the next-floor
(previously calculated by the FSM_reg) and relays the proper
signals to lead the car to a given floor.
Figure 5. Basic hardware structure for a sequential search
35
elevators (1 to 8 elevators) and of floors (2 to 99 floors). The VEI FSM_reg calculates the highest down hall-call to define the next
is connected to the RS485 network through an RS232/RS485 floor (next = “111”, eighth floor).
converter (Fig. 1). Initially, the VEI sends the current time, hall
and car calls to the EGCS; afterwards, each LCS processes this The VHDL synthesis was done using the ISE Xilinx tool [23] and
information and sends back the status of each elevator; finally, the its results are showed in Table 1 for the Spartan 3 family. Table 2
VEI receives the data, generates an animation and displays the shows the synthesis results of the main components in the Spartan
waiting/traveling time in real-time. A simple communication 3 implementation, where it can be observed the cost and
protocol between the VEI and the LCSs manages the data traffic performance of each circuit component. The dispatching
through the serial port. The main communication protocol between algorithms of the elevator system were implemented for eight
the VEI and the LCSs is based on the RS485 network. In this floors. FSMs consume the most look-up table resources.
protocol each LCS is a remote station and the VEI is the host.
Remote stations can be operated either in mode free or slave. In the Table 1. Synthesis results of the Dispatching Algorithms
free mode, the LCS will send data to the host whenever a new Elevator System
event occurs in its sensors or inputs. In the slave mode, the LCS
only can send data to the host in response to commands. Device No 4 input Slice FFs IOBs Max Freq.
LUT MHz
The main communication protocol operation is based on host Virtex2P 1780 out of 507 out 25 out of 148.727
queries/responses from each remote device. Only in the free mode 47232 of 47232 812
the remote stations can transmit data without host permission. Spartan3 1767 out of 507 out 25 out of 70.641
Several commands were implemented for the communication 3840 of 3840 173
among devices, such as input-request, outputs-request.
The system has two parts: the communication part and the elevator 4 input Slice FFs IOBs Max
one. The former is composed of serial communication and network Function LUT Max: Max: Freq.
protocols (to support RS485 networking). The three first Max: 3,840 3,840 173 MHz
algorithms share the same basic hardware structure (Fig. 3). The Register 8 8 27
last algorithm (Collective-up/Selective-down) was implemented C 338 53 23 84.72
using two independent basic structures (section 4.4). Otherwise, U 372 52 23 74.00
the FSM, which implements the elevator car control, is shared by D 377 52 23 77.40
all implemented algorithms. Inputs of the system can be setup CSud 358 81 23 81.68
directly using the graphical VEI. Also, the outputs are animated in FSM_ele 60 36 13 134.26
VEI, showing real situations such as the motor elevator, door Serial
status and the car status display. 123 115 78 158.03
Comm
the Fig. 7 shows a ModelSim [11] simulation of the state machine VEI
111 66 37 103.45
for the Collective-up/Selective-down algorithm. It shows the FSM, Protocol
hall-calls inputs, motor, door and display outputs. After the system
is reset, the hall-calls E4, E5 and E7 are selected. It can be verified
7. CONCLUSIONS
in the register signal (Register = “01001111”), where the zeros are An elevator dispatching system based on four elevator dispatching
the hall-calls store up. The next signal (Next Floor) indicates algorithms was implemented on FPGAs. The communication
which one of these inputs is going to be attended first. For the between the Java testing interface VEI and the LCS devices and
collective-up algorithm, the E4 hall-call must be visited first. In the hardware necessary to support the network protocol based on
fact, the system is going to the fifth floor (E4, Next Floor = “100”). the RS485 interface were implemented on Spartan3 FPGA based
However, during the up trip the E3 hall-call is selected, and now it boards. The hardware resources consumed by the implemented
must be attended first. The system recognizes this call and it algorithms are very similar (see Table 2). The user can provide
becomes the next signal (Next Floor = “011”). Then, the elevator tests and choose the desired algorithm via network commands
will stop in the fourth floor. The next signal is the input of the using the developed Java interface VEI. The implementation tries
FSM elevator (Fsm_ele) where outputs such as at, current floor, to reduce area by sharing resources. For accomplishing this, the
motor, door and display obey the next signal that is calculated in same register structure is shared by the algorithms.
the state machine dispatching algorithm (FSM_reg).
The coupling of the modules is accomplished through multiplexers
the Fig. 8 shows the simulation of the system containing the fourth that are capable to implement the algorithm selection. Also, the
dispatching algorithms. The signal for algorithm selection FSM that implements the car control (motor control, door control,
(selalgor) chooses which one of the four algorithms will be run. etc.) is shared by the algorithms. Through the VEI the user can run
When it is setup as “100” the Selective-Collective/up-down real-time tests for a truly evaluation of the different control
algorithm is selected. The Up hall-calls E1, E5 (second and sixth strategies.
floors) and the Down hall-calls D3, D7 (fourth and eighth floors)
are pressed, stored up in the register and the FSM_reg selects the As future work we propose the implementation of other control
lowest up hall-call to define the next floor (next = “001”). Once the strategies such as the ones based on fuzzy expert systems for data
second floor is visited, the elevator goes to the sixth floor and once traffic passenger management and call assignment methods in
the sixth floor is visited, this selection is reset from the register and order to decrease the waiting time of passengers and the power
consumption of the elevator group control system (EGCS).
36
Figure 7. Collective up / Selective down Algorithm simulation.
37