Team Status Report for 11/30/2024

Risk and Plans

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready? 

Risks and Plans: One of the most significant risks to the project is the inconsistency of audio alerts, where the playback sometimes misaligns with what it should be or produces random, unexpected noise. This issue could hinder the reliability and usability of the system, particularly for the intended users who rely on accurate and timely alerts.

Risk Management: We are currently investigating the root cause of the issue, especially on the audio port configuration and playback synchronization. Multiple tests are being conducted under different conditions to isolate the problem.

Contingency Plans: As a backup, we will test alternative audio output methods, such as the smart phone’s speaker.

Change in Design

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

Change in Design: A change was made to the audio hat configuration to ensure it consistently identifies the correct port for audio output.

Costs IncurredTime: Additional time was spent troubleshooting and reconfiguring the audio hat. Testing Overhead: Additional testing was done to confirm the new configuration works reliably across various conditions.

Mitigation Going Forward: Further tests are being conducted to validate long-term reliability, and as a backup plan, we are exploring alternatives, such as directly configuring multiple ports to ensure at least one of them could work.

Schedule Updates

Provide an updated schedule if changes have occurred.

Despite the technical challenges, our project remains on schedule. The hardware and software components have been tested individually, and integration work is beginning as planned. Next week, we will focus on:

    • Testing GPS and Phone-Based Geolocation: Evaluate the feasibility of GPS and phone-based geolocation for indoor positioning, and use in locations beyond Hamerschlag Hall.
    • Integration Testing: Conduct comprehensive testing of the fully integrated system to ensure all components work seamlessly together.
    • User Feedback Interviews: Interview individuals with visual impairments to gather feedback, refine our design, and identify improvements to go beyond the MVP.
    • Component Integration with Vest: Finalize the integration of all components into the wearable vest, ensuring usability and practicality.

Connie’s Status Report 11/30/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I focused on preparing for our interim demo, ensuring the integration and functionality of various components of the WalkGuard project, and advancing toward our final presentation. Key accomplishments include:

  1. Interim Project Demo
    • Ensured that individual components (accelerometer, GPS, radar, and web app) were fully operational and demonstrated effectively.
    • Created slides summarizing the challenges faced during development, including technical limitations and integration difficulties.
  2. Final Presentation Preparation
    • Contributed majorly to the preparation of final presentation slides.
    • Worked on preparation of the presentation.
    • Practiced delivering the presentation, refining flow and key talking points.
  3. Pipelining Components and Subsystems
    • For the interim demo, components were demonstrated individually. I contributed by pipelining the subsystems together into a single main file.
    • Ensured connectivity between the web application and the Raspberry Pi pipeline.
    • Identified areas where robustness testing is still required and began addressing these challenges.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

Currently our project is on schedule. The interim demo was successfully completed, and preparation for the final presentation is progressing well. However, robustness testing for the pipelined subsystems and web-to-RPi connection needs further focus.

Plan to Stay on Schedule:

  • Conduct thorough robustness testing and debugging of the pipelined system in the upcoming week.
  • Allocate dedicated time for refining the presentation and addressing any last-minute technical issues.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

For the next week, I aim to complete the following:

  1. Robustness Testing and Refinement
    • Test the integrated pipeline to ensure stability and reliability under various conditions.
    • Address any issues with subsystem communication or failure handling.
  2. Final Presentation Slides
    • Finalize slides with results, lessons learned, and future directions.
  3. Full System Demo
    • Ensure the entire system (accelerometer, GPS, radar, web app) works seamlessly in an integrated manner for the final demo.
  4. Documentation
    • Prepare and submit a detailed report on system design, integration, and results.
  5. Visit the library for visually impaired people and conduct interview with them.

 

 

