Jacob’s Status Report for 12/06/2025

My work this week was concentrated on the team video and the final report. I focused on updating some of the report’s mandatory sections: the Abstract,  Architecture, and ethical considerations. This made sure they appropriately depicted the system as it was constructed. Incorporating public health, safety, welfare, and the global, cultural, social, environmental, and economic aspects from our previous work.

I also assisted with organizing how we present the system and planning and filming parts of the team video, such as shots of the cooling loop.

The project is still on track for the final demo. Next week, we’ll finalize the video and the remaining edits to the report.

Aidan’s Status Report for 12/06/2025

This week, I began progress on the team video, which included planning our formatting, videography, and timeline to successfully showcase our project with sufficient detail. I also assisted with recording shots of the cooling loop for use in the video. Additionally, I  researched ethical considerations to eventually integrate into the final report. This involved researching and drafting this section of the final report to ensure all requirements are met within the context of our project. Working on this earlier ensured that our team had extra slack prior to the final demo if desired.

The team is currently on track for the final demo, and we are fine tuning the model through data recollection to ensure a working product. The schedule is on track, and we are looking forward to the final demo!

Team Status Report for 12/06/2025

Accomplishments

  • Testbed coolant flush: Flushed out cooling loop because of yellow fluid and contaminants
  • Data collection: Recollected normal dataset due to ambient temperature drift and coolant loop differences affecting inference
  • ML model development: Retrained regression and autoencoder using updated normal data
    • Updated autoencoder architecture to use delta temperature features only to lessen effect of ambient temperature changes
  • Final deliverables: Started planning Final Report, Video, and Demo
    • Took video of testbed for Final Video
    • Split up Final Report sections

Significant Risks

  • Model sensitivity: Since model is designed to detect small deviations, small drifts in ambient temperature, water levels, and other factors can cause the model to alert an anomaly
    • Switched to delta temperature only features (no absolute temperatures)
    • Tuned thresholds based on power levels

Design Changes

  • No major design changes this week

Schedule Changes

  • Project remains on track
    • ML model tuning in progress

Testing and Results

  • Servo Valve Flow Restriction Test: Ran servo through different PWM duty values and measured flow rate to map duty value to flow rate reduction
    • Result: Mapped duty value to flow rate reduction with fit equation
  • Heater / Power Delivery Test: Applied PWM values to the SSR and confirmed heater power using RMS voltage measured on oscilloscope
    • Design Change: Found that power supply rating too low and had to purchase higher wattage power supply (300W)
    • Result: Commanded power is accurate to actual measured Vrms
  • Regression Model Prediction Accuracy Test: Compared predicted vs. measured CPU power on normal datasets
    • Design Change: Replaced original linear regression model with a Random Forest after benchmarking several models
    • Result: Random Forest achieved RMSE = 2.53 W
  • Autoencoder Model Latent Space Test: Examined latent space separation between normal and fault windows and measured FPR and FNR
    • Result: Model successfully differentiates normal from fault data
      • FPR: 0.38%
      • FNR: 0.64%
  • Classification Model Accuracy Test: Evaluated classifier performance on distinguishing flow faults vs. power faults
    • Result: Model successfully classifies flow fault and power fault
      • FPR: 0.00%
      • FNR: 1.06%
  • Latency Test: Measured timing from inference start to alert generation
    • Result: Model meets 1s latency requirement
      • Regression = 141 ms
      • Autoencoder = 363 ms
      • Classifier = 9 ms
      • End-to-end = 825 ms

Kristina’s Status Report for 12/06/2025

Recollected Normal Condition Data

  • Ambient temperature shifted noticeably from previous data collection runs
  • Repeated full normal data collection loop to collect data at current ambient temperature

Full Flush of Cooling System

  • Coolant turned yellow and contained some kind of brown particles, likely residue from radiator
  • Fully drained the loop, flushed several times, and replaced water

Retrained Model with New Dataset

  • Updated preprocessing steps, retrained regression and autoencoder models using new data
  • Updated model architecture to use only delta temperature features
    • Reduce model sensitivity to ambient drift
  • Began integrating updated models into live inference loop

Schedule & Progress

  • On schedule for final demo

Next Steps

  • Finish testing live inference loop
  • Complete final report and final video

Aidan’s Status Report for 11/22/2025

This week, I was unable to attend 18500 because I was very sick all week with the flu. I made sure to stay in contact with my team while under these unfortunate circumstances. I communicated regarding post-demo and updates to our model training/progress. This allowed me to stay on track for next week after recovering from my illness to assist with all items leading up to the final demo and presentation.

