Team Status Report for 3/28/2020

Updated Gantt Chart

 

Updated Risk Management

Data Collection :

Our major concern with the project is collecting the data set that is large enough to train our machine learning algorithm. In order to do this, we ordered a dummy to easily collect a large data set without us having to fall all the time. The test dummy is an easy way to collect data, but there is a risk that it might deviate from the data collected from actual humans. In order to mitigate this risk, we are also collecting the data of us falling.

Machine Learning Based Prediction :

Another concern was the low accuracy of the machine learning algorithm. In order to reduce the accuracy risks, we compared the SVM and RNN approaches to fall detection. We will also try training our model with a variety of preprocessed features (tuple of raw acceleration, magnitude, and angle) and find the feature combination and hyperparameters that achieve the best accuracy.

Hardware Compatibility and Accessibility:

At the outset, we anticipated that data collection and the accuracy of our ML approach would be the greatest risks. Now that we’re separated, data collection through our device is an even bigger problem, and so we’ve decided to begin collecting and tagging accelerometer data from our phones to supplement it. By configuring the discrete IMU a bit differently (50Hz datarate), we can match the data formats and provide both to the ML.

Ordering of Components:

We ordered all of the required components to complete the project successfully and by now they have been shipped to the relevant team members.

Team Status Report for 3/21/2020 (SOW)

To adjust to the COVID-19 situation, our team decided to make some adjustments to our initial project. The MVP for our project originally intended to detect falls in realtime on the raspberry PI by the project deadline. The new plan is to prove the concept due to the difficulty in developing remotely or for multiple devices. Instead, we will record acceleration data on the raspberry pi and perform the machine learning analysis on an external machine.

Because the Raspberry Pi is not classifying the falls in real time as originally intended in the old plan, the new plan is to demonstrate the ability for the raspberry pi to make a bluetooth call to a smartphone to alert contacts. By demonstrating the communication framework we designed between the Pi, smartphone, and emergency contacts as well as the machine learning framework we designed for fall detection intended to eventually run on the Raspberry Pi in real time, we will successfully prove a proof of concept for our fall detection device. We are also going to order another Raspberry Pi and the sensors to set up the entire hardware component so that Max can use it for the hardware system development and Nick can use the other for testing the Bluetooth communication between the mobile application and the hardware.

Also, we decided to develop the mobile application with React Native instead of using the Android Studio. As we are working on our project remotely, Nick, who is responsible for the development, has only access to the iPhone. Since the React Native supports both Android and iOS platforms at the same time, once the application is released, another team member who has either an Android phone or iPhone can download it for the integration of the system later. 

For data collection, our original plan was to collect data from people with different weights and heights to ensure that the data does not differ depending on people’s size. However, this became hard due to remote work, so we decided to have one person do the data collection. We also ordered a gym mat and a dummy for data collection before spring break, and we shipped it to Jacob so that he can use them for collecting data. The fall detection algorithm can be developed as planned, except that it will run on a computer instead of running on a Raspberry Pi. Our stretch goal would be to integrate the software component with the pi.

Team Status Update for 2/29/2020

The most significant risk in our project for now is the discrepancy between the real and test data. We have the RPi set up and we ordered a gym mat and a dummy last week, so we are planning to collect data of us falling and the dummy falling. We are also going to collect data by placing our device in positions other than the users’ pocket, just to check whether a pocket is the best place and whether placing the device on other positions (necklace, belt) affect the collected data.

We also worked on design documents this week, and we are planning to incorporate the feedback we got from the instructors and our peers. We got a feedback that it would be helpful to add a help button instead of relying only on the fall detection, and this feature can easily be added to our app. There were some concerns about data collection during the design review, and we definitely need to collect much more data for our fall detection algorithm to work accurately. We will start collecting data from our device as soon as we get the RPi ready, and as we ordered the dummy, we will be able to collect a much larger data set when it arrives.

Team Status Update for 2/22/2020

We decided to run the ML algorithm on the RPi instead of the phone, because we want the ML work to be done in Python. Some of us use Android and some of us use iOS, so it would also be hard for us to test if we do it on the phone. Other than this, there wasn’t much change to our project. We also got our Pi and the accelerometer, so Max is working on setting them up.

The most significant work for now is understanding our data. We have to check whether a person’s height or weight has impact on the data collected, and work on choosing the features that will work best with our algorithm. If the data that we collect has too much noise, we might have to smooth it out using a Kalman filter.

Team Status Update for 02/15/2020

  • Discussed about our solutions for each area:
    • Design of the device:
      • Pin to your belt or body to fix the location of the device, which keeps the fall detection data consistent
    • Fall detection:
      • Listed types of normal activities (ordinary behavior) for fall and non-fall categories (unusual fall) for testing
      • ML algorithm selection design decision
    • Mobile App:
      • Decided to change from iOS to Android application
  • Picked up core hardware, determined approximate specs for the remainder
  • We have a new team member (Jacob) joined our team. He will help work on the machine learning portion of the fall detection system.