← Quay lại Blog
manipulationdexterousmanipulationtactile-sensingrobot-hand

Dexterous Manipulation: Thao tác bàn tay robot

In-hand rotation, tool use, DexGraspNet và tactile sensing -- hướng dẫn toàn diện về dexterous manipulation với multi-finger robot hands.

Nguyen Anh Tuan22 tháng 2, 20268 phút đọc
Dexterous Manipulation: Thao tác bàn tay robot

Vượt qua Parallel-Jaw Gripper

Trong 4 bài trước của series này, mình chủ yếu nói về parallel-jaw gripper -- 2 ngón tay đóng/mở. Đây là gripper phổ biến nhất vì đơn giản, rẻ, và đủ dùng cho nhiều tasks (pick-and-place, bin picking).

Nhưng con người có 5 ngón tay với 20+ DoF, cho phép thao tác tinh tế: xoay bóng, sử dụng công cụ, mở nắp chai bằng một tay. Dexterous manipulation với multi-finger robot hands là frontier tiếp theo -- và cũng là một trong những bài toán khó nhất trong robotics.

Bài này sẽ cover: hardware (Allegro, LEAP, Shadow Hand), bài toán core (in-hand manipulation, tool use), datasets (DexGraspNet), tactile sensing, và state-of-the-art methods.

Xem thêm Tactile Sensing cho Manipulation để hiểu sâu về cảm biến xúc giác.

Multi-finger robot hand -- frontier của dexterous manipulation

Hardware: Các Robot Hands phổ biến

Allegro Hand

Allegro Hand từ Wonik Robotics là robot hand phổ biến nhất trong research:

LEAP Hand

LEAP Hand từ Carnegie Mellon là low-cost alternative:

Shadow Dexterous Hand

Shadow Hand là gold standard -- gần giống bàn tay người nhất:

So sánh

Tiêu chí Allegro LEAP Shadow
DoF 16 16 24
Giá ~15K USD ~2K USD ~100K+ USD
Torque sensing Không
Tactile Không (add-on) Không BioTac (optional)
Open-source Không Không
Sim models MuJoCo, Isaac MuJoCo MuJoCo, Isaac
Best for Research (balance cost/quality) Education, low-budget Top-tier research

Bài toán Core: In-Hand Manipulation

In-Hand Object Rotation

In-hand rotation là benchmark kinh điển: robot hand cầm một vật thể (cube, sphere) và xoay nó đến target orientation mà không rơi. Nghe đơn giản nhưng cực khó:

OpenAI's Rubik's Cube (2019) là milestone: Shadow Hand giải Rubik's Cube sau khi train RL trong simulation với Automatic Domain Randomization (ADR). 13,000+ năm simulated experience, transfer zero-shot sang robot thật.

Phương pháp hiện đại (2024-2026): RL trong Isaac Lab với 4,096+ parallel environments. Unitree đang dùng cách này cho dexterous hands của họ, và Google DeepMind dùng nó cho in-hand manipulation research.

Tool Use

Khả năng sử dụng công cụ là đặc trưng của bàn tay người. Robot dexterous manipulation hướng tới:

Các phương pháp hiện tại dùng keypoint-based representations: định nghĩa các điểm quan trọng trên tool và tay, học policy để align chúng. Stanford và UC Berkeley đang dẫn đầu ở lĩnh vực này.

DexGraspNet: Large-Scale Dexterous Grasp Dataset

DexGraspNet (Wang et al., 2023) là dataset lớn nhất cho dexterous grasping:

Sử dụng DexGraspNet

# Load DexGraspNet data (simplified)
import numpy as np

# Mỗi object có ~200+ diverse grasps
grasp_data = np.load("dexgraspnet/core-bottle-1a7ba1f4c892e2da30711cdbdbc73e71.npy",
                      allow_pickle=True).item()

# Mỗi grasp gồm:
# - hand_pose: (22,) -- wrist 6D + 16 joint angles
# - hand_qpos: (16,) -- joint positions
# - target_qpos: (16,) -- target joint positions for grasping
# - score: float -- grasp quality (force closure based)

print(f"Số grasps: {len(grasp_data['grasps'])}")
print(f"Object category: {grasp_data['category']}")

DexGraspNet 2.0

DexGraspNet 2.0 (2024) mở rộng sang:

Tactile Sensing: "Xúc giác" cho Robot

Vì sao tactile quan trọng cho dexterous manipulation?

Vision cho biết ở đâu vật thể, nhưng tactile cho biết cảm như thế nào: lực bao nhiêu, đang trượt không, bề mặt như nào. Đối với dexterous manipulation, tactile là thiết yếu:

