みなさんもスマートフォンやカーナビで道案内アプリを使用することが多いと思います。これらのナビでは自分の位置を知るためにGNSS(Global Navigation Satellite System)という衛星からの電波を受信するシステムを使用しています。市販のスマートフォンやカーナビで知ることのできる自分の位置の精度は数mのレベルですが、この精度を1cmのレベルまで上げるRTK(Real-Time Kinematic)という技術があります。Kinematicというのは、移動するものという意味が近いです。リアルタイムに移動するものの高精度な位置を推定する技術です。ここではこのRTKを使ってより高精度なスマホナビを作ってみましょう。
スマホを自身のもので代用できれば、おそらく総額5万以内のコストですむと思います。
受信機の出力(TX)・入力(RX)ピンとBluetoothモジュールの入力(RX)・出力(TX)ピンを接続します。RN-42のxBee互換ボードとArdusimpleのF9Pボードを利用する場合写真のようにxBeeヘッダーに差し込むだけでOKです。
他のBluetoothモジュールを利用する場合、電源は受信機の5Vまたh3.3V出力ピンからとります。上の写真をみてもわかるように、接続自体はRXやTX及び電源の表記があるので、容易です。
受信機の設定は受信機をPCにUSBで接続してu-center(ネットで検索するとすぐにヒットします)というwindows用ソフトで行います。UART2というBluetoothモジュールと接続した出力ポートからNMEAという位置情報に関するメッセージが送信されるように設定します。このときボーレートという値を受信機とBluetoothモジュールで揃える必要があります。今回はRN-42でデフォルトの115200bpsという設定にしています。
設定が終わったらu-centerで受信機の設定をReceiverメニューのAction>Save Configで保存してからPCから取り外します。
まずBluetoothモジュールとスマートフォンをペアリングします。スマートフォンでRNBT~というデバイスを見つけたらタップするとペアリングが完了します。次にアプリ「Lefebure NTRIP Client」をGoogle Playストアからインストールします。アプリを起動する前にAndroidの開発者向けオプションの「仮の現在地情報アプリを選択」で「Lefebure NTRIP Client」を指定します。開発者向けオプションの表示方法は以下のサイトを参考にしてください。
この設定によりスマートフォンの地図アプリで示される位置情報がスマートフォン内蔵受信機のものからBluetoothを介して外部受信機から入力されたものに変わります。
この設定が残ったままだと他のスマートフォンアプリで位置情報を正常に利用できなくなる可能性があります。実験が終了したら外部受信機からの位置情報を使用しないよう「仮の現在地情報アプリを選択」で「なし」を選択して設定を戻すことをお勧めします。
次に「Lefebure NTRIP Client」での設定を行います。設定メニューからReceiver SettingsでBluetoothデバイスを指定し、”GPS Mock Locations”にチェックを入れます。NTRIP SettingsではRTKに必要な基準局というものを指定します。東京海洋大学越中島キャンパスの周辺(江東区越中島から半径30km程度以下)であれば、以下の情報を利用できます(できるかぎり連続運用しています)。
Caster IPアドレス : 153.121.59.53
Caster Port : 2101
Username : gspase
Password : gestiss
Data stream : ECJ27
RTK2GOというサービスでは無料の基準局が公開されているのでこれを使用することもできます。ただし、基準局の受信機がu-blox等のそれなりの受信機で出力フォーマットがRTCM3であることが前提です。
受信機にアンテナ、モバイルバッテリーを接続したら「Lefebure NTRIP Client」で”Connect”ボタンを押します。するとインターネットから取得した基準局の情報を受信機が受け取り、RTKの計算結果をスマートフォンに返してくれます。
このRTKで得られた位置を使用して自分の歩いた道を記録していきます。今回は「GPS Logger」というアプリを使いました。もちろんGoogle Mapでも自分の位置の表示やナビに使用することが可能です。今回は歩道の縁石に沿って歩きましたが、きれいに道路の縁をなぞる形で線が引けています。
下はスマートフォン内蔵のGNSS受信機で同じ道を歩いた時の結果です。
スマートフォンの内蔵GNSSだと誤差によって自分が通った道を正確に記録することはできませんでした。
実験からRTKではスマホのGNSSよりもはるかに正確な自分の位置が測れることがわかります。このRTKという技術はこの正確な位置測位という利点を生かして農業用トラクターやショベルカーなどの重機のコントロールや地図作成に使用されています。また今回使用した機材もスマートフォンを除いて3万円程度とハードウェアの価格が近年安くなっていることから、車の自動運転やUAV(無人航空機)などの分野でのさらなる普及が期待されています。
掲載大学 学部 |
東京海洋大学 海洋工学部 | 東京海洋大学 海洋工学部のページへ>> |
私たちが考える未来/地球を救う科学技術の定義 | 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。 これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。 |