DexSkill: Skill Segmentation Using Haptic Data for Learning Autonomous Long-Horizon Robotic Manipulation Tasks

April 15, 2024 · View on GitHub

PAPER WEBSITE:
https://arq-crisp.github.io/DexSkills/
ABSTRACT:
Effective execution of long-horizon tasks with dexterous robotic hands remains a significant challenge in real-world problems. While learning from human demonstrations have shown encouraging results, they require extensive data collection for training. Hence, decomposing long-horizon tasks into reusable primitive skills is a more efficient approach. To achieve so, we developed DexSkills, a novel supervised learning framework that addresses long-horizon dexterous manipulation tasks using primitive skills. DexSkills is trained to recognize and replicate a select set of skills using human demonstration data, which can then segment a demonstrated long-horizon dexterous manipulation task into a sequence of primitive skills to achieve one-shot execution by the robot directly. Significantly, DexSkills operates solely on proprioceptive and tactile data, i.e., haptic data. Our real-world robotic experiments show that DexSkills can accurately segment skills, thereby enabling autonomous robot execution of a diverse range of tasks.
DEMONSTRATION:
The dataset includes data of 20 haptic skils (10 repetitions each):
Skill NumberSkill NameSkill NumberSkill NameSkill NumberSkill NameSkill NumberSkill NameSkill NumberSkill Name
1Reach2Setup Position3PreTouch4Touch5Flip
6Wipe Forth7Wipe Back8PreGrasp9Grasp10Lift with Grasp
11Transport Forward12Place13PreRotate14Rotate15Shake Up
16Shake Down17Twist18Vertical Place19Pour20Release

And 20 Long Tasks executed as a sequence of skills.

TaskIIIIIIIVVVIVIIVIIIIXX
A (s)153476891020
B (t)47891011122
C (b)13141015161718
D (s)676767
E (b)589101519
F (b)891017
G (b)1589
H (t)15161512
I (s)16151620
J (b)9101720
K (t)489
L (s)131417
M (s)9202
N (s)171016
O (b)101719
P (t)191718
Q (s)582
R (b)1132
S (s)181020
T (b)101718
DATASET:

The dataset provides the following modalities:

  • Proprioception
  • Tactile Sensing

The dataset files are organised as following:

DexSkill_dataset
    └─ dataset / Long-horizon task dataset
         └── data_0.pt
         └── ...
         └── data_i.pt
         │   ├── state_input
         │   ├── state_output
         │   ├── feature_input
         │   ├── feature_output
         │   ├── label
    

There are 60 dataset files for the training, each consisting of a batch size of 256 with data shuffled. The dataset is saved in a dictionary style.

  • data['state_input'] contains the raw haptic data, including the end-effector state, filtered tactile information, filtered contact indicators, and the AH joint state.
  • data['feature_input'] includes proposed features while excluding the raw haptic data.
  • data['state_output'] and data['features_output'] is the proposed feature at the next timestep, which is used to train the auto-regressive autoencoder.
  • data['label'] includes the skill name for the recorded task.

The .pt files located within the /DexSkill_dataset/dataset directory encompass a comprehensive collection of recorded demonstrations across 20 primitive skills. Additionally, within the /DexSkill_dataset/LH_dataset folder, each .pt file correspond to a specific long-horizon manipulation task, with no shuffling involved to preserve the time-series sequence of these tasks.

All trained policies, including those of our framework and comparative works, are inside the trained_policy folder. Furthermore, the json_file within this dataset provides human-labeled task segmentation for all long-horizon tasks, serving as a ground truth.

The demo code for load the dataset and train the classifier is in the file /code/train_classifier.py

VIDEO AND DEMO: