Multimodal data collection app — records synchronized OAK-D stereo video + JQ tactile glove streams to disk.
Grab the latest release from the Releases page:
- Linux desktop:
touchtronix-datacollection-*.AppImage— full desktop GUI - Linux miniPC / touchscreen:
touchtronix-touch-*.AppImage— fullscreen touch GUI - Windows:
.zip— extract and runtouchtronix-datacollection.exe
A valid license key is required on first launch.
The OAK camera requires udev rules to access USB devices without root. Run the following once after first install:
sudo wget -qO- https://raw.githubusercontent.com/luxonis/depthai-python/main/docs/install_depthai.sh | sudo bashThen replug the OAK camera. No reboot required.
JQ gloves appear as /dev/ttyUSB* (wireless dongle) or /dev/ttyACM* (wired).
Add your user to the dialout group:
sudo usermod -aG dialout $USERThen fully log out of Ubuntu and log back in so the permission change applies to GUI apps. Rebooting also works.
Recommended folder layout:
mkdir -p ~/Touchtronix
mv ~/Downloads/touchtronix-*.AppImage ~/Touchtronix/
cd ~/Touchtronix
chmod +x touchtronix-*.AppImage
./touchtronix-datacollection-*.AppImageTo install the touch AppImage into the Ubuntu app menu and pin it to the GNOME dock, put install_touch_app.sh and touchtronix-touch-*.AppImage in ~/Touchtronix, then run:
cd ~/Touchtronix
chmod +x install_touch_app.sh
./install_touch_app.shThe app stores data next to the AppImage:
~/Touchtronix/calibrations/— glove/user calibration JSON files~/Touchtronix/dataset/— recordings
Keep the AppImage in ~/Touchtronix so calibration files and recordings stay in one easy-to-find folder.
If the app doesn't launch, your system may need FUSE2:
# Ubuntu 24.04+
sudo apt install libfuse2t64
# Ubuntu 22.04 or older
sudo apt install libfuse2Extract the zip and run touchtronix-datacollection.exe. OAK drivers are bundled.
If the wireless glove dongle isn't detected, install the CH340 USB-serial driver.
- Calibration tab — select LH/RH glove serial ports, enter a username, click Start Calibration. Follow the on-screen prompts. The profile is saved under
~/Touchtronix/calibrations/<user>.jsonwhen using the recommended AppImage layout. - Recording tab — select serial ports, pick an output directory and episode name, (optional) load a calibration file, click Start Preview → Start Recording. Press Stop Recording to save.
Recordings are written as per-frame images plus a Parquet sensor log.
Use the bundled utility to convert one episode folder into MP4 videos:
cd FusionX-DataCollection
python3 -m venv .venv
source .venv/bin/activate
pip install -r post_processing/requirements.txt
sudo apt install ffmpeg # Linux, if ffmpeg/ffprobe are not already installed
python post_processing/convert_to_video.py /path/to/dataset/recording_xxxOutputs are written next to frames.parquet:
rgb.mp4— RGB image sequence encoded as H.264preview_glove.mp4— tactile pressure/bend visualizationpreview_all.mp4— RGB + mono stereo + glove composite previewvideo_meta.json— timestamps, FPS, stream metadata
Dependencies: Python 3.10+, numpy, opencv-python, pyarrow, tqdm, plus system ffmpeg and ffprobe on PATH with H.264/libx264 support. No OAK camera, DepthAI, PySide, serial, or license dependencies are required for offline conversion.
The touch AppImage starts a web download page automatically. Put your laptop/desktop and the miniPC on the same Wi-Fi or LAN, then open:
http://touchtronix.local:8080
If that address does not load, use the miniPC IP address shown at the bottom of the touch GUI:
http://<miniPC-ip>:8080
The page lists recorded episodes from ~/Touchtronix/dataset/ and lets you download each episode as a ZIP file.
Troubleshooting:
- Make sure both computers are on the same network.
- If using Wi-Fi, disable guest/client isolation on the router.
- If
touchtronix.localfails, use the raw IP address. - Allow port
8080through any firewall on the miniPC.