Motivations and Goals

With today's accessibility to computing devices and the higher Internet speed, much can be done in terms of improving old systems and services, one of them being the service offered for parking a car. Our aim with this project is to introduce an upgraded version of this service, by automating tasks associated with parking, such as getting through the gate system, validating parking lot entrance, tracking in which spot your car was parked, and providing parking payment services.

The Idea

The idea is to have a camera on the parking gate, that allows a car to enter or leave the parking lot after having its license plate recognized, recording the time of entrance, and also a robot with another camera that will drive through the parking lot recognizing plates and registering in which spot each car has parked, considering that each spot has a sensor to identify if it is occupied. All of that will be connected to a mobile app, that will inform the user the charges applied by the parking lot and also in which spot they parked their card.

carro_v2.png

Overview

Overall, the system can be divided into five major subsystems: a mobile application, a robot, a parking gate, the parking spots and a web server. The following figure is a diagram of the system as a whole.

diagramas.png

Mobile App

The user will interact with the system through a mobile app installed on their cellphone. The app allows the user to create an account, see a visual map of the parking lot and which spots are available, consult in which spot they left their car, and have their payment automatically made when leaving the place.

A prototype for the app can be seen below, showing the interface for the screens: login, user profile, list of establishments, parking lot map, and history of sessions.

https://www.figma.com/embed?embed_host=notion&url=https%3A%2F%2Fwww.figma.com%2Fproto%2FLKrPvet2i1YKJ2uorfuDH7%2FEasy-Park%3Fnode-id%3D302%253A39%26scaling%3Dscale-down%26page-id%3D0%253A1

Robot

For storing and informing the user on which spot they parked, the system will rely on a robot, which will drive around the parking lot following pre positioned lines, that cover all of the spots. The robot will have a RaspBerry Pi that stores the parking lot map in the form of a graph, allowing the robot to know where it is and where it needs to go. So, when it receives a request from the server informing a spot that has just been occupied, it can drive itself to this spot and use a camera to take a picture of the car's license plate, applying an image processing algorithm to recognize the plate and send this information back to the server. The robot acts accordingly with the help of IR/color sensors to recognize the lines that it passes through and an algorithm that has the mapping of the parking lot.

3D render of the robot

3D render of the robot

Gate

Today when entering or exiting a parking lot, the car has to stop at a gate that opens when the driver presses a button or enters a ticket. In our system, the gate would have a camera in the middle of the barrier, so it can take a picture of the car's plate. This camera is connected to a Raspberry Pi, that processes the image to identify the plate's identification. After this, the plate information is sent to the server and the gate automatically opens, because the system already knows which car has just entered or left the parking lot.

Spots

All the spots in the parking lot will have an ultrassonic sensor positioned in a place that can detect if a car is occuping this spot. Each sensor will be conected to an ESP32 through a demux, so that the ESP32 can identify when a spot is taken and send that information to the server.

Web Server