メインコンテンツまでスキップ

Collision Rules

Collision Detector のエクスポート​

Gemini と EngineThe engine (or Resolver Engine) refers to the core algorithm that is running in Resolver that takes a study and a query; generates collision free motion paths, interlocks, and task allocations; and pr... はどちらも衝突検出に対応していますが、既定の動作が異なります。

動作GeminiResolver Engine
既定の衝突チェックオフ(明示的に有効化しない限り衝突なし)オン(既定で完全な衝突検出)
ユーザーによる制御チェックする/チェックしない 対象を定義する必要があるチェックしない 対象を定義できる
Collision Tolerance近接警告のしきい値として使用されるプランニング中は「ソフト」な制約として扱われる
オブジェクトの可視性除外しない限り、定義済みのすべてのオブジェクトが対象除外しない限り、定義済みのすべてのオブジェクトが対象

⚠️ 現時点では、エクスポート時に Gemini の Collision Viewer で Collision Set が有効化されていなくても、Resolver は独自の既定値(完全な衝突チェック)を使用します。

Collision Rules は現在 Gemini からエクスポートされませんが、今後のリリースで対応予定です。

今後のリリースでは、Gemini で Collision Set が 定義されている 場合、それらがエクスポートされ、同等の Resolver 設定に変換されるため、Gemini で設定した動作が反映されるようになります。


Collision Rules の理解​

Collision Rules は、オブジェクトが接触したときにシステムがどう振る舞うべきか、つまり特定の条件下で衝突を 回避 するか、許可 するか、許容 するかを定義します。

Gemini: 既定の動作​

既定では、Collision Set が有効化されていない限り、Gemini は 衝突をチェックしません。

  • 衝突検出は、A 列と B 列で指定されたオブジェクトのペア間でのみ行われます。
  • これらのセットは手動で設定する必要があります。
  • 各セットには、近接の警告しきい値として機能する Collision Tolerance を含めることができます。

Collision Viewer Collision Set Editor

🔗 Gemini Academy で詳しく見る

RTR Engine: 既定の動作​

RTR のモーションプランニングエンジンは、既定ですべての衝突をチェック します。対象は次のとおりです。

  • ロボット同士
  • ロボットとワールド
  • ロボットと環境

Resolver では、チェックする対象 を定義させるのではなく、必要に応じて特定のチェックを 無効化 できます。

⚠️ Gemini から Resolver への変換時、エクスポーターは定義済みのすべての Gemini Collision Set が尊重され、適切に対応付けられるようにします。


衝突と Clearance​

RTR Engine による Clearance の扱い​

Resolver では、衝突と Clearance は統一された概念 です。

  • 衝突 は単に 0 mm の Clearance として定義されます。
  • グローバルな既定 Clearance は 1 mm で、動作セグメントに沿って 最大 2 mm ごと にチェックされます。

Automatic Clearances のクエリ設定を使うと、クエリに含まれるニアミス値の代わりに、エンジンが独自の Clearance を生成します。設定 を参照してください。

既定の衝突チェック

主な動作:

  • 代替パスが見つからない場合、エンジンは Clearance や衝突のルールを 違反することがあります。
  • 違反を含むパスはコスト面で大きく不利になりますが、最後の手段として 選択されることがあります。
  • これにより、想定されるすべての衝突を手動で定義しなくても柔軟に対応できます。

実例: 溶接ガンチップの接触​

想定される衝突の扱いの違い

Gemini の場合​

想定される衝突(溶接チップ と ワーク の間など)は、Collision Detector を使って衝突を 無視 することで対応します。

Resolver の場合​

衝突を恒久的に無視するのではなく、必要なときにのみ動的に衝突を許可 します。たとえば溶接接触の瞬間です。これにより次が保証されます。

  • 溶接点までの 衝突のない動作
  • 必要なときだけの 意図的な接触

このアプローチにより、想定される接触ごとに個別のルールを定義しなくても、より現実的で適応的な動作 が得られます。