  Estimates of road grade/slope can add another dimension of information to
existing 2D digital road maps. Integration of road grade information will widen
the scope of digital map's applications, which is primarily used for
navigation, by enabling driving safety and efficiency applications such as
Advanced Driver Assistance Systems (ADAS), eco-driving, etc. The huge scale and
dynamic nature of road networks make sensing road grade a challenging task.
Traditional methods oftentimes suffer from limited scalability and update
frequency, as well as poor sensing accuracy. To overcome these problems, we
propose a cost-effective and scalable road grade estimation framework using
sensor data from smartphones. Based on our understanding of the error
characteristics of smartphone sensors, we intelligently combine data from
accelerometer, gyroscope and vehicle speed data from OBD-II/smartphone's GPS to
estimate road grade. To improve accuracy and robustness of the system, the
estimations of road grade from multiple sources/vehicles are crowd-sourced to
compensate for the effects of varying quality of sensor data from different
sources. Extensive experimental evaluation on a test route of ~9km demonstrates
the superior performance of our proposed method, achieving $5\times$
improvement on road grade estimation accuracy over baselines, with 90\% of
errors below 0.3$^\circ$.
