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.

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.

Vansh Mantri’s Status Report for 10/26

Next Steps and Action Items:

  1. 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.
  2. 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.
  3. 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.

Reva Poddar’s Status Report for 10/21

Accomplishments This Week:
This week, I focused on setting up the Bluetooth communication framework and managing data transfer. I made progress in preparing the Bluetooth package for Flutter to detect nearby devices and started evaluating different data handling techniques to ensure smooth real-time data transmission. I also looked at flutters existing graphical representation libraries.

Progress Status:
I am currently a bit behind schedule, and anticipate that I will encounter issues with maintaining a stable connection and organizing the data flow within the app, so I am planning to dedicate more time throughout the upcoming weeks to catch up. The delay primarily involves establishing the initial Bluetooth connection and finalizing the file system structure. I am confident that with a concentrated effort, I can get back on track and complete the planned milestones.

Deliverables for Next Week:

  1. Complete the initial Bluetooth connection setup to receive data on the app.
  2. Finalize the file system design for managing Bluetooth-transmitted data from ESP32.
  3. Begin integrating the data visualization features using data from the Bluetooth connection.

Updated Schedule:

  • By End of the Week: Continue working on making the initial Bluetooth connection and refining the file system for Bluetooth communication.
  • Upcoming Weeks: Dedicate extra effort to finalize the Bluetooth integration with Vansh and start implementing the graphical representation components.

The focus will be on managing any remaining connectivity or data flow issues and ensuring that progress aligns with the project goals.

Team Status Report for 10/21

Accomplishments This Week:

  • System Architecture: Completed a detailed design for the insole, integrating the IMU, pressure pad, BLE module, and LIPO battery. Outlined data flow and real-time transmission via ESP32.
  • Data Collection and Processing: Documented data handling methods, including preprocessing and filtering using MATLAB to minimize noise.
  • Bluetooth: communication in Flutter, and explored graphical representation libraries.
  • Validation Plan: Developed a testing strategy to assess system accuracy, response time, and battery efficiency.

Progress Status:

  • Behind Schedule: Delays in Bluetooth connectivity and data flow organization. Additional effort planned to catch up.

Significant Risks:

  • Bluetooth Stability: Addressing communication issues with tests and alternative BLE options.
  • Data Handling: Optimizing real-time processing methods to avoid latency.

Updated Schedule:

  • This Week: Complete Bluetooth setup and file system design.
  • Upcoming Weeks: Finalize integration and start implementing data visualization.

Part A: Global Factors (Written by Reva Poddar)

The motion-tracking insole addresses a global need for improved gait analysis as well as injury prevention across various demographics. The solution caters to athletes and individuals undergoing physical therapy, as well as everyday users looking to monitor and enhance their movement patterns. With the rise in remote health monitoring and wearable technology adoption worldwide, the insole offers a universally accessible tool that supports different regions and user groups, even those who are not technologically inclined. The app’s compatibility with both iOS and Android devices ensures it can be used across diverse device ecosystems, making it suitable for a broad audience outside academic and local communities.

Part B: Cultural Factors (Written by Vansh Mantri)

Cultural considerations are crucial in designing the insole, as attitudes towards exercise, rehabilitation, and technology use vary widely. In communities that prioritize fitness and sports, the insole can be a tool for optimizing athletic performance. In cultures where traditional medicine or low-tech rehabilitation is preferred, the app’s user-friendly interface can help introduce the benefits of modern gait analysis without overwhelming users.

Part C: Environmental Factors (Written by Vansh mantri)

The insole is designed with sustainability in mind, promoting environmental considerations in multiple ways. By helping users prevent injuries, the need for prolonged physical therapy or medical treatments, which have environmental impacts due to resource and energy use, is reduced. The hardware components are selected for durability, minimizing electronic waste through fewer replacements.

 

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Vansh Mantri’s Status Report for 10/5

1. Finalized Hardware Components:

  • Inertial Measurement Unit (IMU): Selected an IMU that includes both an accelerometer and gyroscope. This will be used for real-time motion tracking.
  • Pressure Pad: Chosen for accurate pressure detection and user feedback.
  • Bluetooth Low Energy (BLE) Module: Decided on a BLE module for low-power wireless communication between the insole and external devices.
  • Battery: Calculated power requirements for the system and confirmed the use of a rechargeable LIPO battery. These calculations have been documented and posted in the design report.
  • ESP32 Selection: After meeting with the CLIMB team (who are working on a similar project), we decided to use an ESP32 microcontroller for its low power consumption, integrated BLE, and ease of interfacing with the sensors and battery.

