Phase 03 · Week 12 · 105 minutes

Day 83: Grasp/contact basics, force-torque sensing, and impedance/admittance

Mandatory MoveIt 2 manipulation · Build the complete perceive→scene→plan→execute→contact loop.

Chapter 12 · Make an arm plan, move, touch, and prove the whole task

Today in the field story

One problem, then the next

The foam vial introduces contact without making the classroom exercise a force-safety procedure. Distinguish joint effort, wrist force-torque, tactile arrays, motor current, and a binary contact switch: each observes a different proxy with calibration, bandwidth, saturation, and location limits. Inject bias and excessive closure in simulation or an unpowered model. Contact evidence may support a grasp-state transition, but no classroom sensor reading certifies safe force or stable physical grasp.

Why now

Manipulation success depends on contact transitions that pure geometric planning cannot establish.

Ignore today

Ignore real force-controller tuning and safety certification; study bounded contact contracts.

Unlocks next

Explicit grasp evidence and failure boundaries for the full trial matrix.

Understand

Build the physical picture first

A useful grasp balances squeeze, friction, object strength, and measured contact, while compliant control decides how motion should yield when the world pushes back.

A two-finger grasp works through contact geometry and friction. Each finger supplies normal force into the object; friction resists sliding along the surface. In a deliberately simplified opposing-finger model, tangential capacity is about 2μN, where μ is the friction coefficient and N is normal force from each finger. Real grasps also depend on contact location, shape, torque, surface variation, acceleration, finger compliance, and safety margin, so this classroom bound is not a commanded force.

A force-torque sensor reports a wrench: three force components and three torque components in a named frame at a time. Before using it, tare the bias, account for tool and payload weight, preserve units, watch saturation and noise, and transform the wrench correctly when the control frame differs from the sensor frame. A nonzero reading may be gravity, cable load, drift, or contact; a threshold without those checks is not contact evidence.

Impedance and admittance describe opposite input-output choices. An impedance controller turns motion error into force-like behavior, often pictured as a virtual spring and damper. An admittance controller measures force and commands motion that yields, often using F = Ma + Dv + K(x - x_d). The ros2_control admittance interface requires kinematics, force-torque data, frames, gravity compensation, selected axes, and mass, damping, and stiffness settings. Suitability depends on the robot's low-level control and validated dynamics.

Contact control can become unstable or damaging through delay, noise, a wrong wrench frame, bad gravity compensation, excessive stiffness, sensor saturation, or rigid environmental contact. Keep today's work in simulation or use an unpowered spring and scale. Any powered-arm trial needs independent force, speed, workspace, timeout, retreat, and protective-stop limits plus a hardware-specific review; MoveIt planning and a force threshold do not provide that approval.

Words you need

Name each idea precisely

Normal force

The contact force directed into a surface, perpendicular to the local contact plane.

Physical example:

Two gripper pads squeeze opposite sides of a paper cup without intentionally sliding along them.

Friction coefficient

A simplified ratio relating normal force to the maximum tangential friction force before sliding in a chosen model.

Physical example:

Rubber pads usually hold a dry object with less squeeze than smooth hard plastic under similar conditions.

Wrench

A six-component physical quantity containing three forces and three torques, expressed in a declared coordinate frame.

Physical example:

A wrist sensor reports push in tool z plus twisting torque around tool z.

Impedance control

A control approach that makes motion error produce a force-like response according to chosen stiffness and damping behavior.

Physical example:

A virtual spring pushes the tool back toward its requested position when contact displaces it.

Admittance control

A control approach that converts measured interaction force into commanded motion through a virtual dynamic model.

Physical example:

A guided handle moves farther in the direction a person pushes and settles when the push stops.

Math, one line at a time

Work through today’s relationship

Prerequisite rescue · optionalConfiguration space, sampling, and trajectory timing

A collision-free pose is not enough; the complete joint path and timing must be feasible.

q
one point in joint configuration spaceUnit: rad or m per joint
Δq
joint change between samplesUnit: rad or m
v = Δq/Δt
joint velocityUnit: rad/s or m/s
  1. A joint moves from 0.2 rad to 0.8 rad, so Δq = 0.6 rad.

  2. If allocated time is 0.3 s, average velocity is 0.6/0.3 = 2 rad/s.

  3. If the limit is 1 rad/s, increase duration to at least 0.6 s and collision-check the interpolated path.

Programmer analogy

A route can pass API validation at its endpoints while failing in the middle; robot trajectories must validate every segment.

A 0.5 rad move with a 2 rad/s limit needs at least how long?

Δt = 0.5/2 = 0.25 s.

For two opposing contacts under the simplified friction model,

Ftangent,max2μN=2(0.4)(10 N)=8 N.F_{\text{tangent,max}}\approx2\mu N=2(0.4)(10\ \mathrm{N})=8\ \mathrm{N}.

This is an ideal bound, not a safe commanded grasp force.

Check an idealized grasp margin without calling it safe

