VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam
VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
  1. Trang chủ
  2. Blog
  3. Scene mapping cho cuRobo: depth camera, TSDF/ESDF và obstacle snapshot
manipulationcurobodepth-cameratsdfesdftutorial

Scene mapping cho cuRobo: depth camera, TSDF/ESDF và obstacle snapshot

Cách đưa thế giới thật vào cuRobo planner: cuboid trước, depth sau, timestamp, filtering, TSDF/ESDF và chiến lược snapshot để tránh planner dùng scene cũ.

Nguyễn Anh Tuấn9 tháng 6, 20263 phút đọcCập nhật: 19 thg 6, 2026
Scene mapping cho cuRobo: depth camera, TSDF/ESDF và obstacle snapshot

Planner chỉ tốt bằng world model

IK có thể chạy chỉ với robot model. Motion planning cần world model. Với robot arm trên bàn, bạn có thể bắt đầu bằng cuboid cho table, bin, fixture. Khi bài toán có người, vật lạ hoặc scene thay đổi nhanh, phải đưa depth camera vào. cuRoboV2 có hướng GPU-native perception và mapping, nhưng deploy tốt vẫn cần discipline ở tầng dữ liệu: timestamp, frame transform, filter và snapshot.

1. Bắt đầu từ obstacle thủ công

Trước khi nối RealSense/ZED, tạo scene YAML tĩnh:

world:
  cuboid:
    table:
      dims: [1.4, 0.8, 0.06]
      pose: [0.55, 0.0, -0.03, 1.0, 0.0, 0.0, 0.0]
    safety_wall:
      dims: [0.04, 1.2, 0.8]
      pose: [0.85, 0.0, 0.4, 1.0, 0.0, 0.0, 0.0]

Nếu planner chưa ổn với scene tĩnh, depth sẽ chỉ làm debug khó hơn.

2. Depth pipeline

camera depth
  -> depth filter
  -> point cloud in camera frame
  -> TF to robot base
  -> voxel / TSDF / ESDF
  -> planning snapshot

Mỗi frame phải có timestamp. Nếu TF lookup dùng transform mới hơn depth frame 100 ms, obstacle sẽ bị lệch khi robot/camera chuyển động.

3. Snapshot thay vì stream trực tiếp

Planner nên nhận immutable snapshot:

scene = scene_buffer.get_latest(max_age=0.10)
result = planner.plan_pose(start, goal, scene)

Không để mapping thread sửa scene object trong lúc optimizer đang đọc. Dùng copy-on-write hoặc double buffer.

4. Filter thực dụng

Filter Lý do
crop workspace bỏ điểm ngoài vùng robot với tới
floor/table removal giảm false collision
temporal median bớt noise depth
inflation margin bù sai số calibration
unknown zone không plan xuyên vùng camera không thấy

Với Jetson, ưu tiên filter nhẹ và deterministic. Đừng chạy pipeline perception quá nặng khiến planner mất GPU budget.

5. Calibration checklist

  • camera_link tới base_link được đo và lưu version.
  • Depth scale đúng mét.
  • Point cloud table khớp cuboid table trong viewer.
  • Khi đặt box chuẩn 10 cm, obstacle trong planner cũng khoảng 10 cm.
  • Scene age được publish ra diagnostics.

6. Khi nào dùng ESDF/TSDF?

Cuboid/mesh đủ cho fixture cố định. ESDF/TSDF hữu ích khi scene thay đổi và obstacle không có shape đơn giản. Nhưng mapping 3D cũng tăng latency, memory và tuning. Lộ trình an toàn:

  1. Static cuboids.
  2. Dynamic cuboids từ perception.
  3. Point cloud voxel collision.
  4. TSDF/ESDF cho workspace phức tạp.

Kết luận

Scene mapping là nơi nhiều hệ thống sim chạy tốt nhưng real fail. Giữ snapshot rõ ràng, timestamp chặt và bắt đầu bằng obstacle đơn giản. Bài tiếp theo chuyển sang Unitree G1 arm-only: vẫn là planner, nhưng base và balance là ràng buộc mới.

NT

Nguyễn Anh Tuấn

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

Khám phá VnRobo

Fleet MonitoringROS 2 IntegrationAMR Solutions

Bài viết liên quan

Tutorial
ROS 2 bridge cho cuRobo trên Jetson: từ goal pose tới JointTrajectory
curoboros2jetson
manipulation

ROS 2 bridge cho cuRobo trên Jetson: từ goal pose tới JointTrajectory

Thiết kế node ROS 2 bọc cuRobo planner: topic/service/action, lifecycle warmup, joint state reorder, trajectory retiming và watchdog.

5/6/20262 phút đọc
NT
Tutorial
Motion planning và grasp với cuRobo: obstacle, seed và trajectory
curobomotion-planninggrasp
manipulation

Motion planning và grasp với cuRobo: obstacle, seed và trajectory

Hướng dẫn chạy pose-to-pose planning, obstacle collision, warmup, grasp approach-lift và cách tune planner cho robot arm trên Jetson.

1/6/20263 phút đọc
NT
Tutorial
FK và IK trong cuRobo: kiểm tra frame, quaternion và joint order
curoboikfk
manipulation

FK và IK trong cuRobo: kiểm tra frame, quaternion và joint order

Bài thực hành kiểm tra forward kinematics, inverse kinematics, quaternion wxyz, joint order và lỗi frame thường gặp trước khi chạy planner trên robot thật.

28/5/20263 phút đọc
NT
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam