Blogに戻る

2026年にロボットテレオペレーションを開始

2026年にロボットテレオペレーションを始めるための実践的なガイド: ハードウェア設定,制御インターフェース,遅延,データ収集,RCSVのテレオッププラットフォーム

[電動操作ガイド]

遠隔操作 - ロボットをリアルタイムで遠隔操作する - は 高品質のトレーニングデータを収集する最も速い方法であり 現代ロボット展開の基盤でもあります 模倣学習データセットを構築するかどうか 遠隔検査パイロットを実行するかどうか このガイドは 始めるのに必要なすべてのことを案内します

ロボット 遠隔 手術 は 何 です か

遠隔操作とは 人工操作者が制御インターフェースを使用して ロボットを制御する ローカルまたはリモートネットワークで コマンドを送信し 感覚フィードバック (ビデオ,力,位置) を受け取る ということです ロボット学習の背景において,遠隔操作によるデモは,人工的にプログラミングが難しい自然的な人間の戦略をコードするため,トレーニングデータを収集するための黄金基準である.RCSVの [遠隔操作プラットフォーム]T6) は複数のロボットプラットフォームでローカルおよびリモート操作の両方をサポートする.

遠隔操作ループは4つの段階で構成される. (1) 操作者はカメラフィードと自感データを通じてロボットの環境を観察する, (2) 操作者は制御装置を通じてコマンドを生成する, (3) コマンドがロボットに送信され実行される, (4) すべての観測とアクションは後にトレーニングデータとして使用するために同期的に記録される. 各段階の品質は,リアルタイム制御性能と記録されたデータセットの下流有用性の両方に直接影響を与える.

2026年,遠隔操作は,ますます融合する二つの目的を果たしています.最初ののは,直接の遠隔操作です. 人間がロボットを遠隔で有用な作業 (検査,メンテナンス,危険な環境の作業) をするために制御します. 第2はデモ収集です. 人間がロボットを操作して,模倣学習政策 (ACT) や拡散政策 (Difusion Policy) のためのトレーニングデータを生成します.ハードウェアとソフトウェアの要件は大きく重なり合っているので,データ収集を始めるチームはしばしば自然にリモートデプロイメント機能に移行します.

始める 必要 の ハードウェア

基本の遠隔操作設定には,五つの構成要素が必要である.ロボット腕またはモバイルプラットフォーム,カメラ,制御装置,ストリーミングおよびログインのための計算ノード,同期観測と行動を記録するためのログインシステム.RCSVの [レンズされたハードウェアパッケージ]T8) は,必要なすべての構成要素をプリコンフィギュレーションした. OpenArmを使用するチームでは,RCSVリーダーフォローアセットアップが組み立てられるのに30分未満かかります.

制御装置の比較

制御装置は,あなたのデモの品質上限を決定するため,最も重要なハードウェア選択です. 2026年に4つの主要なオプションがどのように比較されるかです:

Control Device レイテンシ DOF Mapped Best For Cost Training Curve
Leader arm (ALOHA-style) <2ms local Full joint-space (6-7 DOF) Bimanual manipulation, ACT data $2,000-5,000 per pair 2-4 hours
3D SpaceMouse 5-10ms 6 DOF (Cartesian + rotation) Single-arm pick-place, slow precision $200-500 1-2 days
Data glove (e.g., Paxini, Manus) 8-15ms 15-22 DOF (hand + wrist) Dexterous hand control, finger tasks $5,000-15,000 4-8 hours
VR controller (Quest 3, VIVE) 20-40ms 6 DOF + finger triggers Mobile base + arm, humanoid whole-body $300-1,000 30 minutes

我々の推奨事項: テーブル操作作業に関する模倣学習データを収集するチームにとって,リーダー腕は明らかに勝者である. 1:1の運動マッピングは,操作者の筋肉記憶がロボットに直接転送され,リテイクが少ないよりスムーズなデモを生産することを意味します. ALOHA型リーダー・フォロワー構成 (リーダーとフォロワー腕の同一のシナマティックチェーン) は,リターゲティング問題を完全に排除します. フォロワー腕の関数コマンドに直接リンクするリーダー腕地図から関数コマンドに直接リンクします.逆のシナマティックステップがないため.

人形全体テレオペレーション (Unitree G1,Booster K1) において,ボディトラッキングとペアされたVRコントローラが現在の標準である.手トラッキング付きの Quest 3は,簡単な握手のために足够の指マッピングを提供します.しかし,精密な指作業にはまだ専用手袋ハードウェアが必要です.RCSVは, [テレオップ制御プラットフォーム] (T9) を通じて4つのインターフェースをサポートします.

なぜ遅延が重要なのか:50msの限界

端から端まで遅延する時間 - 操作者の入力からロボット動きまでの時間 - は遠隔操作における 最も重要なパフォーマンスメトリックです

  • <20ms: 操作者は遅延感を感じない.ロボットは直接の手の延長のように感じます.これは地元のUSB/シリアル接続でリーダー腕で達成できます.この遅延時に収集されたデータは最も自然で流動な人間の行動を含む.
  • 20-50ms: 感知可能だが管理可能.オペレーターは数分で適応し,良い示範データを作成します.これはローカルネットワークの遠隔操作 (同じ建物にあるオペレーター,イーサネットで接続されたロボット) に典型的です.
  • 50-150ms: 動作者は遅延を補うために大幅に遅くなります. デモは慎重で揺れるようになります.操作者は動いて,フィードバックを待っています.調整します.また待っています.この"移動し待つ"パターンは,遅い,躊躇するポリシーを訓練します.データ品質は実質的に50msを超える低下します.
  • >150ms: 精細な操作は不実用化します. 粗大位置付けとナビゲーション作業のみが信頼性的に動作します. これはインターネットベースのタイムゾーン間のリモートテレ操作に典型的です.

遅延は4つの要素があり,それぞれが独立して測定し最小限に抑えなければなりません.

Component Typical Range How to Minimize
Control device read 0.5-5ms USB polling at 1kHz, avoid Bluetooth
Network transport 0.1ms (local) to 200ms (cross-continent) Wired Ethernet for local; WebRTC with STUN for remote
Command processing 1-10ms Dedicated real-time thread, avoid Python GIL on control loop
Motor execution 2-20ms Use position servo mode, not velocity; 500Hz+ servo rate

カメラの設定: 3 カメラ標準

カメラの配置は制御装置の選択後に2番目に影響力を及ぼす決定です.操作データ収集の現在のコミュニティ標準は,3台のカメラのセットアップです:

  • Overhead camera (fixed): 上から下へ作業空間のビューを提供します.空間推理に不可欠です. 物体が互いに相対的に位置する.テーブル表面から0.8-1.2m上に座って,直下に向いている.解像度:640x480は十分です.より高い解像度では,比例的な政策改善なしに帯域幅を追加します.
  • サイドカメラ (固定): 腕とオブジェクトの空間関係と接近角度を撮影する.作業場の中心から0.6-1.0mのテーブル高度にマウントして,15-30度下角を撮影する.このカメラは,空視で欠けている深さの信号を撮影する.
  • 腕カメラ (エンドエフェクターに搭載): ミリメートル離れたところから触覚ゾーンを捕捉します.これは精細な操作のための最も効果的カメラです.ALOHAチームや他の研究によると,腕カメラを追加することで,接触に富んだ作業で政策の成功率が20~40%向上します. 3Dプリントマウント付きの小さなUSBカメラ (例えば,ELP 120fpsフィッシュアイモジュール, ~$30) を使用します.

カメラ同期化は重要です. 観測時間スタンプがアクション時間スタンプから10ms以上離れている場合,あなたは誤ったデータに関するポリシーを訓練しています - それは時間 t で世界を見ているが,t+delta からのアクションと関連付けます. 急速なタスクでは (200-400ms で完了するグラスプ) において,誤った調整の20msでさえ,政策のパフォーマンスを測定可能に低下させます. ハードウェアトリガーやタイムスタンプベースのソフトウェア同期を使用します

カメラ解像度とフレームレートとの差異: 模倣学習では,フレームレートが解像度よりも重要だ.30fpsの640x480ストリームは,15fpsの1920x1080ストリームよりも優れたトレーニングデータを生成する.動きの動力学を学ぶために,このポリシーには時間連続性が必要.我々はすべてのRCSVデータ収集を最低30fpsで実行し,高速操作作業のために50fpsが好ましい.

