Originating from Munich, a city with its fair share of parking issues, our team recognized a pervasive problem. Everyone has a right to drive and park in the city, but the current system lacks efficiency. Cars vary greatly in size, yet the parking spaces allocated for them do not. This discrepancy leads to inefficient use of space and often favors larger vehicles, which occupy more space but pay the same rate. We envisioned an intelligent parking system that could optimize space use and promote environmental sustainability. This concept led us to develop IntelliPark. IntelliPark is designed to dynamically size parking lots to accommodate the actual size of cars. This approach not only maximizes the utilization of parking space but also encourages the use of smaller, more eco-friendly vehicles. In creating IntelliPark, our goal is to improve urban commuting, reduce environmental impact, and bring innovation to the parking industry.
What it does
IntelliPark revolutionizes parking by implementing a dynamic parking system at the entrance of each lot. Equipped with a state-of-the-art 3D camera developed by Infineon (https://www.infineon.com/cms/en/product/sensor/tof-3d-image-sensors/), the system scans incoming vehicles to determine their dimensions including height and width. This is achieved through sophisticated computer vision algorithms. After assessing each vehicle's size, IntelliPark assigns an appropriately sized parking space, optimizing the use of available space. In a departure from traditional parking fee structures, our system calculates parking costs based on the actual space a vehicle occupies. This means larger vehicles incur higher parking fees. This approach has a two-fold benefit: it discourages the use of larger vehicles in the city, thus reducing congestion, and it promotes efficient use of urban space. This is a Pigouvian tax similar to carbon taxation. By incentivizing smaller, more fuel-efficient cars, IntelliPark also contributes to environmental sustainability and resource conservation.
How we built it
Our journey began with connecting a Raspberry Pi to a computer via LAN, utilizing it as a platform to interface with Infineon's time-of-flight camera. Leveraging Infineon's Python library, we enabled the transfer of image data using SFTP. This depth data served as the foundation for our trigonometric calculations designed to precisely measure a car's width. We implemented this process in three steps. First, we captured an image of the empty entrance area using the camera mounted on a makeshift cardboard stand. Once a car arrived and initiated the entry process, a second image was taken. By comparing these two images, we could calculate the differences and ascertain the car's width. With the car's dimensions in hand, we integrated this information into our parking system, which dynamically creates an appropriately sized parking space. This process involved algorithmically optimizing the standard parking cell dimensions to accommodate larger vehicles when necessary. To simulate the operation of IntelliPark, we employed Python's pygame library to construct a virtual parking lot and fed the system with our car width calculations. This allowed us to effectively demonstrate our concept: we drove toy cars to our cardboard gate, measured their width, generated a fitting parking space, and calculated the parking fee based on the car's width. Our system not only assigned parking spaces but also simulated the billing process, underscoring the practicality and potential of IntelliPark.
Challenges we ran into
Overcoming difficult challenges was an integral part of our journey. The initial hurdle was establishing a stable connection with the Raspberry Pi. Once we managed that, we confronted the complexities of working with the time-of-flight (TOF) camera. Early tests quickly revealed the intricacies of camera calibration. The camera's performance varied drastically depending on the background material of the images and the color of the vehicles. For instance, black cars absorbed more of the emitted light and scattered a significant portion in different directions, which created unpredictable noise in the image data. To mitigate this issue, we designed a cardboard tunnel to maintain a consistent distance between the cars and the camera lens, thereby improving the quality of the image data. Another challenge was the triangulation process required to calculate the widths of cars of varying heights. This mathematical problem proved to be more complex than anticipated and required significant time and effort to resolve. However, these challenges only served to deepen our understanding of the system and further refine our solution.
Accomplishments that we're proud of
Our most significant achievement, and the one that brought us the greatest satisfaction, was successfully integrating all elements of our system into a seamless pipeline. When we were able to take a picture, calculate a vehicle's dimensions, and dynamically assign an appropriately sized parking space for the first time, it was a significant achievement that affirmed the effectiveness of our solution. In addition to this, we take particular pride in the precision of our width measurements. Achieving this level of accuracy was no small feat, and it stands as a concrete demonstration of the effectiveness of our approach. We believe these accomplishments not only validate our efforts but also underscore the potential impact of IntelliPark on urban parking systems.
What we learned
Throughout this journey, our team gained invaluable knowledge and skills. Beginning with the basics, we deepened our understanding of Raspberry Pis, exploring their capabilities and learning how to leverage them effectively. A significant portion of our learning involved working with time-of-flight cameras. The process of capturing images, processing them, and extracting the necessary information provided us with a deeper understanding of computer vision and image processing. This experience added a new dimension to our skill set and broadened our perspective on the potential applications of these technologies. On the visualization front, we ventured into new territory with pygame. Using this library for the first time, we quickly grasped its utility and versatility. This experience underscored the importance of visual representation in demonstrating and validating our concept. Overall, the development of IntelliPark has been a rewarding learning experience that has not only enriched our technical knowledge but also enhanced our problem-solving abilities.
What's next for IntelliPark?
As we look forward, our sights are set on bringing IntelliPark to life in a real-world parking lot. A key area of focus will be developing a sophisticated system for marking assigned parking spaces, potentially using lasers or lights, to guide vehicles as they enter the garage. Our initial tests have been conducted in relatively simple scenarios - empty parking lots with a handful of cars. However, to truly assess IntelliPark's potential, we need to subject our algorithmic allocation system to more complex situations. This includes environments like large multi-story buildings with a high frequency of vehicles entering and exiting. Furthermore, we plan to refine our image processing pipeline. By improving this aspect of IntelliPark, we can enhance the accuracy of our vehicle measurements and the overall efficiency of the system. Ultimately, our vision for IntelliPark extends beyond simply optimizing parking. We see it as a catalyst for change, driving the transition towards more sustainable and efficient urban transportation systems.