FlexGalaxy.AI プラットフォーム・アーキテクチャ¶
概要¶
FlexGalaxy.AI は、ロボティクスおよびエージェント型アプリケーションを構築するための Application Platform as a Service(APaaS)です。開発者はプラットフォームの水平サービスの上にアプリケーションを構築します。Syrius Robotics は最初の開発者として、サードパーティ開発者が利用できるものと同じ API およびインターフェースを使って自社製品を構築し、プラットフォームを自ら試験的に活用しています。
コア原則¶
特権アクセスなし。 ファーストパーティ・アプリケーション(WES、ClearJanitor、SiteView、OpsFlow)は、サードパーティ開発者が利用するものと同じパブリック API、同じ認証(DotID/OIDC)、同じ制約を使用します。
プラットフォーム・サービス・マップ¶
データ・プレーン — 物理世界インターフェース¶
サービス |
担当領域 |
|---|---|
DeviceAdmin |
デバイス登録、アラート監視、OTA ステータスの可視化。統合デバイス管理インターフェースとして、接続性とアラートのために ThingsBoard をラップし、更新ステータスのために hawkBit を参照します。開発者は ThingsBoard と直接やり取りすることはありません。 |
ThingIO |
IoT データ処理、分析、およびダッシュボード可視化。Apache StreamPipes 上に構築。アプリケーションは、登録済みデバイスにスコープされたカスタムダッシュボード、ウィジェット、データパイプラインを登録します。 |
OTAForge |
OTA アーティファクト管理とポリシー駆動のロールアウト自動化。Eclipse hawkBit 上に構築。CI/CD アクセスキーによるアーティファクト公開、ポリシー駆動のロールアウト(DeviceAdmin をポーリングし、ポリシーを評価し、ロールアウトを自動作成)、プロキシされた DDI エンドポイント、ディストリビューターポータル。 |
アイデンティティ・プレーン — アクセス権を持つ対象¶
サービス |
担当領域 |
|---|---|
DotID |
AWS IAM および Organizations をモデルにしたアイデンティティとアクセス管理。Keycloak 上に構築されており、すべてのアイデンティティに関わる事項を包括します。 |
Org Service |
アカウント階層と組織構造。組織、メンバーアカウント、サイト、リソースを三階層モデルで管理するマルチテナント関係を扱います。 |
IAM Identity Center |
クロスアカウント・アクセスと SSO。組織境界を越えた可視性と権限共有を実現します(例:リース会社が複数の請負業者にわたる資産を参照可能)。 |
StarGate |
Identity Plane を管理するための内部 Web アプリケーション。ゲートキーパーを意味する AWS Gandalf の精神にちなんで命名されました。 |
DotID サブシステム関係図:
DotID (umbrella)
├── Org Service (who belongs where)
├── IAM Identity Center (who can access what, across accounts)
└── StarGate (admin UI for managing it all)
空間プレーン — 物体の位置情報¶
サービス |
担当領域 |
|---|---|
Equator |
空間データ管理。マップ、フロアプラン、ゾーン、座標、ラック、充電ステーション、ランドマーク、ジオフェンス境界の信頼できる情報源。 |
Marie |
空間クエリ・エンジン。海洋地図製作者の Marie Tharp にちなんで命名。Equator のマップデータを使用して、アプリケーションからのクエリ(近接検索、カバレッジ分析、経路クリアランス、ゾーン別検索)に応答します。 |
関係性: Equator はデータそのものであり、Marie はその上に構築されたインテリジェンスです。開発者は Marie を通じてやり取りし、Equator は基盤となる空間モデルを管理します。
インテリジェンス・プレーン — 何を、いつ、どのように行うか¶
サービス |
担当領域 |
|---|---|
Planner |
戦略的、マルチリソース、オーダーレベルのタスク分解および目標推論。すべてのリソースをグローバルに把握しながら、プラットフォーム/クラウドレベルで動作します。 |
Scheduler |
リソース割り当てと時間最適化。単発スケジューリング(オーダー駆動、例:WES)、定期/cron 形式のスケジューリング(スケジュール駆動、例:ClearJanitor)、および条件付きスケジューリング(イベント駆動、将来対応)をサポートします。 |
Execution Manager |
タスク実行のオーケストレーションと監視。実行コントラクトのライフサイクルを管理します — エッジデバイスへのコントラクトのプッシュ、オフライン期間中の予測状態の維持、再接続時の実際の状態の照合。 |
ガバナンス・プレーン — すべての意思決定を導くルール¶
サービス |
担当領域 |
|---|---|
Policy Service |
ポリシーの保存、提供、および適用。Intelligence Plane 内のすべての意思決定サービスは、行動する前に Policy Service に問い合わせます。 |
Policy Validator |
競合検出、安全チェック、デッドロック防止、カバレッジ・ギャップ分析。ポリシーが有効になる前に必須の検証を行います。 |
AI Policy Agent |
対話型ポリシー作成。アプリケーションが提供するドメイン・ポリシー・スキーマを使ってドメインコンテキストを理解するプラットフォームサービスであり、自然な対話を通じてユーザーの意図を正式なポリシーへと変換します。 |
ポリシー階層(適用順序):
Platform defaults (safety, physics, hard limits) — cannot be overridden
↓
App-defined policies (developer presets) — can be customized within bounds
↓
User-defined policies (via AI Policy Agent) — validated before activation
AI Policy Agent アーキテクチャ:
Agent はその核心においてドメイン非依存です。各アプリケーションは、Agent が必要とするドメイン知識を提供するドメイン・ポリシー・スキーマを登録します。
Platform provides: App injects:
├─ Conversational engine ├─ Domain ontology (entities, actions)
├─ Policy syntax understanding ├─ Domain constraints
├─ Validation logic ├─ Available strategies
└─ Common concepts └─ Example policies / best practices
(devices, zones, time)
Agent は2つのモードで動作します:
作成モード — 会話を通じて新しいポリシーの設定をユーザーが行えるよう支援します
監査モード — 現在のポリシーを説明し、「もし〜だったらどうなるか」シナリオをシミュレーションします
エコシステム・プレーン — 配布¶
サービス |
担当領域 |
|---|---|
Marketplace |
アプリケーションとコンポーネントの配布。開発者がアプリや再利用可能なコンポーネントを公開する場所です。 |
IoT レイヤー — 技術スタック¶
IoT レイヤーは、データプレーンサービスの基盤となるオープンソースプラットフォームを定義します。各データプレーンサービスは IoT プラットフォームをラップし、FlexGalaxy API 規約、アカウントスコープ、およびアクセス制御を提供します。
データプレーンサービス |
ラップ対象 |
ライセンス |
|---|---|---|
DeviceAdmin |
ThingsBoard CE — デバイスレジストリ、マルチプロトコル接続(MQTT、CoAP、LwM2M、HTTP)、テレメトリ取り込み、ルールエンジンアラート |
Apache 2.0 |
ThingIO |
Apache StreamPipes — ストリーム分析、データパイプライン、ML 推論、ビジュアルパイプラインビルダー |
Apache 2.0 |
OTAForge |
Eclipse hawkBit + Hara — OTA 更新、アーティファクト配信、ポリシー駆動のロールアウト、プロキシされた DDI |
EPL 2.0 |
統合パターン:
DeviceAdmin ThingIO
(enrollment, (APIs + React SDK)
alerts)
│ │
│ delegates to ▼
│ Provisioning Kafka Kafka
│ Service Cluster A Cluster B
▼ │ │
Devices ──MQTT──► ThingsBoard ──Rule Engine──►│ replicate │──► StreamPipes
│ └──────►──────┘
Telemetry DB
OTAForge
(artifacts, policies,
proxied DDI)
│
│ DDI proxy
▼
Devices ──DDI──► OTAForge ──► hawkBit
(policy-driven rollouts,
polls DeviceAdmin)
DeviceAdmin はデバイスプロビジョニングを Provisioning Service に委任し、Provisioning Service が ThingsBoard、hawkBit、DotID をオーケストレーションします。CI/CD パイプラインはアクセスキー(AK/SK)を通じて OTAForge にアーティファクトを公開し、ロールアウトはポリシー評価によって自動的に作成されます。デバイスは hawkBit に直接ではなく、OTAForge のプロキシされた DDI エンドポイントをポーリングします。これらのサービスがクロスアカウント OTA とオーナーシップ移転を含むマルチパーティサプライチェーンをどのようにサポートするかについては、サプライチェーン OTA とオーナーシップパターンを参照してください。
実行コントラクト・モデル¶
プラットフォームがエッジデバイス(ロボット、PDA)にタスクを割り当てる際、実行コントラクトをプッシュします — タスク定義、スコープ付きアクション、および必要なデータ(例:Equator からのマップ)が含まれます。プッシュの時点で接続が確認されます。
3つのデバイス状態¶
状態 |
意味 |
プラットフォームの挙動 |
|---|---|---|
ライブ |
接続済み、リアルタイムテレメトリ |
プラットフォームが実際の状態を直接把握 |
予測 |
オフライン、テレメトリなし |
プラットフォームがコントラクトのスコープに基づいて推定 |
照合済み |
デバイスが再接続し、実際の状態を報告 |
実際の状態が予測を修正し、必要に応じて再計画をトリガー |
二層計画モデル¶
層 |
場所 |
スコープ |
特性 |
|---|---|---|---|
Platform Planner |
クラウド(FlexGalaxy.AI) |
グローバル、マルチリソース |
戦略的 — 「どのリソースがどのタスクを担当するか」 |
エッジ・プランナー |
ローカル(ロボット/PDA) |
シングルエージェント、ローカル |
戦術的、リアクティブ — 「前方に障害物、経路変更」 |
これらは本質的に異なる問題を解くプランナーです。ロジックを共有しません。
部分的な接続状態での再計画¶
一部のデバイスがオフラインになった場合:
接続済みデバイス → 自由に再計画し、必要に応じてタスクを再割り当て
オフラインデバイス → コントラクトのタスクを予測状態として保持し、再割り当てしない
再接続時 → 実際の状態を照合し、乖離が検出された場合はグローバル再計画をトリガー
コントラクト失敗時のリカバリ¶
ハードコードではなく Policy Service が処理します:
アプリケーションが障害回復ポリシーを定義(開発者プリセットまたはユーザー定義ポリシー経由)
Execution Manager がコントラクトの失敗を検出
適用可能な戦略について Policy Service に問い合わせ
リカバリを実行:再試行、再割り当て、エスカレーション、保留、またはキャンセル
アプリケーション検証¶
WES — 倉庫実行管理システム¶
オーダー駆動、高複雑度の計画、複数ステップの意思決定ポイントを持つ複雑なエッジコントラクト。
利用するプラットフォームサービス:
サービス |
用途 |
|---|---|
DeviceAdmin |
AMR、MHE、PDA の登録、デバイスアラートおよび OTA ステータスの監視 |
ThingIO |
フリートダッシュボード、オーダースループット分析、ゾーン利用率ウィジェット |
OTAForge |
ポリシー駆動のファームウェアおよびマップ配信(倉庫ロボット向け) |
DotID/StarGate |
ロボット、オペレーター、上流システム(OMS/WMS)の認証 |
Equator |
倉庫マップ、ゾーン、ラック、充電ステーション |
Marie |
近接クエリ、経路クリアランス、ゾーン別リソース検索 |
Planner |
オーダーをピック/移動/配置のタスクシーケンスに分解 |
Scheduler |
リソースの空き状況に基づく単発タスク割り当て |
Execution Manager |
マルチステップ・タスク実行のオーケストレーションと監視 |
Policy Service |
障害回復、計画設定、スケジューリング優先度 |
AI Policy Agent |
オペレーターが倉庫ドメイン・スキーマを使って会話形式でルールを定義 |
明らかになったアーキテクチャの知見:
実行コントラクト・モデル
エッジ/クラウド照合パターン
ポリシー駆動の障害回復
アプリケーション定義ポリシーとプラットフォーム実行
ClearJanitor — 商業用清掃ロボット管理¶
スケジュール駆動、よりシンプルなエッジコントラクト、マルチテナント所有モデル。
所有権 vs 運用:
Model A: Leasing Company → Contractor → End User (ClearJanitor user = Contractor)
Model B: End User buys/rents directly (ClearJanitor user = End User)
ClearJanitor は所有権に関わらず、ロボットを運用する者にサービスを提供します。
利用するプラットフォームサービス:
サービス |
用途 |
|---|---|
DeviceAdmin |
清掃ロボットの登録、リース状況の追跡、アラートおよび OTA ステータスの監視 |
ThingIO |
清掃カバレッジヒートマップ、バッテリー分析、ロボットステータスダッシュボード |
OTAForge |
ポリシー駆動のマップおよびファームウェア配信(清掃フリート向け) |
DotID/StarGate |
オペレーターの認証、請負業者とエンドユーザーのロールの区別 |
Org Service |
リース会社 → 請負業者 → エンドユーザーの階層をモデル化 |
IAM Identity Center |
リース会社が複数の請負業者にわたる読み取り専用の可視性を取得 |
Equator |
建物のフロアプラン |
Marie |
カバレッジクエリ、「今日どのフロアが清掃されていないか?」 |
Planner |
清掃ルート/シーケンスの生成 |
Scheduler |
定期的な清掃ジョブ(夜間、週次、条件付き) |
Execution Manager |
清掃中のロボット監視、スタック/エラー状態の処理 |
Policy Service |
バッテリー閾値、時間帯制限、ゾーンルール |
AI Policy Agent |
オペレーターが会話形式で清掃ポリシーを定義 |
明らかになったアーキテクチャの知見:
マルチテナント組織階層(資産所有者 ≠ オペレーター)
定期/cron 形式のスケジューリングの必要性
よりシンプルなエッジコントラクト(単一経路の清掃 vs マルチステップの倉庫ピック)
同じ実行コントラクト・モデル、異なるペイロードの複雑度
クロスアプリ・アーキテクチャ検証サマリー¶
アーキテクチャ要素 |
検証済みアプリ |
|---|---|
実行コントラクト・モデル |
WES(複雑)、ClearJanitor(シンプル) |
ドメイン・スキーマを使用した Policy Service |
両方 — 異なるドメイン、同じメカニズム |
エッジ/クラウド照合 |
両方 — 異なる複雑度レベル |
Org Service のマルチテナンシー |
ClearJanitor(リースチェーン) |
単発スケジューリング |
WES(オーダー駆動) |
定期スケジューリング |
ClearJanitor(スケジュール駆動) |
AI Policy Agent の再利用性 |
両方 — ドメイン・スキーマによってドメイン非依存に |
特権アクセスなし原則 |
両方 — サードパーティ開発者と同じ API |
サプライチェーン OTA + オーナーシップ移転 |
サプライチェーン OTA とオーナーシップ(クロスアカウントロールアウト、マルチティアスコーピング) |