<?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/%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5/</link>
    <description>Recent content in バックラッシュ on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Mon, 05 Oct 2026 14:22:52 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E3%83%90%E3%83%83%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ロボット制御を実機に合わせる：アクチュエーター制約をモデル化して計画へ反映する方法</title>
      <link>https://physicalaihub.net/posts/robot-actuator-constraints-modeling/</link>
      <pubDate>Mon, 05 Oct 2026 14:22:52 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/robot-actuator-constraints-modeling/</guid>
      <description>&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;/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;/p&gt;&#xA;&lt;p&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;p&gt;第一に、コントローラーが生成した指令を量子化します。指令単位が粗い場合、微小な補正は同じ離散値に丸められます。第二に、速度リミッターや電流リミッター、入力範囲の制限を適用します。第三に、アクチュエーターが生成できる力・トルクを制限します。最後に、減速機などの伝達機構を通して関節へ出力される力・トルクを計算します。&lt;/p&gt;&#xA;&lt;p&gt;この分離が必要なのは、入力をクリップしても、実際の出力トルクが同じ割合で制限されるとは限らないためです。MuJoCoのアクチュエーター機構でも、制御入力、生成力、関節へ伝達される力が別の段階として扱われています。一方、標準的なロボット制御インターフェースでは、位置・速度・加速度・ジャーク・努力量などは扱えても、量子化幅やバックラッシュ状態まで標準化されているとは限りません。伝達機構とハードウェア固有の非線形性は、追加のモデルとして実装します。&lt;/p&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;  P[&#34;上位計画&#34;] --&gt;|&#34;位置・速度・加速度・ジャーク・トルク制約を適用&#34;| T[&#34;時間パラメータ化された軌道&#34;]&#xA;  T --&gt; C[&#34;低レベル制御器&#34;]&#xA;  C --&gt; Q[&#34;指令値量子化&#34;]&#xA;  Q --&gt; R[&#34;速度・入力範囲の制限&#34;]&#xA;  R --&gt; E[&#34;電流・努力量の制限&#34;]&#xA;  E --&gt; A[&#34;アクチュエーターの生成力・トルク制限&#34;]&#xA;  A --&gt; B[&#34;バックラッシュ・伝達機構モデル&#34;]&#xA;  B --&gt; J[&#34;関節出力&#34;]&#xA;  J --&gt; M[&#34;実機状態&#34;]&#xA;  M --&gt; S[&#34;センサー量子化・サンプリング・遅延&#34;]&#xA;  S --&gt; C&#xA;  M --&gt; I[&#34;実機同定・検証&#34;]&#xA;  I -.-&gt;|&#34;制約値と不確実性を更新&#34;| P&#xA;  I -.-&gt;|&#34;層ごとのモデルを更新&#34;| Q&lt;/pre&gt;&lt;figcaption&gt;制約を入力、アクチュエーター、伝達機構、観測の層に分け、同じモデルを計画器と低レベル制御器に反映する流れ。&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;推奨するモデル&lt;/th&gt;&#xA;          &lt;th&gt;上位計画への反映&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;基本の動力学制約として使用&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;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;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;p&gt;制約値は、定格値、連続許容値、短時間ピーク値を区別します。メーカーが示す最大トルクや最大電流は瞬間的なピーク値の場合があり、計画にそのまま使うと連続運転で余裕を失う可能性があります。通常の計画には、同定誤差と制御遅延を含む保守的な連続許容値を使い、ピーク値は時間や条件を限定して扱います。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
