Lodestarの構築:推定器の外側の航法完全性モニターが、GPS非依存の妨害バブルで位置をでっち上げる代わりにREDへ切り替わり帰投する仕組み。
DronesRoboticsAutonomy

GPS妨害バブルを通してもドリフト0.9%。誇れるコードは、飛行を拒否する一行だ。

Ashutosh SinghalAshutosh Singhal2026年7月3日13 min

このプロジェクトで最も重要だったのが、あきらめる部分だとは思ってもみなかった。

午後の大半を、合成飛行のリプレイを見つめて過ごしていた。ドローンが245.3 mの経路を80秒のミッションで横断する。GPSは最初の18秒は持ちこたえるが、機体が模擬の電子戦バブルに入ると途絶える。画面上では、その瞬間から3本の軌跡が扇状に広がる。そのうち鮮やかなピンクの線は地図の端へと外れ、自信満々に、しかも完全に間違ったまま進み続ける。隣の小さな表示は、すべて問題なしと言い張っている。

そのピンクの線は標準の視覚慣性オドメトリ(VIO)だ。それが嘘をつくのを見て、自分が作ろうとしていたものの全体の形が変わった。GPS非依存ナビゲーションの難題は、正確さを保つことだと思っていた。違う。難題は、それが本当に重要な一瞬に、自分が正確でないと知ることだ。

GPS非依存の空域では、自信満々だが誤った位置は、正直な「わからない」よりも危険だ。

これはLodestar——当社のナビゲーション完全性エンジン——を構築した話であり、正しい問題を理解する前に一週間間違った問題を解いていた話でもある。

本当の問題を理解する前に、一週間正確さを追い求めた

多くの人が始める場所、つまり推定器から始めた。電子戦によって、自律ドローンがいま本当に重要になる場所——係争空域、鉱山の採掘場、トンネル、都市の峡谷——でGPSは信頼できなくなった。係争空域での妨害とスプーフィングは広く報じられるようになり、GPS非依存ナビゲーションは研究の物珍しさではなく、厳しい要件になっている。わかりやすい対策は、視覚慣性オドメトリを載せ、カメラと慣性センサを融合し、ドリフトが小さく済むことを祈ることだ。

そこで本格的な密結合VIO EKFを組み、最初の一週間は正確さに費やした。同じフィルターで、正直な3構成だ。視覚を一切使わないデッドレコニングIMUのベースライン、見える視覚特徴をすべて融合する標準VIO、そしてどの特徴を信じるかをより慎重に扱う完全性考慮版。シミュレータが生成する真値に対してすべてを走らせた。真値はあらゆる推定器から独立して生成されるので、誰も自分の宿題を採点できない。ミッション全体はシードされ、バイト単位で再現可能だ——当時の私には、その重要さがまだよく分かっていなかった。

精度の数字は本気で良かった。妨害バブルの中で、完全性考慮の推定器は0.92%のドリフト、245.3 mの経路に対する最終誤差2.26 mを保つ。対照的にデッドレコニングは30.95%のドリフトと最終誤差75.92 mまで膨れ上がり、パッドに着陸するか隣の郡に着陸するかの差だ。一日ほど自分を褒めていた。

それから車列を走らせた。

自分の目を信じるドローンに、妨害バブルが何をするか

GPSハンドオフがどれほど平凡に見えるかを正直に言いたい。それがうまくいく部分だからだ。t=18 sでGPSが落ちると、フィルターはモード切替も警報もオペレーターに見える継ぎ目もなく、視覚慣性ソースへ重みを付け替える。推定はただ連続したまま残る。ミッションを飛んでいれば、床が消えた感じはしないだろう。

模擬のR-330Zh型電子戦バブル内でGPSが拒否された直後、t=21 sのLodestarダッシュボード:完全性はGREEN、ドリフト0.41 m、利用可能な視覚特徴358、推定軌跡は真値上にある。
t=21 sのGPSハンドオフ。完全性はGREENを保ち、真値に対するドリフトは0.41 m、利用可能な特徴358が推定器に入る。これは簡単で、誰もがデモする部分だ。

