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. Cài cuRoboV2 trên Jetson AGX Orin 64GB: môi trường, CUDA và kiểm tra
manipulationcurobojetsoncudainstallationtutorial

Cài cuRoboV2 trên Jetson AGX Orin 64GB: môi trường, CUDA và kiểm tra

Thiết lập môi trường cuRoboV2 trên Jetson AGX Orin 64GB theo hướng reproducible: JetPack, uv, Python 3.11, CUDA 12.x, PyTorch và smoke test.

Nguyễn Anh Tuấn20 tháng 5, 20263 phút đọcCập nhật: 19 thg 6, 2026
Cài cuRoboV2 trên Jetson AGX Orin 64GB: môi trường, CUDA và kiểm tra

Mục tiêu

Bài này dựng môi trường runtime cho Jetson AGX Orin 64GB. Theo tài liệu cuRobo mới nhất, môi trường được khuyến nghị là Ubuntu Linux, GPU NVIDIA đời Turing trở lên, Python từ 3.10 đến 3.13 chưa vượt ngưỡng validation, driver hỗ trợ CUDA 12+, và cài bằng uv. Trên Jetson, driver/CUDA đi theo JetPack, nên bước quan trọng nhất là khóa JetPack trước khi cài PyTorch và cuRobo.

1. Kiểm tra Jetson trước khi cài

sudo nvpmodel -q
tegrastats
nvcc --version
python3 --version
df -h /

Nếu rootfs nằm trên eMMC, nên chuyển workspace và cache sang NVMe. cuRobo kéo PyTorch, Warp và build/cache CUDA kernels; eMMC nhỏ làm build chậm và dễ hết dung lượng.

mkdir -p /mnt/nvme/robotics/{src,venvs,cache}
export UV_CACHE_DIR=/mnt/nvme/robotics/cache/uv
export TORCH_HOME=/mnt/nvme/robotics/cache/torch

2. Clone và tạo venv

cd /mnt/nvme/robotics/src
git clone https://github.com/NVlabs/curobo
cd curobo

uv venv --python 3.11
source .venv/bin/activate
python -V

Tài liệu chính thức dùng:

uv pip install .[cu12-torch]

Nếu Jetson của bạn đã có PyTorch wheel đúng JetPack/CUDA, dùng biến thể không kéo PyTorch:

uv pip install .[cu12]

Trên Jetson, đây là lựa chọn thường an toàn hơn vì PyTorch wheel cho aarch64 phải khớp JetPack. Không ép wheel x86_64 từ PyPI vào Jetson.

3. Smoke test tối thiểu

python - <<'PY'
import torch
import curobo
print("torch", torch.__version__)
print("cuda", torch.version.cuda)
print("cuda available", torch.cuda.is_available())
print("device", torch.cuda.get_device_name(0))
print("curobo", curobo.__version__)
PY

Sau đó chạy test package nếu thời gian cho phép:

pytest --pyargs curobo.tests

Nếu test đầy đủ quá lâu, chạy ít nhất các example getting-started không yêu cầu robot thật trước khi nối ROS 2.

4. Container hóa để không mất môi trường

Một layout đơn giản:

FROM nvcr.io/nvidia/l4t-pytorch:r36.4.0-pth2.4-py3

RUN apt-get update && apt-get install -y git curl build-essential && rm -rf /var/lib/apt/lists/*
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.local/bin:${PATH}"

WORKDIR /opt/curobo
COPY . /opt/curobo
RUN uv venv --python 3.11 /opt/curobo/.venv
RUN . /opt/curobo/.venv/bin/activate && uv pip install .[cu12]

Không dùng Dockerfile này như chân lý tuyệt đối; hãy đổi base image theo JetPack thực tế. Điều cần giữ là: base L4T đúng, PyTorch đúng, rồi mới cài cuRobo.

5. Lỗi thường gặp

Triệu chứng Nguyên nhân hay gặp Cách xử lý
torch.cuda.is_available() == False Wheel PyTorch sai JetPack/CUDA Cài lại PyTorch aarch64 đúng bản
Build quá lâu rồi hết disk Cache nằm trên eMMC Chuyển UV_CACHE_DIR, TORCH_HOME, workspace sang NVMe
Import được nhưng example crash ABI mismatch CUDA/Warp/PyTorch Pin image và cài lại trong venv sạch
Planner lần đầu rất chậm CUDA graph/kernel warmup Gọi warmup() trong startup, không trong vòng điều khiển

6. Checklist trước bài tiếp theo

  • python -c "import curobo" chạy được.
  • torch.cuda.is_available() trả về True.
  • nvidia-smi không có trên Jetson là bình thường; dùng tegrastats.
  • Repo và venv nằm trên NVMe.
  • Có log exact version của JetPack, Python, PyTorch, CUDA và cuRobo commit.

Kết luận

Phần khó của cuRobo trên Jetson không phải cú pháp cài đặt, mà là khóa ma trận version. Khi môi trường đã reproducible, bạn mới nên build robot model. Bài tiếp theo sẽ xử lý URDF, mesh, collision spheres và self-collision matrix cho robot arm.

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
cuRobo trên Jetson AGX Orin 64GB và Unitree G1: lộ trình 10 bài
curobojetsonunitree-g1
manipulation

cuRobo trên Jetson AGX Orin 64GB và Unitree G1: lộ trình 10 bài

Bài mở đầu series: cuRoboV2 dùng để làm gì, khi nào chạy trên Jetson AGX Orin 64GB, khi nào dùng workstation, và kiến trúc deploy cho robot arm lẫn Unitree G1.

16/5/20264 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