<?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/%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92/</link>
    <description>Recent content in 強化学習 on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sat, 14 Feb 2026 00:12:29 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sim-to-Realの性能劣化を分解する：物理パラメータ・センサー・制御の補正手順</title>
      <link>https://physicalaihub.net/posts/sim-to-real-performance-gap-diagnosis/</link>
      <pubDate>Sat, 14 Feb 2026 00:12:29 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/sim-to-real-performance-gap-diagnosis/</guid>
      <description>&lt;p&gt;シミュレーション上の成功が実機で崩れるとき、物理モデルだけを疑う前に、ログと時間の整合性を確認したくなります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;先に結論&#34;&gt;先に結論&lt;/h2&gt;&#xA;&lt;p&gt;Sim-to-Realで性能が落ちたとき、いきなり摩擦や質量を調整するのは得策ではありません。まず単位、座標系、アクションスケール、時刻、制御周期などのインターフェースを確認し、次にセンサーと遅延、アクチュエータと低レベル制御、剛体・運動学、接触・環境の順で補正します。その後、残る不確実性に対してダイナミクスランダム化、実機データによる分布更新、オンライン適応、方策の再調整を検討します。&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;h2 id=&#34;まず確認する用語&#34;&gt;まず確認する用語&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;システム同定&lt;/strong&gt;は、実機の入力と状態のログから、質量、摩擦、遅延などのモデルパラメータを推定する考え方です。&lt;strong&gt;ダイナミクスランダム化&lt;/strong&gt;は、質量、摩擦、モーター出力などをエピソードごとに変化させ、単一モデルへの過適合を避ける方法です。視覚系ではテクスチャ、照明、カメラ姿勢、背景、オブジェクト配置などを変化させます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;オンライン適応&lt;/strong&gt;は、実機の履歴から環境やダイナミクスの潜在状態を推定し、方策を適応させる方法です。固定パラメータの精密化だけでは扱いにくい、時間変化する差への選択肢になります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;実機データでの補正手順&#34;&gt;実機データでの補正手順&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-ログとインターフェースを監査する&#34;&gt;1. ログとインターフェースを監査する&lt;/h3&gt;&#xA;&lt;p&gt;最初に、単位、座標系、アクションのスケール、飽和処理、ログ時刻、制御周期をそろえます。センサー、制御入力、状態推定、時刻情報は同一試験単位で保存し、後から再生できる形にします。ROS 2では&lt;code&gt;ros2 bag&lt;/code&gt;に指定トピックを記録・再生できます。&lt;/p&gt;&#xA;&lt;p&gt;ここが崩れていると、後段で物理パラメータを調整しても、入力と観測の対応がずれたままになります。まず再生ログとシミュレーションの入出力インターフェースが一致するかを確認します。&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-センサー座標系時間を合わせる&#34;&gt;2. センサー、座標系、時間を合わせる&lt;/h3&gt;&#xA;&lt;p&gt;センサーのバイアス、ゼロ点、外部パラメータ、ノイズ、観測遅延を調べます。視覚入力を使う場合は、テクスチャ、照明、カメラ姿勢、背景、物体配置の差も対象です。実機画像に近い観測分布を作るだけでなく、視覚以外の状態推定値についても、シミュレーションと同じ前処理になっているか確認します。&lt;/p&gt;&#xA;&lt;h3 id=&#34;3-アクチュエータと低レベル制御を合わせる&#34;&gt;3. アクチュエータと低レベル制御を合わせる&lt;/h3&gt;&#xA;&lt;p&gt;指令値が同じでも、モーターの応答、トルク制限、内部制御器、フィルタ、遅れによって実際の運動は変わります。脚ロボットなどでは、アクチュエータモデルをシミュレーションに含めることが、剛体パラメータを合わせることとは別の補正対象になります。&lt;/p&gt;&#xA;&lt;h3 id=&#34;4-剛体運動学を調整する&#34;&gt;4. 剛体・運動学を調整する&lt;/h3&gt;&#xA;&lt;p&gt;質量、重心、慣性、関節減衰などを確認します。重力姿勢や自由空間の運動を使い、剛体モデルと運動学の誤差を切り分けます。MuJoCoのモデル定義では、ボディ、関節、アクチュエータ、センサー、接触・摩擦関連の要素を個別に設定でき、パラメータをカテゴリ別に管理する際の参照になります。&lt;/p&gt;&#xA;&lt;h3 id=&#34;5-接触と環境を調整する&#34;&gt;5. 接触と環境を調整する&lt;/h3&gt;&#xA;&lt;p&gt;接触時だけ残差が増える場合は、摩擦、接触剛性、反発、接触形状、床など環境側の条件を調べます。自由空間の運動が合っていても、接触ダイナミクスがずれていれば、滑りや衝撃を再現できません。&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;実機ログに現れる残差パターンを手掛かりに、優先して確認する原因カテゴリを切り分ける。&#34;&gt;flowchart LR&#xA;  A[&#34;実機で性能劣化&#34;] --&gt; B[&#34;残差パターンを観測&#34;]&#xA;  B --&gt; C[&#34;定常的な位置・角度オフセット&#34;]&#xA;  B --&gt; D[&#34;位相遅れ&#34;]&#xA;  B --&gt; E[&#34;自由空間での振幅差&#34;]&#xA;  B --&gt; F[&#34;接触時の衝撃・滑り&#34;]&#xA;  B --&gt; G[&#34;視覚入力時だけの失敗&#34;]&#xA;  B --&gt; H[&#34;時間変化する差&#34;]&#xA;  C --&gt; C1[&#34;ゼロ点・座標系・初期姿勢&#34;]&#xA;  D --&gt; D1[&#34;時刻・通信・制御遅延&#34;]&#xA;  E --&gt; E1[&#34;ゲイン・摩擦・慣性・アクチュエータ&#34;]&#xA;  F --&gt; F1[&#34;摩擦・剛性・接触形状・環境&#34;]&#xA;  G --&gt; G1[&#34;カメラ・レンダリング分布・前処理&#34;]&#xA;  H --&gt; H1[&#34;オンライン適応・履歴からの状態推定&#34;]&lt;/pre&gt;&lt;figcaption&gt;実機ログに現れる残差パターンを手掛かりに、優先して確認する原因カテゴリを切り分ける。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h3 id=&#34;6-不確実性と方策を扱う&#34;&gt;6. 不確実性と方策を扱う&lt;/h3&gt;&#xA;&lt;p&gt;点推定したモデルで実機を再現できない場合は、同定値の周囲に不確実性を持たせたダイナミクスランダム化を行います。実機ロールアウトとシミュレーション軌道の差を使い、ランダム化分布やシミュレーションパラメータを更新する方法もあります。それでも時間変化する差が残るなら、オンライン適応や残差方策を追加し、最後に方策自体を再調整します。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