私が過小評価していたのはここだ。視覚で飛ぶドローンは、徐々に悪化して失敗するのではない。失敗の仕方は、誤った対象にロックオンし、きれいな自信満々の位置——ただのゴミ——を報告することだ。推定器はだまされたと知らない。位置を計算する仕組みと、位置が誤りだと気づくはずの仕組みが同じだからだ。壊滅的に、静かに誤る瞬間まで正確なシステムを作ってしまい、内側から両者を区別する手段がなかった。

それはチューニングの問題ではない。自分が誤っていることに自信を持つシステムから、チューニングで抜け出すことはできない。推定器の完全に外側に座る何かが必要だった。

優れた推定器に嘘を教え込んだ車列

自分の仕事を壊すために車列シナリオを作り、実際に壊した。t=30からt=43のあいだ、車両の列が低テクスチャの空き地を横切り、飢えたVIOフロントエンドには、追跡したい安定ランドマークとそっくりの偽特徴を撒き散らす。これは文書化されたORB-SLAM3の失敗——アルゴリズムがトラックを追跡し、ドローンが静止していると結論づけるあのケースだ。

標準VIOは完全に引っかかった。同じシードの実行で、動く車両にロックオンして飛び去り、最終的に28.79%のドリフトと最終誤差70.61 m、ATE 32.95 mとなり、それは視覚を一切使わない場合より実際に悪い。それが、私が眺めていたピンクの線だった。醜い細部は、失敗しているあいだも内部の信頼度は健全に見えたことだ。推定器は自信満々だった。地図の端へドリフトしていく位置に自信があったのだ。

動く車列中のt=32 sのLodestar:完全性はAMBERに落ち、特徴数は2(マスク10)、標準VIO誤差は11.0 mまで上がり、完全性考慮の軌跡は0.42 mのドリフトを保つ。
t=32 sの車列。セマンティックマスキングが動く車両を拒否した(静的特徴2を使用、10をマスク)ため、完全性考慮の軌跡は0.42 mを保ち、標準VIO誤差は11.0 mまで上がり続けていく。信頼できる静的特徴が本当に少ないので、完全性は正直にAMBERを報告する。

完全性考慮の推定器が車列を生き延びる理由は単純だ。動く物体に属する特徴を信じないからだ。上のフレームでは、セマンティックマスキングが車列の特徴10個を拒否し、静的な2個だけを残したので、推定器は列にロックオンしない。軌跡は保たれる。しかし私が予期していなかったのは、同じ瞬間に完全性モニターがしたことだ。画面を緑に塗って世界は無事だと偽らなかった。AMBERに切り替わった。車列の特徴をマスクした結果、信頼できる静的ランドマークが本当に一握りしか残っていなかったからだ。正確でありながら神経質で、同時に、そう言った。

推定器には言えないことをモニターが教えてくれた最初の瞬間であり、正確さそのものより価値がある。それは、私が避けていた問いも突きつけた。

なぜ推定器は自分を認証できないのか?

推定器自身の数字で答えようとして、恥ずかしいほどの時間を費やした。最初の完全性チェックは、フィルターが報告する不確かさ——位置のシグマ——を読み、それでゲートするだけだった。共分散が締まって見えれば飛ぶ。妥当に思えた。

車列がそれを粉砕した。標準VIOがトラックにロックオンしたとき、報告されたシグマは小さく保たれた。追跡できる一貫した何かが見つかったからこそ、フィルターは自信を持っていた。その一貫性は嘘だったが、共分散にはそれが分からない。共分散は、推定器が自分自身について述べる声明だからだ。証人に自分の証言を認証させていたのだ。

信頼は、信頼される側に依存してはならない。

