This post discusses how to develop a low cost sensor glove with tactile feedback using flex sensors and small vibration motors. MATLAB and JAVA code is linked.
Documentation
- Weber, Paul; Rueckert, Elmar; Calandra, Roberto; Peters, Jan; Beckerle, Philipp
A Low-cost Sensor Glove with Vibrotactile Feedback and Multiple Finger Joint and Hand Motion Sensing for Human-Robot Interaction Inproceedings
Proceedings of the IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), 2016. https://ai-lab.science/wp/ROMANS2016Weber.pdf
Hardware
- Arduino Mega 2560 Board
- Check which USB device is used (e.g., by running dmesg). On most of our machines it is /dev/ttyACM0
- Enable read/write permissions if necessary, e.g., run sudo chmod o+rw /dev/ttyACM0
- Serial protocoll based communication: Flex sensor readings are streamed and Vibration motor PWM values can be set between 0 and 255
- Firmware can be found here (follow the instructions in the README.txt to compile and upload the firmware)
- Features frame rates of up to 350Hz
- Five flex sensors provide continuous readings within the range [0, 1024]
Simple Matlab Serial Interface – max 100Hz
- Download the Matlab demo code from here
- Tell Matlab which serial ports to use: copy the java.opts file to your Matlab bin folder, e.g., to /usr/local/MATLAB/R2012a/bin/glnxa64/
- Run FastComTest.m
Fast Mex-file based Matlab Interface – max 350Hz
- Install libserial-dev
- Download the code from here
- Compile the mex function with: mex SensorGloveInterface.cpp -lserial
- Run EventBasedSensorGloveDemo.m