Guidesに戻る

ロボット視力システム:カメラ,深度センサー,処理

ロボット視力ガイド:RGBカメラ,深度センサー (RealSense, ZED),処理パイプライン,操作システムへの統合

概要

視覚はロボット操作のための最も情報豊富な感覚チャネルである.適切に構成された視覚システムは,政策が物体を把握し,配置し,注ぎ,組み立てなければならないという幾何学的な理解を提供します.しかし,間違ったカメラ,マウントポジション,または処理パイプラインを選択することで,他の方法で機能するシステムを麻痺させることができます.

このガイドはロボット視力スタックのあらゆる層をカバーしています:センサー選択,ロボット工学のための光学的な考慮,校正手順,組み立て戦略,処理パイプライン,およびROS2統合.我々の勧告は,操作研究,遠隔操作,生産検査アプリケーションにおけるRCSVにおける数十の視力システム展開に基づいています.

センサータイプ比較

Sensor Type Example Products Resolution Price Best For
2D RGB (global shutter) Basler ace2, FLIR Blackfly S, Allied Vision Alvium Up to 5472x3648 $400-$2,000 High-quality data collection, policy training, inspection
2D RGB (rolling shutter / USB) Logitech BRIO, ELP USB cameras, Arducam Up to 4K $30-$200 Budget prototyping, slow-motion tasks
Stereo Depth (active IR) Intel RealSense D435i, D455 1280x720 depth, 1920x1080 RGB $200-$350 Supplemental depth, point cloud generation
Stereo Depth (neural) Stereolabs ZED 2i, ZED Mini 2208x1242 (2K), depth to 20m $450-$550 Mobile robots, outdoor depth, spatial mapping
Structured Light Photoneo PhoXi, Ensenso N-series 2064x1544 (3.2 MP depth) $5,000-$15,000 Bin picking, high-precision 3D scanning
Time-of-Flight (ToF) Azure Kinect DK, Lucid Helios2 1024x1024 (Kinect), 640x480 $400-$3,000 Body tracking, scene understanding
Event Camera Prophesee EVK4, iniVation DVXplorer 1280x720 (event stream) $3,000-$8,000 High-speed tracking, dynamic scenes, low latency
Thermal (LWIR) FLIR Lepton 3.5, Seek Thermal 160x120 to 640x512 $200-$5,000 Thermal inspection, human detection, food handling

ロボット学における光学的な考慮事項

グローバルシャッター vs ローリングシャッター

これはロボット工学における最も重要なカメラの仕様である.ローリングシャッターが****によって,画像の列列を暴露する (典型的な読み込み:10-30 ms) になります.カメラやシーンが曝光中に移動する際,画像は歪み,振動,または部分フレーム歪みを示します. フレームの上下は2mmで 引き裂けやすいので フレームの上下は2mmで 引き裂けやすいのです

グローバルシャッター**は,すべてのピクセルを同時に暴露する.産業用機械視力カメラ (Basler ace2, FLIR Blackfly S) は,グローバルシャッターセンサー (Sony Pregius / Pregius S 家族) を使用する.これらは腕に搭載されたカメラ,高速操作,および画像撮影中に腕が動く設定に不可欠である.

推奨: 手首に設置された位置では常にグローバルシャッターカメラを使用してください. ゆっくり作業 (<50mm/s) を撮影する固定型オーバーヘッドカメラでは,予算が制限されている場合,ローリングシャッターは受け入れられます.

遅延予算

遠隔操作では,全視管線遅延 (キャプチャ + 転送 + 処理 + ディスプレイ) は安定した動作のために 100 ms 以下のもので,応答性感のために 50 ms 以下のものでなければならない.閉ループ視線伺服器では,目標 <16 ms (フレーム1 つ 60 fps で) のものである.遅延の主要要因は:

  • センサーの曝光時間: 1-33 ms (照明とフレーム速さによって異なります)
  • 転送: <1 ms (ハードウェアトリガー付きGigE) から 50 ms (バッファリング付きUSB)
  • 処理 (検出/分割): 5-50 ms (GPUに依存する)
  • ネットワーク (遠隔操作者にストリーミングする場合): 5-200 ms (インフラストラクチャに依存する)

