This project is a monitoring system for the Healthcare Assistant with Video, Olfaction, and Conversation (HAVOC) program running on the Temi robot. It uses computer vision and machine learning to detect falls, classify smells, and generate daily reports. It provides real-time metrics and visualizations through a web interface, making it ideal for applications in healthcare, safety monitoring, or robotics research.
Clone the repository:
git clone https://github.com/innovationcore/HAVOC-Server.git
cd HAVOC-Server
Create a virtual environment:
python -m venv venv
Activate the virtual environment:
On Windows:
venvScriptsactivate
On macOS/Linux:
source venv/bin/activate
Install the required dependencies:
pip install -r requirements.txt
Additional Setup:
Download the YOLO model weights (yolo11n-pose.pt) and place them in the yolo_weights/ directory.
Set up environment variables in a .env file:
TEMI_EMAIL_SENDER=your-email@gmail.com
TEMI_EMAIL_PASSWORD=your-app-specific-password
TEMI_EMAIL_RECIPIENTS=recipient1@example.com,recipient2@example.com
TEMI_REPORT_TIME=20:00
Ensure the static/newSensor_training.csv file exists for smell classification training data.
To start the server, run:
python server.py
http://0.0.0.0:8133, serving the web interface.http://0.0.0.0:5432.Open your web browser and navigate to http://localhost:8133 to access the web interface.
The web interface (index.html) provides several interactive sections:
Temi_VODs/.The system is composed of several key modules:
yolo_fall_detection.py: Implements fall detection using YOLO, with methods for bounding box, pose keypoints, and bottom fraction analysis.report_visualizer.py: Generates t-SNE visualizations comparing daily sensor data with training data.plot_points_pixel.py: Plots the robot’s position and smell detections on a map image.smell_classifier.py: Classifies smells using a KNN model trained on sensor data.server.py: Manages WebRTC streaming, Flask web server, and real-time data processing.fall_tracking.py: Tracks fall events over time, maintaining unique faller counts.daily_reports.py: Generates and sends daily reports via email, including metrics and visualizations.index.html: The frontend interface providing a user-friendly dashboard.Imported from gh:Kentucky-Open-Science/HAVOC-Server. Source last updated 2025-12-08. Synced 2026-07-27.
Source code on GitHub.
This project is a monitoring system for the Healthcare Assistant with Video, Olfaction, and Conversation (HAVOC) program running on the Temi robot. It uses computer vision and machine learning to detect falls, classify smells, and generate daily reports. It provides real-time metrics and visualizations through a web interface, making it ideal for applications in healthcare, safety monitoring, or robotics research.
``bash
git clone https://github.com/innovationcore/HAVOC-Server.git
cd HAVOC-Server
`
`bash
python -m venv venv
`
- On Windows:
`bash
venvScriptsactivate
`
- On macOS/Linux:
`bash
source venv/bin/activate
`
`bash
pip install -r requirements.txt
`
- Download the YOLO model weights (yolo11n-pose.pt) and place them in the yolo_weights/ directory.
- Set up environment variables in a .env file:
`plaintext
TEMI_EMAIL_SENDER=your-email@gmail.com
TEMI_EMAIL_PASSWORD=your-app-specific-password
TEMI_EMAIL_RECIPIENTS=recipient1@example.com,recipient2@example.com
TEMI_REPORT_TIME=20:00
`
- Ensure the static/newSensor_training.csv file exists for smell classification training data.
To start the server, run:
`bash
python server.py
`
, serving the web inter...