Mason’s Status Report for 11/9

This week, I aimed to complete various components of our project, focusing on API integration and Jetson setup. Here’s a summary of the tasks I successfully completed:

  • Implemented and tested the website API
    • Finalized the API for real-time data transmission from the Jetson to the website, allowing dynamic updates.
  • Downloaded the NVIDIA SDK and flashed the OS on the Jetson
    • This setup is now complete, enabling us to move forward with device integration and testing.
  • Collaborated with Kapil on Bracelet and Jetson integration
    • We worked together to connect the Bracelet with the Jetson. We were able to get the Adafruit on the network so that the jetson will be able to communicate with it
  • Tested Jetson-to-Website integration
    • Ran scripts on the Jetson that called the API with various test values to validate the website’s response and observed successful updates reflecting test inputs.
  • Enhanced website with AJAX polling
    • Added AJAX polling to enable continuous updates from the API, so the website now dynamically reflects real-time changes in the data.

Overall, we are close to being on schedule, though there is still considerable work to do this week to stay on track for the upcoming demo.

Goals for Next Week:

  • Assist Noah with running the model on the Jetson
    • Work together to optimize the model setup and ensure it operates effectively on the Jetson platform.
  • Finalize the Jetson-Bracelet integration
    • Complete the necessary configurations and testing to enable seamless communication between the Jetson and the Bracelet.
  • Design and initiate latency tests for the system
    • Develop latency tests to measure and optimize response times across the integrated system, ensuring it meets performance requirements for the demo.

Kapil’s Status Report for 11/9

1. What did you personally accomplish this week on the project?

  • This week, I confirmed that the NeoPixel part I ordered last week is on its way. Once it arrives, I plan to finalize and complete the circuit assembly.
  • In the meantime, I shifted my focus to integrating the components with the Jetson, which is an essential step for the full system setup. To facilitate this, I participated in a group meeting where we worked on setting up the Jetson and coordinating its communication with other system components.
  • During integration, I identified an issue with the Adafruit Feather’s connectivity. While it works smoothly on my local WiFi, it faces challenges when trying to connect to CMU’s network. This is a critical insight that will need addressing to ensure reliable operation in our intended environment.

2. Is your progress on schedule or behind?

  • My progress is slightly behind schedule.  I wanted to have finished my circuit and start working on  streamlining the design but am still waiting for the NeoPixel to arrive.

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

  • Next week, I hope to have the NeoPixel part in hand and complete the circuit assembly.
  • I aim to continue working on and ideally finalize the integration between the Adafruit Feather and the Jetson, addressing the WiFi connectivity issue to ensure seamless communication.
  • If the circuit is completed, I will run initial tests to confirm that the system operates as expected and adjust any configurations as necessary.

Team’s Status Report 11/2

1. What are the most significant risks that could jeopardize the success of the project?

  • Power and Component Integration: For the embedded bracelet, we identified a power issue with the NeoPixel which caused unexpected behavior. Although we ordered a part to address this, any further power discrepancies could delay testing.
  • Integration with Jetson We have not received our NVIDIA Jetson yet and still need to complete integration between the three subsystems.

2. Were any changes made to the existing design of the system?

  • Power Adjustment for NeoPixel: To resolve the NeoPixel’s voltage requirements, we ordered a new component, modifying the power design for stable operation.
  • Real-time API and UI Enhancements: We designed a REST API for real-time data transmission and updates, which adds a dynamic element to the website interface. Upcoming UI enhancements, including a timer and confidence bar, will improve the usability and clarity of the feedback display.

3. Provide an updated schedule if changes have occurred:

  • The team remains on schedule with component integration. Kapil will continue with the 3D printed enclosure and communication setup while awaiting the NeoPixel component. Noah will transition to Jetson-based model testing and optimization. Mason’s API testing and UI improvements will align with the next integration phase, ensuring that system components function cohesively.

Photos and Documentation:

  • Initial bracelet circuit, highlighting successful haptic motor tests and NeoPixel power issues.

  • Images of the real-time labeling function, which demonstrates the model’s current performance and areas needing improvement.

