Do you know that more than 11,000 road accidents are caused in our country every year due to potholes and speed breakers? Can this be solved using advanced navigation technology with smartphone as the primary device?
Tabrez Alam, Bala Subramanium and Jay Prakash formed Pluggdd Mobile in 2017, keeping this in mind. Alam says, “One of the most common devices used by people is a cellphone.
Hence, we created Intents app, whose technology is entirely focussed on using the sensors of a cellphone. It is a complete navigation app, which also alerts users about speed breakers, potholes and the like on the road ahead.”
The app uses two basic cellphone sensors: accelerometer and GPS. Since it relies on only basic sensors, Intents works on even the cheapest phones.
As you carry the phone in a vehicle, the accelerometer measures acceleration values in x, y and z directions. While driving on a smooth road, accelerations are negligible, but when the vehicle moves over a patch of road that is not smooth, the cellphone undergoes acceleration due to movement of the vehicle. These acceleration values are called anomalies.
Scalar value of the combination of acceleration in all three axes is then compared to a dynamically generated threshold value. This value is calculated based on instantaneous speed of the vehicle, average acceleration values in the last predefined time period, standard deviation of acceleration values in the last predefined time period and a few other factors. In case acceleration value is more than the threshold value, the cellphone sends the value of this acceleration along with GPS location of the phone to a central server.
The server receives data from all users of the app, including acceleration values and their locations. It computes the location of all such data points and creates clusters of data based on locations. In case a cluster has more than three entries, the location is marked as Probable Speed Breaker or Pothole.
Location of these potholes or speed breakers is then sent to all devices (present in the vicinity), through the app, ahead of time. The app detects the speed of the users in real time and based on that sends out alerts to them. This allows them to take corrective actions like slowing down the vehicle.
Rising above the challenges
Although the technology is generic and intended to be used by all users seamlessly, it comes with its own set of challenges. Listed below are some of the critical ones and how the team solved these.
Heterogeneity
Each cellphone is different and, as a result, calibration of accelerometers and their sensitivity is different. Therefore each phone going over the same pothole (with other factors being constant) experiences a different acceleration value.
When the cellphone is carried in different vehicles, acceleration felt by it will be different each time.
Then, if the phone is kept in different locations inside a vehicle, such as in the pocket or on the dashboard, acceleration values will vary.
Normalisation
The system has to normalise the value of each data point gathered, irrespective of type of phone, type of vehicle, placement of phone and so on. This needs to be performed in the phone itself, as a server does not get such information. Team members used methods of averaging and standard deviation of factors over a short period of time in a trip.
The system monitored acceleration values of sensors continuously and computed a standard deviation of these values over a period of one minute. This standard deviation helped them change the threshold value dynamically.
Usage
A cellphone is not simply a sensor in a vehicle and must perform its usual functions as well. A user can pick up the phone lying on a seat to make a call. This causes acceleration. However, such acceleration values are not based on road surface conditions.
Each driver is different—some accelerate and brake suddenly. Sudden braking and accelerating may be sensed by the phone as acceleration due to potholes or speed breakers.
There are more usage-based cases that occur during normal usage of the app, such as stopping at a traffic light, no movement due to heavy traffic and users forgetting to switch off the app when leaving the vehicle.
To solve this problem, alerts were normalised using factors such as integral of speed over a period of time. For example, if a user brakes rapidly at a red light or accelerates at a green one, false alerts (anomalies) are removed using integral of speed in the past and future.
Data and battery usage
One of the most challenging aspects that the team needed to ensure was that the app did not use an incessant amount of battery and data.
This was overcome by using minimalistic computations that are not heavily dependent on processing. As a result, even low-end cellphones can perform these computations.
To update the database with the location of potholes and speed bumps, each data point was continuously monitored.
Dynamic potholes and speed breakers
New potholes and speed breakers crop up and go down each day. The system needs to update such information in a timely manner.
After team Pluggdd identified speed breakers and potholes, the next step was to determine whether the user was heading in the direction of these. This is challenging because majority of Indian roads are not marked properly. There are roads that run parallel to each other like a highway (including service lanes). A pothole may be present on the service lane but not on the main highway.
Flyovers have similar issues—it is difficult to distinguish whether the vehicle is going over the flyover or under it.
To alert users about such situations, the system uses a combination of geofencing, direction of travel integrated over time, and snap-to-road function to determine direction of travel and the road the user is travelling on.
Navigating into the future
Talking about the future, Alam shares, “We created the technology to provide the users with directions along with road conditions. The next step is aimed at mapping the roads of the country and providing information about street lighting. We have already started experimenting with proximity and ambient light sensors of the phone for this.
“The technology will continue to evolve, with us being able to encompass user-generated data as well as automated sensing, to provide a better navigation experience by building more granular maps.”
An alternative would be to use speed data based on GPS and time, something which Google would have gotten from its Map users/drivers.
Using speed data, slowdown points could be identified and using aggregated data from multiple drivers, can be used to identify potholes/humps.
An alternative to Google Maps,using openstreetmaps based navigation would be a great idea to implement.
We need to think about animals, pedestrians, pollution and quality of life, not simply going faster.
That is the challenge.