Reva Poddar’s Status Report for 11/30

Progress Update:

This week, I focused on refining and implementing the data processing algorithms, including smoothing, moving averages, and pitch-based thresholding for footstrike detection. These algorithms are now functioning within the development environment, but further fine-tuning is needed to ensure they handle diverse gait patterns effectively. Initial testing highlighted areas for optimization in both noise reduction and threshold calibration.

Challenges Faced:

  1. Noise Filtering: Balancing the smoothing algorithms to reduce noise without removing key features necessary for accurate footstrike detection.
  2. Threshold Calibration: Determining the appropriate pitch threshold values to reliably identify footstrikes across different running styles and conditions.
  3. Integration: Ensuring the algorithms operate efficiently in the development environment without significant lag.

Next Steps:

  1. Complete fine-tuning of the data processing algorithms to improve accuracy and reliability.
  2. Test the system under varied gait patterns and terrains to identify additional areas for optimization.
  3. Begin integrating the refined algorithms into the main application for further testing and visualization development.

Vansh Mantri Status Report for 11/30

Testing Summary

Participants:

  1. Height: 6 feet, Gender: Male
  2. Height: 5 feet 8 inches, Gender: Male
  3. Height: 5 feet, Gender: Female

Key Objectives:

  • Evaluate ease of use and comfort during wear.
  • Assess user feedback on the insole’s feel.
  • Validate step-count accuracy.
  • Identify and fix any firmware-related issues.

Findings:

  1. Usability & Comfort:
    • The device was reported as easy to use, with participants quickly adapting to its setup.
    • Comfort feedback was positive, with slight material adjustments suggested for enhanced fit, particularly by the shortest participant.
  2. Step-Count Refinement:
    • Improved calibration of the step-detection algorithm ensured accurate results for all participants, regardless of differences in stride length or height.
  3. Firmware Updates:
    • Resolved a critical bug related to BLE transmission by ensuring the data buffer is emptied onto the SD card before transmitting via Bluetooth.
    • This update improved system reliability and data integrity.

Additional Progress

  1. Second Shoe Prototype:
    • Initiated the fabrication of the second insole prototype to enable bilateral motion analysis and further expand testing capabilities.
  2. Final Presentation:
    • Drafted and refined the project’s final presentation to clearly communicate the goals, challenges, and progress to stakeholders.
    • Integrated visuals and data to effectively showcase testing results and technical milestones.

New Tools and Knowledge Acquisition

To design, implement, and debug this project, I had to explore a range of new tools and acquire knowledge across various domains. Here’s what I learned and how I went about it:

  1. Tools and Knowledge Acquired:
    • Firmware Development: Delved into SD card data management and BLE protocols to ensure seamless data transmission.
    • Hardware Integration: Worked extensively with the ESP32 and Bosch IMU, learning to minimize sensor drift and optimize data processing.
    • MATLAB Simulations: Conducted simulations to fine-tune system parameters, particularly to minimize sensor saturation.
  2. Learning Strategies:
    • YouTube Tutorials: When confronted with unfamiliar concepts, I relied heavily on YouTube for quick, visual explanations.
    • GitHub Repositories: I explored open-source projects to better understand best practices and avoid reinventing the wheel.
    • Online Forums: Platforms like Stack Overflow and specialized robotics forums were invaluable for troubleshooting specific issues.

One key insight I gained was the importance of understanding the question before attempting to answer it. A problem that is well-defined is already half-solved. By breaking down complex challenges into smaller, digestible parts and focusing on clear problem statements, I could systematically work toward effective solutions.


Next Steps

  • Finalize the second shoe prototype for bilateral testing.
  • Expand participant testing to gather additional feedback.
  • Refine the final presentation and incorporate additional data visualizations.

Team Status Report for 11/30

Team Status Report

Testing Summary (Vansh)

Participants:

  • Height: 6 feet, Gender: Male
  • Height: 5 feet 8 inches, Gender: Male
  • Height: 5 feet, Gender: Female

Key Objectives:

  1. Evaluate ease of use and comfort during wear.
  2. Assess user feedback on the insole’s feel.
  3. Validate step-count accuracy.
  4. Identify and fix any firmware-related issues.

Findings:

  • Usability & Comfort:
    The device was easy to use, with participants adapting quickly. Feedback on comfort was positive, with slight material adjustments suggested for the shortest participant.
  • Step-Count Refinement:
    Improved calibration of the step-detection algorithm ensured accurate results for all participants, accommodating differences in stride length and height.
  • Firmware Updates:
    Resolved a critical BLE transmission bug by ensuring the data buffer is cleared onto the SD card before Bluetooth transmission. This improved reliability and data integrity.