Eleanor’s Status Report for 11/30/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This and last week, I focused on multiple aspects of the project, including preparing videos for GPS usage, preparing the interim project demo, adjusting the audio port, and developing the final presentation slides. Since our GPS system only functions outdoors, we recorded demonstration videos in front of Hamerschlag Hall to showcase its capabilities for the interim demo. I also worked on the interim project slides and demo presentation to show our technical progress, task distribution, and system integration. To address sound playback issues, I adjusted the audio port to ensure it functioned correctly when we tested them by ourselves. However, during the demo, the port behavior was still inconsistent, appearing to change randomly, and sometimes the audio did not align with the original file. After the demo, we re-adjusted the audio configuration to improve reliability. Additionally, I dedicated time for the final presentation slides to show our progress and outcomes.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I am currently on schedule with the project. All planned tasks for this phase have been completed on time, and I am progressing as expected. If any unforeseen delays arise, I will prioritize major tasks and collaborate with teammates to ensure we stay on track.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  • Resolve the issue of audio playback misalignment with the original files.
  • Integrate all  components into the vest.
  • Interview visually impaired people to gather feedback and suggestions for improving our product.

Zhixi’s Status Report for 11/30/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

  1. Interim project demo (2 hours): My teammates worked together to practice our interim demo to make sure that every demo is covered and challenges are mentioned. We also got together and practiced to make sure that we are able to demo everything within the 10 minutes period, ensuring a smooth workflow on the demo day.
  2. Prepared for the final presentation slides (6 hours): I worked together with my teammates to finalize our final presentation slides.
  3. Pipelining components and subsystems (3 hours): While for the interim demo, all components and subsystems are demoed separately, I started pipeline them together in a single main file combining the radar-audio subsystem and the accelerometer. Since the accelerometer still have issue with python implementation (spidev library incompatible), we still need to use C code for that. Therefore, I used subprocess to pipeline it into all other python code implementations and precompile the C code to make it work. The details still need to be adjusted to make it work according to use-case requirements and to improve the user friendliness.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

This week, I am on schedule. We are almost there for the project and just need to do the final integration testing.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  1. Final system integration testing as a whole.

 

As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

To implement and debug the ADXL345 integration with my project, I had to learn how to use Python’s subprocess module to execute precompiled C files within a Python script. This became necessary as the I2C communication was not functional, and the Python spidev library failed to provide reliable SPI communication. I explored how to precompile the C files for SPI communication with the ADXL345, ensuring the logic was correct and efficient, and then pipelined the execution in a single Python file to streamline the workflow. My learning strategy included reading official documentation, experimenting with simple examples to understand subprocess calls, and iteratively debugging by adding print statements to ensure seamless communication between Python and the C implementation.

Team Status Report for 11/16/2024

Risk and Plans

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready? 

  • Accelerometer only works using C code 

The integration of the accelerometer gives challenges as it required a different programming approach compared to the rest of the system. While all other components and functionalities were implemented in Python, the accelerometer could only be configured and operated through C code using SPI. The python library for SPI does not work for weird reasons. This created a layer of complexity in our setup, as we had to bridge the gap between the C-based accelerometer data and the Python-based logic driving the rest of the system. The accelerometer’s dependency on C necessitated careful handling of its output, which was streamed in real-time and needed to be parsed and interpreted by the Python script. This approach introduced additional steps, such as running the C program as a subprocess, parsing its output in Python, and ensuring seamless communication between the two environments. Furthermore, debugging and troubleshooting the accelerometer involved navigating both the intricacies of C programming and its interaction with Python, which added to the technical complexity of the project. Despite these challenges, we successfully integrated the accelerometer into the system for now. However, the compiling and bridging of C code has a obvious delay in setup, which might potential mess up the system at integration and pipelining everything together.

Change in Design

Were any changes made to the existing design of the system (requirements, block diagram, system spec, etc)? Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

There is no change to the existing design from this week.

Schedule Updates

Provide an updated schedule if changes have occurred.