Our schedule is currently on track and we plan to focus on the final presentation and ensuring our model training stays on track for final demos.

For my portion of AnomAIy, I was responsible for learning various new platforms to develop, debug, and integrate all items regarding the Raspberry Pi Pico. This involved learning how to use the Pico, MicroPython, and the Raspberry Pi for Pico to Pi communication. These platforms were all completely new to me and required me to utilize my prior experience with microcontrollers to learn and develop on new platforms. Some learning strategies used to acquire this new knowlege included watching youtube videos detailing Pico setup, reading articles written for MicroPython newbies, and researching forums that detailed debugging strategies when unusal errors occured with integration.

Team Status Report for 11/22/2025

Accomplishments

  • Data Collection: Completed power-fault data collection
    • Started reduced flow data collection loop
  • Regression model: Finalized and validated model for predicting CPU power

  • Autoencoder anomaly detection model: Implemented AE using RF residuals
    • Completed initial tuning: window size, latent dimension, dropout, batch size
    • Implementing event based fault detection instead of window based to fix poor separation between normal vs. fault cases 
      PCA After Tuning

      PCA Before Tuning

Significant Risks

  • Normal fault overlap in AE latent space: PCA shows fault and normal windows are not cleanly separable even after tuning
    • Window level anomaly detection may be unreliable due to overlap
    • Risk mitigation: Switching to event-based detection, which only requires detecting a fault at least once per event

Design Changes

  • No major design changes this week

Schedule Changes

  • Project remains on track
    • ML model tuning in progress

Kristina’s Status Report for 11/22/2025

Data Collection for Fault Cases

  • Completed power fault synthetic test patterns
  • Started reduced flow synthetic test patterns data collection loop

Regression Model for CPU Power Prediction

  • Finalized feature set and preprocessing for regression model
  • Validated regression model performance on synthetic traces and exported model for use in autoencoder

Autoencoder Anomaly Detection Model

  • Implemented sliding window AE on RF output
  • Tuned initial architecture (window size, latent dimension, dropout, batch size)
  • Ran verification sweep on fault windows
  • Found strong overlap between normal and fault windows causing inconsistent fault detection
  • Developing event based detection: detect at least once per fault event rather than per-window

Final Presentation

  • Started drafting final presentation slides

Schedule & Progress

  • On schedule: working on tuning ML model

Next Steps

  • AE tuning + final presentation slides

Learning Strategies

  • ML autoencoder: Learned to build autoencoder for anomaly detection
    • Used Medium blogs, GitHub examples, and other people’s AE projects to understand typical structures and tuning strategies
    • Referenced scikit-learn documentation and online tutorials for scaling, windowing, PCA plotting, and general debugging
    • Already had background from ML classes but needed to apply to actual sensor data
  • Testbed Assembly: Had previous experience with similar setup with Raspberry Pi 5 and sensors so integrating was familiar
    • Had to learn how to run long data collection loops
    • Communicate between Pi and Pico over UART
    • Learn to flash code and debug UART on Pico with online tutorials and datasheets
  • Practical Skills:
    • Crimping connectors and assembling hardware setup
    • Used YouTube videos, forums, and online guides
  • Overall, most new knowledge came from informal learning
    • Videos, online blog posts, GitHub repositories, datasheets, and example projects

Jacob’s Status Report for 11/22/2025

This week, I was mainly focused on continuing data collection. Some time was also spent helping Kristina refine and adjust the regression algorithm as needed. Overall, everything remains on track as we progress toward the project’s completion.

Next week, we plan to wrap up the remaining tasks and prepare what we’ll present for our final demo.

Jacob’s Status Report for 11/15/2025

This week didn’t bring many changes to our project. Our first demo presentations went well, and we started collecting data for the database. We ran sweeps on our variables, including different levels of flow restriction and simulated VRM power output, to observe how our testbed reacts and cools down. We based these changes of flow restriction and VRM power output on previous research. The values are then being stored to build a large dataset, which will be used to train and test our machine learning algorithms.

The project is still on track. Next week, we intend to implement the alert system and begin developing the regression and autoencoder models for anomaly detection.

Aidan’s Status Report for 11/15/2025

This week, I supported the team through Interim demos by ensuring the functionality of the Pico as the cooling loop begins data-collection and complete operation. After demos, I assisted with finalizing test patterns for intial data collection to ensure our testbed models realistic workloads. Additionally, I developed fault-condition test cases to run on the testbed after initial data collection to ensure our dataset is thorough enough to provide anomaly detection that aligns with our technical requirements. The schedule is currently on track, and next week, we plan to continue data collection and fault simulation to build out our regression model for power prediction.