30% off your first 3 months

Get the deal

How robotic hands sense touch

by DuckyHelperNov 12, 20265 min read
Robotics

TL;DR:

  • A fingertip pressure sensor changes its electrical property with force, often resistance, and a voltage divider turns that into a number.

  • Tactile arrays put many sensing cells on a fingertip to measure where and how hard it is touched; slip shows up as sudden changes or vibration.

  • Touch is hard because it needs many small, soft, durable, calibrated sensors, wired into a finger.

Close your eyes and pick up a pen. You know when it touches your fingers, how hard you are squeezing, and the moment it starts to slide. A robot hand with a camera only sees the pen. Without touch it cannot tell if the pen is held firmly or about to drop, so it either squeezes too hard or too little.

What touch sensing measures

A tactile sensor measures things at the contact: the normal force pushing into the surface, sometimes the shear force along it, the contact position, and vibration. Pressure is force divided by contact area, P = F / A, so a small area with the same force presses harder.

Common sensing methods include force-sensing resistors, whose resistance falls as pressure increases, capacitive sensors, which sense a change in the gap between plates as a soft layer is squeezed, piezoresistive and piezoelectric materials, and tiny cameras that watch a soft pad deform from inside.

Worked example: a fingertip pressure sensor

Put a force-sensing resistor (FSR) on a fingertip and read it with a microcontroller. The FSR sits between 5 V and an analog input, and a 10 kΩ resistor goes from the input to ground. This is a voltage divider: Vout = 5 × 10 / (10 + R_fsr), with resistances in kΩ.

Say, as an example, your FSR measures about 100 kΩ for a light touch, 10 kΩ for a firm press and 2 kΩ for a hard press. Your own part will differ, so measure it.

  1. Light: Vout = 5 × 10 / 110 = 0.45 V, an ADC count of 0.45 / 5 × 1023 ≈ 93 on a 10-bit converter.

  2. Firm: Vout = 5 × 10 / 20 = 2.50 V, a count of about 512.

  3. Hard: Vout = 5 × 10 / 12 = 4.17 V, a count of about 853.

  4. The curve is not a straight line: resistance falls steeply at first and then flattens. A calibration table or a fitted curve is needed to turn counts into newtons.

To calibrate, press the sensor with known weights. A 100 g mass exerts 0.1 × 9.8 = 0.98 N; a 500 g mass exerts 4.9 N. Record the counts at several loads, and the controller can interpolate between them.

Now use it. Suppose two fingers hold a 0.3 kg mug, so the weight is 0.3 × 9.8 = 2.94 N. The friction on each finger is at most μ × N, and two fingers give 2 × μ × N. With a friction coefficient μ = 0.5, the grip needs N ≥ 2.94 / (2 × 0.5) = 2.94 N per finger just to hold it, and a safety factor of 2 suggests squeezing near 6 N. The sensor lets the hand aim for that value instead of a blind guess. Pressure on a pad of 1 cm² (1 × 10⁻⁴ m²) at 6 N is 6 / 0.0001 = 60,000 Pa, or 60 kPa.

Tactile arrays

One sensor says how hard, not where. A tactile array is a grid of small sensing cells, such as 4 × 4, wired by rows and columns. The controller turns on one row at a time and reads each column, so 16 cells need only 4 + 4 = 8 wires instead of 16. That scanning saves wiring, though it reads cells one at a time and takes more time.

The grid gives a small pressure image. The centre of pressure x = Σ(xᵢ × Fᵢ) / ΣFᵢ tells where on the fingertip the object touches, and the shape of the pattern can hint at an edge or a corner.

Slip detection

A grasp can fail without any warning in the squeeze force: the object starts to slide when the required tangential force exceeds μ × N. Slip shows up as a sudden change in the shear signal or as a burst of tiny high-frequency vibration as the surface scrapes. A hand with fast sensing reacts by increasing grip force a little, just enough to stop the slip, which is gentler than always squeezing hard.

Why touch is hard

  • Many sensors, little space. A human fingertip has thousands of receptors. A robot finger has room for a few dozen.

  • Wiring and fragility. Wires crossing a moving joint fatigue and break.

  • Softness. Soft skins help grip, but they also make readings drift and vary with temperature and wear.

  • Calibration. Each sensor needs a curve, and many show hysteresis, meaning the reading depends on whether the force is rising or falling.

  • Shear and force direction. Most cheap sensors read only the force straight into the pad.

  • Data rate. Fast slip detection needs readings hundreds of times a second.

Grip force and pinch points: A robot gripper can pinch or crush a finger. Limit motor current and grip force in software and hardware, test with a soft test object, keep your hands out of the closing path and keep the emergency stop within reach. Do not rely on a touch sensor alone to limit force.

How real robots use it

Some research hands place tactile pads on every fingertip, and some industrial grippers use a single force sensor at the wrist. Touch is combined with vision: the camera finds the object, touch confirms the grasp. Soft materials and touch work together, as in soft robotics. If you are choosing parts, start with choosing sensors for a first robot.

Try it yourself

Wire an FSR into a voltage divider with a 10 kΩ resistor and read it over the serial monitor. Press with known weights, such as coins on a flat disc, and plot counts against weight. Is the curve straight? Press and release slowly to see if the readings differ going up and down.

Frequently asked questions

Can a camera replace touch?

Not fully. A camera cannot see force, and the hand often blocks the view of the contact. Cameras and touch complement each other.

Why not squeeze hard all the time?

It can crush fragile objects, wastes energy and heats the motors. Sensing lets the hand use just enough force.

Get started

DuckyHelper can
do more

It sees your screen and works in any app you use. Try it for 10 minutes, no card.

Get it for Mac, Windows or Linux

Share

Questions and jobs

Do anything

Ask it a question or hand it a job, in any app.

Doing jobs for you is in early access on Mac. Asking works on Mac, Windows and Linux.