Regarding the indoor parking problem, many
solutions have been proposed before. While some of
them uses built-in car sensors, others use external
devices to determine the position of the vehicle.
Wagner et al. (2010) proposes a method using Dead
Reckoning (DR) and commercially available maps
from companies or from building plans. The method
utilizes a topological map matching algorithm that
combines geometrical information and the topology
of the road network. Bojja et al. (2013) takes
advantage of low cost gyroscope and odometer
sensor. Sensor data is combined with the 3D map of
the building to obtain the indoor position. Razak et al.
(2015) tried to navigate the driver to an appropriate
parking position using QR codes placed in the
parking space. Android application reads the QR code
and navigates the driver to a parking spot using the
map stored in the database. Vehicle movement is
calculated using a step counter. Kumar et al. (2016)
mounted cameras throughout an indoor parking lot to
identify vehicle movement. The data was used to
calculate vehicle position by using convolutional
neural network with Deep Learning.
Indoor positioning and parking services also use
smartphone sensors to determine the position of the
vehicle. Some studies combined smartphone sensor
data with RSSI data of WLAN and the Bluetooth
signal data. Liu et al. (2012) proposed a cost and
energy efficient solution. Wireless Local Area
Network (WLAN) signals and the built-in
smartphone sensor data combined to find the precise
location of the vehicle inside an indoor parking space.
In addition to that, another study by Liu et al. (2012)
also used WLAN signals and smartphone sensors. An
indoor positioning engine is developed for the
positioning. Motion information is measured using
smartphone sensors. The solution can be used for
real-time navigation and location tracking. Similarly,
Bluetooth signals strengths can also be used for
location fingerprinting which is combined with
relative positioning in a study by Wilfinger et al.
(2016). Bluetooth Low Energy (BLE) is offered as a
cost-effective solution. Khare et al. (2017) stated that
the BLE and IEEE 802.15.4a compliant Ultra-
wideband (UWB) sensor data can be processed in
real-time to develop an indoor localization system.
Unfortunately, UWB sensors are not in current
handheld devices yet.
Research by Li et al. (2016) is focused on car
searching system that will help users to find their cars
in a large parking lot. QR codes are distributed over
the parking lot and a smartphone application
calculates the path to the vehicle using the shortest
path algorithm.
Internet of Things (IoT) based applications and
middleware systems are also used for parking
solutions for both current use cases and smart cities.
Ji et al. (2014) stated that car parking services must
be intelligent for IoT based smart cities. They
proposed a cloud based system offering users a car
parking service experience. In an another IoT
application by Bagula et al. (2015), RFID readers are
distributed in a parking lot to help billing and provide
smart parking. Similarly, Caballero-Gil et al. (2016)
used Near Field Communication (NFC) tags for their
indoor positioning system.
iBeacon is another technology which offers a low
energy solution compared to GPS and WLAN. Zou et
al. (2016) used iBeacons to provide positioning and
navigation for vehicles using both indoor and outdoor
spaces.
Indoor location positioning and navigation is also
used for autonomous car parking systems. A study by
Correa et al. (2017) proposes a cooperative vehicular
positioning network using the Vehicular Sensor
Networks (VSN).
3 PROPOSED METHOD
OpenXC supports various number of measurements
of a car such as engine speed, steering wheel angle,
fuel consumption, accelerator pedal position, ignition
status, etc. The data retrieved using the OpenXC API
as JSON formatted messages in a class called Vehicle
Messages. In our design, we make use of three of the
measurement data received through OpenXC vehicle
interface: i. steering wheel angle, ii. odometer, and iii.
ignition status. Steering wheel angle provides the
information about the angle of the steering wheel in
degrees in a range from -600 to +600. When the
steering wheel is turned to the right, positive values
are read in the message and negative when to left.
Odometer gives the data of the distance that the
vehicle travels as a unit of kilometer between the
values 0 to 16777214 with about 0.2-meter resolution.
Ignition status returns as a Boolean value indicating
one of the 4 states of the ignition: off, accessory, run,
and start.
In our implementation, we have three functions: i.
CheckTurn (Figure 1), ii. UpdateTurn (Figure 2), iii.
UpdateDirection (Figure 3). CheckTurn function
checks whether the car has turned or not. If so, the
route is updated. At the beginning, we consider the
ignition status of the vehicle. If it is off and the car is
in the parking area, we know that the driver has
parked his/her car in a parking spot. Therefore, we
update the route and return.