Các loại tactile sensor

Vision-based tactile (GelSight, DIGIT):

Capacitive/resistive (BioTac):

Piezoelectric (tuxedo-labs):

DIGIT Sensor cho Research

DIGIT từ Meta AI là tactile sensor phổ biến nhất trong research:

# Đọc DIGIT sensor data
import digit_interface

digit = digit_interface.Digit("D00123", resolution=(320, 240))
digit.connect()

# Thu image từ sensor (contact geometry)
frame = digit.get_frame()  # (240, 320, 3) RGB image

# Contact detection
is_contact = detect_contact(frame, baseline_frame)

# Force estimation (nếu đã calibrate)
force_estimate = estimate_force(frame, calibration_model)

Tactile sensing và sim-to-real transfer cho dexterous manipulation

State-of-the-Art Methods

RL + Sim-to-Real (Dominant approach)

Phương pháp phổ biến nhất cho dexterous manipulation hiện nay:

  1. Setup trong Isaac Lab: robot hand + object, reward function cho task
  2. Train PPO/SAC với 4,096+ parallel environments
  3. Domain randomization: friction, mass, sensor noise, hand dimensions
  4. Deploy zero-shot lên robot thật
# Reward function cho in-hand rotation (simplified)
def reward_function(env):
    # Orientation error giữa current và target
    rot_error = quaternion_distance(
        env.object_quat, env.target_quat
    )

    # Bonus khi đạt target
    success_bonus = 10.0 if rot_error < 0.1 else 0.0

    # Penalty khi drop
    drop_penalty = -5.0 if env.object_pos[2] < 0.3 else 0.0

    # Finger tip distance to object (encourage contact)
    fingertip_reward = -0.1 * fingertip_to_object_distance(env)

    return -rot_error + success_bonus + drop_penalty + fingertip_reward

Diffusion Policy cho Dexterous

Xu hướng 2025-2026: dùng Diffusion Policy thay vì RL cho dexterous tasks. Ưu điểm: thu data từ human teleoperation (tự nhiên hơn), không cần reward engineering.

Stanford IRIS đã chứng minh Diffusion Policy có thể học in-hand reorientation từ 100 human demos, đạt comparable performance với RL sau hàng nghìn giờ sim training.

Teacher-Student Framework

Approach hiệu quả: train teacher policy trong sim với privileged information (ground truth object pose, contact forces), rồi distill sang student policy chỉ dùng thông tin có trên robot thật (images, joint positions, tactile).

Teacher (sim, privileged):
  Input: object pose + contact forces + joint pos
  Output: action
  Method: RL (PPO) với full state

Student (real-world compatible):
  Input: images + joint pos + tactile
  Output: action
  Method: BC từ teacher demonstrations

Challenges và Hướng đi

Sim-to-real vẫn là vấn đề lớn nhất

Contact physics trong simulation vẫn không chính xác 100% so với thực tế. MuJoCo 3.x với convex optimization contact solver đã tốt hơn nhiều, nhưng deformable objects (vải, dây) vẫn là open challenge.

Hardware còn là bottleneck

Các robot hands hiện tại vẫn:

LEAP Hand ($2K, open-source) đang giảm barriers, nhưng cần cải thiện durability và torque.

Bi-manual dexterous

Khi kết hợp 2 robot hands (mỗi tay 16 DoF = 32 DoF total), độ phức tạp tăng gấp bội. Đây là frontier của frontier -- xem Part 6 để biết thêm.

Resources

Tiếp theo trong series


Bài viết liên quan

Bài viết liên quan

TutorialLeRobot Ecosystem: Hướng dẫn toàn diện 2026
ai-perceptionmanipulationtutorial

LeRobot Ecosystem: Hướng dẫn toàn diện 2026

Tổng quan LeRobot của Hugging Face -- models, datasets, hardware support và cách bắt đầu với $100.

22/3/20269 phút đọc
Deep DiveDiffusion Policy: Cách mạng robot manipulation
ai-perceptiondiffusion-policymanipulationPhần 4

Diffusion Policy: Cách mạng robot manipulation

Tại sao diffusion models là breakthrough cho robotics — multimodal distributions, high-dim actions và stability.

14/3/202610 phút đọc
Deep DiveAction Chunking Transformers (ACT): Kiến trúc chi tiết
ai-perceptionmanipulationresearchPhần 3

Action Chunking Transformers (ACT): Kiến trúc chi tiết

Phân tích ACT — tại sao predict nhiều actions cùng lúc tốt hơn, CVAE encoder và temporal ensembling.

11/3/202611 phút đọc