Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

FACTR 2: Learning External Force Sensing for Commodity Robot Arms Improves Policy Learning

Authors: Steven Oh, Jason Jingzhou Liu, Tony Tao, Philip Han, Kenneth Shaw, Satoshi Funabashi, Ruslan Salakhutdinov, Deepak Pathak · CoRL 2026 2026

Why it matters

Force feedback and force-aware policies have mostly been reserved for arms with joint torque or wrist force sensors, such as the Franka at about 30,000 US dollars, while the low-cost arms many labs and hobbyists buy only report motor current. FACTR 2 shows a cheap way across that gap: record about ten minutes of free motion, train a small recurrent network for about a minute, and the arm reports external torque well enough to drive force-feedback teleoperation and to improve contact-rich policies. On the Franka, where a sensor gives ground truth, the learned estimate tracked contact far more closely than the model-based baselines. The authors run the method on the AgileX Piper (about 2,500 US dollars), on YAM arms and on a Nero, and the released code includes a ROS 2 pipeline for recording, training, inference and a Piper teleoperation demo with force feedback, under Apache-2.0. CoRL 2026 selected the paper as one of its 21 oral presentations. The training idea in FIRST, giving more weight to the second before contact, is simple to add to any behavior cloning setup.

Problem

Insertion, fastening and handling soft objects depend on feeling contact, which is hard to infer from cameras alone. Dedicated force-torque sensing usually comes only with expensive arms such as Franka, Flexiv or KUKA, and a wrist force sensor can cost more than a low-cost arm. Estimating external torque from motor current is possible in principle, by subtracting the torque the arm needs to move freely, but that requires an accurate dynamics model. On low-cost arms, friction, stiction, backlash, hysteresis, torque ripple and dead zones make such models unreliable, and many of these effects depend on the recent motion history. Without a clean force signal, teleoperators get no feedback and policies cannot tell when they have touched something. Imitation learning has a second problem: failures cluster in the short pre-contact alignment and contact phases, yet these are a small share of each demonstration and are sampled rarely in training.

Proposed solution

NEXT replaces the analytical dynamics model with a learned one. The authors record about ten minutes of contact-free motion, moving each joint through its range, then making Cartesian-like motions at slow and fast speeds. A two-layer LSTM reads a 50-step history of joint position, joint velocity and the gap between commanded and measured position, and predicts the motor torque the arm needs in free space. At run time, the measured motor torque, motor current times the torque constant, minus this prediction is the external torque. Training takes about a minute on one RTX 3090, and a forward pass takes 1.76 ms on one CPU thread. For teleoperation, the estimate replaces the torque sensor in the FACTR leader-follower controller. FIRST then thresholds the estimated torque, with hysteresis, to label each demonstration timestep as contact, pre-contact (the second before contact onset) or free motion, and samples pre-contact and contact steps more often when building training batches, five times as often for pre-contact in most tasks. The policies take camera images, joint positions and the estimated torque as input.

Key insights

  • External force can be learned without any force sensor: a network trained only on free motion predicts the torque the arm needs to move, and what is left of the measured motor torque is the contact
  • History matters for cheap actuators: a recurrent model with a 50-step history beat MLP and GRU variants, and adding the commanded-minus-measured position gap as input reduced the error further
  • Learned estimation can beat both the dynamics model and the factory signal: on the Franka in free motion, the NEXT estimate stayed closer to zero than the arm's own external torque estimate
  • Policies fail near contact, not in free space: re-sampling the training batches toward pre-contact and contact steps lowers the validation loss on exactly those phases
  • The second before contact is the most valuable data: up-sampling pre-contact steps helped more on average than up-sampling contact steps, which on their own gave the lowest score

