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:

  • 16 DoF: 4 ngón x 4 joints
  • Torque-controlled: cho phép force control chính xác
  • Giá: ~15,000 USD
  • Ecosystem: ROS 2 driver, MuJoCo/Isaac Sim models có sẵn
  • Dùng bởi: Stanford IRIS, CMU, UC Berkeley

LEAP Hand

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

  • 16 DoF: tương tự Allegro nhưng dùng Dynamixel servos
  • Giá: ~2,000 USD (rẻ gấp 7x Allegro)
  • Open-source: CAD files, firmware, software đều public
  • Anthropomorphic: thiết kế giống bàn tay người hơn Allegro
  • Hạn chế: torque thấp hơn, không có torque sensing built-in

Shadow Dexterous Hand

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

  • 24 DoF: 5 ngón + thumb opposition
  • Tactile sensors: BioTac fingertips (optional)
  • Giá: ~100,000+ USD
  • Dùng bởi: OpenAI (Rubik's Cube), Google DeepMind

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ó:

  • High-dimensional action space: 16+ joints đồng thời
  • Unstable contacts: vật thể có thể trượt hoặc rơi bất kỳ lúc nào
  • Sim-to-real gap: friction, deformation khác nhau giữa simulation và thực tế

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:

  • Hammer grasping và striking: cầm búa, đánh vào mục tiêu
  • Screwdriver: cầm và xoay tool
  • Scissors: coordination giữa 2 ngón để cắt

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:

  • 1.32 triệu grasps cho 5,355 objects từ 133+ categories
  • Generate bằng differentiable force closure optimization trong Isaac Gym
  • Validate từng grasp bằng physics simulation
  • Cho Shadow Hand (cũng có version cho LEAP hand)

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:

  • Cluttered scenes: 8,270 scenes với nhiều objects
  • 427 triệu grasp labels cho LEAP hand
  • Generative model để synthesize grasps cho unseen objects

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:

  • Detect slip trước khi vật thể rơi
  • Estimate lực để không làm vỡ vật thể mỏng manh
  • Xác định texture và material (kim loại vs nhựa vs vải)

Các loại tactile sensor

Vision-based tactile (GelSight, DIGIT):

  • Camera + elastomer: biến dạng trên bề mặt -> image -> contact geometry
  • Độ phân giải cao (sub-mm), giá rẻ (~300 USD/sensor)
  • Độ phân giải lực trung bình

Capacitive/resistive (BioTac):

  • Đo lực chính xác, response nhanh
  • Đắt (~1,000+ USD/fingertip)
  • Độ phân giải spatial thấp

Piezoelectric (tuxedo-labs):

  • Response cực nhanh (microsecond)
  • Phù hợp cho vibration/slip detection
  • Hạn chế spatial resolution

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:

  • Đắt: Shadow Hand giá 100K+ USD
  • Fragile: dễ hỏng khi va chạm
  • Chậm: response time chưa bằng tay người
  • Thiếu tactile: hầu hết không có tactile sensors tích hợp

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

NT

Nguyễn Anh Tuấn

Robotics & AI Engineer. Building VnRobo — sharing knowledge about robot learning, VLA models, and automation.

Bài viết liên quan

NEWTutorial
Hướng dẫn GigaBrain-0: VLA + World Model + RL
vlaworld-modelreinforcement-learninggigabrainroboticsmanipulation

Hướng dẫn GigaBrain-0: VLA + World Model + RL

Hướng dẫn chi tiết huấn luyện VLA bằng World Model và Reinforcement Learning với framework RAMP từ GigaBrain — open-source, 3.5B params.

12/4/202611 phút đọc
NEWNghiên cứu
UnifoLM-VLA-0: Mô hình VLA cho Manipulation trên Unitree G1
vlaunitreeg1manipulationhumanoid

UnifoLM-VLA-0: Mô hình VLA cho Manipulation trên Unitree G1

Phân tích và hướng dẫn triển khai UnifoLM-VLA-0 — mô hình VLA open-source đầu tiên chạy trực tiếp trên G1 humanoid

8/4/202623 phút đọc
NEWDeep Dive
Multi-Step Manipulation: Curriculum Learning cho Long-Horizon
rlcurriculum-learninglong-horizonmanipulationPhần 8

Multi-Step Manipulation: Curriculum Learning cho Long-Horizon

Giải quyết manipulation dài hơi bằng RL — curriculum learning, hierarchical RL, skill chaining, và benchmark IKEA furniture assembly.

7/4/202610 phút đọc