ローカル対リモートテレオペレーション

地元遠隔操作 (同じ部屋のオペレーター) は,通常,エンドツーエンドで5ms未満の最小の遅延を達成し,データ収集の標準です.遠隔遠隔操作 (異なる場所のオペレーター) はネットワーク遅延を導入しますが,遠隔検査,施設管理,分散データ収集などの展開シナリオを可能にします. RCSVの データプラットフォーム は,適応性ストリーム圧縮と遅延モニタリングを組み込んだ両方のモードをサポートします.

遠隔操作では,ビデオストリームがボトルネックである.制御コマンドではない.制御コマンドは小さい (50Hzでパケットあたり100バイト未満),しかし,30fpsで圧縮されていない640x480RGBは,1カメラあたり28MB/sである.3カメラでは,圧縮前84MB/sである. ロボット側ではH.264ハードウェアコーディングが,このコードを 2-5 Mbps/ストリームに減らし,可視質が高く,コード化は15-30msの遅延を追加する.RCSV リモートテレオップスタックでは,最小遅延 (ゼロ遅延預設,スライススレッド,イントラリフレッシュ) のための調整されたパラメータを持つNVIDIA Jetsonのハードウェア加速コードを使用します.

ACTデータフォーマットと記録パイプライン

現代の模倣学習フレームワークのほとんどは,特定の構造を持つHDF5形式のトレーニングデータを消費する.各エピソードは観察 (画像,関わり位置,グリッパー状態) とアクション (ターゲット関わり位置または速度) の同期配列を含むグループとして保存されます.

episode_0/
  observations/
    images/
      cam_high    (T, 480, 640, 3) uint8     # overhead camera
      cam_low     (T, 480, 640, 3) uint8     # side camera
      cam_wrist   (T, 480, 640, 3) uint8     # wrist camera
    qpos          (T, 7) float32              # joint positions + gripper
    qvel          (T, 7) float32              # joint velocities
  actions         (T, 7) float32              # target joint positions
  timestamps      (T,) float64               # Unix timestamps in seconds
  metadata/
    success       bool                        # did episode achieve goal?
    task_name     string                      # e.g., "pick_cube_place_bin"
    operator_id   string                      # for tracking operator quality

以下は3台のUSBカメラでOpenArmから同期されたデータを捕捉する最小限の Pythonの記録スクリプトです. これはRCSVの記録パイプラインが実行するものの簡略化バージョンです. 生産バージョンでは自動的な成功検出,リアルタイム品質メトリック,クラウドアップロードを追加します.

import h5py
import numpy as np
import time
import cv2
from openarm_sdk import OpenArm  # RCSV OpenArm Python SDK

# Initialize hardware
arm = OpenArm(port="/dev/ttyUSB0", baudrate=1000000)
cameras = {
    "cam_high":  cv2.VideoCapture(0),
    "cam_low":   cv2.VideoCapture(2),
    "cam_wrist": cv2.VideoCapture(4),
}
for cam in cameras.values():
    cam.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
    cam.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
    cam.set(cv2.CAP_PROP_FPS, 30)

CONTROL_HZ = 50  # 50 Hz control loop
MAX_STEPS = 500  # 10 seconds at 50 Hz
dt = 1.0 / CONTROL_HZ

