推論の実行
1. 推論前の安全確認
- ロボットの周囲から障害物を取り除きます。
- いつでも
Ctrl+Cで停止できる状態にします。
- カメラ位置、照明、物体、背景、ロボット初期姿勢を学習時に合わせます。
- 学習タスクが
Pick up the red cubeなら、最初の推論でも同じタスク文と赤いキューブを使用します。
- 最初は10秒だけ、録画なしで確認します。
Policyを検査します。
1
2
3
4
5
6
7
8
9
10
11
12
13 | cd -- "{{ PROJECT_DIR }}"
POLICY_PATH="{{ POLICY_PATH }}"
if [ ! -f "$POLICY_PATH/config.json" ]; then
echo "ERROR: invalid policy path: $POLICY_PATH" >&2
exit 1
fi
if ! find "$POLICY_PATH" -maxdepth 1 -type f -name '*.safetensors' -print -quit | grep -q .; then
echo "ERROR: model file not found: $POLICY_PATH" >&2
exit 1
fi
ls -lah "$POLICY_PATH"
|
2. 推論動作テスト(録画なし)
LeRobot 0.6.0では、学習済みPolicyの実機実行にlerobot-rolloutを使用します。lerobot-recordへ--deviceや--policy.pathを渡さないでください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | cd "{{ PROJECT_DIR }}"
export HF_HUB_OFFLINE=1
lerobot-rollout \
--strategy.type=base \
--policy.path={{ POLICY_PATH }} \
--robot.type=so101_follower \
--robot.port={{ ROBOT_PORT }} \
--robot.id=my_follower_arm \
--robot.cameras="{front: {type: opencv, index_or_path: '/dev/video0', backend: 200, width: 640, height: 480, fps: 30, fourcc: 'MJPG'}}" \
--device=cuda \
--fps=30 \
--duration=60 \
--task="Pick up the red cube" \
--display_data=false \
--play_sounds=true \
--return_to_initial_position=true
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | cd "{{ PROJECT_DIR }}"
export HF_HUB_OFFLINE=1
lerobot-rollout \
--strategy.type=base \
--policy.path={{ POLICY_PATH }} \
--robot.type=so101_follower \
--robot.port={{ ROBOT_PORT }} \
--robot.id=my_follower_arm \
--robot.cameras="{front: {type: opencv, index_or_path: '/dev/video0', backend: 200, width: 640, height: 480, fps: 30, fourcc: 'MJPG'}, side:{type: opencv, index_or_path: '/dev/video2', backend: 200, width: 640, height: 480, fps: 30, fourcc: 'MJPG'}}" \
--device=cuda \
--fps=30 \
--duration=60 \
--task="Pick up the red cube" \
--display_data=false \
--play_sounds=true \
--return_to_initial_position=true
|
データを記録しないため、--dataset.*引数を追加しません。
リファレンス