Vansh Mantri’s Status Report for 12/7
Testing Summary Findings:
Usability & Comfort
- Participants reported the device as easy to use, quickly adapting to its setup.
- Feedback on comfort was positive overall. However, the shortest participant suggested slight material adjustments to enhance the fit.
Step-Count Refinement
- Improved calibration of the step-detection algorithm ensured accurate results for all participants, regardless of differences in stride length or height.
Casing and Battery
- Developed a functional casing for the insole and integrated LIPO battery for reliable, rechargeable power.
- Ensured optimal battery placement for comfort and functionality, balancing weight distribution effectively.
- Also made a CAD model
Final Presentation
- Refined the project’s final presentation to effectively communicate goals, challenges, and progress to stakeholders.
- Integrated detailed visuals and data to showcase testing results and technical milestones clearly.
- Started Final Report
Team Status Report for 12/6
Team Status Report
Testing Summary Findings (Vansh)
- Usability & Comfort:
- Participants reported the device as easy to use and quickly adapted to its setup.
- Comfort feedback was positive overall, but the shortest participant suggested slight material adjustments to enhance the fit.
- Step-Count Refinement:
- Improved calibration of the step-detection algorithm ensured accurate results across participants, accommodating differences in stride length and height.
- Casing and Battery:
- Developed a functional casing for the insole and integrated a LIPO battery for reliable, rechargeable power.
- Ensured optimal battery placement for comfort and balanced weight distribution effectively.
- Created a detailed CAD model for the casing design.
- Final Presentation:
- Refined the project’s final presentation to communicate goals, challenges, and progress effectively to stakeholders.
- Integrated detailed visuals and data to showcase testing results and technical milestones clearly.
- Started drafting the final report.
Progress Update (Reva)
- Algorithm Development:
- Fine-tuned data processing algorithms with a focus on noise reduction and optimizing pitch-based thresholding for footstrike detection.
- Integrated the refined algorithms into the main application and tested them using simulated datasets.
- Testing Outcomes:
- Metrics like footstep detection performed well during tests, but stride length calculation remains challenging due to variations in user gait and step patterns.
- Leveraged the app’s visualization tools to verify real-time data flow and detection accuracy.
- Challenges:
- Stride Length Calculation: Accounting for individual variations in stride dynamics to compute stride length reliably.
- Real-Time Integration: Ensuring efficient algorithm performance within the app.
- Edge Cases: Addressing abrupt movement changes highlighted during simulated dataset tests.
Next Steps (Combined):
- Real-World Testing:
- Conduct live data tests with real-world runs to validate algorithms under dynamic conditions and improve stride length calculations.
- Algorithm Refinement:
- Enhance detection algorithms for robustness in handling edge cases and variability in user gaits.
- Continue optimizing stride length computation methods.
- User Feedback:
- Seek feedback from initial users to identify pain points and guide further improvements in both detection algorithms and stride length calculations.
- Finalization Efforts:
- Complete bilateral testing with the second insole prototype.
- Finalize the project’s presentation and report, incorporating additional data visualizations and insights from real-world testing.
This comprehensive report outlines progress, key findings, challenges, and next steps, ensuring alignment across the team.
Vansh Mantri Status Report for 11/30
Testing Summary
Participants:
- Height: 6 feet, Gender: Male
- Height: 5 feet 8 inches, Gender: Male
- 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:
- 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.
- Step-Count Refinement:
- Improved calibration of the step-detection algorithm ensured accurate results for all participants, regardless of differences in stride length or height.
- 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
- Second Shoe Prototype:
- Initiated the fabrication of the second insole prototype to enable bilateral motion analysis and further expand testing capabilities.
- 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:
- 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.
- 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:
- 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:
- 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:
- Fine-tune data processing algorithms to enhance accuracy and reliability.
- Test the system under varied gait patterns and terrains.
- Integrate refined algorithms into the main application for further testing and visualization.
Combined Next Steps:
- Finalize the second shoe prototype and conduct bilateral testing.
- Complete fine-tuning of data processing algorithms to handle diverse gait patterns effectively.
- Conduct additional participant testing under varied conditions to optimize step detection and stride length calculations.
- Refine and test the firmware for consistent real-world performance.
- 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:
- FreeRTOS Implementation: The ESP32 is now running FreeRTOS, enabling efficient multitasking and real-time performance for the motion-sensing system.
- Yost IMU Integration: The Yost IMU has been integrated using HSPI, providing accurate motion data capture.
- 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.
Vansh Mantri’s status report for 11/9
Vansh Mantri’s Status Report for 11/2
Summary of Work Done
- 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.
- 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.
- 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.
- 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.
- We used an ESP32 microcontroller to transmit the processed IMU data to a mobile app. Here’s how we set up this data transmission:
- 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
- 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.
- 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
- 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.
- 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.
Vansh Mantri’s Status Report for 10/26
Next Steps and Action Items:
- Bosch IMU Configuration
- Goal: Achieve precise and reliable sensor readings by optimizing the Bosch IMU configuration to match the motion requirements of the insole.
- Tasks:
- Adjust Sampling Rates and Sensitivity: Experiment with different sampling rates to balance accuracy with response time. Set the accelerometer and gyroscope sensitivity levels based on anticipated user movements and required data precision.
- Power Management Settings: Configure the Bosch IMU’s power-saving features to optimize battery usage without compromising data accuracy, essential for wearability and long-term use.
- Data Transmission Protocol: Fine-tune data handling settings to ensure smooth transmission over BLE with minimal latency or packet loss.
- Kalman Filter Design and Implementation
- Goal: Build a Kalman filter to process the insole’s IMU data, allowing more accurate measurement of position and orientation by filtering out unwanted noise and stabilizing output.
- Tasks:
- Understanding the Basics: Begin with a detailed study of Kalman filtering principles, including understanding state estimation, prediction, and update phases. Use MATLAB or Python for initial simulations to experiment with filter parameters.
- Develop State Equations: Define equations for the insole system’s states (e.g., position, velocity, orientation) to establish the Kalman filter model.
- Tuning Process: Test and adjust the Kalman filter’s parameters (e.g., process noise and measurement noise covariance matrices) using sample data. The tuning process will be iterative, aiming to achieve minimal deviation while avoiding excessive response lag.
- Implementation in ESP32: After verification in simulation, implement the filter on the ESP32. Monitor real-time performance and compare results to simulated outputs.
- Minimizing Sensor Drift and Noise
- Goal: Reduce drift and noise from the IMU, which can accumulate over time and lead to significant inaccuracies.
- Tasks:
- High-Pass and Low-Pass Filtering: Apply high-pass filters to isolate rapid motion changes (e.g., foot strikes) and low-pass filters to stabilize slow changes (e.g., orientation). Fine-tune cutoff frequencies based on motion characteristics.
- Drift Correction Techniques: Use complementary filtering alongside the Kalman filter to continuously correct drift, especially for gyroscope readings.
- Calibration and Testing: Regularly recalibrate the IMU, especially in varying environmental conditions, to account for temperature and magnetic interference.
- MATLAB Simulations for Error Analysis: Use MATLAB to model common sensor errors and adjust filtering techniques accordingly. This will help in refining drift correction algorithms before implementation on the actual device.
Vansh Mantri’s Status Report for 10/20
The objective of the design report was to document the progress and detailed planning for the development of a motion-tracking insole. This report aimed to present the system architecture, data collection methodology, and validation strategy.
Tasks Completed:
- System Architecture Design:
Created a comprehensive architecture diagram detailing the insole’s key components, including the IMU (Accelerometer + Gyroscope), Pressure Pad, BLE module, and rechargeable LIPO battery. Specified the data flow between these components, with an emphasis on integrating data collection and real-time transmission using the ESP32. - Data Collection and Processing Methodology:
Documented the methodology for data collection, including the specific configurations for the Bosch IMU. This section also included steps for data preprocessing, error correction, and signal filtering to minimize sensor drift and saturation using MATLAB simulations. - Hardware Integration and Prototyping:
Outlined the hardware integration process and included initial tests conducted using an Arduino prototype. Summarized findings from these tests to support the decision to transition to ESP32 for final implementation. - Validation and Testing Approach:
Described the validation strategy, which includes bench tests for individual components and integrated tests to assess the system’s overall performance. Focused on planned methods to evaluate accuracy, response time, and battery efficiency. - Challenges and Risk Assessment:
Highlighted technical challenges faced during prototyping, including sensor noise issues and BLE connectivity stability. Conducted a risk assessment to identify potential project bottlenecks and proposed contingency plans. - Formatting and Presentation:
Structured the report to ensure it meets professional standards, with sections including an executive summary, system specifications, diagrams, and tables for data presentation.