Master's thesis · FAU Erlangen-Nürnberg and Fraunhofer IIS · 2026

Learning contactfrom motor current

The servos in a cheap robot arm report how much current they draw. This thesis asks whether that number can tell a learned policy when the peg it holds has touched the hole.

Jaydeepkumar RanpariyaSO-101 · STS3215Peg-in-hole · 0.35 mmACT · Diffusion Policy

Put a peg near a hole and look through the wrist camera. The picture hardly changes whether the peg is lined up, resting on the rim, or beginning to jam. A force sensor would settle the matter, but the arm used here has none. It does have six servos, and each one reports its own motor current for nothing. The thesis asks three plain questions of that number. Does it carry any information about contact? Does a trained policy take notice of it? And with the number in hand, does the policy put the peg in more often?

The task. A person moves a second, identical arm, and this one follows. The wrist camera on the left is the only picture the policies ever see. The side camera on the right is there for us.
6servos, each reporting its current
100demonstrations recorded
4head-to-head comparisons on the robot
30trials for each policy

Why the camera is not enough

To push a peg into a tight hole you need to know when it touches. The camera and the joint angles do not always tell you.

  1. 1

    The picture barely changes. Seen from the wrist, a peg that is lined up with the hole, one that rests on the rim, and one that has started to jam all look much alike. Each calls for a different move.

  2. 2

    Touch sensors cost money and trouble. A force sensor or a tactile skin would tell the cases apart. Both have to be bought, fitted, wired, and calibrated.

  3. 3

    The servos already measure current. Each of the six servos keeps a register of the current it draws. The register can be read with every camera frame, thirty times a second.

  4. 4

    It is a crude number. About half the readings are exactly zero. The value depends on how the arm is posed as much as on what it touches, and nothing turns it into a force.

First question

Does the current carry any information about contact?

Second question

Does a trained policy take notice when the current changes?

Third question

Does a policy that sees the current put the peg in more often?

The arm and the task

The whole study runs on a hobby arm. The one thing added to what it normally observes is a register that its servos keep anyway.

The SO-101 arm with its wrist camera on a white table, with the black peg fixture in front of it
The arm on its table. The camera rides on the wrist. The peg and its fixture stand in front of the base.
The arm
An SO-101 with six STS3215 servos
A second arm of the same kind is the leader. A person moves it, and the first arm follows, thirty times a second.
What it senses
One camera on the wrist, and the current in each servo
No force sensor, no tactile skin, no simulator. The current is kept as the servo reports it, in steps of 6.5 mA.
The task
Push a printed peg into a hole 0.35 mm wider than the peg
The hole has no chamfer to guide the peg. The peg stands on end and is picked up from the side.
The policies
Action Chunking Transformer and Diffusion Policy
Each is trained twice: once from the camera and the joint angles, and once with the six current readings added.

What the current tells us

Before any policy was trained, the register was put to the simplest test there is. Does it change when the arm touches something?

Gripper current when it closes on air and when it closes on something
The highest current in each of fifteen closes, for each of four things to close on
0 40 80 120 Peak gripper current (counts) Miss (air) Success (pen) d = 3.4 Stiff (pen) d = 3.5 Soft (towel) d = 13.5

Closing on any of the three objects sends the current well above closing on air. The smallest of the three differences is 3.4 standard deviations. Before the test, 0.8 had been set as the least that would count.

d = 3.4the smallest gap between gripping something and gripping nothing
95 %of the demonstrations show the elbow current rise above 5 counts near the end
30 Hzreadings a second. A touch lasts three to nine of them
0forces measured. Pose, gear friction, and the weight in the gripper all move the number too
How often the elbow current rises as the peg goes in
Demonstrations, out of a hundred, in which the elbow current passes each level during the last ten seconds
above 5 counts
95/100
above 10 counts
82/100
above 15 counts
61/100

