Zhixi’s Status Report for 12/07/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 worked closely together with my teammates on debugging the whole pipelined integration system and progressing the final report, poster, videos, and demo. For the integration system, I collaborated with my team to identify and address an issue where running the two subsystems simultaneously caused the audio output to fail with random frequency of speech. While we initially suspected the audio hat hardware, we determined that the root cause was signal interference during integration. We were using two threadings, one for the radar-audio subsystem, and the other for the gps. To resolve this, I helped replace threading with subprocesses, which allowed the subsystems to run in isolated environments. The current integration seem to work better than before based on our integration tests with the whole system. Additionally, we modified the system to operate immediately upon pressing a button on the vest, eliminating the need for external control via a laptop.

I also actively participated in extensive testing, including unit tests for individual components, integration tests for the subsystems, and comprehensive testing of the fully assembled vest. By adhering to the testing protocols outlined in our design report, we validated the system’s functionality and performance under expected conditions (see group report for detailed results). The testing also lead to the fine tuning and modification of our system, adapting more to our use case requirements. I changed the code logic for obstacle detection – the radar would have a memory of old obstacles for 3 seconds without reporting it repeatedly, however, would report and consider the obstacle as a new one after 3 seconds even if it is the same one detected before.

Schedule

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

Our project is slightly behind schedule due to minor unexpected issues. To address this, I have been working closely with my team to ensure we dedicate sufficient time to catching up. With the final deadline next week, I will continue focusing on optimizing our workflow to deliver all required deliverables on time.

Upcoming Deliverables

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

  • Perform additional functionality checks to ensure all components are working reliably.
  • Finalize and submit the final video, poster,  demo, and report

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.

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.

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.

Zhixi’s Status Report for 11/2/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. Ethics lecture (2 hrs): I spent time on the ethics lecture and learnt quite a lot about political implication of engineering.
  2. Team meeting (3 hrs): My teammates and I spent time sync up on our individual progress both during the lab time and after the assigned class time. Issues on individual work were proposed, and after working together, we managed to solve what was previously not working.
  3. GPS hardware setup (2 hrs): I spent time setting up the GPS with USB connection. Initially, the reading was not available due to some port initialization issue with the RPi4. After correctly finding the USB port with the reserved serial communication, I was able to read the output from minicom and interpret the data from there.
  4. Radar software setup (5 hrs):I completed the initial software bring-up for the radar, enabling it to output basic detection results. During setup, I encountered communication issues between the radar and the Raspberry Pi. Initially, the default UART port on the RPi didn’t transmit or receive data. After confirming basic UART functionality, the radar still wasn’t communicating. I discovered that the RPi 4’sdefault mini-UART doesn’t support parity bits, which our radar requires for even parity. I reconfigured the setup to use UART2, which does support parity bits, and that resolved the issue. Now, the radar successfully outputs a list of detection targets with their distance and velocity, completing this bring-up phase.

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 back on schedule with all systems set up done (except accelerometer that we have not yet received). I am now in the process of doing unit test and tuning for the radar.

Upcoming Deliverables

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

  1. More radar tuning for obstacle detection and obstacle message generation.

Zhixi’s Status Report for 10/26/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 spent my time mainly on system setup and integration, which is the basis for my partner’s work in dealing with the hardware components.  To facilitate the programming of our Raspberry Pi, I set up the Raspberry OS Desktop and enabled VNC, I2C and SPI for communication. The VNC is for connecting to the Raspberry Pi with Mac laptops. Connecting our Audio HAT to I2c, I identified the slave address of the component, enabling my partner to verify the stable output of audio. However, I am still in the process of making sure radar can properly interact with Raspberry Pi. Though efforts are made, there seems to be some issue remaining that does not allow me receive the signals. Another thing I helped with is the GPS setup. While the GPS should be able to use USB connection, we failed in getting the connection. The reason why it failed still needs to be figured out.

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, my schedule is a bit behind due to unexpected delays with the RPi4 setup, which has taken longer than anticipated. This setup is critical because it involves integrating key components like the radar, speaker, and accelerometer, which are essential for the system to function. My partner’s tasks, including testing and validating the system, are dependent on this integration being completed. The delay in getting these components connected has created a bottleneck, and we cannot move forward with system testing until the integration is finished. To catch up, I plan to prioritize the integration process over the coming week, focusing on resolving any remaining issues with the RPi4 and ensuring that the radar, speaker, and accelerometer are fully operational. I will adjust my schedule to allocate more time toward these tasks, as completing this integration is crucial for allowing my partner to proceed with their work. By expediting this part of the project, I aim to prevent further delays and ensure that we can move forward with testing as planned, ultimately bringing the project back on track.

Upcoming Deliverables

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

Next week, my primary goal is to continue on the system integration by fully connecting and verifying the radar and accelerometer (not received) with the RPi4. This involves running initial tests to confirm the stability and output of each component, ensuring they can interact properly with the Raspberry Pi as planned. Once the components are reliably integrated, I aim to begin component testing, focusing on verifying sensor accuracy and communication. This will involve checking the radar’s obstacle detection, the accelerometer’s fall detection, and the audio system’s response. Starting component testing is critical for assessing how well the system functions under real-world conditions, so finishing the integration will be my top priority.

