<?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/%E6%99%82%E9%96%93%E5%88%BB%E3%81%BF/</link>
    <description>Recent content in 時間刻み on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sat, 31 Oct 2026 14:18:48 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E6%99%82%E9%96%93%E5%88%BB%E3%81%BF/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>接触作業向けロボットシミュレーションの選び方：物理エンジンと接触計算を比較する</title>
      <link>https://physicalaihub.net/posts/robot-contact-simulation-physics-engine-selection/</link>
      <pubDate>Sat, 31 Oct 2026 14:18:48 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/robot-contact-simulation-physics-engine-selection/</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;高速衝突では、連続衝突検出（CCD）と細かい固定時間刻み、またはサブステップを候補にします。押し付け、把持、挿入、組立では、見た目の安定性だけでなく、接触力や静止摩擦から滑りへの遷移を確認します。積み重ねや多接触では、ソルバー反復回数と時間刻みを別々に変え、収束性とコストの組み合わせを評価します。&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;接触ソルバーは、物体の貫通を抑え、摩擦や拘束条件を満たすための数値計算を担います。反復回数を増やすと拘束残差やドリフトが改善する可能性がありますが、計算量も増えます。CCDは、離散的な衝突判定だけでは見落としやすい高速物体や薄い形状を扱うための仕組みです。CCD、固定時間刻み、サブステップは異なる機構であり、単純な代替策ではありません。組み合わせや代替の効果は対象タスクで確認します。&lt;/p&gt;&#xA;&lt;h2 id=&#34;エンジンごとの設定項目&#34;&gt;エンジンごとの設定項目&lt;/h2&gt;&#xA;&lt;p&gt;本稿で参照する範囲は、PhysX 5.4.1、MuJoCo stable documentation（リリース番号は資料上で固定されていない）、Bullet3 master の User Manual（参照コミットは資料上で固定されていない）です。MuJoCoとBulletについては、再現性のために利用する実装のリリースやコミットを別途固定してください。固定されていない資料から、特定版同士の性能順位を断定することはできません。&lt;/p&gt;&#xA;&lt;p&gt;MuJoCoでは、時間刻みと積分器に加え、Newton、CG、PGSなどの拘束ソルバー、反復回数、収束許容値を設定できます。接触をソフトな制約として扱い、&lt;code&gt;solref&lt;/code&gt;、&lt;code&gt;solimp&lt;/code&gt;、摩擦パラメータ、接触形状も調整対象です。モデルベース制御で接触パラメータを明示的に調整したい場合の候補ですが、設定値を他エンジンへそのまま移植できるとは限りません。&lt;/p&gt;&#xA;&lt;p&gt;PhysX 5.4.1では、PGSとTGS、位置方向・速度方向のソルバー反復回数、接触オフセット、静止オフセット、CCDを個別に設定できます。既存基盤に合わせてこれらを調整したい場合の候補ですが、TGSの特徴から他エンジンを含む総合順位を推定してはいけません。&lt;/p&gt;&#xA;&lt;p&gt;Bulletでは、&lt;code&gt;stepSimulation&lt;/code&gt; の &lt;code&gt;maxSubSteps&lt;/code&gt; と &lt;code&gt;fixedTimeStep&lt;/code&gt; により、経過時間を固定時間刻みに分割できます。ソルバー反復回数や連続衝突検出も設定対象です。Bullet3 master はコミット未固定の資料であるため、実装を比較に使う場合は対象コミットを記録します。&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 TD&#xA;  A[&#34;接触タスクを分類&#34;] --&gt; B{&#34;主な接触レジームは？&#34;}&#xA;  B --&gt;|&#34;高速衝突・飛翔物体&#34;| C[&#34;CCD、固定時間刻み、サブステップを確認&#34;]&#xA;  C --&gt; D[&#34;トンネリング、衝突時刻、衝突インパルスを比較&#34;]&#xA;  B --&gt;|&#34;持続接触・押し付け・把持・挿入&#34;| E[&#34;接触剛性・減衰、摩擦、位置拘束反復を確認&#34;]&#xA;  E --&gt; F[&#34;侵入量、接触力、関節トルク、滑り遷移を比較&#34;]&#xA;  B --&gt;|&#34;準静的操作・組立&#34;| G[&#34;接触コンプライアンス、収束許容値、時間刻みを確認&#34;]&#xA;  G --&gt; H[&#34;力の再現性、拘束残差、軌道の収束を比較&#34;]&#xA;  B --&gt;|&#34;多接触・積み重ね&#34;| I[&#34;ソルバー方式、反復回数、時間刻みを確認&#34;]&#xA;  I --&gt; J[&#34;反復回数と時間刻みを独立に変えて収束試験&#34;]&#xA;  D --&gt; K[&#34;同じモデル、初期条件、制御入力で比較&#34;]&#xA;  F --&gt; K&#xA;  H --&gt; K&#xA;  J --&gt; K&#xA;  K --&gt; L[&#34;実機パラメータを校正し、許容する挙動と計算コストで選択&#34;]&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;CCD、固定時間刻み、サブステップ&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;h2 id=&#34;収束試験の進め方&#34;&gt;収束試験の進め方&lt;/h2&gt;&#xA;&lt;p&gt;時間刻みは、単一の推奨値から決めません。基準値を置き、それを半分にした条件を作ります。各条件で軌道、接触力、最大侵入量、イベント時刻、実行速度を記録し、結果の変化が許容範囲に収まる値を候補にします。具体的な許容値は、タスクと実機の計測系に依存するため、資料だけから共通の閾値を設定できません。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