その一文が設計になった。航法完全性モニターは、意図的に推定器の外側に生きる。別の問いに答える別のコードとしてだ。「自分の位置は何か」——それを答えるのはEKF——ではなく、「この位置はいま信頼できるか」——それを自分自身について答える能力はEKFには構造的にない。モニターは3つの信号を融合し、厳しい閾値でGREEN、AMBER、またはREDの状態にする。利用可能な特徴数(8以上でGREEN、1未満でRED)、位置シグマ(0.6 m未満でGREEN、1.5 m超でRED)、そして視覚NIS——推定器が自信満々に誤っているケースをまさに捉えるカイ二乗のイノベーション一貫性(7.0未満でGREEN、30.0超でRED)。単一の数字を推定器がごまかすことはできない。3つ中2つは、推定器自身の自己評価から来ないからだ。

セーフティクリティカルな自律について、いま最も強く信じているのはこれだ。より良いVIOは、自信満々だが誤った失敗を直さない。なぜなら、「これは信頼できるか」は、「これは何か」とは別の問いであり、後者を生み出した仕組みで前者に答えることはできないからだ。業界は推定器をもっと賢くすることに走り続ける。耐久するアーキテクチャは、より賢い推定器ではない。それを覆す覚悟のあるモニターだ。

飛行を拒否する一行のコード

自分のプロダクトを本当に理解した瞬間はトンネルだった。システムが最も何もしない瞬間だから、覚えている。

t=52からt=66のあいだ、ミッションは暗いトンネルに入り、利用可能な視覚特徴は実質ゼロに崩壊する。見るものがない。どれほどよくチューニングされていても、観測できない場面から信頼できる位置を製造できる推定器はない。これは直すべき失敗ではない。尊重すべき事実だ。標準VIOはなおも試み、主張する権利のない位置へと惰走していく。

Lodestarは別のことをする。特徴が死に、位置の不確かさが閾値を越え、0.5秒の持続REDのあと、モニターはフェイルセーフをラッチし、t=52.5 sでリターン・トゥ・ホームを指令する。位置をでっち上げない。推定を信頼できないと宣言し、安全な振る舞いに制御を戻す。しかも決定論的に、ループ内で何かを決めるモデルなしで行う。

暗いトンネル内のt=54.5 sのLodestar:完全性はRED、「位置は信頼できない」、特徴数0、標準VIO誤差35.2 mで軌跡は地図上端へ飛び去り、タイムラインはt=52.5 sでリターン・トゥ・ホームが発火したことを示す。
t=54.5 sのトンネル。特徴は0に崩壊し、完全性はRED(「位置は信頼できない」)、リターン・トゥ・ホームはすでにt=52.5 sで発火している。標準VIOはなお自信満々で、35.2 mの誤差まで飛んでいった。これがプロダクトの核心だ。自信満々な位置確定ではなく、正直なあきらめだ。

ここでの数字には注意したい。誠実さこそが売りだからだ。この1回のシードされたミッションで、モニターは本当に観測不能なトンネルを100%の確率でフラグし、健全なGPS非依存区間での誤警報はおよそ0.1%であり、拒否された飛行の56.3%でGREENを保つ。これらはこのミッションの結果であり、機構の物理忠実な証明であって、オープンワールドの飛行試験保証ではない。耐久する主張は構造だ。推定器の外側で計算される信頼、持続REDからラッチされたリターン・トゥ・ホーム、誰も航行できない場面での正直なあきらめ。正確なメートルはこの実行に属する。アーキテクチャはすべての実行に属する。

自律スタックで最も価値のある一行のコードは、飛行を拒否する行だ。

誰にも私の言葉を信じさせなくてよいように、レポートに入れたもの

スクリーンショットを信じさせたくなかったので、最後に作ったのは証跡だ。ワンクリックで飛行完全性レポートをエクスポートする——JSONと印刷可能なHTML——スコアボード、見出し指標、あきらめの正しさ、フェイルセーフ時刻、イベントのタイムライン、そして私が最も気にかける部分、スタブと延期の明示的なスコープ開示が付く。