2. Collaboration with CLIMB Team:

  • Met with the CLIMB team to discuss design decisions, as they are using a similar framework. We shared insights into using the ESP32 microcontroller and discussed battery management with LIPO rechargeable batteries. This collaborative discussion helped solidify our design decisions regarding energy efficiency and sensor integration.

3. IMU Testing and Simulation:

  • Successfully connected an Arduino to the Bosch IMU sensor to begin collecting data.
  • Conducted a preliminary test and ran a simulation in MATLAB to analyze sensor drift and saturation. The simulation helped identify ways to minimize these issues, which will be addressed in future sensor calibration and firmware development.

Next Steps:

  • Continue sensor calibration and integration with the ESP32.
  • Finalize the communication protocol between the insole and external devices.
  • Work on refining the simulation model to better predict and reduce sensor drift.

Team Status Report for 9/28

Task Overview:

This week, the focus was split between software architecture development and hardware component selection and design finalization for the motion-sensing shoe sole. Reva concentrated on the app’s software design, while Vansh worked on selecting the appropriate hardware components and finalizing the insole design. The goal was to ensure that both the technical specifications of the hardware and the software architecture align with the operational requirements outlined in previous discussions.

Progress Summary:

Software Architecture (Reva’s Contributions):
Reva focused on refining the software architecture for the mobile app. After evaluating multiple software platforms, Flutter was chosen for its ability to target both iOS and Android devices from a single codebase, optimizing development time and cost. The app has been structured into three main sections:

  1. History and trends: to display past performance data.
  2. Real-time data: to provide immediate feedback based on sensor readings.
  3. Settings: for user preferences and system configurations.

This architecture will allow for intuitive access to key features and help users monitor and analyze their movement patterns effectively. Reva is on schedule and will begin developing the app in Flutter next week.

Hardware Component Selection and Design Finalization (Vansh’s Contributions):
Vansh focused on selecting and finalizing the hardware components that will make up the motion-sensing sole. Key progress includes:

  1. IMU (Accelerometers & Gyroscopes): The Bosch IMU was selected for its ability to track both linear and angular motion, with a ±16g accelerometer range and ±2000°/s gyroscope range, offering sufficient accuracy for our use case.
  2. Pressure Sensors: High-resolution pressure pads were chosen for precise foot pressure mapping, with sensors placed at the forefoot, midfoot, and heel for detailed movement data.
  3. Microcontroller (ESP32): Selected for its built-in Bluetooth Low Energy (BLE) and Wi-Fi capabilities, which allow efficient data transmission to the mobile app.
  4. Power Supply: A 200mAh rechargeable lithium-polymer battery was selected to support at least 3 hours of continuous use, subject to final testing and optimization.
  5. Connectivity: BLE 5.0 was chosen for low-power, efficient data transmission to mobile devices.

Vansh also made progress in finalizing the insole design, opting for a removable insole for flexibility and comfort, and selecting lightweight, moisture-wicking materials. Minor adjustments to the sensor placement and materials will be made following initial user testing.

Challenges Encountered:

  1. Battery Life Optimization: Ongoing work is needed to optimize the balance between sensor performance and power efficiency to ensure longer battery life.
  2. Sensor Calibration: Efforts continue to refine calibration settings to ensure accurate data collection across diverse environments and use cases.

Next Steps:

  1. Software: Reva will begin developing the app in Flutter, starting with the basic layout and navigation.
  2. Hardware: Vansh will continue working on the design report, finalizing the component selections and specifications, and begin prototyping with the selected components to validate their functionality and performance.
  3. Power Optimization: Ongoing efforts will focus on improving power consumption to extend battery life during use.

Design Review Presentation:

Vansh is preparing a design review presentation to summarize the component selection, design choices, and the rationale behind these decisions. This presentation will serve as a key milestone to finalize the hardware and software integration plan and will be ready by the end of the week.

Conclusion:

The team is progressing well with both the software architecture and hardware design. The combination of Flutter for software development and the selected Bosch IMU, pressure sensors, and ESP32 microcontroller for hardware will help meet the project’s operational requirements. The next phase will involve prototyping and testing to validate the design.