ROS2 カメラドライバー

重要なパッケージは:

  • T2 - D400とL500シリーズの公式インテルドライバー. 深度,IR,RGB,IMUトピックを公開します.
  • T3 - ステレオラブZEDカメラ. 空間マッピングとオブジェクト検出ノードが含まれています.
  • T4 - Basler カメラ バイ Pylon SDK ハードウェアのトリガーをサポートする
  • T5 - FLIR/Point Grey カメラ ハードウェアトリガーとGPIOサポート
  • T6 - USBカメラのV4L2ドライバは通用です ハードウェアのトリガーサポートはありません

OpenCVでカメラの校正

適切な校正は交渉できない.校正されていないカメラは3D再構築と政策一般化を悪化させる放射性歪みを導入する.OpenCVを使用する標準手順は以下の通りです:

import cv2
import numpy as np
import glob

# Checkerboard dimensions (inner corners)
BOARD_SIZE = (9, 6)
SQUARE_SIZE = 25.0  # mm

# Prepare 3D object points
objp = np.zeros((BOARD_SIZE[0] * BOARD_SIZE[1], 3), np.float32)
objp[:, :2] = np.mgrid[0:BOARD_SIZE[0], 0:BOARD_SIZE[1]].T.reshape(-1, 2) * SQUARE_SIZE

obj_points, img_points = [], []

for fname in sorted(glob.glob("calib_images/*.png")):
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret, corners = cv2.findChessboardCorners(gray, BOARD_SIZE, None)
    if ret:
        corners = cv2.cornerSubPix(gray, corners, (11, 11), (-1, -1),
            (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001))
        obj_points.append(objp)
        img_points.append(corners)

ret, K, dist, rvecs, tvecs = cv2.calibrateCamera(
    obj_points, img_points, gray.shape[::-1], None, None)

print(f"Reprojection error: {ret:.4f} px")  # Target: < 0.5 px
print(f"Camera matrix K:\n{K}")
print(f"Distortion coeffs: {dist}")

# Save for ROS2 camera_info
np.savez("calibration.npz", K=K, dist=dist, rvecs=rvecs, tvecs=tvecs)

ベストプラクティス: チェッカーボードで30〜50枚の画像を異なる角度 (45度まで傾斜),距離 (フレームの20%〜80%を満たす) で収集し,全画像の位置を表示する.研究レベルの作業では再投影エラーは0.5ピクセル以下でなければならない.レンズ変更,焦点調整,物理的な影響後再校正する.

腕に搭載されたカメラと外部カメラの交換

Factor Wrist-Mounted External (Fixed)
Field of View Narrow, focused on grasp point Wide, full workspace coverage
Occlusion Minimal -- always sees what end-effector sees Arm and gripper can occlude objects
Motion blur High -- requires global shutter + short exposure Low -- camera is stationary
キャリブレーション Eye-in-hand calibration required Eye-to-hand calibration (simpler)
Cable management Challenging -- cable must route along arm Simple -- fixed cable run
Weight at end-effector Adds 50-300g (reduces payload budget) Zero impact on payload
Policy training impact Strong signal for fine manipulation Good for spatial reasoning and navigation

RCSVの推奨: 両方を使用します. 作業場コンテキストのために固定オーバーヘッド + 固定サイドカメラ,および近視把握精度のための腕カメラ.これは [データ収集サービス] (T20) に導入する標準的な3カメラ設定です. 完全な設定については,当社の [テレオペレーションのためのカメラ設定] (T21) ガイドを参照してください.

製品に関する特別勧告

予算研究設定 (合計400~800ドル)

2x ロジテック BRIO 4K (200ドル各) オーバーヘッドとサイドビュー,1x Intel RealSense D435i (200ドル) 追加深度.制限:BRIOでローリングシャッター,USB遅延ジッター.遅い操作作業 (<50mm/s) と初期プロトタイプに適しています.

標準研究設定 (合計 1,500~ 3,000ドル)

