Design the force-feedback devices used in VR, surgical robots and haptic gloves. Adjust the end-effector inertia, damping, sampling rate and encoder bits to see the natural frequency, closed-loop bandwidth, Z-width and Colgate-Brown stability limit update in real time, and find a controller that renders a hard virtual wall without oscillation.
Parameters
Device inertia m
kg
Equivalent end-effector mass
Structural stiffness K_d
N/m
Mechanical stiffness of the device
Damping b
N·s/m
Joint friction plus damper
Sampling rate Fs
Hz
Servo-loop update rate
Controller Kp
N/m
Virtual wall spring gain
Controller Kd
N·s/m
Virtual damper gain
Quantization bits
bit
Position encoder resolution
Results
—
Natural freq. (Hz)
—
Damping ratio ζ
—
Closed-loop BW (Hz)
—
Max stable gain (N/m)
—
Z-Width (octaves)
—
Position res. (mm)
—
Force rendering — user, device and virtual wall
The user moves the pen-style haptic device; when it crosses the virtual wall a spring force is rendered back. The colour shows Z-width safety (green = headroom, red = unstable).
Renderable impedance range. Z_min set by physical damping, Z_max by the Colgate-Brown limit. 8 oct or more is high performance.
Bandwidth and impedance design of a haptic device
🙋
Is a "haptic device" basically the controller you hold with a VR headset? People also call the phone vibration "haptics" — what really matters in the design?
🎓
Both are in the family. Broadly, any machine that reproduces touch or kinesthetic sense is a haptic device. That includes phone vibrators (tactile), the da Vinci surgical forceps (force feedback), steering reaction torque, and pen-style research devices like the PHANToM or Touch X. The most important design question is "how realistic can the rendered touch be, without vibration or oscillation?" Three metrics matter: (1) bandwidth, (2) Z-width, (3) stability.
🙋
Z-width is new to me. How is it different from bandwidth?
🎓
They are different axes. Bandwidth is "how fast a force can you render?" — the frequency axis. Z-width is "how soft to how hard an impedance can you render?" — the stiffness axis. Ideally you want a smooth ride from free space, to grabbing a cup, to slamming into a concrete wall, on the same device. The lower limit is set by the device's own friction and damping. The upper limit is the Colgate–Brown bound K_max < 2bf_s, proven in 1994. We express it in octaves because human perception is logarithmic: 8 octaves covers "cotton to steel".
🙋
OK, higher sampling = harder walls. But in a real machine how do you actually run a 10 kHz loop?
🎓
Good question. Application-level control on Windows tops out near 1 kHz. With an RT kernel, DSP or FPGA you reach 4–10 kHz, and an FPGA current loop can do 20 kHz. But faster sampling also amplifies sensor noise — so you must raise the physical damping b in the equation K_max = 2bf_s and use more encoder bits to keep position noise low. Slide Fs from 1 k to 4 k in this tool and you'll see the max stable gain quadruple.
🙋
How fast a vibration can humans actually feel? I heard phone vibrators are around 200 Hz.
🎓
Human touch covers roughly 0–1000 Hz. By receptor: joint proprioception is DC–10 Hz, Merkel cells handle low frequency, Meissner corpuscles 10–100 Hz, and Pacinian corpuscles 100–1000 Hz — they pick up texture and hard impacts. Peak sensitivity sits around 250 Hz where the threshold drops to 0.1 µm. That's why vibrotactile actuators (LRA, ERM) are tuned near 200–300 Hz, force feedback needs at least 100 Hz of closed-loop bandwidth, and rendering texture needs about 1 kHz.
🙋
What are the most common failures when teams build VR gloves or surgical robots?
🎓
Number one is "too much gain, oscillation". Engineers push Kp up wanting a stiffer wall, and at some point the device starts to buzz. That's the negative damping of discrete-time control showing up — they've crossed K < 2bf_s. Fixes: (1) raise Fs, (2) add mechanical damping b (oil dashpot), (3) insert a Virtual Coupling element between the user and the virtual environment. A surprisingly common failure is power and grounding — analog servo amps inject ripple straight into the rendered force as a gritty texture. Digital servo amps plus shielded cabling are the standard.
FAQ
Z-width (impedance width) is the range of virtual impedances a haptic device can render stably, from the lowest stiffness up to the maximum hard wall. The lower bound is set by the device's own friction and damping — the apparent inertia a user feels when moving in free space. The upper bound is set by the Colgate-Brown stability condition K < 2bf_s, and grows with sampling rate f_s and physical damping b. A wide Z-width lets the same device render anything from a soft sponge to a concrete wall. It is usually expressed in octaves, with 8 octaves or more considered high-performance.
Colgate and Brown (1994) proved that a discrete-time haptic interface remains passive only while K_max < 2·b·f_s. Between sample instants of period T=1/f_s the controller holds an old position reading, which introduces an extra phase lag compared with the continuous-time system. That lag injects energy and behaves like a negative damping; once the virtual spring K becomes too stiff, the system breaks into limit-cycle oscillation. Raising f_s from 1 kHz to 4 kHz quadruples the maximum stable K. Research-grade devices such as the PHANToM Premium run at 1 kHz, while newer high-fidelity systems push 4–10 kHz servo loops.
Human tactile perception is split by frequency band. DC–10 Hz is proprioception (joint posture and position), 10–100 Hz is dominated by Merkel and Meissner skin mechanoreceptors that pick up slow vibration, and 100–1000 Hz is sensed by Pacinian corpuscles which perceive hard impact and fine texture. Peak sensitivity is near 250 Hz, where vibration amplitudes as small as 0.1 µm can be detected. Design targets: (1) at least 100 Hz closed-loop bandwidth for force feedback, (2) 300 Hz or more for vibrotactile cues, and (3) 1 kHz bandwidth to render fine texture. Verify that the device natural frequency sits well above the target band, or that any resonance is actively damped.
Because haptic control reads position and returns force in a tight loop, position noise turns directly into torque noise. As a rule of thumb 12 bits (4096 counts, 24 µm over a 100 mm stroke) is the practical minimum, 14 bits (6 µm) is recommended, and research-grade systems use 18–20 bit incremental encoders (a few hundred nanometres). Coarse resolution makes the encoder reading jitter by 1 LSB even when the user is still; differentiated by the velocity estimator and multiplied by the derivative gain, it appears as an audible buzz in the device. This tool reports the position resolution and noise floor assuming a 100 mm stroke.
Real-world applications
Medical simulators and surgical training: Laparoscopic, dental and catheter-insertion trainers rely on haptics to convey tissue stiffness, vessel elasticity and suture tension. LapSim, SimMan and Mentice are typical platforms; tissue-puncture thresholds (~5 N for skin, 1–2 N for visceral membranes) are modelled with nonlinear springs so the user feels the "pop" of perforation. Clinically meaningful differentiation usually requires at least 6 octaves of Z-width.
Tele-operated surgical robots with force feedback: Today's da Vinci platforms still lack rich force feedback, but next-generation systems (Hugo, Versius and others) are integrating it. Master consoles use Force Dimension Omega/Sigma devices or custom designs, while slave-side sensors measure tissue deformation and suture tension. With round-trip delays over 100 ms, Time-Domain Passivity Control (TDPC) becomes essential to keep the loop stable.
VR/XR haptic gloves and pen-style controllers: HaptX, SenseGlove and bHaptics gloves, along with Meta Touch Pro and PSVR2 controllers, focus on vibration cues. High-end research uses the Geomagic Touch, 3D Systems Touch X and PHANToM Premium pen devices to render virtual contact with CAD geometry — sculpting, kneading or assembly-rehearsal tasks become much more realistic.
Steer-by-wire automotive steering: Without a mechanical column, the steering wheel torque is synthesised by motor and controller. Toyota bZ4X, Lexus RZ and Tesla Cybertruck use this approach. Road-surface vibration (20–30 Hz band) is rendered separately from low-frequency self-aligning torque. Predictable, oscillation-free force feedback is directly tied to safety.
Common pitfalls
The biggest trap is the belief that "more gain equals a harder wall". In continuous-time theory higher gain means higher rendered stiffness, but a discrete-time interface oscillates the moment K crosses the Colgate-Brown limit K_max = 2bf_s. The oscillation appears as an audible buzz or self-excited shake, and at worst can injure the user. Keep the gain headroom in this tool at 1.5 or higher so that motor resistance drift with temperature does not erase the margin.
The second pitfall is assuming "a high-resolution encoder is enough". A 20-bit encoder helps nothing if the ADC is 12-bit, the servo amp ripples, or the frame is flexible. The true noise floor of a haptic loop is the RSS of mechanical (frame stiffness, backlash), electrical (A/D, power) and control (quantization, latency) noise. The noise floor in dB reported by this tool is an ideal-model upper bound; in real hardware expect 6–12 dB less margin.
The third trap is treating "virtual wall stiffness as the only KPI". Pushing the upper Z bound is wasted if the lower bound (free-space friction and felt inertia) is poor — the user only feels a "heavy device". Lowering Z_min calls for lightweight materials (carbon, titanium), low-friction bearings (cross-roller, air bearing), gravity compensation and inertia compensation via disturbance observer plus inverse dynamics. Z-width is the ratio of upper to lower; you need both to obtain "natural" touch.
How to Use
Enter device mass (50–500 g) and actuator stiffness (100–5000 N/m) to establish the mechanical plant natural frequency using ωn = √(k/m).
Set viscous damping coefficient (0.1–2 N·s/m) and sample rate (1–10 kHz) to determine closed-loop stability margin and Z-width bandwidth.
Adjust control gains and observe position resolution limits; verify that closed-loop bandwidth remains below Nyquist frequency (fs/2) to prevent aliasing in force feedback loops.
Worked Example
Surgical robot haptic stylus: mass = 150 g, stiffness = 2000 N/m, damping = 0.8 N·s/m, sample rate = 4 kHz. Natural frequency ωn = √(2000/0.15) ≈ 115 Hz. Damping ratio ζ = 0.8/(2√(2000×0.15)) ≈ 0.073 (underdamped). Closed-loop bandwidth ≈ 280 Hz with proportional-derivative control. Z-width spans 2.1 octaves. Position resolution at 12-bit DAC = 0.24 mm. Maximum stable gain = 3800 N/m before instability.
Practical Notes
VR glove applications: target Z-width >1.5 octaves and sample rate ≥5 kHz to reproduce texture detail (0.1–1 mm surface features) without perceptible latency or buzzing artifacts.
Increase damping ratio to ζ ≥0.4 if oscillation persists; sacrifices phase margin but improves tactile transparency in teleoperated surgical tasks.
Position resolution degrades at high gain; use 16-bit encoders on light-mass actuators (<100 g) to maintain sub-0.1 mm accuracy during fine manipulation.