The GUI has been developed using Python and OpenCV. As seen in the figure below, a template image of the parking lot is used as the background and is overlaid with shapes and numbers based on the data received from the communication network. Virtual vehicles can be added and removed using the UI. This can be used to simulate complex parking scenarios for debugging and testing.
When a vehicle enters the queue of the parking lot, it is shown at bottom right corner of the lot. Once that vehicle determines the optimal parking spot, the ID of that vehicle is displayed on that spot, signifying that it is now reserved for a specific vehicle, even though the spot isn’t physically occupied. The path of that vehicle is shown as a colored line from the starting location to the destination, be it entrance to spot or spot to exit. Once the vehicle physically claims that spot, a circle is drawn in that cell to indicate that the vehicle is now parked.
Double left-clicking on an empty spot adds a parking virtual vehicle in that spot. The path to that spot is calculated using the modified A* planner and the path is drawn also drawn. Double left-clicking on a parking virtual vehicle’s parking spot will change that vehicle’s status from parking to parked. Double right-clicking on a parked vehicle transitions the vehicle from parked to returning. The path of that vehicle from the spot to the exit is calculated and drawn. Double right-clicking on the returning vehicle changes the vehicle’s status from returning to returned and the vehicle is removed from the parking lot. When a vehicle is added, removed, or when the status of the vehicle changes, this information is relayed to the communication network so that other platforms are made aware of these changes. If the user incorrectly clicks on a spot, an error message pops up, letting the user know of the issue.
In the figure above, the vehicles are depicted by their number. Parking vehicles are depicted as a number in their intended parking spot, colored lines going from the entrance to the spot, and the same vehicle number in the entrance queue in a colored circle matching the color of the path (example: vehicle 6). Parked vehicles are shown with a number and colored circle in their spot (example: vehicle 2). Returning vehicles are shown a number in their parking spot, colored lines going from the spot to the exit , and the same vehicle number in the exit queue in a colored circle matching the color of the path (example: vehicle 1). Virtual vehicles lie in the range “1 to 99” and real vehicles “100” onward.