The middle value is 18.5 counts and the largest is 77. The last ten seconds stand in for the moment of insertion; no one marked the frames one by one.

In short

The current does move when the arm touches something. Read it with the joint angles and the picture, and do not mistake it for a force.

The demonstrations

One person taught the task by moving the leader arm a hundred times. Every frame keeps the wrist picture, the six joint angles, the six currents, and where the leader arm was.

One demonstration, cut into its five phases
The demonstration in the film above: 945 frames, 30 a second
How long each phase usually takes

The boundaries were marked by hand from the films. They served to check the analysis. The policies never saw them.

100demonstrations
99,831frames, all in step
30frames a second, picture and numbers together
1operator
6 + 6joint angles and currents in every frame
45 %of the current readings are exactly zero
The same recordings, seen two ways

The policies with and without current learn from the same frames, the same pictures, and the same actions. All that differs is the list of numbers describing the arm: six joint angles, or six joint angles and six currents.

Why the number needs cleaning

Nearly half the readings are zero, and the rest trail off into a long tail. Scale them the usual way and a rare spike lands tens of standard deviations out. So the later policies cut each channel off at the value that 99.5 per cent of the training readings fall below, and scale it after that.

The policies

Each comparison takes two policies trained on the same demonstrations and runs them on the same day, turn and turn about. The only thing that differs is how the current gets into the network.

Comparison Without current With current
ACT, raw currentThe wrist picture and the six joint angles.The six currents added to the list of numbers, just as the servos report them.
ACT, cleaned currentThe same network as before, run again on the same day.The currents cut off and scaled with figures from the training data before they go in.
ACT, learned encoderThe same network again, run a third time.A short history of current for each joint, boiled down by a small network into six extra tokens.
Diffusion Policy, learned routeTrained end to end without current.The same network, frozen, with a learned path that lets the current nudge each of its blocks a little.
30trials for each policy
6trials in a block, the two policies taking turns
45 sto pick up the peg, carry it, and seat it
1training seed, so the trials test the robot and not the dice

A trial counts only if the peg ends up all the way in before time runs out. Every success rate comes with a 95 per cent confidence interval. Every pair is put to Fisher's exact test. And before the trials began, ten percentage points was fixed as the smallest gain worth having.

The policies at work

For each policy, one attempt that went in and one that did not, filmed from the side. They are single trials, picked to show what the two outcomes look like. The counts come next.

Policy
Outcome

Sees the wrist picture and the joint angles, nothing more.

ACT without currentWent in

How often the peg went in

Thirty trials for each policy, the two policies of a pair taking turns on the same day. One pair is never set against another, and for good reason: the same network, without current, put the peg in 17 times out of 30 on one day and 7 times on another.

Trials in which the peg went in, out of thirty, with 95 per cent confidence intervals

A trial counts when the peg is all the way in within 45 seconds

0 10 20 30 40 50 60 70 80 90 Successful trials (per cent) ACT, raw current 19/30 8/30 ACT, normalised current 17/30 15/30 ACT, learned encoder 7/30 12/30 Diffusion Policy 9/30 12/30

Only in the first pair do the two intervals come apart, and there the policy with current did worse (p = 0.0089). In the other three the difference may well be nothing. The learned encoder came out 16.7 points ahead, more than the ten set as worth having, but no more than chance can produce in thirty trials (p = 0.267). Rest the pointer on a marker to see the figures.

Data table
ComparisonWithout currentSuccessesWith currentSuccessesFisher p
ACT, raw current Vision only 19/30 (63.3%)
[45.5, 78.1]
With raw current 8/30 (26.7%)
[14.2, 44.4]
0.0089
ACT, normalised current Vision only 17/30 (56.7%)
[39.2, 72.6]
With normalised current 15/30 (50.0%)
[33.2, 66.8]
0.796
ACT, learned encoder Vision only 7/30 (23.3%)
[11.8, 40.9]
With a learned current encoder 12/30 (40.0%)
[24.6, 57.7]
0.267
Diffusion Policy Vision only 9/30 (30.0%)
[16.7, 47.9]
With a learned current route 12/30 (40.0%)
[24.6, 57.7]
0.589
The gap between the two, with current minus without