Main results

  • On a Franka under contact, NEXT's external torque estimate differs from the arm's built-in sensor estimate by 0.547 Nm on average across joints, 87.6% lower than FILIC (4.395 Nm) and 62.8% lower than a disturbance observer (1.471 Nm)
  • In free motion on the Franka, NEXT stays at 0.414 Nm from the true zero, against 0.449 Nm for the Franka's own external torque sensor signal and 2.429 and 2.460 Nm for the disturbance observer and FILIC
  • On the AgileX Piper, which has no torque sensor, NEXT's free-motion error is 0.018 Nm, against 0.248 Nm for the disturbance observer and 0.435 Nm for FILIC
  • In a 20-person teleoperation user study on a Franka wiping task, participants rated NEXT-based force feedback easier to use than the baselines, and the force they applied was comparable to FACTR Teleop with dedicated torque sensors
  • Across five long-horizon contact-rich tasks on a bimanual Piper setup (250 demonstrations and 20 evaluation rollouts per task), FIRST achieved the highest task progress, over 17% above prior force-aware policies
  • Up-sampling pre-contact steps averaged 0.818 task progress across the five tasks, against 0.811 for pre-contact plus contact and 0.670 for contact only
  • With an ACT policy, conditioning on the estimated external torque scored 0.567 on NIST insertion and 0.525 on cap screwing, against 0.431 and 0.440 with raw motor current and 0.220 and 0.440 with neither

Limitations

  • The paper names two limits: the absolute torque scale depends on the motor torque constant, so an inaccurate constant needs calibration against an external force sensor, and NEXT is robot-specific, so each arm may need its own recording and training
  • The release covers NEXT and the teleoperation demo only: the repository (Apache-2.0) has the ROS 2 nodes for recording, training, inference and visualisation plus a Piper and GELLO teleoperation demo with force feedback, but no FIRST training code, policy checkpoints or demonstration data; the demo's contact gating and ramp filter were not used in the paper's experiments
  • Accuracy is measured against ground truth only on the Franka; on the Piper only free-motion error is reported, because the arm has no torque sensor, and contact performance there rests on a user study; YAM and Nero appear only in qualitative figures and videos
  • All policy results are the authors' own, on one bimanual Piper setup with 20 rollouts per task and partial-credit task progress; the up-sampling ratio was chosen per task by task progress, and the up-sampling magnitude ablation ran only on three tasks with ACT and one with the flow-matching policy, for lack of compute

Field impact

FACTR 2 makes force sensing a software step rather than a hardware purchase: any arm that reports motor current and joint state can, in principle, be given an external torque estimate from a short recording session. That matters most for the low-cost arms now common in robot learning, where force feedback in teleoperation and force input in policies were largely out of reach. The comparison with raw motor current is a useful result for others: feeding current straight into the policy helped on one task and not on the other, while the estimated external torque helped on both. The FIRST ablations add a practical guideline: the second before contact is worth more training weight than contact itself. Both parts are the authors' own measurements on their own setups, so independent replication on other arms will show how far the approach carries.

Abstract

Contact-rich manipulation requires force sensitivity, but many robot arms lack dedicated force sensors due to their high cost. We present Neural External Torque Estimation (NEXT), a data-driven method that estimates external joint torques without needing any dedicated force sensors. NEXT trains in 1 minute from only 10 minutes of free-motion data, yet achieves estimates comparable to dedicated joint-torque sensors. NEXT enables force-feedback teleoperation on low-cost arms and improves policy learning through Force-Informed Re-Sampling Training (FIRST), which up-samples pre-contact and contact segments during behavior cloning. Across five long-horizon tasks, FIRST outperforms prior force-aware policies by over 17% in task progress. Together, NEXT and FIRST bring force-aware teleoperation and policy learning to off-the-shelf robots without additional sensing hardware. Video results and code are available at https://jasonjzliu.com/factr2

Links

  • arXiv 2606.12406: https://arxiv.org/abs/2606.12406
  • PDF: https://arxiv.org/pdf/2606.12406
  • Code: https://github.com/philiphan0109/factr2_next
  • Project page: https://jasonjzliu.com/factr2/

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.