def record_episode(episode_id: int, hdf5_path: str):
    """Record one teleoperation episode to HDF5."""
    images = {k: [] for k in cameras}
    qpos_list, qvel_list, action_list, ts_list = [], [], [], []

    print(f"Recording episode {episode_id}... Press Ctrl+C to stop.")
    try:
        for step in range(MAX_STEPS):
            t_start = time.time()

            # Read leader arm (control device) as target action
            leader_state = arm.read_leader()
            action = leader_state.joint_positions  # 7-dim: 6 joints + gripper

            # Read follower arm (robot) current state
            follower_state = arm.read_follower()
            qpos = follower_state.joint_positions
            qvel = follower_state.joint_velocities

            # Send action to follower
            arm.command_follower(action)

            # Capture images from all cameras
            for name, cap in cameras.items():
                ret, frame = cap.read()
                if ret:
                    images[name].append(frame[:, :, ::-1])  # BGR to RGB

            qpos_list.append(qpos)
            qvel_list.append(qvel)
            action_list.append(action)
            ts_list.append(time.time())

            # Maintain control frequency
            elapsed = time.time() - t_start
            if elapsed < dt:
                time.sleep(dt - elapsed)

    except KeyboardInterrupt:
        pass

    # Write to HDF5
    T = len(qpos_list)
    with h5py.File(hdf5_path, "a") as f:
        ep = f.create_group(f"episode_{episode_id}")
        obs = ep.create_group("observations")
        img_grp = obs.create_group("images")
        for name in cameras:
            img_grp.create_dataset(name, data=np.array(images[name]),
                                   chunks=(1, 480, 640, 3), compression="gzip")
        obs.create_dataset("qpos", data=np.array(qpos_list, dtype=np.float32))
        obs.create_dataset("qvel", data=np.array(qvel_list, dtype=np.float32))
        ep.create_dataset("actions", data=np.array(action_list, dtype=np.float32))
        ep.create_dataset("timestamps", data=np.array(ts_list, dtype=np.float64))

    print(f"Episode {episode_id}: {T} steps saved ({T / CONTROL_HZ:.1f}s)")

高品質のデモを集め

優れたデモは一貫性,多様性,そして成功です.一貫性とは,オブジェクト配置,アプローチ戦略,タスク完了のための定義されたプロトコルに従うことを意味します.多様性とは,エピソードごとに異なるオブジェクトの位置,方向,環境条件を意味します. RCSVの品質管理には,リアルタイムでエピソードレビュー,自動異常検出,および示例が品質の限界を超えた場合再開トリガーが含まれます. [ロボット訓練データガイド]T11で品質基準について詳しくは読む.

運用者訓練プロトコル

経験豊富なオペレーターは,初心者よりも2-3倍一貫したデモを生産し,直接政策のパフォーマンスに翻訳します.RCSVでは,新しいオペレーターは構造化されたトレーニングプロトコルを通過します:

  1. **Familiarization (30 min):**制御装置とロボットで無料探索.データ記録なし.目標:ロボットの作業空間,速度制限,力制限のための運動直感を構築する.
  2. 練習エピソード (20-30エピソード): 経験豊富なオペレーターのフィードバックで目標タスクを実行する.これらのエピソードはトレーニングに使用されません.
  3. **校正テスト (10エピソード):**10エピソードを記録し,成功率,完成時間,軌道の滑らさを測定する (平均震動幅).オペレーターは生産記録に移る前に,基準セットから標準偏差2つ以内に90%以上の成功率と軌道の滑らさを達成しなければならない.
  4. **生産記録:**訓練データのためのデモを記録する.50回ごとに,質量メトリックを再確認する.

番組品質メトリック

記録された各エピソードに対して,RCSVのパイプラインは,これらの品質信号を計算し記録します.

  • **完成時間:**基準平均の1.5倍以内になければならない.異常速度のエピソードはしばしばスキップされたステップを示し,異常遅いエピソードは操作者の躊躇を示します.
  • **軌道滑らか:**平均のジーク (共同位置の第三派生) は,タスク特有の限界以下である必要があります.高ジークは,政策を混乱させる修正と躊躇を示します.
  • ** 握り込み期間:** 握り込みから安定した握り込みまでの時間. 長い握り込み (> 2s 簡単な握り込み) は,再演示すべきことを示します.
  • タスクの成功: バイナリー - エピソードが目標状態を達成したのでしょうか? 失敗したエピソードは別々に記録され,否定的な例や回復行動訓練に使用できますが,初級トレーニングセットに含まれません.

失敗 の 常見 な 方法 と その 解決 の 方法

遠隔操作プログラムが数百台に対応した後,RCSVは,初めて遠隔操作を設定する際にチームが遭遇する最も頻繁な故障モードをカタログにしました.

