系列文章目錄
目錄
系列文章目錄
前言
一、簡介
二、詳細教程
2.1 數據集準備
2.1.1 創建或下載您的數據集
2.1.2 配置模態文件
2.2 模型微調
2.3 開環評估
2.4 部署
🎉 快樂編程!💻🛠?
????????立即開始!
前言
一、簡介
????????NVIDIA Isaac GR00T(通用機器人 00 技術)是一個用于構建機器人基礎模型和數據管道的研發平臺,旨在加速智能、適應性強的機器人的創建。
????????今天,我們宣布推出 Isaac GR00T N1.5,這是 Isaac GR00T N1 的首次重大更新,Isaac GR00T N1 是全球首個用于通用人形機器人推理和技能的開放式基礎模型。該跨實體模型可處理多模態輸入(包括語言和圖像),在各種環境中執行操作任務。它可以通過針對特定實體、任務和環境的后訓練進行適應性調整。
????????在本博客中,我們將演示如何使用來自單個 SO-101 機械臂的遠程操作數據對 GR00T N1.5 進行后訓練(微調)。
二、詳細教程
????????現在,GR00T N1.5 已經向使用各種機器人形態的開發者開放,并可以通過經濟實惠、開源的 LeRobot SO-101 機械臂進行輕松的微調和適配。
????????這種靈活性得益于 EmbodimentTag 系統,該系統允許對不同機器人平臺進行無縫定制,使愛好者、研究人員和工程師能夠根據自己的硬件定制先進的人形機器人推理和操作功能。
2.1 數據集準備
????????用戶可以使用任何 LeRobot 數據集對 GROOT N1.5 進行微調。在本教程中,我們將以清理餐桌任務為例進行微調。
????????需要注意的是,SO-100或SO-101的數據集并未包含在GROOT N1.5的初始預訓練中。因此,我們將將其作為新的embodiment進行訓練。
2.1.1 創建或下載您的數據集
????????在本教程中,您可以選擇按照以下步驟創建自己的自定義數據集(推薦)或從 Hugging Face 下載 so101-table-cleanup 數據集。--local-dir 參數用于指定數據集在您的機器上的保存位置。
huggingface-cli download \--repo-type dataset youliangtan/so101-table-cleanup \--local-dir ./demo_data/so101-table-cleanup
2.1.2 配置模態文件
????????modality.json 文件提供了關于狀態和動作模態的額外信息,以使其與“GR00T”兼容。使用以下命令將 examples/so100__modality.json 復制到數據集 <DATASET_PATH>/meta/modality.json:
cp examples/so100__modality.json ./demo_data/so101-table-cleanup/meta/modality.json
????????注意:對于類似 so101-table-cleanup 數據集的雙攝像頭設置,請運行:
cp examples/so100__dualcam_modality.json ./demo_data/so100-table-cleanup/meta/modality.json
????????完成上述步驟后,可使用GR00T LeRobotSingleDataset類加載數據集。以下是一個加載數據集的示例腳本:
python scripts/load_dataset.py --dataset-path datasets/so101-table-cleanup/ --plot-state-action --video-backend torchvision_av
2.2 模型微調
????????GR00T N1.5 的微調可通過 Python 腳本 scripts/gr00t_finetune.py 執行。要開始微調,請在終端中執行以下命令:
python scripts/gr00t_finetune.py \--dataset-path /datasets/so101-table-cleanup/ \--num-gpus 1 \--output-dir ~/so101-checkpoints \--max-steps 10000 \--data-config so100_dualcam \--video-backend torchvision_av
2.3 開環評估
????????當訓練完成且您的微調策略生成后,您可以通過運行以下命令在開環環境中可視化其性能:
python scripts/eval_policy.py --plot \--embodiment_tag new_embodiment \--model_path <YOUR_CHECKPOINT_PATH> \--data_config so100_dualcam \--dataset_path /datasets/so101-table-cleanup/ \--video_backend torchvision_av \--modality_keys single_arm gripper
恭喜!您已成功在新的實現上對GR00T-N1.5進行微調。
2.4 部署
????????在成功完成策略的微調和評估后,最后一步是將其部署到您的物理機器人上進行實際執行。
????????要連接您的SO-101機器人并開始評估,請在終端中執行以下命令:
python eval_lerobot.py \--robot.type=so100_follower \--robot.port=/dev/ttyACM0 \--robot.id=lil_guy \--robot.cameras="{ wrist: {type: opencv, index_or_path: 9, width: 640, height: 480, fps: 30}, front: {type: opencv, index_or_path: 15, width: 640, height: 480, fps: 30}}" \--policy_host=10.112.209.136 \--lang_instruction="Grab pens and place into pen holder."
????????由于我們對GRO0T-N1.5進行了不同語言指令的微調,用戶可以通過使用數據集中的任務提示之一來引導策略,例如“拿起膠帶并放入筆筒中”。
🎉 快樂編程!💻🛠?
????????立即開始!
????????準備好利用NVIDIA的GR00T N1.5提升您的機器人項目了嗎?立即開始使用這些必備資源:
- GR00T N1.5模型:直接從Hugging Face下載最新模型。
- 微調資源:在我們的 GitHub 上查找用于微調的示例數據集和 PyTorch 腳本。
- 貢獻數據集:通過向 Hugging Face 貢獻自己的數據集,為機器人社區貢獻力量。
- LeRobot 黑客馬拉松:加入全球社區,參與即將舉行的 LeRobot 黑客馬拉松,展示您的技能。
????????通過關注 NVIDIA 在 Hugging Face 上的動態,了解最新進展。