AMR 行き詰まりは、ロボット同士が円形の待機を形成するときに発生します。つまり、各ロボットが共有資源を保持しながら、次のロボットが持つ別の資源を待つというものです。停止した2台の車両が自動的に行き詰まりになるわけではなく、遅い交通は同じ条件ではありません。診断はスピードだけでなく、所有と依存から始まります。
制限された車線、交差点、ドア、リフト、充電器、安全な待合場所をリソースとしてモデリングすることで、行き詰まりを防ぎましょう。解放を保証するための十分なルートを確保し、現在の待機中のサイクルを検出し、回収被害者を定義し、撤退目標と予約の清掃をライブインシデント前に行います。
このガイドは マルチロボットの割り当てガイド や 計画・制御ガイドと一緒に使ってください。実際の車両寸法、ブレーキ、施設ルールで交通ロジックを検証します。
膠着状態、詰まり、混雑の区別
混雑は遅延を増やしますが、作業は進行可能です。詰まりは一つの物理的な原因を持ち、その原因が移動するときには明らかになることがあります。デッドロックは、現行のルールでは参加者が保持したリソースを解放できない依存サイクルです。回復や証拠は各疾患によって異なります。
観察可能なイベントからの状態ラベルを定義します:リソースホールド、リソースリクエスト、ロボット移動、進行タイムアウト、外部障害。停止したタイマーだけでデッドロックを推測するのは避けてください。ロボットが正しく譲歩しているか、ドアの応答を待っている場合もあります。

フロアを共有資源と安全な待機としてモデル化します
単車線の通路、交差点、ドアの敷き値、リフトキャビン、チャージャーアプローチ、ワークセルエントリーを容量付きで指定されたリソースとして表現します。ロボットと荷物が他のルートやドア、保護ゾーンを占有せずに停止できる待機ポイントを設置しましょう。
幾何学的ノードは必ずしも安全な待機場所とは限りません。フットプリント、旋回エンベロープ、検知および停止距離を確認しましょう。リソースの識別子を地図バージョンと共に保存し、交通予約が施設更新後に変化したジオメトリを参照しないようにします。
| リソース | キャパシティに関する質問 | 入場条件 | 証拠公開 |
|---|---|---|---|
| 狭い車線 | ロボットはパスできるのか? | 出口経路は確保済み | 尾が境界を越える |
| 交差点 | いくつの動きが共存しているのか? | 対応ムーブメントセット | 紛争地帯からの足跡 |
| ドア | 安全に持ちこたえられるのか? | ドアセッションとクリアスレッショルド | ロボットと荷物はクリア |
| リフト | キャビンの所有者は誰ですか? | セッション、フロア、収容人数 | 退出確認 |
| チャージャーアプローチ | 列はレーンから外れていますか? | ドックとアプローチが利用可能です | ロボットがアプローチを離れる |
待ち時間関係を使ってサイクルを暴露します
Aが現在Bが所有している資源を待つときに、ロボットAからロボットBへの指向性関係を作成します。サイクルは循環待ちを示しますが、グラフは現在の物理的所有、予約、期限を反映しなければなりません。古いフリートメッセージは偽のサイクルを生み出したり、本物のサイクルを隠したりすることがあります。
すべてのエッジにリソースと待機のタイムスタンプを記録してください。オペレーターはどの予約がサイクルを生み出したかを確認する必要があります。Open-RMF可視化リポジトリはスケジュール可視化に情報を提供しますが、展開されたシステムには明示的なリソースおよび故障テレメトリが必要です。
退避経路を確保したうえで狭い通路を予約する
ロボットが通れない通路に入る前に、通路と利用可能な出口または下流の待機スペースを確保してください。現在のセグメントのみを予約すると、ロボットが入ってリリースポイントが占有されていることを発見でき、通常のキューイングが循環依存状態になります。
ジオメトリとスループットから予約の細さを選択します。長い廊下全体をロックするのは簡単ですが、収容能力が減ります。セグメント化すると並行性が向上しますが、状態空間を拡張します。許可されたすべてのセグメントシーケンスが安全な停止および解放経路を保持していることを検証します。