Two opposing pads have an estimated μ = 0.40 and each applies N = 10 N. The object mass is 0.50 kg and a planned upward acceleration is 2.0 m/s². Ignore geometry and rotation only for this screening calculation.

  1. Calculate ideal tangential capacity: 2μN = 2 × 0.40 × 10 = 8.0 N.

  2. Calculate weight: mg = 0.50 × 9.81 = 4.905 N downward.

  3. Calculate extra inertial force for the upward acceleration: ma = 0.50 × 2.0 = 1.0 N.

  4. Add the simplified demand: 4.905 + 1.0 = 5.905 N.

  5. Calculate arithmetic margin: 8.0 - 5.905 = 2.095 N, or a capacity-to-demand ratio of about 1.35.

  6. Reject this as a final force command because uncertain friction, off-centre torque, uneven pads, object strength, vibration, and required safety margin were not modeled.

Result

The idealized numbers exceed the simplified vertical demand by 2.095 N, but they do not establish a safe or reliable real grasp.

What this proves

A friction calculation is a screening relationship; measured trials, uncertainty, object damage limits, and independent safety constraints decide real use.

Physical examples

Where this appears in real life

Hold a paper cup without crushing it

Pinch an empty paper cup gently between two fingers, add a few dry beans, then compare slipping under too little squeeze with visible denting under too much.

Look for:

Useful grip lies between slip and damage; added payload and acceleration reduce the margin even when the finger position stays unchanged.

Spring-scale compliance

Pull an unpowered spring or elastic band against a kitchen scale by measured distances and release it without attaching any motor.

Look for:

Force rises with displacement, while damping-like friction changes how quickly it settles; the relationship resembles a deliberately limited virtual spring-damper.

Hands-on exercise

Make the idea observable

Use an unpowered spring-scale arrangement or a manipulation simulator with a virtual force-torque sensor. Do not enable a powered arm or gripper.

  1. Declare sensor frame, control frame, force and torque units, sign directions, sample rate, tare method, payload, gravity compensation, filtering, saturation, and freshness checks.

  2. Collect unloaded readings, tare the bias, then add a known small load in one axis and verify sign, approximate magnitude, frame, and timestamp.

  3. Measure or simulate force at five displacements, calculate k = F/x where appropriate, and plot loading and unloading points rather than fitting one convenient sample.

  4. Configure a conservative simulated admittance axis with explicit virtual mass, damping, stiffness, speed, displacement, force, timeout, and retreat limits.

  5. Inject wrong frame, missing tare, delayed wrench, and excessive stiffness cases; save oscillation, drift, saturation, or rejection evidence without tuning around the faults.

  6. Write the hardware gate that would still be required: risk review, approved limits, protective stop, clear workspace, observer, test fixture, and staged low-energy validation.

Observe

Correctly framed and tared data should follow the known load, while planted frame, bias, delay, or stiffness faults should produce distinct and rejectable symptoms.

Done when

The artifact contains one verified wrench measurement, a displacement-force plot, a bounded simulated admittance response, four fault results, and an explicit powered-hardware blocker.

Build today

Use MoveIt 2 to plan around collision objects, servo toward a target, execute a Task Constructor pick-and-place, and stop safely on contact or invalid state.

Evidence to save

DONE when a 60–120 second uncut “Grasp/contact basics, force-torque sensing, and impedance/admittance” demo links to its command, logs or plots, result count, and honest failure note.

Common mistakes

Catch the wrong mental model

Wrong

Treating every force-torque reading above zero as object contact.

Better

Verify tare, payload gravity, frame, filtering, saturation, drift, cable loads, timestamp, and a task-specific threshold before classifying contact.

Wrong

Calling impedance and admittance two names for the same controller.

Better

State the input-output direction: impedance maps motion error toward force-like response, while admittance maps measured force toward commanded motion.

Wrong

Using 2μN as the commanded grasp force and proof of safety.

Better

Treat it as an idealized bound, then include geometry, torque, dynamics, uncertainty, damage limit, trial evidence, and a conservative approved margin.

Job connection

How this becomes employable evidence

Commission a wrist force-torque path, verify frames and payload compensation, tune a bounded simulated compliant insertion, and build fault tests that separate contact, bias, delay, saturation, and unstable control.

Relevant target roles

  • Robotics Application / ROS 2 Integration Engineer
  • Robotics Deployment, Integration & Validation Engineer
  • Robotics Software Engineer — ROS 2 / AMR
  • Robot Learning Deployment / Physical AI Integration Engineer

Chapter 12 interview drill

Interview questions: Grasp/contact basics, force-torque sensing, and impedance/admittance

Practise a 60–90 second answer: define the idea, connect it to a physical robot, state assumptions, frames, and units when relevant, then finish with the failure signal or evidence you would inspect.

Primary interview scenario

Compare impedance with admittance, interpret a framed wrench, derive a simple grasp-friction bound, and list the evidence and independent safeguards required before powered contact testing.

Answer shape: clarify the situation → trace the physical and software path → test the most likely boundaries → name the evidence that would confirm the result.

Technical follow-up questions

Q1What six values make up a force-torque wrench?
Model interview answer

Three force components and three torque components, all meaningful only with their coordinate frame, units, time, and sensor-processing contract.

Q2What is the practical input-output difference between impedance and admittance?
Model interview answer

Impedance uses motion error to create force-like response; admittance uses measured force to create motion response through a virtual dynamic model.

Q3Why is the simplified friction capacity not a safe gripper command?
Model interview answer

It omits contact geometry, rotation, uneven pressure, changing surfaces, acceleration uncertainty, vibration, object strength, sensor error, and required safety margin.