目的
より精度の高い測位の可能な、RTKをラズパイで動かして、ROS経由でUnityに送信してみる。
使う装置
トランジスタ技術で扱っていた、u-blox NEO-M8P モジュールを使ってみる。
準備
Raspberry Pi ZeroW にRTKLIBをインストールする。
手順は、ここを参考にした。
リポジトリから最新を落としてきて、素直にビルドできたので、M8Pモジュールをつないで動かしてみる。
M8Pモジュールの設定
u-centerを使って、このエントリーを参考にして設定した。
ただし、NMEAの出力とRTCM3の入力を両方ともUSBに設定する。
また、Automotiveの設定をユースケースに合わせてPedestrianにしておいた。
動かしてみる
今回基準点は、自宅から近かったのもあり、CQ出版様が公開されている基準局を使用してみた。住んでいる場所によって変わってくるので、要確認。近くに公開されている基準点がなければ、自分で作るなりが必要となる。
M8PモジュールはUSBでつなぐとラズパイからは/dev/ttyACM0
に見えるので、ntripの出力はそこにする。
以下コマンドでRTK情報がモジュールに送信されているはず?
./str2str -in ntrip://160.16.134.72:80/CQ-RTCM3 -out serial://ttyACM0:115200
結果
cat /dev/ttyACM0
で確認した結果、NMEAがとれていることを確認できた。
$GNGGA,020827.00,3543.XXXXXX,N,13943.XXXXXXX,E,5,07,1.39,49.513,M,39.333,M,1.0,0000*59
$GNGSA,A,3,21,28,15,24,20,05,13,,,,,,2.49,1.39,2.07*13
$GPGSV,3,1,09,05,35,126,19,12,00,172,,13,46,047,31,15,67,356,32*7E
$GPGSV,3,2,09,20,25,313,38,21,36,285,41,24,52,213,22,28,17,061,10*79
$GPGSV,3,3,09,30,01,041,*47
$GNGLL,3543.XXXXXXX,N,13943.XXXXXXX,E,020827.00,A,D*7D
これを、前回のと同様に、ROS経由でUnityに持っていけば、より精度の高い測位が期待できるかも。