Content uploaded by Siddharth Das
Author content
All content in this area was uploaded by Siddharth Das on Jan 09, 2019
Content may be subject to copyright.
A Novel Parking Management System, for Smart
Cities, to save Fuel, Time, and Money
Siddharth Das
Evergreen Valley High School
San Jose, CA 95135 USA
Email: siddharth.das1@yahoo.com
Abstract—In modern society, we often spend 5 to 10 minutes
trying to find a spot in a parking garage. Parking garages are
commonplace, but they are extremely inefficient. According to a
study done by Inrix, the authority on vehicles and transportation,
over 70 billion dollars are wasted every year searching for
parking. In that process, we waste 3.6 billion hours of time and
1.7 billion gallons of fuel. That is a lot of wasted resource.
In this project, I propose a novel parking management system,
which consists of hardware and software modules. On the
hardware side, Raspberry Pi device is used along with few other
parts like sensors and cameras. On the software side, python
modules are implemented with efficient data-management. To
test the system, I have modeled different possible actions of the
drivers and ensured that the proposed parking system performs
perfectly. I have outlined three core situations. First one is when
drivers park correctly, the second one has error-correction, and
the third one requires error correction involving multiple cars.
This system can be used in any large parking structure in the
modern smart cities. Some examples are hospitals, companies,
downtown, airports, malls, events etc. The system is affordable,
as the hardware-cost is about $200 for each parking spot.
Index Terms—Parking Management, Smart Cities, Internet of
Things, Sensor System, Image Sensors, Smart Buildings
I. PROB LE M STATEM EN T AN D MOTI VATI ON
Urban planners, including the noted researcher Donald
Shoup and adviser Paul Beter have concluded that on an
average, cars are parked about 95% of the time [1]. USA
Today published a report stating that the regular drivers spend
an average of 17 hours every year searching for a parking
spot [2] to park their car. These conclusions were drawn based
on quite extensive data gathering, mathematical analysis, the
study of survey results and statistical extrapolation.
Fig. 1. Waste Due to Search for Parking in the USA
In developed economies, transportation and congestion are
steadily showing a growing trend. In developing and transition
economies, urban mobility demand is pushed up by population
Fig. 2. Waste due to Search for Parking, in different cities in the USA
and economic growth. This analysis is supported by the Mo-
bility in Cities Database (MCD) from UTP [3] that provides
key insights into transport patterns and trends for more than 60
metropolitan areas worldwide. Studies in different European
and Asian countries also support a similar type of conclusion.
Inrix specializes in the domain of connected car services
and transportation data analytics. They did a comprehensive
parking study, based on data from over 100,000 locations in
8,700 cities in 100 countries. Their data shows that in The
United States of America, every year people waste 3.6Billion
hours (Fig 1) in just trying to find the parking spot to park
their car. As a result, about 1.7Billion Gallons of gasoline
fuel gets wasted every year, which costs about $72.7Billion
from the economy of The United States of America [4].
Annual search time for parking in different cities of USA,
for each driver (on an average) is shown in Fig 2. The data
shows that an average New York driver wastes about 107 hours
every year, just to search for a parking spot. As a result, the
total wasted cost in New York alone is about $4.3Billion.
This problem is spread in all over the world, and not just in
the USA. Annual search time for parking in different cities of
the USA, for each driver, is shown in Fig 3. The data shows
978-1-7281-0554-3/19/$31.00©2019 IEEE
Fig. 3. Waste due to Search for Parking, in different cities in the UK
that an average London driver wastes 67 hours every year, just
to search for a parking spot. As a result, the total wasted cost
in only the City of London is about 4.3Billion pounds.
Different researchers have proposed various methods to
improve the parking mechanism. In [5], authors propose low-
cost UAVs that can be used to collaboratively identify free
parking spots of parking lots within campuses. A wireless
sensor network for locating parking spaces was designed in
[6]. In [7], an Ad Hoc networking approach was used to reach
available public parking spaces in Urban Environments. A
video-based approach to detect the presence of parked vehicles
in street lanes was proposed in [8]. In [9], authors proposed
a privacy-preserving smart parking navigation system with
efficient navigation result retrieval for drivers using Bloom
filters. The smart parking system explained in [10] allows
drivers to book a particular parking spot well in advance. In
addition, the system also helps in automatic cashless billing,
hacking intimation and post-trip booking. In [11], authors
propose a system leveraging the latest technologies that will
help the motorists overcome their parking problems and at the
same time, make managing a parking space easier and cost
effective by automating the entire process right from the pre-
booking a parking slot to making the payment.
All the above-mentioned research work focus on identifying
the available spots, or streamlining the booking process or
payment system or some other specific parts of the parking
process, but none of them focus on developing a complete
end-to-end parking solution that improves the overall parking
experience of the driver. In our proposed approach, we bring
in that unique concept where we guide the driver to the
best available parking spot. Our proposed system seamlessly
manage all the possible conflicting situations.
We have organized the rest of the paper as follows: In
Section II, we discuss the flow and internal details of our
proposed approach. The experimental setup and the simulation
results are presented in Section III. In that section, we present
three fundamental situations that happen in the parking lot.
In Section IV, we list few possible real-world application of
this technique. A couple of important future enhancements are
presented in Section V. Conclusions are drawn in Section VI.
II. DE TAIL S OF OU R APP ROACH
Our proposed solution has both hardware component and
the software component. In this section, we first explain the
details of our hardware design. After that, we describe the
details of the core software engine that drives the hardware.
A. Hardware Details
In the hardware part, I use the following components:
•Raspberry Pi 3device: This is the main computing
unit of the proposed overall parking management system.
In my prototype implementation, I have used only one
Raspberry Pi device, to save cost. In the actual proposed
Parking management system, there will be multiple Rasp-
berry Pi devices that need to be used. Details are as
follows:
–At the front entrance of the parking garage, for each
incoming lane, a set of 16 Raspberry Pi devices and
16 cameras will be placed. Each of these cameras
will take picture of one part of the back of the car.
16 cameras are needed to improve the change of
correctly spotting the location of the license plate.
–In the entrance of the parking garage, for each
incoming lane, there will be one Master Raspberry
Pi device and a Distance Sensor. The sensor will
spot an incoming car and will communicate to and
control each of the 16 devices at the front entrance.
–In addition, 2Raspberry Pi devices will be placed
near each of the individual parking locations. One
of the devices will take the picture of the front of
the car, and the other one will take the picture of the
back of that incoming car.
For example, if I am installing this mechanism in a multi-
level parking garage that can hold 1,000 cars, and has 3
incoming entrance lanes, I would need to use the follow-
ing devices: 51 Raspberry Pi devices at the front entrance
(16 *3and 1*3) and 2,000 Raspberry Pi devices for all
the parking spots. Therefore, a total of 2,051 Raspberry
Pi devices will be required for this system. Each device
will be connected to various components.
•Ultrasonic Distance Sensor: Fig 4 shows the picture of
an ultrasonic distance sensor that can work with a Rasp-
berry Pi device. This sensor is placed on a BreadBoard
and connected using wires. There will be one sensor
connected to each of the Raspberry Pi devices.
•Raspberry Pi Camera: We used a Raspberry Pi Camera
that can work with a Raspberry Pi device. This Camera is
connected to the camera slot in the Raspberry Pi device.
Fig. 4. Ultrasonic Distance Sensor in our hardware block
Fig. 5. Complete Hardware Block
There will be one Camera connected to each of the
Raspberry Pi devices. For example, if I am installing this
mechanism in a multi-level parking garage that can keep
1,000 cars, and has 3 incoming entrance lanes, we will
need 2,048 Cameras (Each Pi needs a camera, except for
the 3Master-Pi units at the front entrance)
•Display Boards: We need some display boards. There
will be one display at the entrance (one per lane), and
one display board for each parking spot.
•A set of BreadBoards and Wires: These are needed
to connect these different hardware components with the
Raspberry Pi devices
Fig 5 is the picture of one overall combined hardware block,
that has a Raspberry Pi device (with power supply), a Camera
for Pi and a Distance Sensor on the BreadBoard. As mentioned
above, each of this combined unit will be placed for each
parking location. Fig 6 shows the picture of how 16 Units
will be positioned at the front entrance, for each lane.
B. Software Details
In this section, I explain the details of the software section.
All the code is written in Python language and the program
runs on the Raspbian operating system. The system can
handle multiple entrances to the parking structure (garage).
One important feature is the automated data management to
keep track of contents of each of the parking spots, and the
instructions between the front entrance and individual parking
Fig. 6. Complete Hardware System at the Entrance
spots. A cloud-based database is the best option for the data-
management. This can also be done through point-to-point
instruction communication system. Anohter important feature
is to extract the License plate number, from the image of
the license plate. For that, I used the Google Cloud Vision
API [12]. All the parking assignments are communicated to
the individual car pagers by using the Simple Mail Transfer
Protocol (SMTP) sendmail [13] framework.
All the python code runs on each Raspberry Pi device.
The code will interact with the all the hardware and software
packages, as needed. The software routines will accomplish
the following flow:
•In each lane of the Entrance, there will be a Master
Raspberry Pi unit. That unit will have a Distance Sensor.
The Sensor will keep on sensing (every 2 seconds or so)
whether a car has approached the entrance to the parking.
When the Sensor identifies that a car has approached, it
sends a signal to all the 16 Raspberry Pi unit, assigned
to that lane.
•Once Raspberry Pi unit gets the signal from the Master
Raspberry Pi, then each of the 16 Pi units triggers the
Camera to take the picture of the Car. These 16 cameras
(belonging to 16 Raspberry Pi units) are placed in a 2-
dimensional array style, so that each camera takes the
picture of one part of Car's rear-view. That is needed
because different cars have the license plate in different
places. Using this '16 Raspberry Pi unit' approach, I
believe that I can catch 97% to 99% of the cars. I
observed the license plate locations in over 200 cars in
my neighborhood and Grocery Store parking lot. Seeing
the locations of the license plates in those 200 cars, I am
confident that my proposed '16 unit system' will be able
to capture license plate pictures for each of those cars.
Once a camera takes a picture, it gets automatically saved
in the hard-disk of the corresponding Raspberry Pi device.
•Once Raspberry Pi gets the picture of 'some part of the
back of the car', then the Python code will understand
whether that picture has the license plate. Only one
picture out of those 16 will have the license plate. So,
each Raspberry Pi unit then programmatically communi-
cate with the Google Cloud Vision API [12]. Typically,
Google Cloud Vision function takes a fraction of a second
to extract the text inside the image. If the image does not
have any text, it returns a complete blank or empty string.
Once each Raspberry Pi device concludes if their picture
Fig. 7. Flowchart of the actions at the Entrance
has the license plate number, then they communicate that
to the Main master Raspberry Pi present in the Entrance
of the Parking Garage (one for each lane). Each of these
16 units will communicate their identified license plate
number, along with the index of this Raspberry Pi.
For example, one Raspberry Pi can communicate
(through a database) 'I am Raspberry Pi 4, and my image
found license plate number 6GWD345'
Another Raspberry Pi can communicate 'I am Raspberry
Pi 7, and my image found license plate number Go-49ers'
•Then, Master Raspberry Pi will ignore unreadable Pi-data
or tiny texts and will find the largest string from all the
communications it received from different Pi devices.
That will be the license plate number of that incoming car.
Note that even if it is not the full license plate number,
the system will still perform properly, because that will
be the unique identifying number for that car.
•Then, this master Pi device will check the empty spots
in a database, and assign one spot to this car.
•At this stage, the Car will get a small pager device that
shows the parking spot number and direction. In the
parking lots of present days, each car takes a parking
ticket. In my system, each car will take that little device
in the entrance (and they will return it, as they exit the
parking garage).
Fig 7 shows the flowchart of the actions that happen at
the entrance of the parking lot. Fig 8 shows the flowchart
of the actions that happen at each spot in the parking lot.
•Then Master Pi will store info about the specific parking
spot's identification in a database, along with the license
plate number of the incoming car.
•Then, when the car gets parked in that designated spot,
the Raspberry Pi in that parking spot confirms by chang-
ing the status of the specific parking lot, in the data-
management scheme. That spot’s Raspberry Pi will move
that specific spot to the 'confirmed occupied state'.
•When the car leaves the parking spot, same communica-
Fig. 8. Flowchart of the actions at each Parking Spot
tion happens from Location-Pi to the Master Pi (through
message system or through a database). Then, the Master
Pi makes the database management and marks that spot
as free. As a result, that spot becomes available for further
assignment of incoming cars.
III. EXP ER IM EN TAL SET UP A ND SIMULATION RESU LTS
This application was tested with about 200 different license
plates. I took pictures of all the license plates in the neighbor-
hood, grocery stores' parking lots and from different websites.
After that, each of the printouts of the license plates was
printed on papers and pasted on cardboard. That is how I
created my models of 200 cars with different license plates.
At home, I simulated the proposed system by manually
moving each of the license plates (on cardboards) to the front-
entrance or individual parking spots. Since I own only one
Raspberry Pi device, I kept on modifying the python code to
adjust the device id. That way, at some point in time, the Pi
was acting as the front-entrance device. At some other time,
the Pi was acting as the device for a specific parking spot.
Following is two important data-points about the success
rate and overall performance or efficiency of the system:
•The overall system works very fast. Processing in the
front-entrance took only about 5seconds. Within that
duration, the system could identify the license plate and
assign an empty parking spot to the car. This 5seconds
time very less, and will not require the incoming car to
wait for any additional time. The runtime needed in each
of the individual parking spots is around 4seconds.
•The system could identify the car license plate for about
92% of the time. This success rate is quite high, and many
cars can successfully use this system. When the license
plate cannot be identified, the system still assigns an
empty spot. As Google Cloud Vision API [12] improves
over time, our overall success rate will also go higher.
While simulating this overall system, 3different situations
were explored. These three situations are the most fundamental
use cases, and everything in the parking can be derived from
these 3fundamental use cases. This section explains all the
three situations and how our application handles these:
•All Drivers Parked Properly:
–One car enters through Entrance-A The car gets a
pager. Pager's display shows 'go-to spot A-5'
–A second car enters through Entrance-A The car gets
a pager. Pager's display shows 'go-to spot A-10'
–These cars go to their respective assigned spots. In
their spots, the display shows the correct message
like 'Reserved for Expected Plate'. They park prop-
erly in their designated spots and everybody is happy.
–when a car leaves the spot, that spot becomes
available, and the display shows 'Available'. Front
Entrance can assign new incoming car in that spot.
•One Driver Made one Mistake in Parking:
–One car enters through the Entrance-C. The car gets
a pager. Pager's display shows 'go-to spot C-80'. Spot
C-80 start showing 'Reserved for Plate-Number'.
–But, the driver incorrectly parks in the spot C-100. In
the spot C-100, the display was showing 'Available'.
Now, the Display in C-100. will change to 'Please
move to C-80.'. If the driver moves to C-80, all great.
On the other hand, if the driver stays in C-100, after
30 seconds, Spot C-80 becomes available, and the
display shows 'Available'. Front Entrance now has
the option of assigning new car in that spot C-80.
Front Entrance knows that C-100 is occupied.
•One Driver Made a Conflicting Mistake in Parking:
–One car enters through Entrance-B The car gets a
pager. Pager 's display shows 'go-to spot B-75'.
–The second car enters through Entrance-B. Display
of the Pager of that case shows 'go-to spot B-100'.
–But, the first car incorrectly parked in the spot B-
100. This means that the second car will get a bad
surprise! To prevent any delay, the second car gets
re-allocated to an available spot nearest to B-100.
Let's say, that is B-102. Second car receives a pager
message 'go-to Spot B-102'The display in the spot
B-102 changes to 'Reserved for Plate'and the display
in the spot B-75 changes to 'Available'.
IV. REA L- WO RL D APP LI CATI ON
This parking management system can be used by many
parking structures in modern smart cities. Some examples are:
•Parking lots of big companies, like Google, Amazon.
•Hospital Parking structures like Kaiser Permanente.
•Downtown parking lot, Like San Francisco Union Square.
•Airport Parking structures, like San Francisco, San Jose.
•Multi-storied parking lots in the large Shopping mall.
•Special crowded occasions like Christmas, Sports events.
V. FUTURE ENHANCEMENTS
Following two enhancements are planned in this system.
First, the mechanism in individual parking spot can be en-
hanced to detect a poorly parked car. Sometimes, a car is
parked in a way, which makes it very hard for another car to
be parked in the adjacent spot. If the sensors can detect that,
then software can be smarter to show a message to the driver
and not to assign another car to one of the adjacent spots.
Another enhancement is to detect the type of the car (compact,
full-size, hybrid, handicapped sign), and then assign that car to
the appropriate type of parking spot. This feature will become
more useful as hybrid or electric car usage increases.
VI. CONCLUSION
In this work, I have successfully developed a smart parking
management system. The system consists of hardware compo-
nents and software modules which closely interact with each
other. Using this system, drivers of cars can park quickly, and
will save fuel, time and money. The experimental result shows
very fast runtime and high success rate. This approach can
save billions of wasted dollars in the US alone. The saved
fuel, time and money can be reapplied in more productive
places. By causality, it will help the environment as well.
REFERENCES
[1] Cars are parked 95% of times. fortune.com/2016/03/13/
cars-parked-95-percent-of-time/, 2018. [Online; accessed 24-March-
2018].
[2] Drivers spend an average of 17 hours a year searching for
parking spots. https://www.usatoday.com/story/money/2017/07/12/
parking-pain- causes-financial- and-personal- strain/467637001/, 2018.
[Online; accessed 24-January-2018].
[3] International Association of Public Transport. http://www.uitp.org/MCD,
2018. [Online; accessed 24-January-2018].
[4] Impact of Parking Pain in the U.S. http://inrix.com/wp-content/uploads/
2017/07/INRIX Parking Pain Infog US HR.pdf, 2018. [Online; ac-
cessed 28-January-2018].
[5] X. Li, M. C. Chuah, and S. Bhattacharya. Uav assisted smart parking
solution. In 2017 International Conference on Unmanned Aircraft
Systems (ICUAS), pages 1006–1013, June 2017.
[6] V. K. Boda, A. Nasipuri, and I. Howitt. Design considerations for a
wireless sensor network for locating parking spaces. In Proceedings
2007 IEEE SoutheastCon, pages 698–703, March 2007.
[7] V. Verroios, V. Efstathiou, and A. Delis. Reaching available public
parking spaces in urban environments using ad hoc networking. In
2011 IEEE 12th International Conference on Mobile Data Management,
volume 1, pages 141–151, June 2011.
[8] A. Albiol, L. Sanchis, A. Albiol, and J. M. Mossi. Detection of parked
vehicles using spatiotemporal maps. IEEE Transactions on Intelligent
Transportation Systems, 12(4):1277–1291, Dec 2011.
[9] J. Ni, K. Zhang, Y. Yu, X. Lin, and X. S. Shen. Privacy-preserving
smart parking navigation supporting efficient driving guidance retrieval.
IEEE Transactions on Vehicular Technology, PP(99):1–1, 2018.
[10] G. N. Hainalkar and M. S. Vanjale. Smart parking system with pre post
reservation, billing and traffic app. In 2017 International Conference on
Intelligent Computing and Control Systems (ICICCS), pages 500–505,
June 2017.
[11] K. B. Dsouza, S. Mohammed, and Y. Hussain. Smart parking - an
integrated solution for an urban setting. In 2017 2nd International
Conference for Convergence in Technology (I2CT), pages 174–177, April
2017.
[12] Google Cloud Vision. https://cloud.google.com/vision, 2018. [Online;
accessed 23-February-2018].
[13] SMTP Sendmail Messaging. docs.python.org/2/library/smtplib.html,
2018. [Online; accessed 23-February-2018].