マルチロボットのタスク割り当ては、どの実行可能なロボットが各タスクを担当するか、そしてその決定がいつ変更されるべきかを決定します。最も近い距離だけでは十分ではないことが多いです。現在のコミットメント、移動時間、サービス期間、混雑、ペイロード、アクセス、バッテリー、充電キュー、期限、故障状態などが完了に影響を与えます。
配分者はまず不可能なロボットとタスクのペアを拒否し、その後、残った候補を宣言されたコストモデルで比較します。割り当ての質には安定性も含まれます。頻繁な再割り当ては移動の無駄遣いや物理的所有権の混乱、そして新しい数学的結果がわずかに優れていても交通量の増加を招きます。
このガイドを AMR ・ AGV 選択ガイド および VDA 5050 ガイドと一緒にご利用ください。アロケーターにライブフリートの制御を許可する前に、生産に似た注文や故障を繰り返し再生します。
運用単位における配分目標を定義する
システムが完了時間、遅延、エネルギー、移動、駅の詰まり、または重み付けされた組み合わせを最小化するかを選択してください。各用語の地平線と単位を明示してください。不透明なスコアは、なぜ遠くのロボットが近くのロボットを置き換えたのか、あるいはなぜ緊急の注文が待たれたのかを説明するのを難しくします。
Google OR-Toolsの課題例は、課題を最小コストフローとして表現する方法を示しています。生産モデルは時間、状態、資源の制約を加えますが、原則は変わりません。コストと実現可能性は比較可能で追跡可能でなければなりません。

同一時刻のタスクとロボット状態をスナップショット化する
割り当て実行には一貫したスナップショットが必要です。タスクステートには、ピックアップ、納品、ペイロード、優先度、期限、サービス時間、依存関係が含まれます。ロボットの状態には、姿勢、アクティブコミットメント、残り作業、負荷、能力、バッテリー、健康、アクセス可能な領域が含まれます。
各フィールドにソースのタイムスタンプと最大年齢を付けてください。新しい作業と古いロボットの姿勢やバッテリーの推定を組み合わせることで、矛盾した問題に対して正確な答えが得られます。割り当てされた新鮮度の上限を超える状態の受験者は不合格または検疫されます。
| 入力 | 必須項目 | 実現可能性の利用 | コスト利用 |
|---|---|---|---|
| 任務 | 場所、積荷、締め切り、サービス | 能力とアクセス | 遅延と運用期間 |
| ロボット | ポーズ、負荷、健康、コミットメント | 利用可能性とペイロード | 残された仕事と旅 |
| バッテリー | エネルギーと備蓄 | 安全に終わらせることができます | 電荷迂回路と待ち合わせ |
| 地図と交通 | 路線、閉鎖、予約 | 到達のしやすさ | 予想される移動と遅延 |
| 駅 | 収容能力と状況 | サービス互換性 | 待ち順位と占有状況 |
採点前に非現実的な候補をフィルタリングする
ペイロード、ツール、地域権限、マップ互換性、健康、エネルギー予備、タスク依存性に違反するペアを削除してください。実現可能性は、違反と交換してより速いクリアができないハードゲートです。不可能な対に大きな有限コストを与えると、すべての代替案が高価な場合に選ばれるリスクがあります。
拒否ごとに理由コードを返します。候補がいなければ、タスクをサイレントキューに入れるのではなく、すぐに支配的な原因を公開してください。充電のような一時的な非現実性と、別のロボットや人間のプロセスを必要とする構造的不一致を区別してください。
直線距離ではなく完了時間を推定する
完了費用は、残りの作業、受け取り、整備、配送、最終サービスまでの移動から始まります。ルート制限、ターンコスト、予想される混雑、駅の列も加えましょう。ユークリッド距離は、壁や一方通行車線、または有人交差点で隔てられたロボットに有利に働くことがあります。
生産ログからセグメントやサービスの見積もりをキャリブレーションします。ルート、ロボット、コンディションによる予測されたトラックと実際の完成を比較します。誤差が増えたら、モデルを意図的に更新します。説明のつかない臨時のペナルティが、どのオペレーターも監査できないスコア内に蓄積させてはいけません。

