We challenged ourselves to create a universal application that leverages geospatial data to improve safety and awareness for drivers of all types.
What it does
We created DriverAdviser; a cross-platform application that streams truck data in real-time to swiftly warn drivers about potential dangers and display historic information about hazardous areas. We believe this combination of real-time information and historic trends helps provide drivers with simple warnings to improve safety on any road.
How we built it
We built our app using a node.js server running on a remote raspberry pi, with python scripts doing the heavy lifting in the background. This node.js server provided the frontend for both our desktop website and the android app, while calling python scripts to stream NATS data and submit warnings to a rest API.
To predict collisions we observe position and velocity data and construct parametric equations to model truck movements. These parametric equations provide us a closed-form solution to quickly solve for collision points, without unnecessary searching. It also provides a modular starting point that can be expanded to take into account second order moments to improve prediction accuracy.
Challenges we ran into
Challenges we faced included creating infrastructure to interface with a NATS stream and a rest API, as well as doing all collision calculations quickly in real-time. We were also challenged by the implementation of our algorithm due to the efficiency restrictions of running in real-time.
Accomplishments that we're proud of
We were proud to develop our own detection algorithm using parametric equations while also providing a website and android app for useful data visualization.
What we learned
We enjoyed learning about geospatial data in lat-long form, collision detection algorithms, and building a frontend in node.js for data visualization.
What's next for DriverAdviser
Up next is improving the detection algorithm to make better predictions.