Noah’s Status Report for 11/2

I wanted to fully integrate all the computer vision components this week which was mostly a success! Here are some of the following tasks I completed:

  • Continued to create and test my new facial recognition model
    • This has been kind of a side project to increase the accuracy of the emotion detector in the long run.
    • It shows significant benefits, but I’ve decided to hold off for now until we can start with system integration
  • Trained a new model with over 200 epochs and 5 convolution layers
    • This model reaches an accuracy of 68.8% which is so close to the threshold we set out in the design report.
    • I believe we can make it to 70%, but I’ll need to dedicate an instance to training for over 6 hours likely.
      • Also need to reduce overfitting again
  • Integrated the model to produce labels in real-time
    • I’ve included some pictures below to show that it is working!
    • It has a noticeable bias to say that you are sad which is a bit of an issue
      • I’m still working to discover why this is.

Being mostly done with the model, I am on schedule and ready to work on system integration this upcoming week!

Goals for next week:

  • Continue to update the hyperparameters of the model to obtain the best accuracy as possible.
  • Download the model to the Jetson and use the webcam / Jetson to run the model instead of my computer
    • This will fulfill my portion of the system integration
    • I would like to transmit the outfit from my model to Mason’s website in order to ensure that we are getting reasonable metrics.

 

Kapil’s Status Report for 11/2

1. What did you personally accomplish this week on the project?

  • This week, I assembled the preliminary circuit for the bracelet, bringing together the main components to start testing their functionality as a system. I successfully got the haptic feedback motor to operate with different vibration modes, confirming that the motor can provide the varied feedback required by the design.

  • During testing, I identified an issue with the NeoPixel’s power supply. The NeoPixel requires 5V for both power and the data line, but the Adafruit Feather can only supply 3.3V. Although we initially thought this voltage difference wouldn’t affect performance, I observed unexpected behavior in the NeoPixel’s operation. To address this, I ordered a part specifically designed to handle the voltage issue, ensuring consistent functionality for the NeoPixel.

https://www.adafruit.com/product/2945

  • While waiting for this part, I’m preparing to start working on the 3D printed enclosure, finalizing the design so it will be ready for printing. I also plan to begin establishing the communication protocols between the Adafruit Feather and the Jetson, which will be crucial for our system’s data flow.

2. Is your progress on schedule or behind?

  • My progress is on schedule, despite the NeoPixel power issue. The haptic motor testing was successful, and I’ve already ordered the part needed to resolve the NeoPixel issue. I’ll stay productive by focusing on the enclosure design and the Feather-Jetson communication setup while waiting for the part to arrive.

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

  • Next week, I plan to finalize the 3D printed enclosure design and begin printing, ensuring the bracelet housing is ready for the final assembly.
  • I’ll also aim to complete the initial setup for communication between the Feather and Jetson, which will allow data transmission and control commands to be integrated into the bracelet.
  • Once the new part arrives, I’ll revisit the NeoPixel setup to confirm that the circuit operates smoothly with the correct voltage levels.

Mason’s Status Report for 11/2

Accomplishments: This week, I completed deployment using Gunicorn and Nginx, which is now set up to handle concurrent requests effectively and provides a stable environment for our application. The website is ready to be viewed on the ipad and used in the system. Additionally, I designed the Rest API that will connect to the model, facilitating data transmission from the Nvidia Jetson to the website. This api is made using the python requests package, and integrated into the Django web app. Through Ajax, the display can make real-time updates on the display. Note that while the API is designed and integrated into the webapp, but it hasn’t been tested yet.

Next Steps: On schedule, my goal next week is to integrate and run both the API and the facial recognition model directly on the Jetson. This milestone will be essential to finalize the whole system’s integration and confirm that all components work cohesively to deliver consistent, real-time data flow and processing. We will also begin testing the latency of the API to ensure fluid user experience, and consistent timing between the iPad and bracelet. From there, I will move to working on adding a watch/timer display to the interface to show time elapsed, and add a bar to show confidence. These UI enhancements will aid in the usability of the display.