Despite the technical challenges, our project remains on schedule. The hardware and software components have been tested individually, and integration work is beginning as planned. Next week, we will focus on:

  • Accelerometer calibration for improved fall detection accuracy.
  • Testing gps and phone-based geolocation to determine its feasibility for indoor positioning (continue from last week).

We are now almost for the first subsystem, the obstacle detection system using radar and audio hat. We could further improve the accuracy and make sure all use case scenarios are met with more fine tuning. As of now, the system is stable and robust for normal cases. Edge case scenarios still remain to be determined.

Zhixi’s Status Report for 11/16/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

  1. Accelerometer testing (4 hrs): I spent time working together with my partners testing the accelerometer. While this was originally not my work, I helped out as there was some issue. We initially decided to use the spidev library from python to setup the accelerometer. However, the readings are sometimes all zeros or sometimes of the same value for all three directions. The values are also extremely large which is clearly not related to gravity. Therefore, we decided to switch to C code using libraries in C, and everything worked well. Therefore, we might need to do more work on putting things together since all of our other code is in python. We need to precompile the C code first and using subprocess to link to python if the python library for SPI still does not work.
  2. Radar tuning (4 hrs): I spent time fine tuning the radar together with my partner. We basically had one person holding the radar, looking at the radar reading, and listening to the audio output. The rest two people pretended to be people walking in front of the radar to simulate different situations and see if the detection was accurate and met our use case requirements.
  3. Button setup (1 hr): I set up the button (solder the button with wire) for cancelling resolved fall alerts. We bought new buttons that are bigger and more user friendly to press on. I connected it to the RPi4 using GPIO ports with internal pull up resistors. I also set up the code for cancelling false alerts with button debouncing and verified that it could properly cancel the alerts locally.
  4. Prepare for demo next week (3 hrs): I spent time discussing and making slides for the demo next week. We specified what can be demoed and who to demo which part since our work somehow overlapped most of the time.

 

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

This week, I am on schedule. I helped out on testing for radar since often times the testing  need multiple people working together.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  1. Fine-tuning for radar in real-world scenario.
  2. Help teammates test other systems if needed.

Eleanor’s Status Report for 11/16/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I focused on integrating radar detection with sound alerts, addressing multiple technical challenges. I began by resolving an audio output issue on the audio hat, testing various ports until identifying hw:3,0 as the correct configuration. Next, I adjusted the alert frequency and timing period to ensure the playback that aligns with the original audio file’s rate. I implemented conditional logic to play alerts only when relevant scenario changes are detected, avoiding repetitive notifications and improving usability. I also assisted teammates with detecting and reading data from the accelerometer; we initially worked to convert the C code to Python for consistency with the rest of the project but ultimately decided to continue using C. In preparation for next week’s demo, I refined the presentation of my work to be more intuitive and accessible.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My tasks are currently on schedule. However, improving the accuracy of both radar and accelerometer detection may require additional time and effort for fine-tuning and testing. It’s also important to address a specific use-case where a high-speed object passes the user; in such scenarios, the audio alert might only have time to announce the object at 5 meters, even if it has already closed in to 1 meter by the time the alert sounds. To ensure reliability in these rapid proximity changes, I plan to explore adjustments to alert timing and prioritization.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  • Fine-tune radar and accelerometer
  • Readjust logic of sound alert to make it more fir in use-case
  • Test and record video for GPS outdoor

 

Connie’s Status Report for 11/16/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

This week, I focused on the accelerometer tuning and threshold adjustment for fall detection. This involves refining sensitivity thresholds to accurately differentiate between minor movements and falls. I implemented adjustments in the C code to better filter the accelerometer data, ensuring reliable signal detection while minimizing noise from incidental movements. I also completed the data pipeline integration. Now, when the accelerometer detects a fall signal, it sends the data to the web app through a web API. On the web app end, an alert is generated to notify users of the event. Finally I spent time to prepare for demo this week. This included adding content to our slides, testing components to ensure reliability, and preparing demonstrations that showcase the core functionality of WalkGuard, particularly its fall detection and alert system.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