共有通路とステーションをモデル化する
ロボットは狭い通路、リフト、ドア、作業セル、充電器を争っています。独立した最短経路は、複数のロボットが一つのボトルネックに同時に到達するため、全体的に遅い割り当てを生み出すことがあります。候補完成見積もりには予約遅延や混雑予測を含めてください。
Open-RMFデモンストレーションリポジトリは、フリートおよびインフラの調整ワークフローを示しています。枠組みに関わらず、どのサービスがドア、レーン、駅の予約を所有しているかを定義し、割り当てと交通管制が矛盾する約束をしないようにしましょう。
| 運用イベント | 候補を再計算する? | 所有権を保持する? | 記録すべき証拠 |
|---|---|---|---|
| 新たな任務 | はい | 既存の作業は通常行われていました | スナップショットと入札 |
| ロボット故障 | 影響を受けた仕事にははい | 物理的な負荷は残る可能性があります | 故障・負荷・回収所有者 |
| ルート閉鎖 | 影響を受けるルートについてははい | 安全かつ可能であれば、保留してください | 閉包バージョンと経路 |
| 小規模なコスト改善 | 通常は違います | ヒステリシスを使います | 最適かつ現在のコストギャップ |
| 締め切りリスク | はい | 保険契約に依存します | 予想遅延とオプション |
バッテリーはミッションエネルギーとして扱い、一つの閾値として扱うのではなく
ロボットは残された作業、受け取りや配達のためのエネルギー、手が届く充電器、そして不確実な予備を必要とします。単一のバッテリーパーセンテージの閾値は、ペイロード、ルート、温度、経年劣化、充電器キューを無視します。完了エネルギーを推定し、防御可能な作業後の予備を要求します。
配車許可とチャージスケジューリングを分けてください。低優先度のタスクは、ステーション付近で終了するまで充電前に実行可能かもしれませんが、緊急で長時間のタスクはそうでない場合もあります。すべての候補の決定にエネルギー見積もりと予備理由を記録してください。
飢餓なしのエクスプレス期限と優先順位
優先度は遅延費用、サービスクラス、または厳格な期限の制約によって入力されることがあります。無制限の重みは、1クラスが全ての容量を消費し、古い作業を無期限に待たせることがあります。古いサービス保証や明示的なサービス保証を使い、優先度の低いタスクが時間とともに緊急性を増します。
リプレイはトラフィックを一時的に増やし、優先度の高い需要を長引かせました。クラス、年齢分布、最大待ち時間の遅延を平均スループットだけでなく報告してください。真の緊急対応と業務上の優先順位を分けて、ポリシーを説明しやすく保ちましょう。
材料変更後のみ再配分
新しい注文が届く、タスクが完了したとき、ロボットが失敗したとき、ルートが閉鎖されたとき、あるいは予測コストが大きく変わったときに再計算します。物理的に進行中の作業は中断がサポートされていない限り凍結してください。ピックされた荷物を転送プロセスなしで再配分すると、1つの物理的オブジェクトに対して2つのソフトウェアプランが作成されます。
ヒステリシス、最小保持時間、切り替えコストを適用します。改善が中断コストを超えるか、現在の実行が不可能になった場合にのみ所有権を変更します。各再割り当ての現在および提案されたコスト、トリガー、ポリシーの閾値を記録してください。
故障時には物理的作業の所有権を保持する
ロボットは物資を運びながらオフラインになることがあります。作業の状態、物理的な負荷位置、ロボットの指揮権および回復可能性は別々の事実です。システムが他のロボットや人間が荷物にアクセスできるかどうかを判断するまで、単に未割り当てプールに注文を返すのはやめてください。
ストランド、リカバブル、転送、手動解決された作業の状態を作成します。重複ピックアップを防ぐ。通信が戻ったら、ロボットのローカル状態とフリート状態を冪等事象と権威ある所有権ルールと調和させます。
中央集権的かつ分散型の境界線を選択する
集中型アロケーターは車両全体を比較できますが、現在の共有状態やサービス利用可能性に依存します。分散入札は異種のフリート間でスケール可能ですが、一貫したタスク識別、コストの意味、期限、授与権限が必要です。どちらのアーキテクチャもステールステートやスプリットブレインのリスクを排除しません。
提案期限、授与確認、重複処理、リーダーフェイルオーバーを定義してください。アロケーターは接続が途切れると予測可能に劣化するはずです。すでに安全作業を行っているロボットは、新たなクロスフリート割り当てが一時停止される間も、制限付きポリシーの下で継続される可能性があります。
オフライン、シャドウモード、故障時の検証
過去の命令、ポーズ、バッテリー、ステーションのイベントを再生し、現行および候補のポリシーを比較できます。その後、アワードを発行せずにライブ状態でシャドウモードを実行してください。生産アロケーターを維持しつつ、予測完了、実際の結果、チャーン、締め切り、混雑を比較してください。
ロボットの損失、テレメトリの遅延、充電器の停止、通路の詰まり、注文バースト、アロケーターの再起動。尾の完成時間や飢餓作業を点検してください。低い平均は深刻な不安定性や、完成しない少数の注文を隠すことがあります。
決定、代替案、不確実性を明らかにする
各賞に対して、実現可能な候補、却下理由、費用構成要素、現在の割り当て、選ばれた割り当て、次点、データ年齢を保持してください。オペレーターツールは、単一のスコアではなく完了時間の観点で決定を説明すべきです。予測されたトラックとモデルドリフトを明らかにするための実際のコストとの比較。
シナリオとロールバック基準を含むアロケーターバージョンをリリース判定を行います。
- ランク付け前に、不可能なロボットとタスクのペアをフィルタリングしてください。
- 完了、キュー、充電の見積もり。
- ヒステリシスと明示的な切り替えコストを使いましょう。
- ソフトウェアの割り当ては物理的な負荷の所有権とは別です。
- 故障を再生し、尾部の性能や飢餓を点検します。
よくある質問
最も近いロボットには常に新しい任務を与えるべきでしょうか?
いいえ。残された作業、ルート時間、混雑、積載量、バッテリー、充電、締め切りなどが、別のロボットを早く仕上げることがあります。
配分の重み付けはどのように選ぶべきでしょうか?
可能な限り運用ユニット内で用語を明示し、ログからキャリブレーションを行い、シナリオを再生してからバージョン変更を行ってください。
フリートはいつ任務を再割り当てすべきか?
材料の状態やコストが変化した後に再割り当てしつつ、物理的な実行、スイッチングコスト、安定性の閾値を尊重します。
ロボットが失敗したタスクはどうなるのでしょうか?
物理的な負荷と所有状態を保持し、回復可能性を判断し、明示的なプロセスを通じてのみ転送または再割り当てを行います。
新しい割り当て機はどうやって安全にテストできますか?
オフラインリプレイを使い、その後シャドウモードを使い、その後に障害注入とロールバックの条件を持つバウンデッドパイロットを導入します。
フリート最適化と運用権限の境界
タスク割り当ては運用上の意思決定を最適化します。安全でない移動を許可したり、アクセス、交通、安全、暴行、人間の作業に関する規則を無視したりするものではありません。その制約は客観的なスコアの外で適用可能に保ちましょう。