🧪 新しいチュートリアルを公開中 — ロボットアームからセンサーまで
コンテンツへスキップ

具身知能入門(LeRobot)

初めて「ロボット学習」に取り組む開発者向け。HuggingFace LeRobot + JUXI SO-ARM101 ロボットアームを例に、データ収集 → 訓練 → 評価の全フローを完走します。

1. 具身知能とは?

具身知能(Embodied AI)は、エージェントが身体のセンサーを通じて物理世界と対話することを可能にします。ロボット模倣学習(Imitation Learning)はその主要な路線です:人間が遠隔操作でデモ → データ収集 → 戦略モデルを訓練 → ロボットが動作を再現。

なぜ重要か: 従来のプログラミングでは複雑な操作(ネジ締め、服を畳む)をカバーできず、模倣学習では「デモ + 訓練」だけで済みます。

2. ハードウェア構成

コンポーネント推奨説明
ロボットアームSO-ARM101(leader + follower)双腕遠隔操作、6 DOF
計算プラットフォームJetson Orin NX Super / 4090 ホスト訓練は大演算、推論は Jetson
ビジョンRealSense / USB カメラ遠隔操作時に環境を収集

3. 環境インストール

bash
# クローン(JUXI フォークの安定版)
git clone https://github.com/Juxi-Technology/lerobot.git
cd lerobot
pip install -e ".[feetech]"        # SO-ARM は feetech サーボを使用
# Jetson ユーザー: まず PyTorch が使えるか確認
python3 -c "import torch; print(torch.cuda.is_available())"

4. データ収集(遠隔操作)

bash
# ロボットアームのキャリブレーション(初回)
lerobot-calibrate \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 --robot.id=my_arm
# データ収集
lerobot-record \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 \
  --teleop.type=so101_leader --teleop.port=/dev/ttyACM1 \
  --dataset.repo_id=juxi/pick_cube \
  --dataset.num_episodes=50 \
  --dataset.single_task="Pick the red cube" \
  --dataset.episode_time_s=30

収集のコツ:

  • 各タスク ≥50 エピソード、位置/手法を多様化
  • カメラを固定し、物体を一貫して見えるように
  • 一貫した操作スタイルを保つ(同じデモンストレーター)

5. 訓練

bash
# ACT 戦略(入門におすすめ)
lerobot-train \
  --dataset.repo_id=juxi/pick_cube \
  --policy.type=act \
  --output_dir=outputs/train/act_pick \
  --steps=300000 \
  --policy.device=cuda

戦略選定:

戦略メリット適用
ACT小規模データでも安定、初心者向け単タスク、データ少なめ
拡散戦略(Diffusion Policy)複雑なマルチモーダル動作器用な操作
SmolVLA / 基礎モデルゼロショット/少ショット汎化多タスク

6. 評価

bash
# データセット再生(データ品質の確認)
lerobot-dataset-viz --repo-id juxi/pick_cube
# 戦略の評価
lerobot-record \
  --robot.type=so101_follower --robot.port=/dev/ttyACM0 \
  --policy.path=outputs/train/act_pick/checkpoints/last/pretrained_model \
  --dataset.repo_id=juxi/eval_pick \
  --policy.device=cuda
評価指標説明
成功率タスク完了率
軌跡の滑らかさ動作が震えていないか
汎化能力物体/位置変更でも成功するか

7. よくある質問

Q: 訓練が遅い?

A: データ量、steps、演算力は比例します。まず 50 エピソード / 100k steps で開始し、フローを確認してから規模を拡大。

Q: 戦略は単一動作しかできない?

A: 単タスク訓練はタスクデータセットが必要。GR00T/Pi0 系の基礎モデルは小データでマルチタスクに微調整可能。

Q: 訓練後に動作が震える?

A: データ品質を確認(デモが安定)、平滑化フィルタを追加、制御周波数を下げる。

Q: メモリ/VRAM 不足?

A: batch_size を減らす、画像解像度を下げる、Jetson は 16GB 版を使用。


関連リンク

技術サポート