DK1 セットアップガイド

開梱から手動によるデータ収集まで。 推定所要時間: ~ 2 時間。

1

開梱と組み立て

~30分

電源を入れる前に、両方のアームを慎重に箱から取り出し、すべてのコンポーネントが揃っていることを確認してください。

箱の中身は何ですか

リーダーアームユニット
フォロアアームユニット
USBケーブル(両面用×2)
卓上取り付け金具
電源アダプター
クイックスタートカード

組み立てチェックリスト

  • 付属の金具を使用して両方のアームを卓上にしっかりと取り付けます
  • リーダー (Dynamixel XL330) チェーン上のすべてのサーボ接続を検査します。
  • フォロワーのすべてのサーボ接続を検査します (DM4340 ベース、DM4310 リスト/グリッパー)
  • USB ケーブルを接続経路からきれいに遠ざけて配線します。
  • グリッパー機構が手で自由に開閉できることを確認します (電源をオフ)
  • 読んでください 安全ページ 電源を入れる前に
電源を入れる前に 両方のアームがしっかりと取り付けられており、ケーブルがジョイントの移動経路を横切っていないことを確認してください。 両手操作モードを試す前に、シングルアーム操作をテストしてください。
2

ソフトウェアのセットアップ / 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
3

ポートの検出とキャリブレーション

~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
衝突後に再調整します。 予期せぬ停止や衝突が発生した後は、再度キャリブレーションを実行して、ジョイントのゼロ位置が正確であることを確認します。
4

最初の遠隔操作セッション

~30分

両手操作モードに移行する前に、シングルアーム遠隔操作セッションから開始して、リーダーとフォロワーの追跡を確認します。

シングルアーム遠隔操作

uv run lerobot-teleoperate \
  --robot.type=dk1_follower \
  --robot.port=/dev/ttyACM0 \
  --teleop.type=dk1_leader \
  --teleop.port=/dev/ttyACM2

何を確認するか

  • フォロワーアームはリーダーアームの動きをスムーズに追従します
  • どの関節に​​もサーボエラーやストールはありません
  • リーダーグリッパーに連動してグリッパーが開閉
  • 全可動域にわたってケーブルが引っ掛かることはありません
非常停止 USB ケーブルを外すと、アームへの通信が直ちに切断されます。 通電操作中は作業スペースに手を近づけないでください。

シングルアーム遠隔操作が正しく機能したら、両手モードに進む前に、2 番目のアームのペアでテストを繰り返します。

5

両面手動データ記録

進行中

使用 lerobot-recordbi_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 ウィキ プラットフォーム統合オプションについては。

セットアップは完了しましたか?

コミュニティに参加して結果を共有し、高度な構成に関するサポートを受けてください。