Planner

目的

戦略的、多リソース、オーダーレベルのタスク分解およびゴール推論。Planner はプラットフォーム/クラウドレベルで動作し、すべてのリソースをグローバルに把握します。「このゴールに対して、どのタスクをどの順序で実行すべきか?」という問いに答えます。

責務

  • 高レベルのゴールを順序付きタスクシーケンスに分解

  • タスクの依存関係と並列性の推論

  • リソースの能力と制約の考慮

  • 計画の優先事項について Policy Service に問い合わせ

  • 空間コンテキスト(ルート、近接性)について Marie に問い合わせ

  • 状態が計画から逸脱した際に再計画をトリガー

主要エンティティ

エンティティ

説明

ゴール

高レベルの目標(例:「注文 #1234 を処理する」)

プラン

ゴールを達成するための順序付きタスクの集合

タスク

単一の作業単位(例:「ラック B からアイテム A をピッキングする」)

依存関係

タスク間の順序制約

プラットフォーム計画 vs エッジ計画

観点

プラットフォーム Planner(本サービス)

エッジ Planner(デバイス上)

場所

クラウド

ローカル(ロボット/PDA)

スコープ

グローバル、マルチリソース

シングルエージェント、ローカル

特性

戦略的

戦術的、リアクティブ

「ロボット 1 が A からピック、ロボット 2 が B からピック」

「前方に障害物あり、左へ迂回」

これらは根本的に異なる Planner です。ロジックを共有しません。Execution Contract が両者を橋渡しします。

API サーフェス

操作

説明

POST /plans

ゴールからプランを作成

GET /plans/{id}

プランの詳細とステータスを取得

POST /plans/{id}/replan

再計画をトリガー

GET /plans/{id}/tasks

プラン内のタスクを一覧表示

依存関係

サービス

関係

Marie

ルート最適化とリソース近接性のための空間クエリ

Policy Service

計画の優先事項と制約

DeviceAdmin

リソースの能力

利用者

コンシューマー

用途

Scheduler

リソース割り当てのためのタスクリストを受信

アプリケーション

ゴールを送信し、プランステータスを監視