屋内GPSのセットアップの間違いとデバッグガイド | Marvelmind
測位精度のトラブルシューティング:要点
この包括的なガイドでは、高精度な屋内GPS・屋内測位システムを導入する際によくある間違いを取り上げます。基本的なセットアップの推奨事項から、ドローンのナビゲーションに欠かせないデバッグの進め方まで、倉庫自動化や自律型ロボットの導入で高くつくミスを避ける方法がわかります。ちょっとした設定の見落としから深刻なトラッキング障害まで、よくある問題を理解し、信頼性の高い屋内位置トラッキングを実現するための実践的な解決策を確認してください。
文字起こし
この包括的なガイドでは、高精度な屋内GPS・屋内測位システムを導入する際によくある間違いを取り上げます。基本的なセットアップの推奨事項から、ドローンのナビゲーションに欠かせないデバッグの進め方まで、倉庫自動化や自律型ロボットの導入で高くつくミスを避ける方法がわかります。ちょっとした設定の見落としから深刻なトラッキング障害まで、よくある問題を理解し、信頼性の高い屋内位置トラッキングを実現するための実践的な解決策を確認してください。
0:00 皆さん、こんにちは。もう一度、基本から始めましょう。基本とは何か。システムの立ち上げ方と、システムを使ったデバッグの仕方です。よくある間違いは何か、それをどう避けるか、解決策は何か。全般的な基本の推奨事項として、システムを構築するときは、もちろん配置マニュアル、操作マニュアルを読み、それに従ってください。そうではなく、ゼロから始めたい場合の推奨事項はシンプルです。最もシンプルな2D構成を作ってください。2D構成とは、2台のビーコン、つまり2台の固定ビーコンを用意して、操作マニュアルで推奨しているとおり、5〜6メートルほどの間隔で壁に設置することです。理想的には、このように少しだけ傾けて設置し、私の前方が、私のモバイルビーコンが動くエリアになります。なぜこうするのでしょうか。
1:04 マイクロフォンの感度特性は前方が高く、横方向はあまりよく聞こえないからです。つまり、このように設置すると、互いの音は聞こえますが、最適ではないかもしれません。そこで、このように少しだけ互いに向き合うように設置することをお勧めしています。そしてビーコンは、モバイルビーコンをトラッキングするエリアに向けなければなりません。これが1つ目です。繰り返しますが、2D、モバイルビーコン1台、そして NIAアーキテクチャ(Non-Inverse Architecture)です。なぜ NIAアーキテクチャ(Non-Inverse Architecture)なのか?それは、NIAアーキテクチャ(Non-Inverse Architecture)では、モバイルビーコンが送信し、固定ビーコンが受信するからです。モバイルビーコンにどの周波数を選んでも、間違えようがありません。一方、IAアーキテクチャ(Inverse Architecture)、
2:05 では間違える可能性があります。たとえば、ビーコンには周波数が書かれていて、これについては後でお話ししますが、IAアーキテクチャ(Inverse Architecture)のビーコンを本来の周波数以外で無理に動作させるという間違いをする人がいます。たとえば、私の目の前には37 kHzのビーコンがありますが、これを31 kHzに設定してしまう人がいます。それでは動作しません。送信用の超音波周波数は、白いラベルに書かれている本来の周波数以外には絶対に設定しないでください。とにかく動作しません。受信については、どの周波数でも受けられます。ただしこれはSuper-Beaconの場合で、より古くから実績のあるBeacon HW v4.9には自由度がまったくありません。送信周波数も受信周波数も、ここに書かれているとおりでなければなりません。一方、
3:08 Super-Beaconでは、受信周波数はどれでもよく(システムが自動で選びます)、送信周波数だけはここに書かれているとおりにします。繰り返しますが、2Dの構築を始めるときは、1つのサブマップからなるマップ、モバイルビーコン1台、そしてNIAアーキテクチャという構成にしてください。これが考えうる最もシンプルな構成で、間違いが起きる可能性が最も小さくなります。もちろん、これは最もシンプルな構成にすぎず、本来作りたかった構成ではありません。そこから複雑さを1回に1段階ずつ上げていきます。こうした推奨はこれまで何度も何度もお伝えしてきましたが、それでも同じ間違いが繰り返されています。だからこそ、改めてこの動画を撮っています。とにかく1回に1段階です。どういうことでしょうか。たとえば、NIAアーキテクチャで動いているとします。次のステップは、NIAアーキテクチャからIAアーキテクチャへの移行かもしれません。ほかは何も変えません。ビーコンの数も、モバイルビーコンの数も増やしません。何も変えずに、
4:13 同じビーコンを使い(できれば各ビーコンの周波数が異なっていること。そうでなければビーコンを交換する必要があります)、ソフトウェアをNIAアーキテクチャ用からIAアーキテクチャ用に更新して、まったく同じセットアップでテストします。NIAアーキテクチャで問題のないトラッキングが得られたら、固定ビーコンとモバイルビーコンのソフトウェアをIAアーキテクチャ用に更新し、IAアーキテクチャでも問題のない軌跡が得られることを確認します。ほかはすべて同じです。NIAからIAに変えただけです。これが1つのステップです。それが達成できたら、次のステップに進めます。たとえば、モバイルビーコンをもう1台追加することです。1台だったところにもう1台を加え、2台以上を動かします。これが2つ目の層、2つ目のステップです。あるいは、「いや、2台目のモバイルビーコンは要らない。もっと広いエリアが欲しい」という場合もあるでしょう。その場合は2つ目のサブマップを追加します。ここでも引き続き、同じNIAアーキテクチャのままです。たとえば、NIAアーキテクチャで動かしていたとします。
5:18 サブマップを1つ構築したら、IAアーキテクチャに移る代わりに、2つ目のサブマップに進みます。2つ目のサブマップを構築しますが、ほかはすべて同じで、モバイルビーコンは1台、アーキテクチャもNIAのままです。2つ目のサブマップを追加し、1つ目とは別に、1つ目と同じ手順で構築します。2つ目のサブマップでも問題なくトラッキングできることを確認してください。そのうえで、サービスゾーンやハンドオーバーゾーンなどに関する当社の推奨事項に従います。それから固定すれば、マップの完成です。ただし大切なのは、ステップを飛ばそうとしないことです。最終的に作りたい構成をいきなり作ろうとしないでください。最終的にはそこに到達しますが、小さなステップに分けて、1回に1段階ずつ進めてください。それでも行き詰まったら、基本の推奨は変わりません。構成を分解し、うまくいっていた直前の段階に戻って、そこからやり直します。この小さな
6:20 ステップを1つずつ進めれば、うまくいき、デバッグもでき、「これを動かしたらうまくいかなくなった」とわかります。そうすれば、何が問題だったのか、周波数が間違っていたのか、見通し(超音波が直接届く経路)がなかったのか、ほかにもいろいろ考えられる原因のどれなのかが、ずっとずっと理解しやすくなります。ステップを飛ばすと、問題がどこにあったのかを見極めるのは当然難しくなります。これはドローンの例です。ドローンは3Dで、しかも自律飛行なので、おそらく最も複雑なケースですが、考え方は同じです。ドローンを例に説明しますが、たとえば自律型ロボットでも同じです。さて、「自律型ドローンを1機、あるいは複数機飛ばしたい」というところから始める場合、つまりNIAアーキテクチャでペアードビーコンとMission Plannerを使うという、さらに一段複雑な構成でも、始め方は同じです。まず基本的な2Dの
7:23 マップを、サブマップ1つとモバイルビーコン1台で構築します。後で規模を大きくするとしても、最初は同じところから始めます。構築して、ジャンプのない問題のないトラッキングを得て、すべてが理想的な状態になれば、それで結構です。それでもまだドローンには触りません。ドローンはそのまま充電でもしておきます。次に、同じものを3Dで構築します。ビーコンを2台追加して、マップ内のビーコンは4台になります。同じことを繰り返します。高さの設定を忘れないでください。固定するときに距離テーブルが白になっていなければならないことも忘れないでください。こうした基本はすべて操作マニュアルに記載され、強調されていますので、それに従ってください。ただし今回は2Dから3Dへの移行です。次に、これをドローンに載せますが、ドローンはまだ動かしません。モバイルビーコンをドローンに接続するか、ドローンに載せるだけで、ドローンを手に持って同じトラッキングを繰り返します。何が加わるかというと、ドローンの電源が入っていて、おそらくテレメトリーなども動いている、
8:29 といったことです。ドローンはまだ飛ばしません。まだです。それでも、ビーコンがドローンに載ったことで複雑さはすでに増しており、何らかの形で邪魔や妨害になるものがあるかもしれません。妨害がなく、トラッキングが変わらないことを確認します。問題なければ、さらに先へ進めます。次は何か。手動でプロペラを回します。プロペラはノイズを出します。ロボットの場合も同じです。たとえば、当社のMarvelmind ロボットがあるとします。やることは同じです。ロボットを実際に自律走行させる前に、まず基本のトラッキング、つまり2Dを行います。ロボットの場合は3Dトラッキングが不要なこともあるので、そのステップは飛ばします。ビーコンをロボットに載せた状態で有効にし(モバイルビーコン単体ではなく、ロボットに載せた状態で)、ロボットを走らせる、いや走らせるまでもなく、手で動かしてみます。問題なく動作します。次に、ロボットを手動で操作して、左、右、旋回と動かしてみます。それでも問題なく動作します。これで次のステップに進む準備ができました。次のステップは何か。今度は遠隔操作で
9:34 ドローンを飛ばします。ラジコン飛行機やラジコンドローンのように、まだ自律ではなく遠隔操作で飛ばすのです。あるいは、ロボットを完全な手動モードのまま走らせます。そして、すべてが動作している状態でも、トラッキングが引き続き良好であることを確認します。そのうえで、ようやく自律的な動作に進む準備が整います。Mission PlannerやArduPilotの場合は、そこでマップを作り、ウェイポイントを置いて、自律飛行を試します。当社のロボットの場合は、Dashboardで経路を作って送信します。この段階では、ロボットにはビーコンが2台載っていますが、まだペアードビーコンではなく、単体のビーコンとして使ってかまいません。ドローンを自律飛行させる場合、当社では通常、ドローンにモバイルビーコンを2台載せることを推奨していますので、まだペアードモードではなくシングルモードで、2台が同時にトラッキングされることを確認します。というのも、
10:42 個々のビーコンが問題なくトラッキングされていなければ、ペアードビーコンがうまく動作するはずがないからです。ですから、それぞれを個別にトラッキングできるようになってから、初めてペアにします。そうしないと、一方はうまくトラッキングされ、もう一方はされていない場合に、位置がジャンプします。ペアにしたビーコンはシステム上互いの距離が固定されているのでジャンプできず、実際には回転していないのに、回転しているかのような挙動になります。実際には、トラッキングが正しくないだけなのです。そうなると、どちらのビーコンが原因なのかもわかりません。だからこそ、ペアードビーコンにする前に、2台を別々に、独立してトラッキングします。それができて初めて、自律飛行や自律走行の準備が整います。考え方はシンプルで、ご理解いただけたと思います。要点は、ステップを飛ばさないこと。1段階ずつ進め、複雑さは時間をかけて上げていくことです。
11:45 よくある問題は、ソフトウェア、ソフトウェア、とにかくソフトウェアです。何度も繰り返しお伝えしていますが、それでも同じ間違いが起きています。ソフトウェアは必ず同じソフトウェアパックのものを使ってください。というのも、ビーコンは、お客様の手元に届く何か月も前に製造されている場合があるからです。ビーコンだけでなくモデムやその他の機器も同様で、その後もソフトウェアは更新されていきます。つまり、ビーコンのソフトウェアはあるバージョン、モデムは別のバージョン、Dashboardはさらに別の3つ目のバージョン、ということが起こりえます。そうではなく、システムを受け取ったら、まず最初に、もちろん操作マニュアルを開き、すべて操作マニュアルどおりに行ってください。そして操作マニュアルに書かれている最初の作業は、USBで接続して、すべてのネットワーク機器に最新のソフトウェアを書き込むことです。すべてとは、すべてのビーコン(モバイルも固定も)、モデム、そしてDashboardです。これらは同じソフトウェアパックのものでなければなりません。そして最大の、本当に最大の間違いは、
12:50 受け取ってそのまま使い始めてしまうことです。そうではありません。すでに説明したとおり、機器は異なる時期に異なるロットで製造されています。ですから、ソフトウェアを更新して、同じソフトウェアパッケージのものに揃える必要があります。また、出荷前のテストでは、製造工程の検査や各種設定のテストなどが行われている可能性があり、設定はほぼランダムな状態かもしれません。そこで必ず行うのが、Defaultボタンを押すことです。Dashboardに移りましょう。たとえば、ここにビーコンがあり、これがDefaultボタンです。これがDefaultボタンです。押してください。押してください。念には念を入れたいときは、こうして何度かDefaultを押すこともあります。いずれにしても、Defaultを押してデフォルト設定を書き込まなければなりません。ただし、システムの設定を大きくいじってしまうと(実際にそうする人もいます)、Defaultですべてが元に戻るわけではありません。たとえば、大きな間違いの1つが
13:52 超音波周波数です。当社のシステムでは多くのことを変更できるようにしているので、超音波周波数も変更できてしまいますが、基板に記載された本来の周波数から変えてはいけません。変更できるようにしている以上、何が正しい周波数かをシステムは判断できないため、Defaultを押しても正しい周波数には戻りません。それだけ非常に柔軟なシステムだということです。ですから、一度変えてしまうと、Defaultでも解決しません。つまり、ここで設定されている周波数、つまり超音波周波数が、ラベルの周波数と同じであることを必ず確認してください。次は、ビーコンが正しく設置されていないケースです。間違え方はいろいろあります。まず、ビーコンがこのような向きになっていない、たとえば正面がこちらを向いているのにモバイルビーコンはあちら側にある、ずれた場所に置いてしまう、
14:58 といった間違いです。たとえば、これらのビーコンは正しく設置されていても、この1台だけが少し後ろにずれているとします。少し後ろにあると、ビーコン自身の筐体の陰になるため、マイクロフォンがモバイルビーコンの音を聞き取れません。だからこそ、理想的にはこのように、互いに少し向き合うように設置してくださいと言ったのです。そうすれば、モバイルビーコンの音も聞こえ、互いの音も聞こえます。これが2Dでは非常に理想的です。このように正面を向けて壁に設置しても問題ありません。ただし、ビーコン間の距離が30メートルなど非常に大きい場合は、問題が出ることもあります。しかし今は立ち上げの話をしているので、5メートルとか10メートルといった、ほどよい距離に設置することを常にお勧めしています。近めにしてください。最初から極端な条件にしないでください。ですから、操作マニュアル、いえ、失礼しました、配置マニュアルに従ってください。2Dの
15:59 トラッキング、3Dトラッキング、高精度トラッキング、複数台のトラッキングなど、例がたくさん載っています。でも、まずは基本の2Dから始めてください。基本の2Dでトラッキングできるようになれば、ほかのことはずっとよく理解できているはずです。次は、システム構築時に距離テーブルが白になっていないケースです。これが距離テーブルです。距離テーブルでは、私の例でいえば13から11までの距離と11から13までの距離が同じで、システムが白で表示していることを確認しなければなりません。問題がなければ、サブマップを固定できます。白でなければ、まだ準備ができていないので、マップを固定してはいけません。システムは、距離が一致しないなど、何か問題があることを知らせているのです。距離が正しくないときはマップを固定しないでください。距離が一致していなければ、間違いなく誤差が生じます。ですから、この間違いはしないでください。ほかの基本的な間違いと同じく初歩的なものですが、それでも起きています。マップを固定するときは、距離テーブルが白でなければなりません。もう1つは、
17:07 サブマップを固定する……あ、失礼、今固定します。つまり、サブマップは固定したのに、マップは固定していないケースです。ビーコンをトラッキングさせるには、その前にマップを固定しなければなりません。マップを固定すると何が起きるのでしょうか。マップを固定すると……ご覧のとおり、私は今、皆さんにはまだ提供されていない最新のソフトウェアを使っています。1週間ほどで公開される予定です。このソフトウェアでは、まさにこの点に対処しました。新しい最新のソフトウェアでは、マップを固定していなくても、ビーコンの位置はある程度更新されます。本来の頻度ではありませんが、少なくとも止まってしまうことはありません。現行のソフトウェアでも、また一般論としても、当社の推奨は、マップを必ず固定することです。なぜか。マップを固定すると、マップがモバイルビーコンに送られるからです。マップが固定されるまで、ビーコンはマップについて何も知りません。そのためトラッキングできません。だからマップを固定しなければならないのです。そしてこれは、非常によくある間違いです。サブマップは
18:13 固定したのに、マップの固定を忘れてしまうのです。マップは必ず固定してください。次はUSBケーブルです。これについては専用の資料もありますが、USBケーブルは本当に、本当に製品によって違います。規格化された汎用品であっても、機構面でも電気的特性でも品質でも大きく異なります。ですから、思い込みは禁物です。「これは前に使えたから、動くはずだ」と思うかもしれません。それで試し続けるのも構いません。しかし当社の基本的な推奨は、そのケーブルは捨てて、別のUSBケーブルをつなぐことです。2本目、3本目と試してください。ケーブルは本当に、本当に違うのです。これは物理的なUSBケーブルだけでなく、USBポートについても言えます。たとえば私のノートパソコンは、Windowsの不具合か何かで、ときどき左側のUSBポートがすべて使えなくなっていました。もちろん、
19:13 Windowsのデバッグを延々と続けることもできますが、時間には限りがありますから、別のポートや別のコンピューターを選んでください。極端な場合には、私はWindowsからLinuxに乗り換えることさえあります。USBポート、Windows、ソフトウェアのバージョン、画面解像度など、何か非常に特殊な組み合わせがあるのかもしれません。それでも考え方は同じで、時間をかけすぎないことです。USBを替える、ケーブルを替える、必要ならUSBポートを替える、必要ならノートパソコンを替える、必要ならビーコンやモデムも替えてください。とにかく入れ替えて、どうなるかを見てください。それで多くの時間を節約できます。そして、すべての中で最大の問題は、見通し(超音波が直接届く経路)がないことです。皆さん、当社のシステムは高精度です。高精度とは、センチメートル級の精度の話をしているということです。そのためには見通しが必要です。これについては動画がいくつかあります。もちろん物理の問題です。超音波を使っているので、私自身の体はもちろん、ただの
20:16 紙1枚でも、超音波は完全に遮られてしまいます。一方、UWB(超広帯域無線)もテストしました。UWBは人体を透過するとされていますが、答えはイエスでもありノーでもあります。私の体は真空とは性質が違うからです。つまり、電波が私の体を通過したとしても、その電気的な長さは物理的な長さとは異なります。人体の大部分は水分で、体の誘電率は真空とは違うからです。そのため、距離はこうではなく、おそらくこうなります。その結果、位置がジャンプするなど、さまざまなことが起きます。要するに、見通し、見通し、見通し、見通しです。では、何と何の間の見通しでしょうか。まず、マップを構築するときは、固定ビーコン同士の見通しです。固定ビーコンを壁に設置したときに、互いが見えていなかったらどうなるでしょう。信号は反対側の壁で反射して戻ってきます。するとシステムは、
21:21 実際には隣のビーコンが5メートルではなく15メートル離れている、と判断してしまうのです。鏡のような反射ですね。見通しがあれば問題ありません。直接の信号が見えているからです。もちろん反射もありますが、問題になりません。当社のシステムの仕事は最初に届く信号を検出することで、見通しがあれば、それを常に正しく検出できます。見通しがなければ、物理的に測定は不可能です。見通しがないのに、どうやって距離を測るのでしょうか。ですから見通しは必須です。本当に注意してください。ビーコンのところまで行って、そこから実際に見えるかどうかを確かめてください。数メートル離れたところからビーコンを見て、「よし、見えている」と思っても、近づいてみると「いや、見えていない」ということがあります。ビーコン自身のアンテナが遮っているのです。マイクロフォンは1ミリほどの小さなもので、自分のアンテナで遮られてしまうことがあります。前にも触れましたが、ビーコンが実は
22:24 このように向きが変わっていて、自分のセンサーがマイクロフォンを遮っている、ということもあります。どれも小さなことですが、小さなことを1つ、また1つとやってしまうと、まず積み重なっていきます。たった1つでもすべてを台無しにすることがあり、そこから次々と問題が起きます。基本に従えば、最初からすべてうまく動きます。従わなければ、大混乱を招きます。システムが補正を試みることもありますが、それは間違いの程度によります。次は、特に2Dで、高さが設定されていないケースです。3Dでも2Dでも、固定ビーコンの高さは必ず入力しなければなりません。高さは相対的なものだからです。私は5階にいるので、自分のフロアを基準にすれば高さは2メートルほどですが、1階を基準にすれば30メートルほど、山の上にいて海面を基準にすれば2キロメートルほどになります。ですから、高さは何を基準にするかで決まります。自分のフロアを基準にした高さを入力してください。ほかのすべても、この仮想の床を基準にすることになるからです。ですから高さを入力し、
23:29 設定してください。設定はとても簡単です。もう一度Dashboardを開きます。固定ビーコンを選ぶと、これが高さで、私の例では1.9メートルです。2Dでは必ず、固定ビーコンだけでなくモバイルビーコンにも高さを設定しなければなりません。私のモバイルビーコンはあのあたりにあるので、1.4メートルに設定しています。とはいえ、これは致命的な間違いではありません。高さはデフォルトでは設定されておらず、ゼロになっています。ゼロは、高さがすべて同じという意味です。そのため、高さを設定しなくても致命的な間違いにはならず、動作はするかもしれません。それなりのトラッキングが得られることもあるでしょう。しかし、何が起きるでしょうか。位置がずれます。高さの誤差はX-Yの誤差として現れるからです。ただし、これはほぼ一定の誤差です。つまり、このエリアでトラッキングしていても、高さを正しく設定していないので、
24:32 このようにトラッキングされることがあります。相対的なトラッキングは問題ありませんが、絶対位置は正しくありません。次にもう1つの点です。2Dマップでは、幾何学的に区別できないことがあります。基本的な幾何学の話です。システムの仕組み上、ビーコンがこの点にあるのか、こちらの点にあるのかを区別できません。システムはモバイルビーコンから各固定ビーコンまでの距離を測っています。この距離とこの距離が同じなら、これらの距離を満たす点は2つ存在します。2Dでこの問題を解決するには、通常は3台以上のビーコンが必要です。しかし、購入いただくビーコンの台数を抑えられるよう、2Dでは2台のビーコンだけで済むようにしています。ただしその場合は、どちらの半平面を使っているのかを指定しなければなりません。その指定は
25:38 これで行います。だからこそ、ビーコンを壁に設置することをお勧めしているのです。私の例のようにビーコンを物理的に壁に設置すれば、壁を通り抜けることはできないので、この間違いは起こりえません。ですから、こうした間違いが起こりうるような置き方はしないでください。壁に設置するのが一番簡単です。そのうえでモバイルビーコンを動かし、2台を結ぶ線に近づき、さらに近づいていくと、ある時点で位置が反射して戻ります。線を越えて進んでも、位置は越えずに、こう動きます。あ、まず点の数を増やしましょう。このエリアからこちらのエリアへ移動すると、位置はこう動いて、反射します。システムに対して、「この半平面だけだよ。こちら側で位置を求めようとしないで。こちらには何もないから」と設定して伝えているからです。ところが、固定ビーコンを
26:46 倉庫のど真ん中に設置して、その線をまたいでしまう人がいます。当然、間違いが起きます。ビーコンの設置を誤り、2台を結ぶ線に注意を払っていないという間違いです。次はマイクロフォンの設定です。これは少し複雑で、通常の推奨はやはりDefaultボタンを押すことです。マイクロフォンの設定はここにあります。このエリアをよく調べてください。今は情報量が多くなりすぎるのでお見せしませんが、特に外付けマイクロフォンを使うSuper-Beaconの設定はかなり複雑です。たとえばオムニマイクロフォンなどもありますが、デフォルトでは1つだけです。これがRXです。最大4つのマイクロフォンに対応していますが、このビーコンには内蔵マイクロフォンが1つしかないので、RX1でなければなりません。しかし、追加のマイクロフォンがある場合、たとえばオムニマイクロフォン—オムニマイクロフォンは4つのマイクロフォンをペアード構成にしたもので、ここ、通常モードで切り替えます。今はやりませんが……
27:49 通常モード、ペアードなど、詳しくは操作マニュアルで確認してください。設定はいくつかあります。これをきちんと行わないと、聞き取りに使うマイクロフォンを誤ってオフにしてしまったり、逆に存在しないマイクロフォンを有効にしてしまったりすることがあります。その場合、何かを聞こうとしても、マイクロフォンがないので信号はありません。また、オムニマイクロフォンを使っているのに、シングルマイクロフォンに切り替えてしまうこともあります。オムニマイクロフォンは4方向から聞き取れるのに、1方向からしか聞き取れなくなります。これは見つけにくい問題です。聞こえてはいるものの、この1方向からしか聞こえず、残りの3方向については聞こえないので、うまく聞き取れないのです。つまり、信号がこちらから来ると聞こえません。オムニマイクロフォンは直接の信号を聞き取れず、代わりに、たとえば反射した信号を聞いてしまい、少し混乱した状態になります。要は、すべてのマイクロフォンが正しく設定されていることを確認することです。同じことが
28:54 トランスデューサーにも言えます。トランスデューサーは5つあります。Defaultを押すと5つすべてが有効になります。しかし、5つ全部は必要ない場合もあり、無効にしたあと、元に戻すのを忘れてしまうことがあります。なぜ、どんなときにそうするのか。たとえば、私のところに2台の固定ビーコンがあるとします。こちらが90度をカバーし、こちらも90度をカバーします。こちらや上向きのトランスデューサーは必要でしょうか。いいえ、要りません。左右も要りません。そこで、この1つだけを有効にすることがあります。そうすると、5つ全部から発信して平均化されるのではなく、小さな1点から発信されるので、最も高い精度が得られます。小さな単一の点から発信されるので、トラッキングの精度が最も高くなるのです。しかし同時に、設定を変えたまま忘れて、ビーコンをこのように設置すると、マップが構築されません。こちらのトランスデューサーは発信しているのに、こちらは発信していないからです。20メートルほど離して設置した場合、このトランスデューサーは
30:00 その方向にはごく弱くしか発信しません。ですから、必要なトランスデューサーはすべて有効にしなければなりません。すべての場合もあれば、一部だけの場合もあります。たとえば、ビーコンをこのように設置して前方をカバーしたい場合は、これとこれを無効にします。無効にするには、こうします。これで無効になりました。今度は有効にしました。ただし、忘れないようにしてください。何かおかしいと思ったら、必ず確認してください。こちらも同様です。つまり、トランスデューサー(発信側)の設定とマイクロフォンの設定があり、どちらも正しく設定されていることを確認してください。ほかには何があるでしょうか。マップが反転(ミラー)していることもあります。ご覧のとおり、11番と13番のビーコンがあります。マップは簡単に反転してしまいます。マップは固定されているので反転できませんが、あえて間違えてみましょう。ほら、マップを反転させました。これで
31:07 固定しようとすると、表示が変わります。では、マップが反転していることはどうやってわかるのでしょうか。何かおかしなことが起きる、たとえば、ビーコンを11の方へ動かしているのに、私の例では実際には13の方へ動いている、といったことです。トラッキング自体は問題なくても、反転している可能性があるので、必ず確認してください。そのためのボタンがこれ、Map Mirrorです。もう1つがこれ、Map Ceilingです。これは固定ビーコンが上にあるか下にあるかによります。この面も越えてはいけません。越えると、たとえば3Dトラッキングの場合に問題になります。2Dでは関係ありません。2Dでは高さが自由に変わらず、同じ値でなければならないからです。しかし3Dでは関係します。ビーコンを結んでできる面を越えてしまうと、システムには位置がわかりません。5台目のビーコンが
32:10 なければ、どちら側にあるかを判断できないのです。つまり、実際には高さが増えているのに、ここでは減っていく、あるいはその逆になることがあります。3Dではこのボタンを使ってください。ただし今は、本当に基本中の基本を確認しているので、まだ3Dではなく2Dを扱っている前提です。それでも、これらのボタンは覚えておいてください。正しい方向に動いているのに、Dashboard上の位置が逆方向に動くときに使います。次はサービスゾーンです。これはさらに一段複雑になります。マップを作り始めるときは、たとえばサブマップにビーコンが2台だけという状態でマップを固定します。サービスゾーンは、指定しなくても常に存在します。常にあって、
33:11 上限は30メートル、つまり固定ビーコンからモバイルビーコンまで30メートルに設定されています。各固定ビーコンは、30メートルを音速で割った時間を超えては聞き取りを続けず、そこで止まります。30メートル分の距離だけ聞き取って、止まるのです。ですから、画面に表示されていなくても、エリアはこのような形になります。サービスゾーンはこのようになります。しかし2つ目のサブマップを作る場合(2つ目のサブマップの作り方はここでは説明しません。それについては動画があります)、2つ目のサブマップを作成し、そこに固定ビーコンを入れて割り当てるなどします。では、各サブマップでサービスゾーンを設定しなかったらどうなるでしょうか。それぞれのサブマップが小さく、たとえば5メートルと5メートルだとします。どうなるか。重なり合うエリアが非常に大きくなり、エリアの大部分が
34:14 重なってしまいます。たとえばこの地点では、こちらのサブマップもこちらのサブマップもビーコンの位置を求めようとします。どちらにとっても、デフォルトの30メートルのサービスゾーン内に入っているからで、これは誤りです。だからこそ、複数のサブマップを作り、複数のサブマップからなるマップを構築するときは、サービスゾーンを指定しなければならないと申し上げているのです。サービスゾーンとは、各サブマップの担当エリアです。この例では、ここがこちらの担当エリア、こちらが2つ目のサブマップで、ここがその担当エリアです。両方が担当するハンドオーバーゾーンも必要ですが、移動体の速度に応じて1メートルか2メートル程度の、比較的狭く管理された範囲にします。これを行わず、サービスゾーンを指定しないと、サブマップ同士が争うような状態になります。「位置を決めるのは私だ」「いや、私だ」と。システムは最良の情報を使おうとしますが、同じ位置について意見が多すぎて、システムが混乱してしまいます。
35:19 ですから、これは避けてください。多くの場合、システムはなんとか対処し、かなりうまく動きますが、本来ずっとシンプルであるべき状況を、間違ったやり方で不必要に複雑にしていることになります。以上が基本的な間違いです。避けるようにしてください。これはよくある例を挙げただけで、ほかにもたくさんありますが、どれも非常にまずい間違いの典型例です。実際に再現してみましょう。今日たまたま見つけた、非常に大きな間違いがあります。固定ビーコンをテープで覆ったり、テープで壁に貼り付けたりすることです。耳をふさがれ、目隠しされたようなものです。テープは音を通さないので、こうなってしまいます。送信も受信も完全に遮られます。つまり、ビーコンは超音波を発することも、聞き取ることもまったくできなくなります。
36:26 テープで完全に密閉されているわけではないので、動作しようとはしますが、めちゃくちゃな状態になります。なぜか。信号はここから出て、反射するからです。マイクロフォンは非常に感度が高いので、送信も受信もある程度はでき、反対側からこのように聞こえることもあります。しかし、これはまずい。非常にまずい状態です。うまく動作しない可能性が高いからです。何かしらは動きますが、デバッグが非常に難しくなります。トラッキングは表示されるものの、ひどいトラッキングで、なぜそこまでひどいのかを突き止めるのが非常に難しいのです。私たちもこれを偶然発見しました。テープがよく見えなかったからです。ですから、ここは絶対に、絶対にふさがないでください。こうなっていなければなりません。ここが聞き取る部分、ここが発信する部分です。これらはまったく遮られてはいけません。途中に何かがあってもいけませんし、もちろん、このようにテープや箱でふさいでもいけません。というのも、ビーコンを
37:29 湿気から守るために、プラスチックの箱の中に入れてしまう人がいるからです。もちろん、そんなことはできませんし、してはいけません。システムがまったく機能しなくなります。そのために屋外用のバージョンがあり、特殊なメンブレンを備えています。この特殊なメンブレンによって、標準で保護されているのです。屋外用バージョンがあるのには、ちゃんと理由があります。ビーコンを箱の中などに閉じ込めてはいけません。もう1つ、おそらくさらによくある、しかし非常に致命的な間違いは、すでに何度か触れましたが、ラベルの確認です。たとえば、ここに Super-Beacon があり、ラベルには915とあります。つまり915/868 MHz帯、高い方の周波数帯です。そして37 kHzとあります。つまり、これは37 kHzのビーコンです。また、IMU搭載のビーコンであることも示されています。この37 kHzについては、すでにお話ししました。これが私のビーコンです。ビーコンを選択すると、これが周波数です。
38:30 ビーコンのラベルが25 kHzなら、超音波周波数は25 kHzでなければなりません。変更してはいけません。変更すると非常にまずいことになります。何が起きるでしょうか。本来の周波数が31 kHzのビーコンを、無理に25 kHzにしたとします。結果はこうです。ビーコンは25 kHzで発信しようとし、部分的には25 kHzで発信しますが、25 kHz用に設計されていないので、うまく発信できません。トランスデューサーは共振性が非常に強く、31 kHzで共振します。ですから、25 kHzで発信しようとしても、かなり弱くなります。しかも共振体なので、叩くと31 kHzで鳴り始めるようなものです。25 kHzで鳴らそうとしても、31 kHzでも共振してしまいます。結果として、無理に設定した25 kHzと、本来の周波数である31 kHzの両方で共振することになり、うなりのような音を出してしまいます。その結果、完全に
39:31 めちゃくちゃになります。トラッキングはされますが、ひどいジャンプなど、あらゆることが起きます。ですから、これは絶対にしないでください。何か本当におかしなことが起きているなら、原因は見通しの問題、つまり見通しがない状況である可能性が非常に高く、そうでなければ、この非常に致命的な間違いです。ラベルを確認してください。すべてのビーコン、本当にすべてのビーコンを確認し、最初からすべてやり直してください。次はジャンプです。ジャンプについてはすでに触れました。これは特に重要です。良いトラッキングと悪いトラッキングを分けるのが、まさにこれだからです。では、実際にジャンプを再現してみましょう。ここにモバイルビーコンがあり、ビーコンは白い箱の上に置いてあります。固定ビーコンはあちらです。では、やってみましょう。うまくいくかどうかわかりませんが、いくつか間違いをしてみます。まず、2Dなのに高さを変えます。そして、モバイルビーコンを固定ビーコンの1台から隠してみます。あの後ろあたりに。見てみましょう。
40:41 すでにかなりおかしな挙動になっています。もっとも、今は私の遮り方がそれほど十分ではないかもしれません。では……あ、ほら、ご覧ください。私の体のせいで起きています。1台か、あるいは両方が見えていないのです。いずれにしても、このように起きます。もう一度。今は見えています。トラッキングは良好です。ズームしてみましょう。トラッキングは良好で、すべて問題ありません。では……ほら、よく見えているので、問題のないトラッキングです。もう一度やってみます。今は一部はトラッキングされ、一部はされていないようですが、これではあまりうまく遮れていないようです。でも、私の体で遮ると……見てみましょう。はい、見通しがなくなると、すべてが乱れ始めます。ですから、これが多くの人が犯す最大の間違いです。とにかく見通し、見通し、見通しです。
41:46 次は何でしょうか。次はノイズです。ちなみに、ノイズが問題になるのは聞き取る側のビーコンの近くです。IAアーキテクチャではモバイルビーコンが聞き取り、NIAアーキテクチャでは固定ビーコンが聞き取ります。ご覧のとおり、私はかなり大きな声で叫んでいて、固定ビーコンは数メートルしか離れていませんが、問題なく動作しています。ですから、これは問題になりません。なぜでしょうか。私は超音波を出していないからです。もし私がコウモリで超音波を出していたら、特に37 kHzの超音波なら、妨害になるでしょう。37 kHzと25 kHzですね。それでも、妨害になりそうなノイズを出してみます。妨害になるのは、甲高い高周波のノイズ、いわば広帯域のノイズです。この非常に悪いノイズを出してみましょう。ほら。
42:52 非常に大きなノイズを出しているので、最悪の状況です。ビーコンに向かって直接叫んでいるようなものです。それでもシステムは持ちこたえていますが、何が起きているかはオシロスコープで確認できます。とても簡単です。私のビーコンは14番です。どのビーコンで聞き取るか、どのビーコンからの信号を聞くかを選びます。これでは信号が強すぎますね。少し弱くしましょう。まだ非常に強いです。はい、これでモバイルビーコンから11番の固定ビーコンがどう見えているか、そして13番の固定ビーコンがどう見えるかがわかります。こちらは周波数が違う(37 kHz)ので信号は弱めですが、問題ありません。では、先ほどと同じ声、つまりノイズを出してみましょう。
43:56 ご覧のとおり、ノイズのレベルがかなり高くなっています。それでも急峻なフィルターなどのおかげで、超音波の信号はノイズを上回っていますが、考え方は同じです。常にS/N比(信号対雑音比)の問題なのです。今は信号が強く、ノイズも非常に強いのですが、当社のフィルターは非常に急峻です。しかし、20〜30メートルほど離れると、これほど大きなノイズでは信号がかき消されてしまうでしょう。位置がジャンプします。ですから、ジャンプが見られたら、その原因はほとんどの場合、見通し(超音波が直接届く経路)が悪いことです。95%ほどはそうですが、残りは聞き取る側のビーコンのそばにある外部ノイズが原因の可能性があります。IAアーキテクチャではモバイルビーコン、NIAアーキテクチャでは固定ビーコンが聞き取る側です。だからこそ、NIAアーキテクチャとIAアーキテクチャを選べるようになっているのです。たとえばドローンは非常にうるさいので、ドローンにはNIAアーキテクチャ、またはMulti-Frequency NIAアーキテクチャを使い、モバイルビーコンが発信するようにします。
44:59 モバイルビーコンは非常に狭い帯域、非常に狭いチャンネルで超音波を発信しているので、非常にうるさい大型ドローンであっても問題ありません。固定ビーコンが広帯域のノイズをフィルタリングし、当社のチャンネル内のS/N比が十分に確保されるので、ビーコン自身が発した信号を検出できるからです。しかし、ドローンにIAアーキテクチャを使おうとすると、ビーコンが離れた場所にある場合はうまくいきません。ノイズの帯域が広すぎ、強すぎるからです。つまり、S/N比、すなわちドローンのノイズの強さや距離に応じて、ビーコンを近づけ、場合によってはさらに近づける必要があります。どこかの時点でまた動作し始めますが、これは当社としてはお勧めしません。NIAアーキテクチャを使うほうがはるかに良いのです。
46:00 そうすれば、信号がノイズを単純に上回ります。次はソフトウェアの不一致で、これは最初にも触れました。おかしなことは、たいていソフトウェアが正しくないことから始まります。モデムのソフトウェア、Dashboardのソフトウェア、モバイルビーコンと固定ビーコンのソフトウェアのどれか、あるいはいくつかが正しくないのです。ここに、このフィールドにチェック機能があります。あ、今ちょうど11番のビーコンのバッテリーが切れかけていますね。良くない状態です。動画の撮影中でしたが、確認してみましょう。これをクリックすると、ソフトウェアの不一致がある、あるいはNIAアーキテクチャのビーコンをIAアーキテクチャで使おうとしているといった、あらゆる混乱した状態がはっきりと表示されます。ここに強調表示されます。ですから、Dashboardの表示に従って間違いを直してください。何かが起きても、その間違いに惑わされないようにしてください。
47:04 では、どうすればよいのでしょうか。基本です。基本に立ち返ることです。つまり、皆さんの出発点はここ、ダウンロードページです。最初に開くページはダウンロードページです。これが操作マニュアルで、こちらがアプリケーションです。そしてこちらが配置マニュアルです。つまり、これが操作マニュアルと配置マニュアルです。何度か触れたとおり、典型的な構成や、3Dでモバイルビーコンをトラッキングするためのビーコンの上方への設置方法などが載っています。そして、今回お話しした単純な2D構成、つまり固定ビーコン2台、モバイルビーコン1台、モデム1台の構成です。まずは単純な構成から始め、そこから徐々に複雑にしていきます。ぜひ読んでください。当社は多くの資料を用意していますが、読まなければベストプラクティスに従うことはできず、あらゆる間違いはそこから始まります。ですから、確認していただきたいのは、ダウンロードページ、操作マニュアル、そして配置マニュアル。
48:04 また、ヘルプ動画で学んでください。この動画もYouTubeにありますし、セットアップの方法、チャンネルなどの変更方法、複数のサブマップの設定方法などを詳しく説明する動画がほかにもたくさんあります。本当にたくさんのヘルプ動画があります。簡単な作業から複雑な作業まで、ぜひ確認してください。完全に行き詰まってしまったら、先ほど申し上げたとおり、構成を分解して、操作マニュアルのステップ・バイ・ステップのガイドに従ってやり直してください。ソフトウェアを書き込み、すでにお話ししたようにDefaultボタンを押します。必要ならリセットしてマップを消去し、ゼロからやり直します。うまくいっていた段階まで戻ったら、次のステップを慎重に繰り返し、何が問題なのかを確認します。では、このあたりで終わりにしましょう。この動画がお役に立てば幸いです。新しいことは何もありません。この
49:08 動画でお話ししたことは、すべて操作マニュアルや配置マニュアル、さらに多くの動画ですでに説明されています。それでも、これらのステップに従うことがいかに重要かを、改めて強調したかったのです。非常にシンプルなセットアップで済むか、非常に複雑で時間のかかる構成になるかが、それで分かれるからです。基本の2D構成なら、すべて正しく行えば3〜4分で構築できますが、正しく行わなければ、何が問題なのかを理解するのに何時間も、何日もかかるかもしれません。この動画で、何時間や何日ではなく数分で済むようになれば幸いです。ご視聴ありがとうございました。
動画の内容
要点
- 屋内測位システムの初期計画の段階で全般的な基本推奨事項に従い、導入時の問題の連鎖を防止
- ドローンの例を使った体系的なデバッグ手法で、ビーコンのカバレッジ、見通し(超音波が直接届く経路)、アンテナの構成を検証
- よくある問題を早期に見つけて対処:間違いの多くはセットアップ中に起こり、本格導入の前に修正可能
- ビーコンの不適切な配置や信号経路の遮蔽など、測位精度を完全に損なう「重大な間違い」を回避
- 適切なビーコンの冗長化、向きの確認、環境の評価によって、トラッキングのジャンプを理解し防止
- 是正措置を体系的に実施し、問題のある導入を、倉庫自動化や自律型ロボット向けの信頼性の高い屋内GPSシステムに転換
対象:測位精度の問題に取り組むエンジニア
ドローン、自律型ロボット、フォークリフト向けに屋内測位システムを導入するシステムインテグレーター、ロボティクスエンジニア、倉庫自動化の管理者。トラッキングの失敗やシステムの性能低下を招く、よくある設定・デバッグ・運用上の間違いを特定して防ぐことで、導入時の重要な課題を解決します。
FAQ
精度の最適化と根本原因
屋内測位システムの導入には、セットアップ、設定、継続的な検証に細心の注意が必要です。この専門家によるガイドでは、自律型ロボット、ドローン、フォークリフト、倉庫自動化に超音波屋内GPSを導入する際に、チームが陥りがちな間違いを取り上げます。基本的なセットアップの推奨事項、ドローンを例にした体系的なデバッグ手法、そして2つのパートに分けたよくある問題の詳しい解説を収録しています。主なトピックは、見通し(超音波が直接届く経路)の要件、信号経路の最適化、アンテナの位置、屋内トラッキングシステムに関するよくある誤解です。ガイドは、基本的な導入時の誤りから、測位精度を完全に損なう重大な間違いへと進みます。特に、RTLSデータに現れるジャンプや異常を取り上げ、その原因を説明し、実践的な是正措置を示します。屋内ナビゲーションシステムを計画している方にも、既存の導入をトラブルシューティングしている方にも、このリソースはプロジェクトを頓挫させかねない間違いを明らかにし、複雑な倉庫や産業環境で信頼性の高い屋内位置トラッキングを実現するための実践的な解決策を提供します。
トピック
📍 プロジェクトに高精度な屋内測位が必要ですか?