During a Hackathon, according to our team the mission should be to solve a pressing real word problem by diving deep into the problem domain and figuring out which challenges need to be solved.
During this year's HackZurich, LafargeHolcim Maqer provided a challenge, which impacts the lives of all people that will be living in the third largest country in the world by 2050 according to https://www.worldometers.info/world-population/nigeria-population/.
Its population will rise from around 200 million people today up to 400 million in 2050, with an increase of urban population by 200%.
To solve the issues connected to that, it is crucial to support construction companies, like the one mentioned above, to build the mega cities of tomorrow.
Starting Point in this Hackathon
To tackle this huge problem, we started by looking at cement trucks and their distribution in Nigeria. As road conditions are not best and there are several influencing factors that could make trips delay, as well as new requirements like reducing the amount of emitted CO2 or recognizing and avoiding unsafe routes, we analyzed driving data and build a dashboard to route tracks through the country depending on the current needs and focus.
What it does
Our product is a web application that aggregates telemetry data of the trucks, of which 500 drive through Nigeria every single day. We pay attention to event data, like harsh braking, harsh acceleration, overspeeding and more and join them with historical weather data to draw connections.
Out of those data sources, a holistic view on influencing factors of each driven route can be gathered to improve routing for the current operations and therefore build a sustainable, save and fast distribution of trips.
This is done in two modes. Our EventMap allows to display all event data refined through custom filters like the area of interest, the time span and weather conditions. By hovering over an event, additional information like the vehicle or driver ids are displayed. Hereby traffic planners can easily get an overview of the risks and benefits of certain routes and areas. To support the route planing even further, we implemented a SmartNavigation system. After inputting a start and destination, it proposes a suitable route and predicts the length (time and distance), CO2 emissions and safety of that route. Our system allows to chose each of these categories as the priority metric so one can search for either the fastest, eco-friendliest or safest route. Critical events along that route are also displayed to allow a better risk assessment and prepare drivers for possibly dangerous route segments.
How we built it
We used Python and Kotlin for data analysis. Afterwards, we built routing and scoring algorithms with Python and aggregated the data. With the help of the Flask framework, an API was built that serves our Angular frontend for the routing platform.
On a more in depth level, we aggregated three data sources. The transportation data, which includes telemetry data and event data, weather data and Open Street Map data. Each driven truck route is mapped on real world streets. Each event is also connected to the trip it matches best. The weather data is connected to each event to use correlation between weather conditions like heat waves and driving behavior.
Each driven route on the map thus can be assigned a count as indication how often it has been driven and events. Connecting both information, based on the different event types the safety conditions of a path can be measured.
What we learned
Domain knowledge is extremely helpful during data cleaning. By speaking to several experts from the partner company, we gained insights on different attributes and their importance to tune our analysis and base them on useful data.
What's next for Smart Trucking In Nigeria
After the Hackathon, developing the project further with the project partner could make sense to solve the problem and roll out a first MVP after some iterations and discussions with further domain experts.
Log in or sign up for Devpost to join the conversation.