Symptom Root Cause Fix
Robot jerks or oscillates during teleoperation Control loop rate too low (<30Hz) or PD gains too high Increase control loop to 50Hz+. Reduce P gain by 30% and add velocity damping. Check USB polling rate.
Policy trained on teleop data fails at deployment Camera moved between collection and deployment, or lighting changed Use rigid camera mounts with alignment markers. Log camera intrinsics/extrinsics per session. Match lighting.
Video feed lags during remote teleop H.264 encoder buffering frames for quality, not latency Use -tune zerolatency and -preset ultrafast in ffmpeg/GStreamer. Reduce resolution to 480p.
グリッパー commands lag behind arm commands グリッパー on separate serial bus with different polling rate Synchronize arm and gripper commands in the same control loop iteration. Use a single serial bus if possible.
Timestamps in HDF5 not monotonically increasing NTP time sync adjusting system clock during recording Use time.monotonic() for relative timestamps. Store absolute time only in episode metadata.
Operator fatigue after 30 minutes of collection Ergonomic issues with leader arm position or weight Mount leader arm at elbow height. Add arm rest. Enforce 10-min break every 45 min. Rotate operators.

ソフトウェアスタック: 何がどこに行っている

生産遠隔操作の設定は3台のマシンでソフトウェアを実行します.このアーキテクチャを理解することで,遅延と同期の問題をデバッグすることができます.

  • ロボット側計算 (例えば,Jetson Orin Nano, $249): リアルタイム制御ループ (50-500Hz),カメラキャプチャとエンコーディング,アクション実行を実行します.このマシンは,リアルタイムカーネル (PREEMPT_RT) を実行する必要があります.または少なくとも低遅延カーネルを実行する必要があります.
  • オペレーターワークステーション: 制御インターフェースドライバー,ビデオデコーダー,オペレーター UI を実行します.ローカルテレオペレーションでは,これはロボット側計算機と同じマシンである可能性があります.遠隔テレオペレーションでは,WebRTCまたはカスタム UDPストリーミングプロトコルで接続された別のマシンです.
  • データサーバー/クラウド: エピソードストレージ,品質メトリック計算,データセット管理,トレーニングパイプライン調整を実行する.RCSV データプラットフォーム は管理サービスとしてこの役割を担っています.

RCSV で 遠隔操作 プログラム を 始める 方法

スタート地点によって3つの道があります

  • フルサービスデータ収集 (2500ドル/8,000ドルキャンペーン): 任務とターゲットロボットを記述する - RCSVはHDF5/RLDS形式でハードウェア,訓練されたオペレーター,ラボ環境,およびポスト処理データセットを提供します. テレオプインフラストラクチャを構築せずにトレーニングデータを必要とするチームにとって最適です. [データサービス] (T13) を開始してください.
  • プラットフォーム +あなたのハードウェア: ロボットを所有するか借りるか - RCSVは [データプラットフォーム] (T14) 経由でテレオップソフトウェアスタック,記録パイプライン,データセット管理,および品質メトリックを提供しています. 月額 abone,ハードウェア購入は必要ありません.
  • Hardware lease + platform: RCSVの [lease program] (レジングプログラム) による [OpenArm] (T15) または他のプラットフォームをレンタルして,ソフトウェアの完全なスタックを組み込もう. 0 からデータ収集への最も速い経路 - ほとんどのチームはハードウェア配信から4時間以内に最初のエピソードを記録します.

実行する前にインターフェースを探索したいチームには [仮想テレオペレーションサンドボックス] (T17) を試してください - ブラウザベースのシミュレーターで 完全な RCSVテレオップ UIをシミュレーションロボットに駆動します

関連 読書

  • [ACTポリシー説明] (T18) -- 最も人気のある模倣学習アルゴリズムは テレオップデータをどのように利用する
  • [ロボット模倣学習における一般的な誤り] (T19) - データの質の罠を避けるために
  • [ロボット訓練データとは何か?] T20) --フォーマット,標準,ベストプラクティス
  • RCSVデータサービス --管理された遠隔操作とデータ収集
  • [ロボットレンタルする方法] T22) - あなたのテレオッププログラムのためのハードウェアを取得

テレオップデータ収集を開始する準備は?

RCSVはフルサービスでテレオペレーションデータ収集,レンタ付いたハードウェア,およびデータセットを管理するためのソフトウェアプラットフォームを提供しています. 数ヶ月ではなく数日で最初のデータセットを取得します.

[データサービス] T23] [エンジニアと話]