DK1 セットアップガイド
開梱から手動によるデータ収集まで。 推定所要時間: ~ 2 時間。
開梱と組み立て
~30分電源を入れる前に、両方のアームを慎重に箱から取り出し、すべてのコンポーネントが揃っていることを確認してください。
箱の中身は何ですか
組み立てチェックリスト
- 付属の金具を使用して両方のアームを卓上にしっかりと取り付けます
- リーダー (Dynamixel XL330) チェーン上のすべてのサーボ接続を検査します。
- フォロワーのすべてのサーボ接続を検査します (DM4340 ベース、DM4310 リスト/グリッパー)
- USB ケーブルを接続経路からきれいに遠ざけて配線します。
- グリッパー機構が手で自由に開閉できることを確認します (電源をオフ)
- 読んでください 安全ページ 電源を入れる前に
ソフトウェアのセットアップ / LeRobot のインストール
~30分DK1 は、一流のハードウェア プラグインとして LeRobot と統合されています。 既存の LeRobot 環境と一緒にインストールします。
前提条件
- Python 3.10以下
uvパッケージマネージャー - Python 環境にインストールされた LeRobot
- Linux (Ubuntu 22.04 を推奨) または macOS
DK1プラグインをインストールする
# Clone the repo
git clone https://github.com/robot-learning-co/trlc-dk1.git
cd trlc-dk1
# Create a virtual environment
uv venv
# Install as LeRobot plugin (GIT_LFS_SKIP_SMUDGE=1 avoids downloading
# large LeRobot dependency assets during install)
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
# Verify device types registered
python -c "from lerobot.common.robot_devices.robots.factory import make_robot; print('DK1 ready')"
uv pip install -e .、デバイスの種類 dk1_follower, dk1_leader, bi_dk1_follower、 そして bi_dk1_leader 同じ Python 環境内のすべての LeRobot CLI で自動的に利用可能になります。 手動登録は必要ありません。 の GIT_LFS_SKIP_SMUDGE=1 LeRobot は依存関係としてプルされ、Git LFS 経由で大規模なアセットを保存するため、このフラグが必要です。汚れをスキップすると、インストール中にアセットがダウンロードされなくなります。
Linux シリアル ポートのアクセス許可
Linux では、シリアル ポートは次のとおりです。 /dev/ttyACM* ユーザーが dialout グループ。 これを 1 回実行し、ログアウトして再度ログインします。
sudo usermod -aG dialout $USER
# Then log out and back in, or run:
newgrp dialout
ポートの検出とキャリブレーション
~20分内蔵のポート ファインダーを使用して、各アームがどの USB シリアル ポートに接続されているかを特定し、各アームのキャリブレーションを実行します。
ポートを自動的に検索する
# Plug in one USB cable at a time to identify each arm's port
uv run lerobot-find-port
両手セットアップの一般的なポート割り当て:
# Leader right arm: /dev/ttyACM0
# Leader left arm: /dev/ttyACM1
# Follower right: /dev/ttyACM2
# Follower left: /dev/ttyACM3
# On macOS these appear as /dev/tty.usbmodem* instead
各アームを校正する
各アームのキャリブレーションを個別に実行します。 プロンプトが表示されたら、アームをその範囲全体に動かします。
# Calibrate follower right arm
uv run lerobot-calibrate \
--robot.type=dk1_follower \
--robot.port=/dev/ttyACM0
# Calibrate follower left arm
uv run lerobot-calibrate \
--robot.type=dk1_follower \
--robot.port=/dev/ttyACM1
# Calibrate leader right arm
uv run lerobot-calibrate \
--robot.type=dk1_leader \
--robot.port=/dev/ttyACM2
# Calibrate leader left arm
uv run lerobot-calibrate \
--robot.type=dk1_leader \
--robot.port=/dev/ttyACM3
最初の遠隔操作セッション
~30分両手操作モードに移行する前に、シングルアーム遠隔操作セッションから開始して、リーダーとフォロワーの追跡を確認します。
シングルアーム遠隔操作
uv run lerobot-teleoperate \
--robot.type=dk1_follower \
--robot.port=/dev/ttyACM0 \
--teleop.type=dk1_leader \
--teleop.port=/dev/ttyACM2
何を確認するか
- フォロワーアームはリーダーアームの動きをスムーズに追従します
- どの関節にもサーボエラーやストールはありません
- リーダーグリッパーに連動してグリッパーが開閉
- 全可動域にわたってケーブルが引っ掛かることはありません
シングルアーム遠隔操作が正しく機能したら、両手モードに進む前に、2 番目のアームのペアでテストを繰り返します。
両面手動データ記録
進行中使用 lerobot-record と bi_dk1_follower そして bi_dk1_leader 同期されたバイマニュアル デモンストレーションを収集するためのデバイス タイプ。
完全な両手録音コマンド
以下のコマンドは、2 つのリーダー アームを 2 つのフォロワー アームに接続し、ヘッド カメラ ストリームとリスト カメラ ストリームで同期したエピソードを記録します。
lerobot-record \
--robot.type=bi_dk1_follower \
--robot.right_arm_port=/dev/ttyACM0 \
--robot.left_arm_port=/dev/ttyACM1 \
--robot.joint_velocity_scaling=1.0 \
--teleop.type=bi_dk1_leader \
--teleop.right_arm_port=/dev/ttyACM2 \
--teleop.left_arm_port=/dev/ttyACM3 \
--robot.cameras="{
head: {type: opencv, index_or_path: /dev/video0, width: 960, height: 540, fps: 60, fourcc: MJPG},
right_wrist: {type: opencv, index_or_path: /dev/video2, width: 960, height: 540, fps: 60, rotation: 180, fourcc: MJPG},
left_wrist: {type: opencv, index_or_path: /dev/video4, width: 960, height: 540, fps: 60, rotation: 180, fourcc: MJPG}
}" \
--dataset.repo_id=$USER/my_bimanual_dataset \
--dataset.push_to_hub=false \
--dataset.num_episodes=10 \
--dataset.episode_time_s=30 \
--dataset.reset_time_s=20 \
--dataset.single_task="Bimanual pick and place task."
録画前にカメラのインデックスを検出するには:
uv run lerobot-find-cameras
ベストプラクティスの記録
- トレーニング前にタスクごとに少なくとも 50 件のデモンストレーションを記録する
- エピソード間でオブジェクトの位置と向きを変える
- セッション間でカメラの露出を一定に保つ
- 各セッション後にデータセットが Hugging Face Hub にアップロードされることを確認します。
- 説明的なものを使用する
--dataset.task後でフィルタリングするための名前
次のステップ
データを収集したら、LeRobot のトレーニング スクリプトを使用して ACT または拡散政策モデルをトレーニングします。 を参照してください。 DK1 ウィキ プラットフォーム統合オプションについては。