How to build and use a low-cost sensor glove
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.
Note that this project is not longer maintained. Use the GitHub project instead.
Publications
2016 |
|
A Low-cost Sensor Glove with Vibrotactile Feedback and Multiple Finger Joint and Hand Motion Sensing for Human-Robot Interaction Proceedings Article In: Proceedings of the IEEE International Symposium on Robot and Human Interactive Communication (RO-MAN), 2016. | |
2015 |
|
Low-cost Sensor Glove with Force Feedback for Learning from Demonstrations using Probabilistic Trajectory Representations Proceedings Article In: ICRA 2015 Workshop on Tactile and force sensing for autonomous compliant intelligent robots, 2015. |
Details to the 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
- Compile the mex function with: mex SensorGloveInterface.cpp -lserial
- Run EventBasedSensorGloveDemo.m