Elevators are one of the most common automation devices found in modern buildings. For the Smart Spaces building automation challenge, my focus is on optimizing elevator usage to achieve better crowd control and improve overall building efficiency. Traditional elevator systems often contribute to congestion and inefficient passenger flow, particularly in large, multi-story buildings.
The Problem with Traditional Elevators
In traditional elevator systems, passengers typically press an 'up' or 'down' call button in the hallway and wait for the next available car. Once inside, they select their destination floor. Passengers cannot choose a specific elevator car from the hallway, nor do they know the destination intentions or crowd level of the arriving car.
While this system may suffice in smaller buildings with limited traffic, it presents significant drawbacks in larger environments like corporate offices or malls with multiple elevators serving numerous floors.
Imagine you are on the third floor of a six-floor building and want to reach the ground floor. You press the 'down' call button.
- An elevator arrives, but it's already crowded with people heading to various floors, including some below yours.
- Seeing the crowd, you might decide to wait for the next elevator, hoping it will be less full.
Others wanting to go down also gather, increasing the waiting crowd size. - The next elevator arrives, potentially also stopping at intermediate floors, and the cycle of crowding and waiting continues. Passengers waste time, elevator trips become inefficient with multiple stops, and lobbies become congested.
Destination Dispatch Systems: A Smarter Approach
To address the inefficiencies and crowding issues inherent in traditional elevator systems, Destination Dispatch Elevator Systems (DDS) were developed.
How Destination Dispatch Differs:
The core difference lies in how and when passengers inputs their destination.
- Traditional: Press Up/Down in the lobby -> Enter arriving car -> Select destination floor inside.
- DDS: Select destination floor on a keypad/touchscreen in the lobby -> System assigns a specific elevator car (e.g., "Take Elevator C") -> Enter the assigned car (no buttons to press inside, or only door open/close and emergency).
Benefits of Destination Dispatch Systems:
- Increased Efficiency: By grouping passengers with similar destinations, the system drastically reduces the number of intermediate stops per trip.
- Reduced Travel Times: Fewer stops mean passengers reach their destinations significantly faster.
- Energy Savings: Optimized routing and fewer stops/start lead to lower energy consumption per trip.
- Improved Traffic Flow: More logical passenger distribution smooths overall pedestrian movement within the building.
Effectiveness in Crowd Control:
- Destination Dispatch Systems are highly effective at controlling crowds:
- Intelligent Passenger Grouping: Knowing destinations upfront allows the system to send cars directly to clusters of floors, preventing multiple elevators making redundant stops.
- Balanced Load Distribution: The system actively distributes passenger requests across all available elevator cars, preventing one car from becoming excessively crowded while others are underutilized. This directly tackles the scenario where passengers skip a full car only to wait for another potentially full one.
- Reduced Lobby Congestion: By assigning specific elevators ("Go to Elevator B"), passengers are directed efficiently, minimizing milling around the elevator bank and reducing perceived wait times.
- Eliminates Guesswork: Passengers know exactly which car to take, removing the uncertainty and frustration associated with traditional systems.
What will be done in this project
- A model elevator setup for a 3-floor building with 3 elevators will be designed
- Implement HMI displays on each floor. These displays will allow passengers to input their destination floor and will indicate the assigned elevator car for their journey.
- Control the movement of the three model elevator cars using motors positioned above the top floor of the model structure.
- Each floor will have LED indication to show whether the lift is moving up or down
- Data will be transmitted and stored in a database and will be displayed in a dashboard
- Analyze the collected data to evaluate performance. Based on this analysis, refine algorithm parameters, such as the 'overload', to optimize efficiency and passenger distribution.
Role of Hardware
While the overview of the elevator is mostly given with respect to algorithm, hardware plays the vital role in getting user input, processing motors and lift state on multiple floors, sending the data to cloud and updating the display to provide alerts. We will see the detailed role of hardware setup in upcoming weeks.
Role of Algorithm in DDE
Our elevator will take the following things into consideration
- Peak trend (up, down, NA)
- Number of trips the currently active lift is taking (cost)
- Overload
Example 01 - Normal Usage
All the elevators are in ground floor, and someone wants to go to second floor, the elevator A will be selected as it is nearer to the control panel.
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Ground | [ 2 ] | [20] | up | 2 |
B | Ground | [ 0 ] | 0 | NA | 0 |
C | Ground | [ 0 ] | 0 | NA | 0 |
D | Ground | [ 0 ] | 0 | NA | 0 |
E | Ground | [ 0 ] | 0 | NA | 0 |
Example 02 - Trend setting
Scenario 1 - Up and Down trend formation
Its the opening time of the mall, people are coming at random intervals in morning. There are people who wants to take the elevator to second and ground floors, the elevator A is in first floor and all other elevators are in ground floor. Since the elevator A is already in first floor, it will continue with the trend of Up and it reaches the maximum floor and the next elevator will come to first floor, pick the passenger and drop them in ground floor and its trend will remain not available.
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | First | [ 2 ] | [10] | up | 1 |
B | Ground | [ 1 , 0 ] | [10, 15] | NA | 2 |
C | Ground | [ 0 ] | 0 | NA | 0 |
D | Ground | [ 0 ] | 0 | NA | 0 |
E | Ground | [ 0 ] | 0 | NA | 0 |
Scenario 2 - Dispatching elevators based on trends
Let's say, this is evening. People who return from work usually visit malls around this time and there will be a nearly equal amount of people coming in and leaving out, thus both up and down trend will be created here. Imagine the below scenario. There are two lifts available at third floor, one with uptrend and another with down trend. If someone wants to go to fourth floor, elevator D will be selected as it is in up trend.
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | First | [ 2, 5 ] | [10, 35] | up | 4 |
B | Second | [ 1 , 0 ] | [10, 15] | down | 2 |
C | Third | [ 3 ] | 0 | down | 0 |
D | Third | [ 3 ] | 0 | up | 0 |
E | Fifth | [ 2, 0 ] | [30, 25] | down | 3 |
So far we have seen how trends can be used to identify which lifts to dispatch. Let's see how cost and overload will affect the trend and might change the direction of trend in further scenarios.
Example 03 - Overload and Cost
So far we have seen the columns overload and cost with values assigned to it. Let's see how the values are calculated and how it will be used.
The cost will be number floor it needs to travel, and the overload will be calculated by multiplying the cost to reach the next floor by 10 and adding 5 (for the intermediate floors it drops to)
overload = [(Cost_to_next_stop * 10) + 5 for intermediate stops]
If the number of intermediate stops are high, the time to drop off the passengers and moving to next floors will increase in time. Thus, using these factors overloading of the elevator can be avoided.
Example:
Let's say, if an elevator moves from Fifth floor to ground floor with intermediate stoppings like below,
cost54 = 5 - 4 = 1; Overload = 1 * 10 = 10;
cost42 = 4 - 2 = 2; Overload = 2 * 10 + 5 = 25;
cost20 = 2 - 0 = 2; Overload = 2 * 10 + 5 = 25;
cost50 = cost54 + cost42 + cost20 = 5
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Fifth | [ 4, 2 ,0 ] | [10, 25, 25] | down | 5 |
After dropping the passengers at fourth, second and ground floors, the cost and overload will be updated like this
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Fourth | [ 2 ,0 ] | [20, 25] | down | 4 |
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Second | [ 0 ] | [20] | down | 2 |
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Ground | [ 0 ] | [0] | down | 0 |
Scenario 1 - Avoiding overload
In the below example, both the elevator A & B are moving down to ground floor from fifth floor. If someone at fourth floor wants to goto second floor, elevator B will be selected as the elevator A is already overloaded.
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Fifth | [ 3, 2, 0 ] | [20, 15, 25] | down | 5 |
B | Fifth | [ 3 , 0 ] | [20, 35] | down | 5 |
Scenario 2 - Fastest arrival
Consider the same elevator locations as above example, but this time, someone wants to travel to second floor this time. Elevator A will be selected as it is already on travel drop point for elevator A and adding this travel point to B will increase the time to drop off the passengers from third floor to ground floor for the passengers inside elevator B.
Lift ID | Current floor | Upcoming trips | Overload | Trend | cost |
---|---|---|---|---|---|
A | Fifth | [ 3, 2, 0 ] | [20, 15, 25] | down | 5 |
B | Fifth | [ 3 , 0 ] | [20, 35] | down | 5 |
Thus using the destination dispatch elevators, buildings can keep the pathways and lobbies crowd free while also reducing the time to wait for an elevator to arrive.
Upcoming stages
- Setting up the software stack (MQTT server, database, and dashboard) and verify with setup with dummy data using python script
- Exploring the NXP boards and with examples on GPIO, PWM, and UART.
- Setting up the demo for Destination Dispatch Elevator, visualizing the data
- Wrap up and final presentation.
Disclaimer
I used Google's AI Studio to make certain sentences easier to read and Notebook LLM to create the video based on the above content. The algorithm used is based on generically available information on destination dispatch elevators. No copyrights infringement was intended.