Sketch Diagram of Maasto-101
While on my trip to a hilly terrain region in remote parts of India, I faced a lot of difficulties to drive through the region, which had challenges like muddy slippery road, lack of street lights and U shaped curves. This was a common problem among tourist and goods travelers in this region frequently, which increased the maintenance cost of their vehicle. I took this as an opportunity to resolve this problem, which gave rise to Maasto-101
What it does
Maasto-101 detects potholes on the streets through image processing and indicates you the depth of the pothole in a 3D visual graph with the exact location of the pothole on the Map. This data is also stored which can be shared with government officials to improve the street conditions. Data collected through frequent analysis of such streets can be collected and sent to Research and Development team to decide upon the material required to fix the street for long term viability.
How we built it
Maasto-101 Version1 is built using Arduino 101 that transmits 6-axis Gyroscope and Accelerometer data through BLE to Raspberry Pi 3, Here the data is stored for further processing and also a real time 3D graph is drawn using Plotly. NEO 6M GPS attached to Raspberry Pi 3 gives continuous latitude and longitude of the location, those location details are stored in the database and also drawn on Map to give the visual of the location to the driver.
A camera attached to Maasto-101 will capture images and process those images to identify potholes. Identified potholes are highlighted with a green box on the actual image and the visual is shared with the user, this helps him to avoid the potholes when he/she drives through the region. The images captured are processed using Open source OpenCV python library.
Image captured along with the processed image, location is highlighted on the Map, and a 3D graph of the pothole is drawn on a dashboard to the user. This dashboard can be accessed either in mobile or a tab.
Challenges we ran into
The initial challenge was to get 6-axis accelerometer and gyroscope data over BLE to Raspberry Pi 3, Since there were limitations on the size of bytes transferred over BLE we had to break accelerometer and gyroscope data and transmit both separately with some milliseconds difference.
Next was to get the data captured into a visual 3D graph this was done using the Plotly graph, keeping the refresh rate to 5 seconds. 3D graph won't be visible in selected old version devices which don't support WebGL 2.0, As Plotly uses WebGL 2.0 in 3D charts.
Accomplishments that we're proud of
We were able to finish up initial MVP version1 of Maasto-101. we were able to overcome the challenges of transmitting data over BLE using trial and error mechanism of various different BLE libraries, visualizing the data taken from 6-axis gyroscope and accelerometer onto a 3D Plotly graph.
Maasto-101 version1 will be tested in real scenarios with upgraded toy car for a further reliability of the model.
This gives us a boost and confidence to develop the version2 of Maasto-101 which involves high capacity Drone with data analysis on potholes captured.
We hope that sharing those statistics with government will help them to improve the current street conditions and give a better living to the people around the region. Improvement in the street conditions will reduce the maintenance cost of goods supplier vehicles and frequent travelers.
We are proud of ourselves that we were able to contribute to our society with this innovation and a very big Thanks!!! to Intel Technologies by conducting such a hackathon. This motivates geeks to keep innovating. Rock on Intel!!!.
What we learned
- Transmission of data over BLE.
- Working with 6-axis gyroscope and accelerometer, Next trail would be with a magnetometer.
- Great experience of learning the working of Arduino101 with Intel Curie library.
- Image processing using OpenCV Python library.
What's next for Bruiser-101
- Toy car will be replaced with high capacity Drone.
- The Drone will be auto-guided based on the images captured and processed and using location details.
- The Drone will be flying with a specific distance ahead of the vehicle and will provide live street conditions.
- Data collected with the Drone will be further analyzed to improve the street conditions.