Road Surface Monitor
This project is an example of data collection combined with data
visualisation.
The top image shows a device featuring:
-
An Arduino Mega (Uno did not have enough memory to run the program).
-
A GPS to track location.
-
A 9 axis
MEMS
(Micro Electro Mechanical System) to detect movement.
-
An SD Card module to record data.
-
A push button to allow the operator to manually flag points of interest.
The purpose of this project is to autonomously capture data
about the quality of a surface - in this case the surface of
roads.
The device is installed in a motor vehicle which is then driven
around. As the vehicle is being driven, the MEMS device
reports various movement parameters such as G-Forces
and roll motion. The G-Forces are an indication of bumps such
as potholes. The roll motion is an indicator of undulations,
you can think of undulations as a gentle rocking back and
forth - rather like a boat on a lake may encounter as it rocks
back and forth on a lake.
The GPS provides the location where the MEMS data points (motion)
was observed. Both the MEMS data and GPS data are written to
the SD card for later processing.
The data captured on the SD card is processed into a format that
can be overlayed onto a map (the lower image). This processing
also examines the stream of data looking for points of
significance (e.g. an impact that exceeds a certain G-Force)
and includes annotations which show on the map.
Finally there is also a button attached to the Arduino.
If the operator wants to flag a particular location for some
reason, they can press the button. This action inserts a special
entry into the journal on the SD card. The aforementioned
processing can show these flagged locations on the map.
The second image is an example of a map generated by this project.
The blue marker is an example of a button press, the red markers
are bumps in the road (it was a bumpy area due to construction).
|