<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>視覚サーボ on Physical AI Hub</title>
    <link>https://physicalaihub.net/tags/%E8%A6%96%E8%A6%9A%E3%82%B5%E3%83%BC%E3%83%9C/</link>
    <description>Recent content in 視覚サーボ on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Fri, 16 Oct 2026 13:17:57 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E8%A6%96%E8%A6%9A%E3%82%B5%E3%83%BC%E3%83%9C/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ロボットビジョンのシャッター方式選定：動体歪み・同期・画質を比較する</title>
      <link>https://physicalaihub.net/posts/robot-vision-global-rolling-shutter-selection/</link>
      <pubDate>Fri, 16 Oct 2026 13:17:57 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/robot-vision-global-rolling-shutter-selection/</guid>
      <description>&lt;p&gt;ロボットの速度だけでは、カメラ画像の歪みを判断できない点が気になります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;先に結論&#34;&gt;先に結論&lt;/h2&gt;&#xA;&lt;p&gt;グローバルシャッターとローリングシャッターは、ロボットの関節速度や公称フレームレートだけで選ぶべきではありません。判断の中心は、画像面上の速度 &lt;code&gt;v_img&lt;/code&gt;、センサーの実効読み出し時間 &lt;code&gt;T_read&lt;/code&gt;、そして認識・計測で許容できる画素誤差です。&lt;/p&gt;&#xA;&lt;p&gt;一次評価では、ローリングシャッターの行間位置ずれを &lt;code&gt;v_img × T_read&lt;/code&gt; で見積もります。この値が許容誤差を超える可能性がある場合、特に高速な視覚サーボ、急な回転や加減速を伴う動作、数画素単位の外観検査では、グローバルシャッターを第一候補にします。対象がほぼ静止している、相対速度が低い、または許容誤差が大きい用途では、ローリングシャッターも実測を前提に選択肢になります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;なぜシャッター方式が重要か&#34;&gt;なぜシャッター方式が重要か&lt;/h2&gt;&#xA;&lt;p&gt;グローバルシャッターは、フレーム内の画素を同時刻に近いタイミングで露光します。一方、ローリングシャッターはセンサーの行または行群を順番に露光するため、上の行と下の行で撮像時刻が異なります。厳密な露光開始・終了や読み出しの時間差はセンサーによって異なるため、仕様確認が必要です。&lt;/p&gt;&#xA;&lt;p&gt;カメラまたは対象が露光中に動くと、ローリングシャッターでは行ごとに対象の位置が変わります。その結果、直線の傾き、対象形状の変形、姿勢推定のバイアスなどが生じます。視覚サーボでは画像特徴の位置が制御入力に使われ、検査では輪郭や寸法が判定に使われるため、この幾何歪みは単なる見た目の問題ではありません。&lt;/p&gt;&#xA;&lt;h2 id=&#34;仕組みと一次評価&#34;&gt;仕組みと一次評価&lt;/h2&gt;&#xA;&lt;p&gt;ローリングシャッターの歪みは、ロボットの関節速度だけでは決まりません。カメラと対象の相対運動が画像面でどれだけの速度になるか、カメラと対象の距離・姿勢、レンズの画角、行方向の読み出し時間、対象の深度差が関係します。同じ関節速度でも、作動距離や画角が変われば画像面速度は変化します。&lt;/p&gt;&#xA;&lt;p&gt;一次近似として、行間の位置ずれは次式で表せます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;位置ずれ ≈ v_img × T_read&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;ここで &lt;code&gt;v_img&lt;/code&gt; は画像面上の速度、&lt;code&gt;T_read&lt;/code&gt; はフレームの実効読み出し時間です。これは選定初期の目安であり、回転、加減速、深度変化を含む実際の動作では動的試験が必要です。ROIやビニングによって読み出し時間が変わる場合もあるため、カメラの設定条件をそろえて確認します。&lt;/p&gt;&#xA;&lt;figure class=&#34;mermaid-figure&#34;&gt;&#xA;    &lt;pre class=&#34;mermaid&#34; role=&#34;img&#34; aria-label=&#34;FrameStartを同期しても、ローリングシャッターでは行ごとの露光時刻の差が残る。実効読み出し時間や行時間は実際の撮像設定とセンサー仕様で確認する。&#34;&gt;flowchart TB&#xA;  T0[&#34;FrameStartトリガー&#34;] --&gt; G&#xA;  subgraph G[&#34;グローバルシャッター&#34;]&#xA;    G1[&#34;行1：露光開始&#34;]&#xA;    G2[&#34;行2：露光開始&#34;]&#xA;    G3[&#34;行3：露光開始&#34;]&#xA;    G1 --- G2 --- G3&#xA;    GE[&#34;全行の露光区間が同時刻に近く重なる&#34;]&#xA;    G1 --&gt; GE&#xA;    G2 --&gt; GE&#xA;    G3 --&gt; GE&#xA;  end&#xA;  T0 --&gt; R&#xA;  subgraph R[&#34;ローリングシャッター&#34;]&#xA;    R1[&#34;行1：時刻 t0 に露光&#34;]&#xA;    R2[&#34;行2：時刻 t0 + Δt に露光&#34;]&#xA;    R3[&#34;行3：時刻 t0 + 2Δt に露光&#34;]&#xA;    R1 --&gt; R2 --&gt; R3&#xA;    RE[&#34;上端と下端で撮像時刻が異なる&#34;]&#xA;    R3 --&gt; RE&#xA;  end&#xA;  G --&gt; GT[&#34;実効読み出し時間 T_read と露光時間を仕様確認&#34;]&#xA;  R --&gt; RT[&#34;行時間・総読み出し時間 T_read・読み出し方向を仕様確認&#34;]&lt;/pre&gt;&lt;figcaption&gt;FrameStartを同期しても、ローリングシャッターでは行ごとの露光時刻の差が残る。実効読み出し時間や行時間は実際の撮像設定とセンサー仕様で確認する。&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;露光時間によるモーションブラーは、行間の幾何歪みとは別の現象です。露光時間を短くすれば露光中のブラーは減りますが、ローリングシャッターの行間時間差や読み出し由来の歪みが自動的に消えるわけではありません。グローバルシャッターでも、露光中の移動、レンズ歪み、振動、照明フリッカーは残り得ます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ロボット視覚サーボ入門：画像ベース制御と位置ベース制御の選択</title>
      <link>https://physicalaihub.net/posts/robot-visual-servoing-image-position-based-control/</link>
      <pubDate>Fri, 24 Jul 2026 01:33:52 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/robot-visual-servoing-image-position-based-control/</guid>
      <description>&lt;p&gt;画像上の誤差と実空間の誤差は、同じ「ずれ」でも制御設計上の意味が異なります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;結論&#34;&gt;結論&lt;/h2&gt;&#xA;&lt;p&gt;視覚サーボの方式は、何を誤差として制御したいか、そして対象モデル・校正・深度情報をどの程度信頼できるかで選ぶ。画像上の特徴を目標へ合わせることが主目的で、対象の3Dモデルや絶対姿勢を十分に利用できない場合は、画像ベース視覚サーボ（IBVS）が候補になり得る。一方、対象との相対的な並進位置や回転姿勢を推定し、Cartesian空間の軌道や姿勢制約を設計したい場合は、位置ベース視覚サーボ（PBVS）が候補になる。&lt;/p&gt;&#xA;&lt;p&gt;ただし、これは一般的な性能順位ではない。深度推定、視野、初期条件、対象モデル、カメラ校正、遅延などによって結果は変わる。画像上の視認性と実空間の軌道精度を両立したい場合は、2.5D視覚サーボや、IBVSとPBVSを段階的・協調的に使うハイブリッド構成も検討対象になる。&lt;/p&gt;&#xA;&lt;h2 id=&#34;なぜ選択が重要か&#34;&gt;なぜ選択が重要か&lt;/h2&gt;&#xA;&lt;p&gt;視覚サーボは、カメラから得た画像特徴、または画像から推定した対象物の姿勢をフィードバックし、ロボットの運動を閉ループ制御する枠組みである。画像を認識に使うだけでなく、制御誤差の定義そのものに組み込む点が特徴だ。&lt;/p&gt;&#xA;&lt;p&gt;同じ「対象をつかむ」タスクでも、画像中の特徴を所定位置へ移動させたいのか、対象の位置・姿勢を推定してエンドエフェクタを特定の状態へ運びたいのかで、設計は異なる。まず制御したい量を分ける必要がある。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ibvsとpbvs&#34;&gt;IBVSとPBVS&lt;/h2&gt;&#xA;&lt;p&gt;IBVSは、画像特徴量と目標画像特徴量の差を制御する方式である。画像上の点や輪郭などを特徴量として扱い、対象の完全な3D姿勢を明示的に復元せずに、画像上の誤差を直接小さくする。&lt;/p&gt;&#xA;&lt;p&gt;ただし、画像特徴の変化とカメラ運動の関係を表す相互作用行列には、対象までの深度、またはその近似値が必要になることが多い。したがってIBVSは、3D情報が一切不要な方式ではない。また、アイ・イン・ハンド構成では、画像特徴の変化をロボットの関節速度やエンドエフェクタ速度へ変換するため、カメラとロボット間の幾何関係が通常必要になる。完全な校正を避ける構成では、オンライン推定や適応的手法が必要になる場合があり、別途検討しなければならない。&lt;/p&gt;&#xA;&lt;p&gt;PBVSは、画像から対象物の3D姿勢を推定し、現在の状態と目標状態との差をCartesian空間で制御する方式である。並進位置は長さの単位で扱い、姿勢は回転行列、クォータニオン、軸角などで表現する。対象の幾何モデルまたは既知の3D情報、カメラの内部パラメータ、カメラとロボットの外部関係が重要になる。&lt;/p&gt;&#xA;&lt;h2 id=&#34;内部の仕組み&#34;&gt;内部の仕組み&lt;/h2&gt;&#xA;&lt;p&gt;IBVSでは、現在の画像特徴を &lt;code&gt;s&lt;/code&gt;、目標特徴を &lt;code&gt;s*&lt;/code&gt; とすると、制御器は概念的に &lt;code&gt;s - s*&lt;/code&gt; の誤差を使ってカメラまたはロボットの速度を決める。相互作用行列を介して画像特徴の変化と運動を結び付け、得られた運動をエンドエフェクタ速度や関節速度へ変換する。&lt;/p&gt;&#xA;&lt;p&gt;PBVSでは、画像特徴から対象の3D位置・姿勢を推定し、その誤差をCartesian制御器へ入力する。空間上の位置や回転姿勢を直接目標として扱える一方、推定値の誤差がそのまま制御へ影響する。対象モデル、カメラパラメータ、ハンドアイ変換の品質が前提になる。&lt;/p&gt;&#xA;&lt;figure class=&#34;mermaid-figure&#34;&gt;&#xA;    &lt;pre class=&#34;mermaid&#34; role=&#34;img&#34; aria-label=&#34;IBVSは画像特徴の誤差、PBVSは推定した3D位置・姿勢の誤差をフィードバックする。どちらも画像からロボット運動への変換に必要な幾何情報や推定情報がある。&#34;&gt;flowchart LR&#xA;  subgraph IBVS[&#34;画像ベース視覚サーボ（IBVS）&#34;]&#xA;    I1[&#34;カメラ画像&#34;] --&gt; I2[&#34;画像特徴の抽出&#34;]&#xA;    I2 --&gt; I3[&#34;画像特徴の誤差 s - s*&#34;]&#xA;    I3 --&gt; I4[&#34;制御器・相互作用行列&#34;]&#xA;    I4 --&gt; I5[&#34;カメラまたはロボットの運動&#34;]&#xA;    I5 --&gt; I6[&#34;対象との相対運動&#34;]&#xA;    I6 --&gt; I1&#xA;    D1[&#34;深度または深度近似&#34;] --&gt; I4&#xA;    G1[&#34;カメラとロボットの幾何関係&#34;] --&gt; I4&#xA;  end&#xA;&#xA;  subgraph PBVS[&#34;位置ベース視覚サーボ（PBVS）&#34;]&#xA;    P1[&#34;カメラ画像&#34;] --&gt; P2[&#34;対象の3D位置・姿勢推定&#34;]&#xA;    P2 --&gt; P3[&#34;3D位置・姿勢の誤差&#34;]&#xA;    P3 --&gt; P4[&#34;Cartesian制御器&#34;]&#xA;    P4 --&gt; P5[&#34;エンドエフェクタまたはロボットの運動&#34;]&#xA;    P5 --&gt; P6[&#34;対象との相対運動&#34;]&#xA;    P6 --&gt; P1&#xA;    M1[&#34;対象モデル・既知の3D情報&#34;] --&gt; P2&#xA;    C1[&#34;カメラ内部パラメータ&#34;] --&gt; P2&#xA;    H1[&#34;ハンドアイ変換&#34;] --&gt; P4&#xA;  end&lt;/pre&gt;&lt;figcaption&gt;IBVSは画像特徴の誤差、PBVSは推定した3D位置・姿勢の誤差をフィードバックする。どちらも画像からロボット運動への変換に必要な幾何情報や推定情報がある。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id=&#34;方式の比較&#34;&gt;方式の比較&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;観点&lt;/th&gt;&#xA;          &lt;th&gt;IBVS&lt;/th&gt;&#xA;          &lt;th&gt;PBVS&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;制御誤差&lt;/td&gt;&#xA;          &lt;td&gt;画像特徴の誤差&lt;/td&gt;&#xA;          &lt;td&gt;3D位置・姿勢の誤差&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;主な入力&lt;/td&gt;&#xA;          &lt;td&gt;画像特徴、深度または深度近似&lt;/td&gt;&#xA;          &lt;td&gt;3D情報、姿勢推定、カメラパラメータ&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;3Dモデルへの依存&lt;/td&gt;&#xA;          &lt;td&gt;完全なモデルに依存しにくい&lt;/td&gt;&#xA;          &lt;td&gt;対象モデルや既知の3D情報が重要&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;軌道の表現&lt;/td&gt;&#xA;          &lt;td&gt;画像上の経路&lt;/td&gt;&#xA;          &lt;td&gt;Cartesian空間の経路・姿勢&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;主な課題&lt;/td&gt;&#xA;          &lt;td&gt;深度誤差、特異性、局所解、視野外逸脱&lt;/td&gt;&#xA;          &lt;td&gt;校正・モデル・姿勢推定誤差、視野内維持&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;条件付きで候補になる場面&lt;/td&gt;&#xA;          &lt;td&gt;画像上の整列、接近、モデルが不完全なピック&lt;/td&gt;&#xA;          &lt;td&gt;既知対象への挿入、精密組立、姿勢制約の強い動作&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;タスク別の使いどころ&#34;&gt;タスク別の使いどころ&lt;/h2&gt;&#xA;&lt;p&gt;画像上の位置合わせや把持対象への接近では、対象の正確な3Dモデルがなくても画像特徴を目標へ近付けられるため、IBVSが候補になり得る。ただし、深度が不安定、特徴が遮蔽される、初期誤差が大きいといった条件では、その利点が小さくなる可能性がある。ピックアンドプレースでも、制御目標が「画像上で所定の位置へ合わせること」なのか、把持後の空間姿勢まで厳密に保証することなのかを分けて評価する必要がある。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