Percentage points with 95 % confidence intervals

-60 -40 -20 0 +20 +40 better without current better with current Percentage points ACT, raw current -36.7 ACT, normalised current -6.7 ACT, learned encoder +16.7 Diffusion Policy +10.0

A filled marker means the interval leaves out zero. Only the raw current manages that, and in the wrong direction. None of the intervals is tight enough to say the two policies of a pair are as good as each other.

When the policies with current failed, they mostly failed at the hole. They dropped the peg or missed the opening; they seldom fumbled the grasp. The two learned encoders lean the way one would hope, but thirty trials cannot tell that lean from luck.

Do the policies use the current?

A policy might carry the current along and never act on it. To find out, the current is swapped for its average over the training data while the picture and the joint angles stay put. How far the chosen action moves is the measure.

How far the action moves when the current is taken away
Averaged over frames from the demonstrations. The larger the bar, the more the policy leans on the current.
ACT, raw current
0.080
ACT, early current encoder
0.079
ACT, feature modulation (defective)
0.324
Diffusion Policy, raw current
0.065

All four policies change their actions when the current is taken away, so none of them ignores it. The one that changes most is the one that never got the peg in at all. Taking notice of a number and profiting from it are two different things.

In short

The policies use the current. Using it did not help them.

What was learned

First question

Yes. The current carries information about contact.

Close the gripper on an object and its current climbs far above what it draws closing on air. Let the peg meet the rim and the elbow current climbs as well. The number is noisy, often zero, and changes with the pose of the arm. It says the motor is working hard. It does not say how hard the peg is pressing.

Second question

Yes. The policies take notice of it.

Take the current away from any policy trained with it and its actions shift. Whether they shift for the better is another matter, and this test cannot settle it.

Third question

No. The peg went in no more often.

Given the raw current, ACT did worse. Given the cleaned current, it did neither better nor worse that anyone could measure. The two learned encoders came out ten to seventeen points ahead of their baselines, and thirty trials cannot tell that from luck.

What follows

A signal can be real and still be no use.

The number held the information and the network took it up, and still the robot put the peg in no more often. Before trusting a sensor like this one, measure the signal, check that the policy responds to it, and then count successes on the real robot. Nothing short of the last step will do.

Where the evidence stops
  • One arm, one task, one operator, one training seed, and thirty trials for each policy.
  • Whether the learned encoder beats simply appending the current is still open. The two were never run on the same day.
  • The current does not show the peg slipping in the gripper. At thirty readings a second it may not tell a slip from ordinary movement.

Where the numbers come from

Every figure on this page is worked out afresh from the recordings, the trial logs, and the trained networks kept with the thesis. The confidence intervals and the tests are computed from the raw counts each time the page is built.

Recordings

The demonstrations, the calibration of both arms, and the phase marks made by hand, each with a checksum that has not changed.

Networks

The exact command that trained each policy, and the weights that were run on the robot.

Trials

Every trial in the order it was run, with its outcome and the phase in which it went wrong. Trials from different days are never added together.

The archive stays with the thesis and is not public. The docs page gives the protocol, the settings of each network, and the full tables of results.

Citing the thesis

@mastersthesis{ranpariya2026contact,
  author = {Jaydeepkumar Ranpariya},
  title  = {Learning Contact Representations from Zero-Cost
            Proprioceptive Effort Signals for Contact-Rich
            Visuomotor Imitation Learning},
  school = {Friedrich-Alexander-Universit{\"a}t Erlangen-N{\"u}rnberg},
  year   = {2026},
  note   = {In cooperation with Fraunhofer IIS},
  url    = {https://contact-from-current.pages.dev/}
}