I am on schedule with my project. The accelerometer tuning and pipeline integration were major steps, and both were successfully completed this week. With these in place, I can shift focus to optimizing detection performance and preparing for further integration tests.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  • Fine-tuning Fall Detection: Further refine the accelerometer thresholds to reduce false positives and ensure that the system reliably identifies actual falls.
  • Integration Testing: Perform comprehensive tests of the hardware-to-web pipeline to identify and resolve any latency or data accuracy issues.
  • Web App Enhancement: Improve the web app interface for displaying fall alerts.
  • Field Testing: Design and execute real-world test scenarios using the white cane to simulate practical use cases. This includes testing in varied environments to validate the system’s functionality.

 

 

Zhixi’s Status Report for 11/9/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

  1. Accelerometer setup (6 hrs): I spent time working together with my partners setting up the accelerometer that arrived late. Initially, we were trying to get it connected with I2C to the RPi4. However, due to some undetermined issue, the connection via I2C was never detect by the RPi though we made sure we were using the correct GPIO pins, and that all setting for I2C on RPi4 was properly enabled. Therefore, we switched to SPI and rewrite the code that reads the accelerometer output. Luckily, we were able to get it to work with desired readings.
  2. Radar software setup (6 hrs): I spent time fine tuning the radar together with my partner. We built our code on top of an existing starter code for the KLD7 radar. We added a plot of obstacles detected so help us tuning and understanding the data. We mainly worked on understanding and fine tuning the radar parameters such as FoV of reading, max speed of object to be detected, and distance for detecting. One thing worth noticing is that the KLD7 is only able to detect obstacles with relative speed. In other words, objects might seem to “disappear” from the radar is relatively static. To overcome this, we figured out that the radar does have some extent of memory (the “HOLD” parameter) where it is able to continuously report the detection for certain period of time.

 

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

This week, I am on schedule with all systems set up done. I am now in the process of doing unit test and tuning for the radar together with my teammate.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  1. More radar tuning for obstacle detection based on obstacle magnitude and obstacle message generation.

Eleanor’s Status Report for 11/09/2024

Personal Accomplishment

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

GPS Testing: Since we know our chosen GPS device only functions outdoors, we tested it outside in front of Hamerschlag Hall. The GPS successfully picked up the correct coordinates, and when these were fed into the Google Maps API, it returned the accurate physical address. To ensure a smooth demo, we tried placing the GPS indoors near a window, but it still couldn’t receive a signal. Therefore, our plan for the GPS demo will be to record a video of its operation in advance.

Radar Tuning and Testing: I also worked on optimizing the radar by adjusting key parameters, including the minimum and maximum detection angles, the movement speed range, and the detection distance. To better visualize the radar’s detection limits, I implemented a real-time tracking graph with the x-axis showing angles from -90° to 90° and the y-axis representing distances from 0 to 7 meters. This graph dynamically displays detection results for both distance and direction (a screenshot is included in the group report). For initial testing, we divided radar tests into nine scenarios (distances of 1m, 3m, and 5m, with obstacles on the left, center, and right). We observed that the radar’s accuracy was higher at shorter distances. Additionally, it performed better when detecting obstacles moving away from it rather than approaching. For instance, at a 3-meter distance in the center, the radar consistently detected obstacles only as they moved away, not as they came closer.

Schedule

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

My progress is on schedule. We made significant strides this week, completing the first round of testing for both the GPS and radar, and they are functioning well overall. While there are some minor performance concerns, I plan to focus on tuning and optimization next week to address these issues and ensure everything is fully aligned with our project timeline.

Upcoming Deliverables

What deliverables do you hope to complete in the next week?

  • Connect the radar output to the audio hat and implement corresponding audio alerts.
  • Fine-tune the radar settings and conduct more detailed testing with improved test cases.
  • Test the accelerometer and design an algorithm to recognize specific movements (falling down vs normal movement).