ROS2 GPS Localization 時のスタティックマップの東西南北、に関する、おんちゃんの勝手な解釈。
大学、高専でロボット関連の授業を受けていれば当たり前の事かも知れないが、
なにせ、おんちゃんは独学なので、知識のなさを露呈しちょります。
もし間違っていたら、勘弁しとうせ。
ROS2 LC29H-EA GPS RTK を作る。
で、GPS RTK を使って、部屋の中でロボットの走行テストをしているときに、ふと湧き上がってきた疑問な点を、
おんちゃんながらの、勝手な解釈を書いてみました。
部屋の中で、LC29H-EA + RTK で地球上の位置を取得して、ロボットをうごかしているけれど、GPS だと、東西南北があるよね?
これは、スタティックマップでは、どっちら方になるのじゃろ?
GPSの最近のブログ記事
ROS2 LC29H-EA GPS RTK を作る。
最終目的は、LC29H-EA で、RTK を使うのが目標です。
が、その前に、勉強を兼ねて、
SparkFun_u-blox_GNSS_Arduino_Library/examples/ZED-F9P/Example15_NTRIPClient を試してみます。
QUECTEL LC29H GNSS L1 L5 Receiver 使えるのか検討してみた。 で、C++ で、GPS データの受信ができたので、
これを、 RTK 対応にするには、どうするか、
勉強を兼ねて、RTCM3 をクライアントとして受信するサンプルがあったので、試してみます。
ZED-F9P の場合は、RTCM をサーバーから受信して、それをそのまま ZED-F9P に送れば、RTK Fix するみたいぞね。
ただし、問題は、近くにフリーのサーバーが無い事だが。
だが、実際は、PC から試せるさんぷるがあったので、こちらを試してみました。
sevensx/ntrip
examples/ntrip_client_exam.cc
実際にサーバーに接続するは、下記、情報を指定しないといかんぞね。
QUECTEL LC29H GNSS L1 L5 Receiver 使えるのか検討してみた。
最近見つけたのだが、GNSS L1 L5 Receiver があるみたい。
QUECTEL LC29H
www.waveshare.com/wiki/LC29H(XX)_GPS/RTK_HAT
www.waveshare.com/lc29h-gps-hat
実際に、使えるのか、検討してみた。
紹介記事
幾つか種類があって、LC29H(DA) GPS/RTK HAT が、Rover 向けの様です。
但し、補正信号? RTK が、中国、香港、USAの一部なのか?
注1) DA - RTK : 1[Hz] なのかな?
1[Hz] だと、ROS2 ロボットカーにつかえるのだろうか?
注2) EA- RTK : 10[Hz] みたいだが、EA は、まだ販売していないのか?
下記に、あった。
GNSS RTK 3 Click
GNSS RTK 3 CLICK - LC29HEA
注3) ZED-F9P GPS-RTK も、1 ~ 8 [Hz] みたい。
おんちゃんは、よくわからんが、RTKの補正信号に、
store.shopping.yahoo.co.jp/geosense2/d9cx1.html が使えないもんじゃろうか?
もし、使えれば、かなり安く、cm級の GNSS が実現でくるのじゃが?
注4) BS だと、RTKの基地局になるみたい。ここで得たRTKデータは、いったん、公開サーバー(rtk2go NTRIP Caster server : 有料か無料か気になる) にアップロードして、
DA、EA では、そのサーバーから、RTKデータを取り込めば良いみたい。
ローバーで、インターネットに接続出来るのであれば、この構成もありかも。
2. UM982 と言うのもあるみたい。
2アンテナGNSS受信機Unicore Communications UM982
しかし、こらは、販売箇所で、値段に開きがるいみたい。
とても高いか。
ユニセックス効果差動センサーモジュール,高精度ベースステーション,um982 gnsrtk,互換性,bd982 bd990 bd990
しかし、ドキュメント不足かも
ESP32 gysfdmaxb Server (GPS / Wi-Fi Http Server) から受信できる、GPSデータをCGIで受け取って、
Yahoo Map API を使って、ブラウザー上で、MAP 表示できるようにしてみました。
Yahoo MAP APIの使い方に関しては、
http://www.hanemaru.com/itemcolumn/11yolp001.html
を参考にさせて貰いました。ありがとうございました。
Perl Http Client のプログラムは、
http://www.geekpage.jp/programming/perl-network/simple-http-client.php
を参考にさせて貰いました。ありがとうございました。
使い方は、ESP32 gysfdmaxb Server と同じローカルネットワークに繋がった、PC(おんちゃんは、Windows10) に Apache を動作させて、
Apache の /cgi-bin/ ディレクトリー下に、今回の esp32_gps.cgi を設置します。
その後、同じ PC のブラウザーから、今度は、esp32_gps.cgi を実行すれば、OK です。
例 : http://localhost/cgi-bin/esp32_gps.cgi
そうすると、esp32_gps.cgi から、ESP32 gysfdmaxb Server の IP:192.168.1.91 へHTTP Client としてアクセスして、GPSデータを取り込んで、その位置情報を使って、Yahoo Map API を使って、現在位置の地図を、PCのブラウザーに表示します。
ESP32 に、みちびきGPS gysfdmaxb を繋げて、GPS / Wi-FI http サーバーを作ってみました。
仕組みは、http://www.netosa.com/blog/2017/10/esp-wroom-02-wi-fi-lan.html と同じで、
但し、今回は、ESP32 を使っています。
使い方は、ローカルネットワーク上のPCのブラウザーから、ESP32 gysfdmaxb Server の IP:192.168.1.91
をブラウザーから、 http://192.168.1.91 と叩けば表示されます。
回路図は、こちらです。
esp-wroom-02 に 秋月電子のGPS みちびき(AE-GYSFDMAXB) を繋げて、
GPS データを、表示する Wi-Fi Httpd Server を作ってみた。
単純に、esp-wroom-02 と GPS みちびき(AE-GYSFDMAXB) を Uart(Serial 通信) で繋げて、
定期的に上がって来る、GPS データを esp-wroom-02 で読み取って、
その生データを、ESP8266WebServer で公開して、WiFi LAN でつなっがている
PCのブラウザーからでも見れると言うプログラムですが、
おまけの機能で、もう一個 UART を使って、PC に USB-Serial で繋げて、GPSの生データを
PCでもシリアル・ターミナルでも見れるようにしました。
これで、秋月電子から出ているフリーのプログラム、MiniGPS_V1.7.1.exe でも同時に見れます。
MiniGPS_V1.7.1.exe からの送信データも経由できるので、AE-GYSFDMAXB の設定もできます。
と思って、暫く振りに、 esp-wroom-02 を USB-SERIAL 経由で電源を繋げてみたが、
うんとも、スントも動かない。
以前は、普通に動作していたのにどうしたのか?