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. Build robot model cho cuRobo: URDF, collision spheres và self-collision
manipulationcurobourdfcollisionrobot-armtutorial

Build robot model cho cuRobo: URDF, collision spheres và self-collision

Cách chuyển URDF robot arm thành config cuRobo dùng được: mesh path, sphere fitting, self-collision ignore matrix, clipping link và tiêu chí pass/fail.

Nguyễn Anh Tuấn24 tháng 5, 20263 phút đọcCập nhật: 19 thg 6, 2026
Build robot model cho cuRobo: URDF, collision spheres và self-collision

Vì sao URDF chưa đủ?

URDF mô tả kinematic tree, joint limits, visual mesh và collision mesh, nhưng cuRobo cần thêm hai lớp dữ liệu để chạy nhanh trên GPU: collision spheres cho từng link và self-collision ignore matrix. Tài liệu cuRobo gọi RobotBuilder để fit spheres, tính cặp link nào có thể bỏ qua, rồi xuất YAML hoặc XRDF cho các module FK, IK, motion planning và MPC.

Chuẩn bị URDF

Trước khi chạy builder, kiểm tra ba thứ:

  1. Joint axis đúng chiều.
  2. Mesh path không phụ thuộc workspace ROS 2 local.
  3. Collision mesh đủ đơn giản, hoặc visual mesh có thể fit sphere ổn.

Một cấu trúc sạch:

my_arm_description/
  urdf/my_arm.urdf
  meshes/base.stl
  meshes/link1.stl
  meshes/link2.stl

Nếu URDF dùng package://my_arm_description/meshes/link1.stl, đặt --asset-path vào thư mục cha chứa my_arm_description.

Chạy builder

python -m curobo.examples.getting_started.build_robot_model \
  --urdf /workspace/my_arm_description/urdf/my_arm.urdf \
  --asset-path /workspace \
  --output /workspace/curobo_configs/my_arm.yml \
  --compute-metrics \
  --visualize

Viewer Viser mặc định ở http://localhost:8080. Trên Jetson headless, forward port qua SSH:

ssh -L 8080:localhost:8080 robot@jetson

Đọc metric sphere fitting

Đừng chỉ nhìn "created successfully". Hãy đọc bảng per-link:

Metric Ý nghĩa Hành động
cover% Mesh được spheres phủ bao nhiêu Thấp quá thì tăng sphere density
protr% Spheres lồi ra ngoài mesh Cao quá thì tăng protrusion weight
gap_mm Khoảng hở lớn nhất Gap lớn ở gripper/finger rất nguy hiểm
vol_ratio Thể tích spheres so với mesh Quá lớn gây false collision

Với robot arm công nghiệp, false collision ở base và wrist là lỗi thường gặp. Dùng clipping nếu base spheres chạm mặt bàn:

python -m curobo.examples.getting_started.build_robot_model \
  --urdf /workspace/my_arm_description/urdf/my_arm.urdf \
  --asset-path /workspace \
  --output /workspace/curobo_configs/my_arm.yml \
  --clip-link base_link z 0.0 \
  --sphere-density 1.5 \
  --compute-metrics

Self-collision matrix không phải giấy phép bỏ qua safety

Self-collision ignore matrix giúp planner không kiểm tra các cặp link luôn liền kề hoặc không thể va chạm trong không gian joint hợp lệ. Nhưng nếu URDF sai limit, matrix sẽ sai. Trước khi tin matrix, random sample joint positions và render link pairs ở các posture cực trị: elbow folded, wrist rotated, gripper near forearm.

Tiêu chí pass/fail

Một config arm nên pass các check sau:

  • FK của cuRobo trùng với TF/URDF viewer trong sai số nhỏ.
  • IK về home pose, pre-grasp pose và 5 pose biên workspace đều thành công.
  • Self-collision checker phát hiện posture gập tay có va chạm thật.
  • Base/table không gây false positive khi robot ở home.
  • Config YAML được commit cùng URDF version hoặc artifact hash.

Kết luận

Robot model là nền móng của toàn bộ stack cuRobo. Nếu sphere fitting sai, mọi planner phía sau sẽ hoặc quá bảo thủ, hoặc nguy hiểm. Bài tiếp theo sẽ dùng config này để kiểm tra FK/IK và chuẩn hóa convention quaternion, frame, joint order.

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
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
NEWTutorial
Mô hình cánh tay robot: joints, links, URDF, DH, SE(3)
robot-armkinematicsurdfPhần 3
manipulation

Mô hình cánh tay robot: joints, links, URDF, DH, SE(3)

Tự điền bảng DH UR5, dựng robot model bằng NumPy/C++ Eigen, rồi đối chiếu với Robotics Toolbox và Pinocchio URDF.

13/6/202616 phút đọc
NT
NEWTutorial
Inverse Kinematics: analytical vs numerical IK
robot-arminverse-kinematicsur5Phần 5
manipulation

Inverse Kinematics: analytical vs numerical IK

Tự giải IK UR5 bằng tay, rồi viết solver numerical IK Python/C++ với Jacobian pseudo-inverse, DLS và tránh joint-limit.

13/6/202614 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