DOBOT ATOM テレオペレーション ガイド

DOBOT ATOM
テレオペレーション 技術ガイド
VRヘッドセットによるヒューマノイドロボット遠隔操作・データ収集の手順書(技術情報)
本ページは運用現場向けの技術手順です。ロボット周辺安全(監視員配置・E-stop位置確認・障害物排除)を前提とし、手順を遵守してください。 (メーカー仕様・ファーム更新により画面/コマンドが変わる可能性があります)
テレオペレーション概要
VRヘッドセット(Quest 3 / Apple Vision Pro)でオペレーターのジェスチャーを認識し、アルゴリズムでDOBOT ATOMの上半身 (両腕・器用な手・頭部)にマッピングして制御します。オペレーターはVR上でロボットの一人称視点を確認しながら、遠隔操作とデータ収集を行います。
VR遠隔操作
両腕(7軸×2)・両手(6自由度×2)・頭部(2自由度)をリアルタイム制御
一人称VR視点
頭部ステレオカメラ映像をVRで没入視聴(遅延/ネットワーク品質に依存)
データ収集
カメラ画像 + 28次元関節データを記録し、模倣学習や検証に活用
ロボットモード切替
ロボットの電源投入後、リモコンのボタン操作でテレオペレーションモードに切り替えます。上肢テレオペレーションに対応するモードは以下の3つです。
デバッグモード
スタンドで固定した状態で使用します。基本テスト・調整に適しています。
位置制御モード
上肢テレオペレーションに対応した汎用モードです。
主運動制御歩行モード
スタンドなしで使用。運動制御モデルを有効化し自立歩行が可能です。
オンボードPC2への接続
🌐 ネットワーク接続
無線接続:ロボットに対応するWi-Fiに接続します。
SSID例:ATOMMX-4521-0731
MX = Maxバージョン、番号 = シリアル番号
有線接続:ロボットのスイッチEthernetポートにLANケーブルで接続します。
🖥️ リモートデスクトップ
リモートデスクトップクライアントを開き、以下の情報で接続します。
| IPアドレス | 192.168.8.13:3390 |
| ユーザー名 | dobotpc2 |
| パスワード | 123456 |
テレオペレーションプログラムの起動
- ヘッドステレオカメラのインデックス設定
USBインデックスは、電源ON/USB抜差しで変わる場合があります。ATOMディレクトリで以下を実行します。
$ ./set_top_camera.sh[Successful]: Found the top camera index: 0 と表示されれば成功です。
- パラメータ設定
設定ファイルを開いて必要パラメータを調整します。
# 設定ファイルパス /home/ATOM/ATOM_teleoperate/teleop/teleop_config.iniパラメータ名 既定値 型 説明 範囲 save_data_fps 20 int データ保存フレームレート 1 ~ 50 save_data_path /home/dobotpc2/ATOM/datasets/ str データセット保存先 - project_name new_dataset str タスクデータセットフォルダ名 - top_camera_id 0 int ヘッドステレオカメラのインデックス - top_camera_resolution (720, 1280) Tuple ヘッドカメラ解像度(幅, 高さ) - top_camera_fps 60 int ヘッドカメラFPS 1 ~ 100 use_hand_camera False bool 手首カメラの使用有無 True / False human_arm_length 0.60 float 腕の長さ(スケーリング用) 0.5 ~ 1(m) pinching_threshold 0.015 float つまみ検出しきい値(親指-人差し指) 0 ~ 0.040(m) thumb_rotation_threshold 150 int ロボット親指の回転値 0 ~ 300 thumb_bending_threshold 490 int ロボット親指の屈曲値 300 ~ 600 indexfinger_bending_threshold 410 int ロボット人差し指の屈曲値 300 ~ 600 - テレオペレーションプログラムの実行
$ ./run__teleop.sh
アームが自動的に初期位置へ移動するまで待機してください。
💡初回実行時は chmod +x run_upper_teleop.sh で実行権限を付与してから実行してください。
Atom環境のアクティベートエラーが出る場合は source ~/.bashrc を先に実行してください。🧩表記ゆれ注意:本手順では run__teleop.sh / run_upper_teleop.sh が混在しています。実機上のファイル名に合わせて実行してください。
VRインターフェースからのテレオペレーション開始
VRからロボットWi-Fiに接続
VRヘッドセットのWi-Fi設定から、対象ロボットのWi-Fiに接続します。
| SSID例 | ATOMMX-4521-0731 |
| パスワード | 12345678 |
VRブラウザインターフェースにアクセス
VRブラウザで以下のURLにアクセスします。
カメラのライブ映像が表示されれば、システムは正常に動作しています。
テレオペレーション没入モードへ移行
画面下部の “Enter” をクリックして没入モードに入ります。ポップアップが出た場合は “Allow” をクリックしてください。
VR画面の表示ステータス
| 表示項目 | 説明 | ステータス |
|---|---|---|
| Control | 人機同期の状態 | On(赤)= 有効 / Off(緑)= 無効 |
| Record | データ収集の状態 | On(赤)= 有効 / Off = 無効 |
| Trigger | 姿勢トリガーの状態 | Fok/Fno, Aok/Ano, W1ok/Wno, W2ok/Wno |
人機同期
🟢 同期開始 3秒保持
両手を開いてロボットに近づき、以下の3条件を同時に満たして3秒保持します。
トリガー条件(3つすべて同時)
- 指を開く(指を広げる)
- 腕の第2関節が30°以上
- 手首を水平にする
画面に “Trigger: Control pose...” と表示され、左上の Control が赤い “On” になれば同期成功です。
🔴 同期停止 開始と同条件
同期停止は、同期開始と同じ3条件を再度3秒保持します。
トリガー条件(開始と同じ)
- 指を開く
- 腕の第2関節が30°以上
- 手首を水平にする
左上の Control が緑の “Off” になれば同期解除です。
データ記録(任意)
▶ 記録開始 Record On
トリガー条件(3つ同時に3秒保持)
- 指を開く
- 腕の第2関節が30°以上
- 手首を垂直、手のひらを内側に向ける
Record: “On”(赤) が表示されれば記録開始です。
⏹ 記録停止 Record Off
トリガー条件(開始と同じ)
- 指を開く
- 腕の第2関節が30°以上
- 手首を垂直、手のひらを内側に向ける
Record: “Off”(赤) が表示されれば停止です。
📂 記録データの構造
記録中、各種カメラ画像と上半身ボディデータ(両腕2×7関節角度、器用ハンド2×6自由度、頭部2自由度、すべてラジアン)が保存されます。
🤖 28次元データ:インデックス対応表
左側
右側
頭部
停止手順
🔴 VR没入モード終了
- 右手の親指と人差し指をつまむ(手のひらを目の方向へ)
- ブラウザ右上の “Exit” をクリック
- ブラウザ下部の “×” でウィンドウを閉じる(2回必要な場合あり)
⏹ テレオペレーション停止(PC2)
PC2のターミナルで操作します。
⚡ 緊急停止
異常が発生した場合は、以下で緊急停止できます。
- PC2でプログラムを強制停止
- 緊急停止ボタン(E-stop)押下
軌跡再生
特定動作を繰り返し実行したい場合や、音声トリガー等でアクションを再現するシナリオで使用します。 テレオペレーションで記録した軌跡をオフラインで再生できます。
STEP 1 軌跡を記録
データ記録を行い、trajectory.txt を保存します。
STEP 2 実機で軌跡再生
ATOM_teleoperate/script/replay_trajectory.py を開き、軌跡ファイルのディレクトリ絶対パスを指定して実行します。
操作時の注意事項
🎮 VRコントローラーの電池
没入前にコントローラーの電池を必ず外す。コントローラー動作が検出されるとジェスチャー制御が無効になり、画面がフリーズする場合があります。
🧍 オペレーターの向き
ブラウザを正面に配置し、ページ更新で基準姿勢を設定。姿勢調整は同期停止状態で行い、調整後に再度正面配置して更新してください。
🤲 手の位置
ヘッドセット前方下方、ヘッドセットから20cm以上離す。腰や背後に手を引くと認識不能になり危険姿勢の可能性があります。
🔄 頭部の動き
姿勢認識はヘッドセット向きに対する相対値。頭を動かすと手にも影響するため、周囲との衝突に注意。
📡 ネットワーク環境
LAN/Wi-Fi経由のため、複数ネットワークがあると映像表示や動作に遅延・ラグが発生する場合があります。
👥 推奨オペレーター数
2名推奨:1名がVR操作、もう1名が安全監視と異常時の緊急停止(PC2停止/E-stop)を担当。
FAQ / トラブルシューティング
❌ 'NoneType' object has no attribute 'hands'
原因:器用ハンド設定が無効になっている可能性があります(デフォルト無効の場合あり)。
解決:器用ハンドの設定を有効化してください。
❌ Atom環境をアクティベートできない
解決:
❌ 初回実行時の権限エラー
解決:実行権限を付与してください。
仕様変更(IP/ポート、UI文言、スクリプト名)が起きやすいので、ページ末尾に「更新履歴」と「既知の差分(機体/FW別)」を追記していく運用が安定します。