Additional Progress:

  • Second Shoe Prototype:
    Fabricated the second insole prototype to enable bilateral motion analysis.
  • Final Presentation:
    Refined the project’s presentation, integrating visuals and data to showcase testing results and milestones.

New Tools and Knowledge Acquisition:

  • Firmware Development: Explored SD card management and BLE protocols.
  • Hardware Integration: Worked with ESP32 and Bosch IMU to minimize sensor drift.
  • MATLAB Simulations: Conducted simulations to optimize system parameters.

Learning Strategies: Utilized YouTube tutorials, GitHub repositories, and forums like Stack Overflow for quick learning and problem-solving.

Next Steps:

  • Finalize the second shoe prototype for bilateral testing.
  • Expand participant testing.
  • Refine the final presentation and incorporate additional data visualizations.

Progress Update (Reva)

Progress:

  • Refined and implemented data processing algorithms, including smoothing, moving averages, and pitch-based thresholding for footstrike detection.
  • Initial testing within the development environment highlighted areas for improvement in noise reduction and threshold calibration.

Challenges:

  • Noise Filtering: Balancing smoothing algorithms to reduce noise without compromising footstrike detection accuracy.
  • Threshold Calibration: Determining pitch threshold values for reliable footstrike identification across diverse running styles.
  • Integration: Ensuring efficient algorithm performance within the development environment without lag.

Next Steps:

  1. Fine-tune data processing algorithms to enhance accuracy and reliability.
  2. Test the system under varied gait patterns and terrains.
  3. Integrate refined algorithms into the main application for further testing and visualization.

Combined Next Steps:

  1. Finalize the second shoe prototype and conduct bilateral testing.
  2. Complete fine-tuning of data processing algorithms to handle diverse gait patterns effectively.
  3. Conduct additional participant testing under varied conditions to optimize step detection and stride length calculations.
  4. Refine and test the firmware for consistent real-world performance.
  5. Finalize the project’s presentation, integrating additional data and insights from expanded testing.

Vansh Mantri’s Status report for 11/16

We have successfully developed the MVP (Minimum Viable Product) for one shoe as a demonstration unit. The following progress highlights key developments and implementations:

  1. FreeRTOS Implementation: The ESP32 is now running FreeRTOS, enabling efficient multitasking and real-time performance for the motion-sensing system.
  2. Yost IMU Integration: The Yost IMU has been integrated using HSPI, providing accurate motion data capture.
  3. SD Card Functionality: An SD card module is operational using SPI (VSPI) on the ESP32, enabling secure data storage for recorded motion metrics.

This iteration demonstrates significant advancements in system stability, data reliability, and real-time processing, marking a major milestone for the project. The MVP will be tested during the demo to validate its performance under real-world conditions.

Team Status Report for 11/16

Progress Update

  1. Algorithm Development:
    • Implemented smoothing algorithms and moving averages to reduce noise in the incoming data, making it more suitable for analysis.
    • Developed a thresholding algorithm that uses pitch changes from the device to detect footstrikes. By analyzing variations in pitch, the system can more accurately identify footstrikes.
  2. Hardware and System Updates:
    • Successfully developed an MVP (Minimum Viable Product) for one shoe, demonstrating key functionalities for motion sensing.
    • Integrated the Yost IMU into the system using HSPI, enabling accurate motion data capture.
    • Deployed FreeRTOS on the ESP32 to achieve efficient multitasking and real-time performance.
    • Operationalized an SD card module using SPI (VSPI) on the ESP32 for secure data storage of recorded motion metrics.

Challenges Faced

  1. Algorithm Optimization:
    • Balancing the smoothing and moving average algorithms to ensure noise reduction without distorting essential data features needed for footstrike detection.
  2. Threshold Calibration:
    • Determining the optimal threshold values for pitch changes to reliably detect footstrikes while minimizing false positives or missed detections.
  3. MVP Testing:
    • Ensuring the integrated hardware and algorithms perform seamlessly during real-world demos.

Key Achievements

  • Algorithm Implementation: Smoothing and thresholding algorithms are operational and ready for validation.
  • FreeRTOS Integration: ESP32 now runs FreeRTOS, enabling real-time multitasking for improved system performance.
  • Hardware Integration: Successfully incorporated the Yost IMU and an SD card module for motion data capture and storage.
  • MVP Development: A functional demonstration unit for one shoe is ready for testing and evaluation.

