Layer-jamming haptic glove
A glove that renders grasping force with layer jamming. One of the course projects I found most interesting.
Team: Alex Lu, Eric Leung, Vivek Pendem and David Lim.
Layer jamming is a simple way to make something stiff on demand: stack thin layers in an airtight sleeve, pull a vacuum, and friction locks the layers together. Let the air back in and the stack bends freely again. We put one jammer on the thumb and one on the index finger of a glove, so that when a virtual object is touched, the fingers stiffen and the user feels a grasp.
How it works
- Sensing. A flex sensor above each jammer connects to an analog pin on an Arduino Mega. Its resistance rises with bend, so the pin voltage tracks the finger angle.
- Pressure control. The Arduino sends a voltage command to a DAC over I2C; the DAC’s 0–5 V output sets the setpoint of a ProportionAir QB1X pressure regulator. The regulator’s inlet is on a positive-pressure source, its exhaust on a vacuum source, and its outlet feeds both jammers and a gauge.
- Jamming logic. The default setpoint is atmospheric, so the glove is free. When the summed bend of the two fingers passes a threshold, the controller commands vacuum and the fingers lock. When the bend drops back past a release threshold, the setpoint returns to atmospheric and the fingers separate.
- Faster release. Positive pressure at the inlet was not needed to jam, but it cut the rise time from vacuum back to atmospheric, so the glove lets go faster. We also tried a momentary positive pulse at the start of each release.
Five virtual objects from one setpoint rule
Changing only how the setpoint depends on fingertip distance gave five different objects: (a) play-doh, whose threshold moves inward as you squeeze; (b) a ball with an adjustable slip force; (c) a ball with an adjustable size; (d) a “true stiffness” ball whose vacuum rises linearly as the fingers close; and (e) a balloon that pops, returning the setpoint to atmospheric past a second threshold.
Characterizing the pressure control
I measured the regulator’s output pressure against the commanded voltage and fit a line by least squares. The mapping from command to gauge pressure came out linear, from about −86 kPa at 0 mV to +90 kPa at 1.7 V, which made the setpoints simple to program.
How small a change in grasping force can you feel?
We ran a small user study with the method of constant stimuli. The participant imagined grasping a cylinder of fixed size but adjustable stiffness, with no graphics. The standard stimulus was a jamming pressure of −45 kPa; the seven comparison stimuli ran from −48 to −66 kPa in 3 kPa steps. Each pair was presented ten times in random order, the participant could switch between the two as often as they liked, then answered whether the comparison felt stiffer or the same.
I fit a normal cumulative distribution to each participant’s proportion of “stiffer” responses in MATLAB and read off the 0.25, 0.50 and 0.75 levels to get the point of subjective equality (PSE) and the difference threshold.
- Participant 1 gave a clean sigmoid: a PSE at −54.0 kPa and a difference threshold of about 3.5 kPa.
- Participant 2’s curve was nearly flat (PSE −61.8 kPa, threshold about 22 kPa), and they said they were mostly guessing. The comparison range was probably too weak for their sensitivity, so a wider range would be needed to place their threshold.
- Both found the glove comfortable enough for the session, but grasping tired the finger muscles and needed short breaks. Letting participants switch freely between stimuli likely sharpened discrimination but lengthened the session.
What we concluded
The glove could simulate pinching and render high grasping forces. The next steps we identified: more precise position sensors, the ability to jam each finger on its own, more convenient straps, a shorter protocol, and more participants, ideally after a quick preliminary study with the method of adjustment to pick a sensible pressure range.