2x Basler ace2 a2A1920-160ucBAS (それぞれ650ドル) オーバーヘッドとサイドビューのためのグローバルシャッター,1x RealSense D435i (200ドル) の深さのために.PoE (100ドル) とArduino Uno (25ドル) のGigEスイッチを追加する.これはRCSVの設定でほとんどの [データ収集業務](T22に使用します.

生産視力システム (5,000~$20,000)

フォトネオ・フォキシ3Dスキャン機 (US$8,000US$15,000) は,ミリメートル以下の深度精度でビニーを採取する.または構造化ライト3Dスキャン用のEnsenso Nシリーズ (US$5,000US$8,000).これらは通常,色彩覆いのために工業級2Dカメラ (Basler ace2またはFLIR Blackfly S) と組み合わせられます.

腕時計カメラ

インテルRealSense D405 (200ドル,短距離向けに設計されたコンパクトな形状因子) や USB3 (USB3300-500ドル,グローバルシャッター,非常にコンパクト) のバスラーダート.D405は最低深さ距離1.5cmで,近距離の把握観測に最適です.

視力処理パイプライン

操作作業のための典型的なロボット視力パイプライン:

  1. **画像取得:**カメラドライバーは,ROS2トピックで30~60Hzで T7を公開する
  2. 不変: T8ノードまたはドライバーで校准パラメータを適用する
  3. オブジェクト検出/セグメント: GPU で推論 (YOLOv8,セグメント 何でも,またはカスタムモデル) を実行する.検出されたオブジェクトポーズを T9 として公開する
  4. 点雲生成: ディープカメラを使用する場合,点雲を T10 で生成します. 作業空間境界框でフィルタリング
  5. Grasp計画: 検出された物体をフィードし,捉えるためのクラウドを指すプランナー (GraspIt!,Contact-GraspNet,または学習ポリシー)
  6. **記録:**訓練データのために HDF5に同期された画像,ポーズ,アクションをログ

GPUの推論のために,NVIDIA RTX 3060 (12GB VRAM) は 1280x960 の画像で 30+ fps でYOLOv8-Medium を処理する.Segment Anything では RTX 4070 またはそれ以上の方が推奨される.

概要

視覚はロボット操作のための最も情報豊富な感覚チャネルである.適切に構成された視覚システムは,政策が物体を把握し,配置し,注ぎ,組み立てなければならないという幾何学的な理解を提供します.しかし,間違ったカメラ,マウントポジション,または処理パイプラインを選択することで,他の方法で機能するシステムを麻痺させることができます.

このガイドはロボット視力スタックのあらゆる層をカバーしています:センサー選択,ロボット工学のための光学的な考慮,校正手順,組み立て戦略,処理パイプライン,およびROS2統合.我々の勧告は,操作研究,遠隔操作,生産検査アプリケーションにおけるRCSVにおける数十の視力システム展開に基づいています.

センサータイプ比較

Sensor Type Example Products Resolution Price Best For
2D RGB (global shutter) Basler ace2, FLIR Blackfly S, Allied Vision Alvium Up to 5472x3648 $400-$2,000 High-quality data collection, policy training, inspection
2D RGB (rolling shutter / USB) Logitech BRIO, ELP USB cameras, Arducam Up to 4K $30-$200 Budget prototyping, slow-motion tasks
Stereo Depth (active IR) Intel RealSense D435i, D455 1280x720 depth, 1920x1080 RGB $200-$350 Supplemental depth, point cloud generation
Stereo Depth (neural) Stereolabs ZED 2i, ZED Mini 2208x1242 (2K), depth to 20m $450-$550 Mobile robots, outdoor depth, spatial mapping
Structured Light Photoneo PhoXi, Ensenso N-series 2064x1544 (3.2 MP depth) $5,000-$15,000 Bin picking, high-precision 3D scanning
Time-of-Flight (ToF) Azure Kinect DK, Lucid Helios2 1024x1024 (Kinect), 640x480 $400-$3,000 Body tracking, scene understanding
Event Camera Prophesee EVK4, iniVation DVXplorer 1280x720 (event stream) $3,000-$8,000 High-speed tracking, dynamic scenes, low latency
Thermal (LWIR) FLIR Lepton 3.5, Seek Thermal 160x120 to 640x512 $200-$5,000 Thermal inspection, human detection, food handling

ロボット学における光学的な考慮事項

グローバルシャッター vs ローリングシャッター

これはロボット工学における最も重要なカメラの仕様である.ローリングシャッターが****によって,画像の列列を暴露する (典型的な読み込み:10-30 ms) になります.カメラやシーンが曝光中に移動する際,画像は歪み,振動,または部分フレーム歪みを示します. フレームの上下は2mmで 引き裂けやすいので フレームの上下は2mmで 引き裂けやすいのです

グローバルシャッター**は,すべてのピクセルを同時に暴露する.産業用機械視力カメラ (Basler ace2, FLIR Blackfly S) は,グローバルシャッターセンサー (Sony Pregius / Pregius S 家族) を使用する.これらは腕に搭載されたカメラ,高速操作,および画像撮影中に腕が動く設定に不可欠である.

推奨: 手首に設置された位置では常にグローバルシャッターカメラを使用してください. ゆっくり作業 (<50mm/s) を撮影する固定型オーバーヘッドカメラでは,予算が制限されている場合,ローリングシャッターは受け入れられます.

遅延予算

遠隔操作では,全視管線遅延 (キャプチャ + 転送 + 処理 + ディスプレイ) は安定した動作のために 100 ms 以下のもので,応答性感のために 50 ms 以下のものでなければならない.閉ループ視線伺服器では,目標 <16 ms (フレーム1 つ 60 fps で) のものである.遅延の主要要因は:

  • センサーの曝光時間: 1-33 ms (照明とフレーム速さによって異なります)
  • 転送: <1 ms (ハードウェアトリガー付きGigE) から 50 ms (バッファリング付きUSB)
  • 処理 (検出/分割): 5-50 ms (GPUに依存する)
  • ネットワーク (遠隔操作者にストリーミングする場合): 5-200 ms (インフラストラクチャに依存する)

ROS2 カメラドライバー

重要なパッケージは:

  • T11 - D400とL500シリーズの公式インテルドライバー. 深度,IR,RGB,IMUトピックを掲載します.
  • T12 - ステレオラブZEDカメラ. 空間マッピングとオブジェクト検出ノードが含まれています.
  • T13 -- Basler カメラ バイ Pylon SDK. ハードウェアのトリガーをサポートする.
  • T14 - FLIR/Point Grey カメラ ハードウェアトリガーとGPIOサポート
  • T15 - USBカメラのV4L2ドライバは一般的です ハードウェアのトリガーサポートはありません

OpenCVでカメラの校正

適切な校正は交渉できない.校正されていないカメラは3D再構築と政策一般化を悪化させる放射性歪みを導入する.OpenCVを使用する標準手順は以下の通りです:

import cv2
import numpy as np
import glob

# Checkerboard dimensions (inner corners)
BOARD_SIZE = (9, 6)
SQUARE_SIZE = 25.0  # mm

# Prepare 3D object points
objp = np.zeros((BOARD_SIZE[0] * BOARD_SIZE[1], 3), np.float32)
objp[:, :2] = np.mgrid[0:BOARD_SIZE[0], 0:BOARD_SIZE[1]].T.reshape(-1, 2) * SQUARE_SIZE

obj_points, img_points = [], []

for fname in sorted(glob.glob("calib_images/*.png")):
    img = cv2.imread(fname)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret, corners = cv2.findChessboardCorners(gray, BOARD_SIZE, None)
    if ret:
        corners = cv2.cornerSubPix(gray, corners, (11, 11), (-1, -1),
            (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001))
        obj_points.append(objp)
        img_points.append(corners)

ret, K, dist, rvecs, tvecs = cv2.calibrateCamera(
    obj_points, img_points, gray.shape[::-1], None, None)

print(f"Reprojection error: {ret:.4f} px")  # Target: < 0.5 px
print(f"Camera matrix K:\n{K}")
print(f"Distortion coeffs: {dist}")

# Save for ROS2 camera_info
np.savez("calibration.npz", K=K, dist=dist, rvecs=rvecs, tvecs=tvecs)

ベストプラクティス: チェッカーボードで30〜50枚の画像を異なる角度 (45度まで傾斜),距離 (フレームの20%〜80%を満たす) で収集し,全画像の位置を表示する.研究レベルの作業では再投影エラーは0.5ピクセル以下でなければならない.レンズ変更,焦点調整,物理的な影響後再校正する.

腕に搭載されたカメラと外部カメラの交換

Factor Wrist-Mounted External (Fixed)
Field of View Narrow, focused on grasp point Wide, full workspace coverage
Occlusion Minimal -- always sees what end-effector sees Arm and gripper can occlude objects
Motion blur High -- requires global shutter + short exposure Low -- camera is stationary
キャリブレーション Eye-in-hand calibration required Eye-to-hand calibration (simpler)
Cable management Challenging -- cable must route along arm Simple -- fixed cable run
Weight at end-effector Adds 50-300g (reduces payload budget) Zero impact on payload
Policy training impact Strong signal for fine manipulation Good for spatial reasoning and navigation

RCSVの推奨: 両方を使用します. 作業場コンテキストのために固定オーバーヘッド + 固定サイドカメラ,および近視把握精度のための腕カメラ. [データ収集サービス] (T23) に使用する標準3カメラセットアップです. 完全な設定については,当社の [テレオペレーションのためのカメラセットアップ] (T24) ガイドを参照してください.

製品に関する特別勧告

予算研究設定 (合計400~800ドル)

2x ロジテック BRIO 4K (200ドル各) オーバーヘッドとサイドビュー,1x Intel RealSense D435i (200ドル) 追加深度.制限:BRIOでローリングシャッター,USB遅延ジッター.遅い操作作業 (<50mm/s) と初期プロトタイプに適しています.

標準研究設定 (合計 1,500~ 3,000ドル)

2x Basler ace2 a2A1920-160ucBAS (それぞれ650ドル) オーバーヘッドとサイドビューのためのグローバルシャッター,1x RealSense D435i (200ドル) の深さのために.PoE (100ドル) とArduino Uno (25ドル) のGigEスイッチを追加する.これはRCSVの設定でほとんどの [データ収集業務](T25に使用します.

生産視力システム (5,000~$20,000)

フォトネオ・フォキシ3Dスキャン機 (US$8,000US$15,000) は,ミリメートル以下の深度精度でビニーを採取する.または構造化ライト3Dスキャン用のEnsenso Nシリーズ (US$5,000US$8,000).これらは通常,色彩覆いのために工業級2Dカメラ (Basler ace2またはFLIR Blackfly S) と組み合わせられます.

腕時計カメラ

インテルRealSense D405 (200ドル,短距離向けに設計されたコンパクトな形状因子) や USB3 (USB3300-500ドル,グローバルシャッター,非常にコンパクト) のバスラーダート.D405は最低深さ距離1.5cmで,近距離の把握観測に最適です.

視力処理パイプライン

操作作業のための典型的なロボット視力パイプライン:

  1. **画像取得:**カメラドライバーは,ROS2トピックで30~60Hzで T16を公開する
  2. 不変: T17ノードまたはドライバーで校准パラメータを適用する
  3. オブジェクト検出/セグメント: GPU で推論 (YOLOv8,セグメント 何でも,またはカスタムモデル) を実行する.検出されたオブジェクトポーズを T18 として公開する
  4. 点雲生成: ディープカメラを使用する場合,点雲を T19 で生成します. ワークスペースの境界框でフィルタリング
  5. Grasp計画: 検出された物体をフィードし,捉えるためのクラウドを指すプランナー (GraspIt!,Contact-GraspNet,または学習ポリシー)
  6. **記録:**訓練データのために HDF5に同期された画像,ポーズ,アクションをログ

GPUの推論のために,NVIDIA RTX 3060 (12GB VRAM) は 1280x960 の画像で 30+ fps でYOLOv8-Medium を処理する.Segment Anything では RTX 4070 またはそれ以上の方が推奨される.