Next Steps

  1. Algorithm Validation:
    • Test smoothing and thresholding algorithms with a larger dataset to ensure accuracy and reliability.
    • Collect feedback from initial tests to refine the algorithms further.
  2. Integration into Application:
    • Incorporate the footstrike detection feature into the main application to provide real-time insights to users.
  3. MVP Testing:
    • Conduct extensive testing of the MVP under real-world conditions to validate system stability and data reliability.
  4. User Feedback:
    • Gather user feedback during demos to identify areas for improvement in both hardware and software components.

Conclusion

The project has achieved a significant milestone with the development of a fully functional MVP and the integration of advanced data processing algorithms. While challenges in algorithm optimization and threshold calibration remain, the team is on track to refine and enhance the system for real-world application. Upcoming efforts will focus on validation, user feedback, and system integration to further improve accuracy, reliability, and user experience.

Reva Poddar’s Status Report for 11/16

Progress Update:

This week, I focused on implementing smoothing algorithms and moving averages to process the incoming data. These techniques help in reducing noise and making the data more suitable for analysis. I also worked on a thresholding algorithm that uses the pitch of the device as a means of detecting footstrikes. By analyzing the changes in pitch, we can more accurately determine when a footstrike occurs.

Challenges Faced:

  • Algorithm Optimization: Ensuring the smoothing and moving average algorithms do not distort the essential features of the data needed for accurate footstrike detection.
  • Threshold Calibration: Determining the optimal threshold values for pitch changes to reliably detect footstrikes without false positives.

Next Steps:

  • Validate the smoothing and thresholding algorithms with a larger dataset.
  • Integrate the footstrike detection feature into the main application.
  • Collect feedback from initial tests to further refine the algorithms.

Vansh Mantri’s status report for 11/9

Status Report: Motion Sensing Project

Progress Summary: We received the new Yost sensor this week, which we are preparing to integrate into our system. The next steps involve carefully soldering the sensor to ensure stable connectivity and functionality within the device setup.

Key Achievements:

  • Successfully configured the Bosch IMU to communicate data to the ESP, allowing us to capture and process motion data accurately.
  • Set up a pipeline to log this data onto an SD card, creating a structured log of information for further analysis.
  • Implemented BLE functionality, enabling us to transfer the collected data as a .txt file from the SD card directly to the mobile app. This feature enhances accessibility and user interaction with the data.

Next Steps:

  • Proceed with the soldering of the Yost sensor and begin testing its compatibility with our current system.
  • Conduct performance tests to ensure stable data transfer and app connectivity via BLE.
  • Continue refining the system for optimal data accuracy and usability.

Challenges: No significant issues have arisen with the current components; however, careful handling of the Yost sensor during soldering is essential to prevent potential connectivity problems.

Conclusion: The project is on track, with successful data capture and transfer mechanisms established. Integration of the Yost sensor will further enhance motion sensing capabilities and bring us closer to our target performance benchmarks.

Team Status Report for 11/9

Progress Update

  1. Buffer System and Data Handling:
    • Implemented a buffer system to manage incoming data, which is flushed into a local data structure in Dart for real-time processing.
    • Buffered data is being saved into a CSV file for further analysis and visualization.
    • Began developing algorithms to parse through the data structure and CSV file to detect footstrikes, a critical metric for the project.
  2. Integration of New Hardware:
    • Received the new Yost sensor and started preparation for integration into the existing system.
    • The Bosch IMU has been successfully configured to communicate motion data to the ESP32, allowing for accurate data capture and processing.
  3. Data Logging and Transfer:
    • Set up a pipeline to log motion data onto an SD card for structured analysis.
    • Implemented BLE functionality to transfer the data as a .txt file from the SD card directly to the mobile app, enhancing accessibility and user interaction.

Challenges Faced

  1. Data Visualization:
    • Developing intuitive and informative visual representations of buffered and logged data remains a challenge.
  2. Footstrike Detection Algorithm:
    • Parsing complex datasets to accurately detect footstrikes requires fine-tuning and validation against real-world motion scenarios.
  3. Hardware Integration:
    • The soldering and handling of the Yost sensor require precision to ensure stable connectivity and functionality.

Key Achievements

  • Data Capture: Successfully configured the Bosch IMU for seamless communication with the ESP32.
  • Data Logging: Created a robust pipeline for logging motion data onto an SD card.
  • BLE Transfer: Enabled BLE functionality to transfer .txt files directly to the app, improving user interaction.
  • Buffer System: Established a reliable buffer system for efficient data management and storage.

