Learning Forward & Reverse Skills from a Single Unfinished Demonstration for Constrained Manipulation Tasks
Abstract
Learning from demonstration(LfD) enables robots to learn manipulation skills directly from expert demonstrations but remains challenging for contact-rich tasks involving geometric constraints and force interaction. Existing approaches typically require multiple demonstrations, assume complete task execution, and do not support reverse skill learning. In this paper, we present a unified one-shot learning framework for constrained manipulation that learns both forward and reverse task execution from a single, possibly unfinished demonstration. Our method decomposes demonstrations into non-contact and contact phases, with non-contact motion encoded with dynamic movement primitives (DMP), and contact motion represented as a sequence of screw motion primitives segmented by our proposed geometry-driven twist-direction segmentation algorithm. During execution, screw primitives are executed sequentially under admittance-guided pose correction and speed regulation, enabling task completion learned from unfinished demonstration as well as reverse skill execution without additional learning data. We validate our approach on four constrained contact-rich manipulation tasks -- peg insertion, battery insertion, lock opening and screw driving, demonstrating improved success rate and robustness over one-shot trajectory and segmentation baselines in both forward and reverse settings.
Overview
Overview of the proposed framework. A single forward demonstration is first encoded with a DMP. During execution, the DMP reproduces free-space motion until contact is detected. The contact phase is segmented using the proposed twist-direction method, and each segment is modeled as a screw primitive. Screw primitives are executed sequentially with 6D admittance-based pose correction and 1D admittance-based speed regulation. Reverse execution reuses the learned primitives with edited parameters and reversed order, followed by reversed DMP reproduction after contact release.
Tasks
Peg Insertion
Battery Insertion
Lock Opening
Screw Driving
Human Demonstrations
Experiments
Generalization to Novel Objects
Implementation Details
Unless otherwise stated, learning, segmentation, and admittance parameters were shared across all four tasks. Only the wrench safety limits and scalar load weights were task-dependent to account for different contact and material properties.
Segmentation
| Component | Parameter | Value |
|---|---|---|
| Block segmentation | Block length | 300 samples (0.3 s) |
| Boundary detection | Rotation / translation cosine thresholds | 0.9 / 0.9 |
| Boundary refinement weights | Rotation / translation weights | 1.0 / 1.0 |
| Small-motion block | Translation / rotation thresholds | 0.2 mm / 0.2° |
| Global refinement | Translation hysteresis min/max | 2 mm / 5 mm |
| Global refinement | Rotation hysteresis min/max | 5° / 10° |
| Dwell cleanup | Translation / rotation thresholds | 5 mm / 10° |
Spiral Search Alignment
| Component | Parameter | Value |
|---|---|---|
| Control | Timestep | 1 ms |
| Spiral search | Rate / maximum radius | 2 Hz / 15 mm |
| Spiral search | Angular / radial rate | 0.5 rad/s / 0.125 mm/s |
| Spiral termination | Force / stable samples | 4 N / 5 samples |
Screw Fitting and Execution under Admittance
| Component | Parameter | Value |
|---|---|---|
| Screw fitting weights | Rotation / translation weights | 1.0 / 1.0 |
| Control | Timestep | 1 ms |
| 6D admittance | M diagonal | [0.2, 0.2, 0.2, 0.05, 0.05, 0.05] |
| 6D admittance | B diagonal | [40, 40, 40, 3, 3, 3] |
| 6D admittance | K diagonal | [1000, 1000, 1000, 4, 4, 4] |
| 1D admittance | Bθ | 10 / |nominal progress speed| |
| 1D admittance | Mθ | 0.05 Bθ |
| Pose correction | Translation / rotation limits | 4 mm / 0.1 rad per axis |
| Primitive termination | Speed / duration | 10% of nominal speed / 0.3 s |
| Contact detection | Force | 2.5 N |
Task-Dependent Wrench Parameters
| Task / Phase | kF∥ | kT∥ | kF⊥ | kT⊥ | Force Limit | Torque Limit | Tz Limit |
|---|---|---|---|---|---|---|---|
| Peg | 1.0 | 5.0 | 0.1 | 0.1 | 25 N | 2 Nm | 10 Nm |
| Battery | 1.5 | 10.0 | 1.0 | 1.0 | 25 N | 3 Nm | 10 Nm |
| Lock insertion | 0.5 | 1.0 | 0.1 | 0.1 | 25 N | 2 Nm | 0.6 Nm |
| Lock rotation | 1.0 | 30.0 | 0.1 | 0.1 | 25 N | 2 Nm | 0.6 Nm |
| Screw driving | 1.0 | 30.0 | 0.1 | 0.1 | 25 N | 3 Nm | 10 Nm |
BibTeX
@article{PaperKey,
title={Paper Title},
author={Authors},
journal={Conference},
year={2026},
url={https://domain.com/project-page}
}