Thomas Status Report for 4/29

I think I figured out the error in the localization that we were seeing –  the ToF is getting multiplied by 2 somewhere in the new pipeline, so dividing it back out now solves the issue. Temporary fix, but it makes our system work overall.

This past week, I’ve been working on the poster design and preparing it for our testing to get final accuracies tomorrow. The overall style looks goo,d now we just need to add graphs that show accurate the system is and how closely we’ve achieved our goals.

This keeps me on track with the schedule.

Ethan’s status report for 04/29

This week I prepared for and did the final presentation. Other than that, I’ve been trying to work with one of the devices that we bought for which the pinging seemed to be not working with. Before the final demo, I will be working on getting the devices to work with our system, test the integrated system, and work on writing the paper and preparing for the demo.

Anish’s Status Report for 04/29

This week we did our final presentation – we all helped Ethan prepare the slide presentation for that. Other than that, I have been working on refinements to the user-interface so that we can easily show people how our system works during the final demo (by visualizing the internals of the sensing and algorithm). The other thing I have been working on is implementing a few of the remaining unit-tests that we still need to run to validate our system against our design requirements.

I feel like we are on schedule; in the next week we will work on the poster, final report, and finish up running the unit-tests (device detection, as well as the integration-test for accuracy).

Team status report for 04/29

We’re all caught up to our requirements. We spent last week polishing our system and getting it ready for presentation. We will be recording our final data to use tomorrow now that we are all in Pittsburgh.

We will reuse the theming from our final presentation slides for our poster, which is under construction.

The worst-case scenario is our demo breaking the day it gets shown. We will make sure the video can be used as a substitute in case of failure.

Our tests involved unit tests for individual components, i.e. device detection, device pinging, device localization, and self/AR localization, and integration tests. For device detection, we put several devices in a network and tested if it detected all the devices; for pinging, we pinged a known device and observed the ACK packets; for device localization, we localized a known device at known location, and measured the error from the expected to the actual location; and for self and AR localization, we put an AR object in a known location and checked visually. For integration testing, we moved through different traces with devices in different locations and networks.

Team Status Report 04/22

We had a very productive couple of weeks, including finalizing the hardware stack and making it into a small package that can be mounted to the back of a user’s phone so that the user doesn’t need to carry their laptop around the room. We also integrated the components of the system together – the main entry point is a Python program which interfaces with the WebXR platform (streaming data to/from the phone over the network), the device-detection pipeline, the ToF pinging hardware, and the localization algorithm implemented in MATLAB. We got the system integration working where we can walk around a room, and as it collects data points, it runs them through the localization stack to determine and visualize the detected Wi-Fi devices (no manual intervention needed between the steps). The monetary cost of the system still remains within our $150 metric (ESP32, ESP8266, wireless radio, small battery, and USB Wi-Fi card) and it still runs quite well within our expected 5 minute detection time.

We don’t expect any substantial risks going forward as the important parts of our system are all working and integrating successfully. One thing that will be interesting to see is how different devices respond to the same Polite Wifi attack (we’ve already noted that different devices send response packets at different reliability rates, and some Wi-Fi cards go to sleep faster than orders). We’re not expecting this to break anything, but it may require some tuning to force the system to generate more traffic against certain devices to compensate for less accuracy in detecting them.

Ethan’s status report 4/22

This week we worked on preparing for integration and the final presentation. For integration we worked on testing individual parts and putting the pinging and localization script together. We are not fully finished with integration in that we still need to connect having multiple device detection with localizing a device, but other than that we’ve seen steady progress. For my part, I’ve tested that device detection works on multiple devices with the devices we bought. Next week, we will do the presentation and work on finishing integration and making it presentable for the final demo, as well as start working on the report.

Anish Status Report 04/22

These past two weeks were extremely productive – I finalized our hardware stack into a small, battery-powered unit (see the pictures in our “Team Status Report 04/22”) that attaches to the back of the user’s phone. The processing stack runs on a laptop, which can be anywhere in the vicinity (the user doesn’t have to carry it around the room when doing the scan); and the laptop connects wirelessly to the rest of the electronics using a 900MHz (ISM band) radio. I refined the firmware for the ESP32 to use this wireless link to talk to a driver (implemented in Python) on the laptop, as well as programming the ESP8266 to send out the pinging packets (hence completing the time-of-flight loop).

I feel like we are very much on schedule as our integration-testing all works – we can walk around a room with the sensor for ~4 minutes, and see in the AR view that the Wi-Fi devices are located to within the 1m accuracy. There are a few points left to be refined during the next week, including nicer visualization (both on the laptop and in the AR space) and making the device detection run fully asynchronously and feed into the rest of the stack, and after that it’s just working on our report and unit-tests.