Bosch Internship

Road Feature Characterization On Two Wheelers Using a Smartphone Sensor Package

Through the summer of 2020 I worked at Bosch as an intern in the Two Wheeler Powersports department. Although stymied to an extent by the COVID19 pandemic, the bright side of the situation was that the roads were empty and perfect for testing!

Detail on this project is going to be limited to only what I am allowed to share.

The Overarching Goal

The intention of this project was to create an Android application that can geotag locations with information about the presence of potholes, speedbumps, the gradient of the road at every point as well as some indication of the road roughness. 

To accomplish this the Android application will be running as the rider rides to collect data using the sensor package widely available on every Android smartphone consisting of an IMU unit, GPS module and other sensors. 

The data from these sensors are processed within the Android application and a log from the ride is stored on the user’s phone. The challenge arises when there is no condition imposed on the rider as to where in what orientation they must have their phone in during the ride.

This project included application of mathematical principles regarding complex analysis, quaternions, signal processing and feature extraction. Data analysis and algorithm development were carried out in MATLAB. The Android application was written using Java and Gradle in Android Studio.

The challenge mentioned above of finding the acceleration in the bike's frame of reference is present only if the rider is allowed to keep the phone in any orientation they like. I developed a method to reorient the acceleration vector from a global reference frame into the bike's reference frame on the fly. Along with this a nice by product was that the lean angle of the rider could be logged within the datalogger app. It serves as a good debugging tool for this algorithm.

All figures are mine.