チャージャースロットはアプローチやキューから分けられます
無料充電器はその接近が可能であることを意味せず、無事にドッキングしたロボットは通路を塞ぐ可能性があります。充電ポジション、アプローチレーン、待機キューを別々にモデリングしてください。通過する交通がサイクルを作らない順序で予約してください。
自動ドッキングの受け入れガイドを統合し、ステーションの占有にリトライ、充電確認、ドッキング解除時間を含めるようにしましょう。実際の居住が照合された後にのみ予約を失効させ、1つのアクションメッセージがタイムアウトしたからといって期限切れにしないでください。
| 制御機構 | 防止 | 新たなリスク | 必須試験 |
|---|---|---|---|
| 全リソースロック | 反対派のエントリー | 低スループット | バーストトラフィック |
| 区間予約 | 地域紛争 | 予約サイクル | すべての路線の組み合わせ |
| 優先度キュー | 無限レース | 飢餓 | 持続的緊急負荷 |
| 一方通行ポリシー | 正面衝突 | 長い迂回路 | 閉鎖と避難 |
| リースタイムアウト | ゴースト所有権 | 早期再利用 | 通信喪失 |
安全性を損なわずに老化を優先事項に加える
先着順は説明しやすいですが、優先度の高いタスクやクリア操作を通過しなければならない場合、うまく機能しにくいことがあります。サービスクラスや年齢を積み重ねて、長く待たされる作業が徐々に優先されるようにしましょう。衝突とアクセスの制約は優先度スコアの外に置いてください。
有効優先権、年齢、タイブレークルールを記録してください。リプレイは、通常の仕事が飢えを招かないことを証明するための切実な要求を持続的に求めました。優先順位の変更は、安全に停止や撤退ができないロボットの資源を取り消すべきではありません。
方向と容量によってサイクルを構造的に減らします
一方通行通路、ターン制限、制限されたゾーン容量は、トポロジーから依存サイクルを除去できます。これらの管理は、複雑なオンライン検知器よりも多くの事故を防ぐことが多いです。また、移動を増やしたり、合流地点で新たなボトルネックを生むこともあります。
ルールの前後に施設グラフを評価してください。閉鎖やロボットの無効化をテストしてください。代替ルートは双方向の圧力を再導入する可能性があります。一時的な方向変更を記録し、すべてのフリートコントローラーが同じトポロジーバージョンを共有します。
予約の解決を地元の障害物回避に頼まないでください
ローカル管制官は、予期せぬパレットや人物がその操縦空間内に現れることを避けることができます。どのロボットがセンサー範囲外の通路を所有しているか、どの待機位置がフリートレベルのサイクルを解除しているかも分かりません。地域の迂回路は予約違反を招き、渋滞を悪化させる可能性があります。
局所回避と交通スケジュールの境界を定義してください。局所の逸脱が予約境界を越えた場合は、旅程の更新または停留が必要です。インシデントレビュー中にロボットのポーズ、計画された経路、アクティブな予約を1つのタイムラインで比較してください。
復旧対象と検証済みの退避場所を選ぶ
予防が失敗した場合は、後退能力、ペイロード、バッテリー、タスク優先度、避難所までの距離、他の交通への影響など、制御可能な基準で1台のロボットを選択して譲歩させます。数学的に最も安価な被害者は、現在の姿勢から物理的に逆戻りできないかもしれません。
避難ポイントを事前に定義し、後方センサー、フットプリントクリアランス、指揮制限を確認します。ロボットが実際に予約をクリアした後、順序通りに予約を解除します。まずソフトウェアの所有権を明確にして、物理的な移動を期待してはいけません。
リース情報と実機の占有状態を組み合わせる
リース契約は切断されたロボットが資源を永久に所有するのを防ぎますが、期限切れは車両が消えたことを証明できません。通信が途絶えた後は、センサー、最後の姿勢、サイト手順から物理的な占有状態を保持してください。資源は宣言された保守的ルールのもとでのみ再利用してください。
メッセージ遅延、状態の重複、フリートサーバーの再起動、ロボット再起動のテスト。照合は冪能的でなければならず、同じ所有権イベントで2つの有効なリースを作成したり、有効な予約を二度削除したりすることはできません。
受理テストに円形待機を注入する
正面からの通路入口、四方向交差点のサイクル、ブロックされた充電器のアプローチ、リフトセッションの損失、そして車線を保持する障害者ロボットの作成。予防率、発見遅延、回復時間、不必要な被害者の移動、予約清掃を測定します。
トラフィックバーストや部分的な通信障害の下で実行されます。リソース所有権、待機グラフ、ロボットのポーズ、コマンド、タスク状態を保存できます。希少なサイクルでエリア全体が停止する場合、平均スループットは不十分です。
所有権をマップアニメーションよりも目立たせる
オペレーション画面には、現在のリソース所有者、キュー中の依頼者、リース年齢、サイクルメンバーシップ、選択被害者、期待解放が表示されるべきです。動いているアイコンだけでは、なぜ動かないロボットが待ち続けなければならないのか、あるいは停止したロボットが交差点を所有しているのかを説明できません。
トポロジーバージョン、ポリシーバージョン、回帰スイートで変更をリリース判定を行います。
- 制限された資源と安全な待機地点をすべて挙げてください。
- 通過しないスペースに入る前に、使える出口を確保してください。
- 現在の所有権の証拠から循環待ちを検出します。
- 確認済みの撤退と命令された解放で回復してください。
- 賃貸契約の満了と物理的な居住状況を照合しましょう。
よくある質問
向かい合う2つのAMRは常にデッドロック状態なのでしょうか?
いいえ。現行の方針で資源を譲渡または放出できる場合、それは恒久的な循環待ちではなく、利益相反や遅延にあたります。
狭い通路は常に一つの資源としてロックされるべきでしょうか?
いつもではありません。通路全体のロックはシンプルです。安全なセグメンテーションはスループットを向上させることができますが、より強力な予約検証が必要です。
なぜローカルプランナーはフリートの膠着状態を解決できないのでしょうか?
フリート全体の所有権や将来の資源コミットメントが欠けており、調整されていない逸脱を生む可能性があります。
予約サーバーが故障したらどうなりますか?
明確な劣化状態、リース契約および物理的な占有の調整を用いてください。サーバーの沈黙を無料のルートと考えないでください。
デッドロック検出はどのくらいの速さで行うべきでしょうか?
運用遅延制限には十分な速さですが、予防と安全な停止の方が、恣意的な最短タイマーよりも重要です。
交通調整と物理的安全境界
フリート交通調整は安全評価の衝突防止システムではありません。ロボットの安全確保、速度制限、分離、手動復旧手順は引き続き適用責任です。