​Smart Monitoring of Environmental Dynamics Using Smart Cars and Drones

Project Introduction

Through the use of inbuilt smartphone sensors we hope to be able to collect data about the environmental dynamics in an area by securing the smartphone to a vehicle. The sensors, like the humidity and temperature sensor, would thus be able to procure real time data of the surroundings of the car, while the accelerometer and magnetometer would be able to collect data of the dynamics of the car itself, including its velocity and displacement. We will use Java in order to program the Android application and Python in order to receive and analyze the smartphone sensor readings in real time.


This project could have a variety of applications. First, it simplifies the testing process by using a smartphone, which is much more convenient than using Arduino exclusively. It could later be used to help support an indoor localization system to track objects, or people, in a closed space. Another usage case of this system could be to help search for and rescue missing people after a natural disaster, like a mudslide or avalanche.


Ryan Wang
University of Texas at Dallas
Class of 2022
The Chen Hao Liu
George Washington University
Class of 2022
Justin Wain
The College of New Jersey
Class of 2022
Jeffrey Cheng
Rutgers University
Class of 2022
David Yi
Biotechnology High School
Class of 2020
Masha Mustafa
McNair Academic High School
Class of 2021


We used Android Studio to program the application on the Android phone to collect relevant sensor data about the car's dynamics. For instance, we used dead reckoning in order to derive both velocity and position from accelerometer readings. However, this lead to issues with both accuracy and precision. The problem our team ran into when attempting to run double integration on raw accelerometer data was that the original acceleration data was extremely noisy, and double integration only exacerbated the inaccuracies, thus leading to position being neither accurate nor precise. Thus, we implemented a variety of algorithms to help predict and/or smooth the data provided. First, we implemented a low-pass filter, which in practice removed data above a set cutoff frequency and removing any extreme changes in the raw data. We also implemented a version of the Kalman Filter, processes the acceleration data in real time. The Kalman Filter essentially uses the acceleration data to predict velocity and displacement, and compare these predictions with the readings given, using a weighted average to output a value. These estimates also become more accurate over time, as the filter continues to calibrate itself automatically. Lastly, we attempted to accommodate for drift.

Weekly Presentations

|Week 1

|Week 2

|Week 3

|Week 4

|Week 5

|Week 6

|Week 7

Last modified 21 months ago Last modified on Aug 2, 2019, 1:51:26 AM
Note: See TracWiki for help on using the wiki.