“Anything that keeps me off balance is vital.” – Brie Larson
The dictionary defines haptics as “the use of technology that stimulates the senses of touch and motion, especially… the sensations that would be felt by a user interacting directly with physical objects.” Me, I think of it as the buzzing from my cellphone.
A vibrating phone or pager was probably everyone’s first introduction to haptics, and it’s still the most common usage. But there’s a lot more you can do to simulate real-world feel, and a lot more hardware and software available beyond just a cheap motor with an off-center weight.
Ironically, we’re using advanced haptics to counteract the advances we’ve made in other areas. Take phones, for example. Modern haptics simply makes up for some of the visual and tactile cues we lost when we switched to sexy all-glass edge-to-edge screens. Real pushbuttons do have their advantages, as anyone who’s tried typing a long message on their phone’s virtual keyboard can tell you. But real keyboards are uncool, bulky, and hard to reproduce in a few square inches. To make up for that, we synthesize the tactile sensation using haptics.
Haptics has its limits. It’s good for attracting the user’s attention. Hey, you’ve got an incoming phone call. There’s currently no way to convey more detailed information. Hey, your 2:00 PM appointment has been moved to 4:30. Morse code, maybe? Haptics vendors are trying to move the technology toward the latter usage model, for obvious reasons. But that’s not going to be easy.
Virtual reality is especially tricky – but also especially important. Immersive VR depends on getting a lot of things right, or else the subject – that’s you – gets queasy, falls over, and generally does not have a good time. Hangover simulator, anyone? Part of that magic formula is trying to synthesize a sense of touch when you pick up, push, or move virtual objects. In a VR game, how do you simulate the weight, inertia, and kickback of a virtual ray gun? (Do ray guns have kickback?) How do you replicate the sensation of pushing a heavy object versus a lighter one? These are problems the haptics companies are trying to solve.
Case in point is Cirrus Logic, which just announced its first fully integrated haptics chip, the CS40L25. Interestingly, the chip is already being used in zillions of Samsung and Google phones, and another well-known phone maker uses a slightly different version. But it’s only just now being made available to us mortals. So, it’s a new device with a really long and distinguished beta period.
Turns out, there’s a whole sensory vocabulary to haptic feedback that most of us are unaware of but respond to instinctively. People like their cellphone vibrations to have a sharp well-defined beginning and end, for example. We don’t like buzzers that sneak up on us. That’s perceived as creepy and uncomfortable, like something crawled into your pocket.
There are also happy and unhappy haptic patterns, though we’d be hard pressed to describe the difference. Cirrus employs user-experience “haptic helpers” to guide OEMs through the process of building haptic feedback waveforms and assigning them to appropriate actions. What’s the right haptic feedback for entering an incorrect password, and how is it different from the one for signaling that your battery is low? These guys know.
There’s also the timing issue. Feedback is supposed to be instant because it’s replicating a physical action. We should feel a keypress as we press the key, not afterwards. That’s disorienting and worse than useless. Cirrus says the outer limit for latency is about 50 milliseconds. Any longer, and users react negatively, so you might as well not bother.
Fifty milliseconds in an eternity for most microprocessors, but with haptics it can be a challenge to meet that deadline. You generally need to get a physical mass moving and that takes time. Haptic devices, like the one in your phone, are powered-down more than 99% of the time, so you’ve got to wake up that whole subsystem, charge up the motor or linear actuator, and literally get things moving.
That movement can be in the form of an LRA (linear resonant actuator), a VCM (voice coil motor), or an ERM (eccentric rotating mass). Your phone almost certainly has an LRA, which uses a magnet and voice coil to move a small spring-loaded mass linearly in either the X or Y direction (i.e., parallel to the phone screen) or along the Z axis (perpendicular to it).
Automakers tend to prefer VCM actuators because they’re bigger and swing more mass, which you’d need to wake up a drowsy driver or indicate an accidental lane change. ERMs spin an off-center weight around a motor shaft. They’re popular mostly in low-end feature phones because they’re cheap.
All three types present as motors to the programmer, so you’re looking at motor-control algorithms and digital/analog interfaces. The problems aren’t much different than running a really tiny washing machine. Indeed, Cirrus leveraged a lot of its DSP hardware and software in creating the CS40L25. It’s got the amplifier, A/D converters, feedback loops, and power management you’d expect to find in a motor controller. It also includes on-chip voltage boosting, so you can run your actuator from the same supply as your logic.
Mechanical actuators generally require a kick start to get moving, which spikes power consumption briefly. After that, you can (if you’re careful) rely on the device’s resonant frequency to keep the mass moving with only minimal energy expenditure. It’s a bit like pushing a toddler on a swing: if you time it right you barely need to push at all. Stopping the mass requires almost as much energy as starting it, so there’s a second power hit at the end.
The chip’s internal RAM can store up to 50 waveforms, though it’s hard to imagine any device needing 50 different haptic feedback patterns. Cirrus is happy to provide canned waveforms, or you can design your own using the company’s wave-editor software, shown here.
Touchscreens have given us sleek new industrial-design options, but we’ve lost tactile feedback in the process. The nascent science of haptics aims to bring back some of that, albeit in simulated form. The ready availability of actuators and driver chips like the CS40L25 at least make the process easy.