This repository demonstrates the use of soft sensors for touch detection. The system consists of two main components: the Follow-Touch application for managing BLE connections and measurements, and a Neural Model based on Randomized Oscillator Networks for detecting one of five contact points on the soft sensor.
The Follow-Touch application acts as the central hub for connecting to and managing BLE-enabled peripherals. It provides a graphical interface for scanning, pairing, and interacting with sensors.
- Device Scanning and Pairing: Automatically scans for BLE devices and allows pairing with peripherals.
- Real-Time Measurements: Collects sensor data at configurable intervals (55ms to 1000ms).
- File Output: Saves measurement data in JSON format for each peripheral and combines results into an Excel file (.xls).
- Visual Feedback: Displays the connection state of peripherals using color codes:
- White: Undefined state
- Green: Bluetooth connection is working
- Orange: Request for pairing
- Red: No Bluetooth connection
- Plotting: Each peripheral has its own plot window to visualize sensor data in real-time.
- Only peripherals with the name "touch" are visible by default.
- Output files are saved in the
STORAGE_PATHdirectory, which can be configured via environment variables.
The Neural Model uses Randomized Oscillator Networks as a recurrent model to detect one of five contact points on the soft sensor. This model processes the sensor data collected by the Follow-Touch application and predicts the contact point based on the input signals.
- Recurrent Neural Network: Implements a Randomized Oscillator Network for temporal data processing.
- Contact Point Detection: Identifies one of five predefined contact points on the soft sensor.
- Integration with Follow-Touch: Processes the JSON output files generated by the Follow-Touch application.
To run the system, ensure the following prerequisites are met:
-
Python Environment:
- Install Conda for managing dependencies.
- Python version 3.8.10 or higher is required.
-
Bluetooth:
- Ensure your local machine has Bluetooth capabilities.
-
Dependencies:
- Install the required Python packages for both components using the provided build scripts.
To set up the environment and build the components, follow these steps:
- Clone the repository:
git clone <repository-url> cd <repository-directory>