HumansXドキュメントセンター 公式サイトへ ↗

データの収集

1. 実行環境:ターミナルで以下のコマンドを実行します

conda activate lerobot

プログラムフォルダに移動します。ターミナルで以下のコマンドを入力します。

cd lerobot-develop/lerobot-main

2. コマンドを実行してデータ収集を開始します:

python lerobot/scripts/control_robot.py \
--robot.type=so100 \
--control.type=record \
--control.fps=30 \
--control.single_task="Cloth Fold" \
--control.tags='["so100","tutorial"]' \
--control.warmup_time_s=3 \
--control.episode_time_s=20 \
--control.reset_time_s=3 \
--control.num_episodes=50 \
--control.display_data=false \
--control.repo_id=USER/so100_test \
--control.root=datasets/so100_test

収集中はできるだけ良好な照明を保ち、余分な動作を減らしてください。ロボットアームを速く動かしすぎると振動が生じ、後の学習に影響します。

パラメータの説明:

No. 名称 説明
1 warmup_time_s 実行後、データ収集操作を開始するまでの待機時間です。
2 episode_time_s 1 回の動作のデータ収集操作にかける時間です。
3 reset_time_s 各動作のデータ収集操作が終わった後、ユーザーが元の状態に戻すための時間です。操作の習慣に合わせて調整してください。長すぎても短すぎてもよくありません。
4 num_episodes 1 つのデータセットに必要なデータの収集回数です。単純な動作では 30 回程度、やや複雑な動作では 50 回以上を推奨します。実際のタスクに応じて調整してください。
5 repo_id so100_test を、データ収集プロジェクト用の任意の英字名に変更します。
6 root so100_test を repo_id と一致するように変更します。

キーボードの矢印キーで収集を制御できます。左キーで現在のエピソードを撮り直し、右キーで現在のエピソードをスキップします。

データ収集の流れをテストするだけの場合は、num_episodes を 1~2 回に設定できます。

3. データ収集操作の開始

1. 収集対象の物体を置きます。

2. ロボットを操作して物体の操作動作を行います。

3. 1 件のデータを操作した後、以下の画面が表示されるのを待ってから物体を元の位置に戻し、次のデータ収集に備えます。

4. ターミナルにデータが表示され始めたら上記の操作を繰り返し、すべてのデータ収集を完了します。

4. データの保存

データ収集が完了すると、以下の場所に自動的に保存されます。

cd lerobot-develop/lerobot-main/datasets

収集したデータを USB メモリに移し、データ学習の準備をします。

sudo cp -r /home/sunrise/lerobot-develop/lerobot-main/datasets/so100_test25122603 /media/KINSTON/

注意:移すデータセットの名前は、収集時の名前と一致させてください。また、USB メモリのパスと名前はそれぞれの環境に合わせて変更してください。

データ収集時の注意事項

  1. リーダーアームを操作する際は、片手でロボットアームの先端を、もう片方の手でロボットアームの上腕リンクを持って操作できます。

2. 操作の動きはできるだけシンプルにしてください。

  1. 同じ物体の場合、10 回のデータごとに同じ位置で置く向きを変え、20~30 回のデータを収集したら位置を変えて収集することを推奨します。