Zhixi’s Status Report for 10/20/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 devoted significant time to both the design review report and setting up the physical system. For the report, I worked extensively on the design trade studies, comparing alternatives for components like the radar and accelerometer. I also detailed the system implementation, specifying how each part (radar, speaker, accelerometer) would connect to the RPi4 and their respective roles in the system. Additionally, I reviewed the entire report to ensure consistency across different sections, particularly making sure there were no conflicts between the subsystems. Beyond documentation, I made progress in the hardware setup. The RPi4 is now successfully powered by a portable battery, and the radar, speaker, and accelerometer are all connected. However, I still need to verify the stability and output of these components, ensuring they function correctly before proceeding with testing.

Schedule

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

At present, my work is on schedule, particularly with respect to my designated tasks. However, we have encountered a dependency in the project that may require extra effort to ensure timely progress. My partner’s tasks rely heavily on my completion of the system integration—specifically, having the radar, speaker, and accelerometer connected and operational with the RPi4. This means that while I am on track with my own tasks, I will need to accelerate the integration process so that we can begin testing other components. We cannot fully test or validate the system until all parts are connected, and delays in my integration work could potentially impact the overall timeline. To avoid falling behind, I will prioritize this integration work in the coming week, ensuring my partner has the necessary setup to proceed with their own testing and tasks.

Upcoming Deliverables

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

Next week, my primary goal is to complete the system integration by fully connecting and verifying the radar, speaker, and accelerometer with the RPi4. This involves running initial tests to confirm the stability and output of each component, ensuring they can interact properly with the Raspberry Pi as planned. Once the components are reliably integrated, I aim to begin component testing, focusing on verifying sensor accuracy and communication. This will involve checking the radar’s obstacle detection, the accelerometer’s fall detection, and the audio system’s response. Starting component testing is critical for assessing how well the system functions under real-world conditions, so finishing the integration will be my top priority.

Zhixi’s Status Report for 10/05/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).

  • Prepared and practiced for the design review presentation earlier in the week as it was my turn of doing the presentation for the team.
  • Picked up components that arrived this week, performed the wearability unit test together with teammates by weighing the components individually. Verified that the vest is about 1kg which is under our quantitative design requirement of less than 3kg.
  • Set up the starter code for radar data analysis for obstacle detection.
  • Started on design review report due the following week.

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, we are slightly behind schedule due to the recent submission of our orders. The delivery timeline is uncertain, which has caused some delays in setting up hardware. However, with our well-defined design and clear component choices, we are confident that once the items arrive, we will be able to proceed with the setup quickly and efficiently. Furthermore, nothing was planned during the fall break previously, however, I will utilize the time as a mid-semester slack time to catch up on schedule.

Upcoming Deliverables

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

In the upcoming week, I plan to focus on setting up the radar with the starter code I set up. I’ll also do unit test on the radar after setting it up to test its capabilities to make sure it meets our requirements. This would include moving our radar at approximately 1 m/s to detect static objects, and holding our radar still to detect moving objects such as people passing by in different directions (towards radar, horizontally in FOV, etc.). Another thing I will complete is finish the design setup of the button hardware circuitry.

Zhixi’s Status Report for 9/28/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 spent my time mainly on preparing the design review slides. I will be presenting next week so I spent time practicing my presentation skills and finalizing the logic flow of our slides.  I also finalized our component orders and decided to go with KLD7 radar and a power bank instead of Position2Go and a battery adapter. Additionally, I designed the system specification block diagram by hand and sent it to my teammate to finalize using draw.io for inclusion in our slides.

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, we are slightly behind schedule due to the recent submission of our orders. The delivery timeline is uncertain, which has caused some delays in setting up hardware. However, with our well-defined design and clear component choices, we are confident that once the items arrive, we will be able to proceed with the setup quickly and efficiently.

Upcoming Deliverables

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

In the upcoming week, I plan to focus on setting up the radar once the ordered components arrive. I’ll also do unit test on the radar after setting it up to test its capabilities to make sure it meets our requirements. Additionally, I will start to work on assembling the components to RPi4 via the specified communication protocol in our design.

Zhixi’s Status Report for 09/21/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).

  • Started system design: I started designing our system at a high level. This includes examine the size of each component and decide where should the component be placed on the vest.
  • Submitted Orders for radar and battery: I researched the most suitable radar and battery for our project and submitted  the orders through canvas google form. While choosing a battery that is portable and recharge is not difficult, hunting for a suitable radar that is within the budget is more challenging.
  • Reviewed the starter code the radar: I reviewed the sample starter code for the radar we chose to further evaluate the radar.

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 so far is on schedule. I have completed all the tasks I planned for this week. To ensure I stay on track, I will begin working on the next phase, which involves integrating the ordered components with the backend once they arrive. We will also start to work on the design presentation together.

Upcoming Deliverables

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

  • Refine the design of our whole system and prepare for the design presentation.
  • Set up the radar and microcontroller once items are received.