その開示は埋める免責ではない。機能だ。レポートは率直に述べる。視覚フロントエンドは代用品であること、LiDAR融合は実LiDAR因子ではなく模擬の距離制約であること、MAVLinkインターフェースとJetsonスループットはここでは行使されていないこと、Jetson Orin NX 16 GB上の30〜45 FPSは目標ハードウェア仕様であって測定結果ではないこと。レポート内の16,000回のEKF伝播更新はデモ機で測定された。FPSは測定されておらず、レポートはまさにその言葉でそう言う。

LiDAR融合を有効にしたエクスポート済み飛行完全性レポート:完全性考慮実行のドリフト0.01%、飛行の78.9%がGREEN、フェイルセーフ「n/a(LiDARが完全性を維持)」、独立真値に対するスコアボード。
LiDAR融合を有効にしてエクスポートした飛行完全性レポート。トンネルを固定する模擬LiDAR距離制約により場面は観測可能になり、ドリフトは0.01%まで落ち、飛行の78.9%がGREENを保ち、モニターは正しくフェイルセーフを発火しない。レポートは、これが取引であって魔法ではないと明示する。

このLiDAR実行はじっくり見る価値がある。多くのデモがごまかす場所だからだ。模擬LiDARをオンにするとトンネルは回復する。距離制約が解を固定し、完全性が保たれ、フェイルセーフは発火しない——場面がもはや観測不能ではないからだ。その実行だけを見せて問題は解けたと呼ぶのは簡単だ。しかしレポートは、ソリューションページが認めるコストも運ぶ。およそ250〜400 gのペイロードと8〜12 Wの電力。LiDARは本物のSWaP-C請求書が付く本物の工学トレードであり、無料の勝利ではない。買い手は利益の隣にその請求書を見る資格がある。

このシステム近くにモデルはちょうど1つだけある。構造化レポートから技術レビューの物語を起草するオプションのボタンだ。飛行ループの完全に外側で動き、散文を書く。制御判断には決して触れない。飛ぶかどうかを決めるゲートは決定論的で、シードされ、オフラインであり、物語ボタンを引きちぎっても同じ呼び出しをする。その境界には厳しかった。言語モデルが、ドローンが自らの位置を信頼するかどうかに一票を持つ日は、責任を負いたくない日だからだ。

何度も立ち返ること

GPSが死んでも正確さを保つドローンを作ろうとし、このミッションでは1パーセント未満のドリフトでそれができた。予想外だったのは、正確さは簡単な半分だと確信して戻ってきたことだ。

正確さは誰でも入れるレースだ。この分野の誰もが、推定器をもう少し締め、特徴をもう少し密にし、バックエンドをもう少し賢くしており、それらはみな良い仕事だ。しかしどれも、妨害バブルでドローンを本当に殺す問い——「どれだけ誤っているか」ではなく「自分がどれだけ誤っているかを知り得ない状況にいるのか」——には答えない。その問いは推定器の外側から、地味なことを言い、制御を手放す覚悟のある何かによって問われなければならない。

正確さは誰でも入れるレースだ。自分が盲目だと知るシステムこそがプロダクトだ。

すべてを自分で実行し、ピンクの線が飛び去り、続いてRED状態が発火するのを見られる——veriprajna.com/ja/demos/gps-denied-drone-autonomy。シードされているので、私が見たものとまったく同じものが見える。

読むより見るほうがよければ、エンドツーエンドで動いている全体がここにある。

いまも手放せない問いはこれだ。自律スタックで最も価値ある振る舞いがあきらめることなら、工学予算のどれだけがあきらめる部分に、どれだけがいつあきらめるかを学ばなかった部分に、向かっているのか?

関連リサーチ

他のプラットフォームでも公開

確かな信頼のもとに、AIを構築する。

次世代のエンタープライズAI構築において豊富な経験を持つチームと、ぜひご一緒ください。信頼できるAI戦略の設計・構築・導入を、私たちがお手伝いします。

Veriprajna ディープテック・コンサルティング は、ヘルスケア・金融・規制対応分野における安全性重視のAIシステム構築を専門としています。当社のアーキテクチャは確立されたプロトコルに照らして検証され、包括的なコンプライアンス文書を備えています。