Next Steps

  1. Hardware Integration:
    • Proceed with soldering the Yost sensor and test its compatibility with the current system.
  2. Footstrike Detection:
    • Continue developing and validating the footstrike detection algorithm using collected data.
  3. Data Visualization:
    • Refine visualization tools within the app to better represent trends and patterns in the motion data.
  4. Performance Testing:
    • Test system performance under various conditions to ensure stable data transfer and app connectivity via BLE.
  5. Optimization:
    • Enhance the buffer system for improved performance and reliability.

Conclusion

The project is progressing well, with significant milestones achieved in data capture, logging, and BLE transfer. Integration of the new Yost sensor will expand the system’s capabilities, while ongoing improvements in data visualization and footstrike detection algorithms will provide actionable insights. The team remains focused on refining the system for enhanced accuracy, reliability, and user experience.

Reva Poddar’s Status Report for 11/9

Progress Update:

We have implemented a buffer system to flush incoming data into a local data structure in Dart. This buffered data is also being saved into a CSV file for further analysis. We are currently working on visualizing this data to better understand the patterns and trends. Additionally, we are developing algorithms to parse through the data structure and the CSV file to detect footstrikes, which is a critical component of our project.

Challenges Faced:

  • Data Visualization: Creating intuitive and informative visual representations of the buffered data.
  • Footstrike Detection Algorithm: Parsing complex data to accurately detect footstrikes requires fine-tuning and validation against real-world scenarios.

Next Steps:

  • Continue refining the data visualization tools within the app.
  • Test and improve the footstrike detection algorithm using the collected data.
  • Optimize the buffer system for better performance and reliability.

Vansh Mantri’s Status Report for 11/2

Summary of Work Done

  1. Data Acquisition and Smoothing
    • Raw linear acceleration data along the X-axis was acquired from the BNO055 IMU in NDOF mode.
    • Initial analysis showed significant noise in the raw data even when the sensor was stationary. To address this, we applied exponential smoothing to reduce high-frequency noise and stabilize the signal for further processing. This step was essential to obtain a more accurate representation of linear acceleration.
  2. Bias Correction
    • A bias correction technique was implemented by recording a stationary baseline and calculating the mean of the initial readings to account for any offset. This average offset was then subtracted from all subsequent readings, ensuring that the data approached zero when the IMU was stationary.
  3. Velocity and Displacement Calculation
    • First Integration: The smoothed and bias-corrected acceleration data was integrated over time to estimate velocity.
    • Second Integration: The calculated velocity was further integrated over time to estimate displacement along the X-axis.
    • A fixed time interval (dt), based on the IMU’s sampling rate, was used to ensure consistent and accurate integration at each step.
  4. ESP32 Data Transmission to Mobile App
    • We used an ESP32 microcontroller to transmit the processed IMU data to a mobile app. Here’s how we set up this data transmission:
      • BLE Communication: The ESP32 was configured to create a BLE server, allowing it to communicate wirelessly with the mobile app.
      • Data Formatting: The processed data (smoothed acceleration, velocity, and displacement) was formatted into strings to ensure compatibility with the app’s data parsing requirements.
  5. Challenges Encountered in Transmission
    • Power Management on ESP32: To prevent overheating and optimize power usage, we implemented a delay between data transmissions. Additionally, we configured the ESP32’s Wi-Fi settings to minimize power consumption during idle periods.

Results

The processed data was successfully transmitted from the ESP32 to the mobile app, allowing users to monitor acceleration, velocity, and displacement values. Key outputs included:

  • Velocity (X-axis): An estimated velocity value over time.
  • Displacement (X-axis): An estimated displacement value based on double integration of acceleration data.

Challenges and Recommendations

  1. Noise and Drift in Displacement Calculation
    • Despite smoothing, residual noise in acceleration data caused drift in velocity and displacement estimates. For future improvements, advanced filters like the Kalman filter should be explored to address this drift.
  2. Temperature and Environmental Sensitivity
    • Observations showed minor variations in IMU data under different temperature conditions. Future work could involve temperature-based calibration to further improve accuracy.

Next Steps

  1. Implement Advanced Filtering (Kalman Filter): Integrating a Kalman filter could help reduce drift by combining the current estimate with previous estimates and error measurements, leading to more reliable displacement values.
  2. App Enhancement for Data Visualization: Adding a graphing feature in the app to display trends over time could provide users with better insights into changes in acceleration, velocity, and displacement.

Conclusion

This project successfully calculated and transmitted displacement data from an IMU via an ESP32 to a mobile app. While preliminary results are promising, further improvements in filtering and alternative communication methods could enhance both the accuracy of displacement estimation and the reliability of data transmission. Integrating advanced filtering and refining the app’s user interface for better visualization are recommended next steps.