Looking at the project as a whole, in terms of public health, safety, and welfare (Part A), the motion-sensing shoe sole is designed to improve users’ physical well-being by providing real-time feedback on foot strike patterns, stamina, and other metrics during physical activities. By helping users track and optimize their movement, the product can contribute to injury prevention and promote physical health. Additionally, the app’s user-friendly interface will reduce psychological strain, making it easy for users to monitor their progress, thus enhancing overall well-being. Safety considerations include ensuring the accuracy of sensor data to prevent false readings, which could otherwise lead to injury or improper posture adjustments.

From a social perspective (Part B), the product can cater to a broad and diverse user base across different cultural and social groups. By enabling users to track their health and fitness data and potentially share it within their communities or social groups, the product encourages social interaction and wellness. It could also contribute to creating a health-conscious community that motivates individuals to engage in physical activities, enhancing collective social welfare.

In terms of economic factors (Part C), the project aims to be cost-efficient by focusing on using an IMU sensor and avoiding more expensive hardware like pressure pads. The choice of Flutter for app development ensures the app can be built for both iOS and Android from a single codebase, significantly reducing development and maintenance costs. This will help in making the product more affordable for users while still delivering robust health-monitoring capabilities, contributing to the sustainability and accessibility of the product in the market.

Vansh Mantri’s Status Report for 9/28

Status Report: Component Selection and Design Finalization

Task Overview:
This phase involves selecting the appropriate components (sensors, power systems, connectivity modules) and finalizing the overall design of the motion-tracking sole. The goal is to ensure the technical specifications meet the operational requirements outlined in previous discussions.

Progress Summary:

1. Component Selection:
– IMU (Accelerometers & Gyroscopes):
– We have chosen the Bosch IMU for tracking both linear and angular motion, providing a ±16g accelerometer range and a ±2000°/s gyroscope range, ensuring sufficient accuracy for our use cases.
– This selection is subject to change as we finalize our design report and validate whether these specifications fully meet the project’s needs.
– Pressure Sensors:
– Opted for high-resolution pressure pads with 8-bit resolution for precise foot pressure mapping.
– We are using multiple pressure pads (forefoot, midfoot, and heel) to provide granular data on foot movement and weight distribution. As we complete our design report, these configurations may be adjusted based on further testing.
– Microcontroller (ESP32):
– We’ve selected the ESP32 microcontroller, which offers I2C communication to interface with the IMU and Bluetooth Low Energy (BLE) for data transmission to the mobile app.
– The ESP32 was chosen due to its integrated BLE and Wi-Fi capabilities, making it ideal for both communication and sensor data handling in our compact design.
– Power Supply:
– A 200mAh rechargeable lithium-polymer battery has been selected, capable of supporting at least 3 hours of continuous use. This is subject to refinement based on the final power consumption metrics from our design report and initial testing.
– Connectivity:
– We’ve decided on Bluetooth Low Energy (BLE) 5.0 for efficient, low-power data transmission, ensuring smooth communication with mobile devices and minimizing power consumption.

2. Design Finalization:
– Insole Design:
– Proceeding with a removable insole design for flexibility and broader market appeal.
– Sensor placement has been optimized at key foot points (heel, midfoot, forefoot) to balance performance and user comfort, subject to minor adjustments as we finalize the design.
– Material Selection:
– Lightweight, moisture-wicking materials have been chosen for comfort and durability, though this will be finalized following further user testing.
– Durability Considerations:
– The insole design will include a waterproof rating of IP68, ensuring long-lasting performance in varied environments.

Challenges Encountered:
– Battery Life Optimization:
Continuing to optimize power consumption, particularly around balancing sensor performance with battery efficiency, as this will affect the final design.

– Sensor Calibration:
Ongoing work on refining calibration settings to ensure accurate data collection across different user cases and environments.

Next Steps:
– Complete the design report to finalize component selections and specifications.
– Begin prototyping with selected components for initial testing and validation.
– Continue optimizing power circuits for extended battery life.

Design Review Presentation:
– I am currently preparing a design review presentation that will summarize the component selection, design choices, and rationale behind the decisions. This presentation, which will be ready by the end of the week, will serve as a key milestone to finalize the hardware and software integration plan.

Conclusion:
We are progressing well with component selection and design finalization, though all numbers and specifications are subject to change as we complete the design report. The Bosch IMU and ESP32 microcontroller have been chosen for their respective roles in data collection and transmission, and the design review presentation will provide further insights into our development process. Our next phase will focus on prototyping and testing.