Android RTK Bluetooth版を更新しました

前回のアプリは Fix し難いでしたが、プログラムを修正しました。

KabutoMLRTK_20241027T(標準機種用)20241027ST(遅い機種用)です。

テスト観測してみました。
基準局が近いということもありますが、Fix まで数秒でした。
図は基準局の近くを 300m ぐらい回って 6 点観測した後、しばらく経ってから再測した時の格差です。
RTK はすごいです。6点中5点が1cm 以内に入っています。
これで、同じ受信機で CLAS も RTK も観測できるようになりました。
  ネットがつながって基準局が近くにある場合は RTK
  ネットがつながらない場所では少し精度を我慢して CLAS
のような使い方ができます。

※ ratio は、まだ動いていません。もうしばらくお待ちください。 Android では負荷が大きいので止めました。

【備忘録】Android JAVA で RTKLIB をビルドする方法

Android JAVA で RTKLIB をビルドする方法です。
次のような配置で説明します。(RTKLIB をコンパイル、リンクするだけの内容です。実際の利用はこれからです)

(1)GitHub – tomojitakasu/RTKLIB より、RTKLIB をダウンロードします。
app/src/main に cpp フォルダを作成し、RTKLIB の必要なライブラリ( c や h )を入れます。
今回は必要と思われるソース数個を入れようとしたところ、ほとんどがつながっていたため(あるソースでは、他のソースを利用する構造だったため)、ひとつずつエラーが出なくなるまで確認しながら入れました。

(2)project-root に CMakeLists.txt を入れます。(ビルド後は自動で?cppフォルダの中に入ります)
CMakeLists.txt は次のような内容です。
src/main/cpp/ 以下の rtkcmn.c などは、(1)で入れたライブラリです。
文字コードはすべて utf-8 です。他の文字コードは文字化けします。

(3)アプリケーションレベルの build.gradl に ndkVersion を指定します。
CMake とか ndk については検索してください。

(4)native-lib.cpp を作成し、src/main/cpp/ ディレクトリに入れます。
RTKLIB を利用し処理する cpp です。
確認用に、次のような内容( return 1.23 のみ)で作成しました。

(5)MainActivity.java 内での利用は次のようになります。

(6)以上が準備出来たらビルドします。
gradl などをいじると sync などいろいろ必要ですが、省略します。
Android Studio の terminal で、クリーンビルドします。
./gradlew clean build


Android RTK アプリを高機能に

Android RTK アプリを作りましたが、通常のRTK観測でもよくありますが、Fix に時間がかかったり、Fix が切れたりすることがあります。

普通は、何故だろう?とrtklibの設定を見直したりすると思いますが、Android Javaではその機能をゼロから作るのは、 365 連休プログラマーには難しいと判断。

そこで、世界的にも有名な rtklib 様の力をお借りすることにしました。

こんな感じで使わせてもらいます。(誤りがあるかもしれません。現役の労働者諸君! は、時間の無駄になりますから真似しないでください)

お楽しみに!

アンドロイド RTK アプリ KabutoMLRTK 完成

アンドロイドRTKアプリを開発中でしたが、やっとできました。

CLAS受信機(clas.jpオリジナルGoghリットー製品)のスイッチをRTK側に切り替えることにより、rtklibやu-centerを使わないでRTKが可能になりました。

rtklibのような細かい設定はできませんが、fixすると同じような精度の座標値が得られます。

これまで開発してきたCLASアプリ(Kabutoシリーズ)に追加して作り上げましたので、基準局の座標が今期で測られている場合でも元期に変換できる、基準点探しもできる、など、市販されている同様のアプリには無いユニークなアプリです。

Android Bluetooth アプリ KabutoML のバグ

KabutoML に軽微なバグがありましたので修正しました。

現在はそのままでも動きますので、インストールの必要はありませんが、将来的に問題になると思われます。

古い機種(Android 12 より前)ではインストールすると逆に動かなくなる可能性もありますので、インストールしないでください。

CLAS 観測をしました

今日は日曜日なんですね。365連休になってから、今日が何日で何曜日なのかよく分からなくなりました(;’∀’)

朝早くからCLAS観測をしました。いつもの通り団地を2周回ってそのずれを求めました。ほとんど Fix しましたが、10 センチ以上ずれた点がが 3 ヶ所ありました。⑤⑥は Fix していますが、⑦⑧の付近が Fix が途切れ途切れになっていますから、もう少しで Float になるよ、ということでしょうか?⑱は2階建ての建物の近くです。よく分かりませんが、また測ってみます(^^)

夕方の観測です。Fix良好でした。⑭が10センチを超えてました。周りが2階建ての家で囲まれている場所です。

アンテナのテストを兼ねて団地を2周

1周目で18点のポイントを観測登録して、2周目に同じ点を観測してプロットモードでそのずれを確認しました。最大のずれはポイント⑰で 13.2 ㎝でした。ずれが10 ㎝を超えるポイント⑰、①、⑫は3点とも周りを2階建ての家で囲まれており、マルチパスの影響があるかもしれません。

観測日時:2024年9月24日 17時~18時  天候:晴天、軟風

アンテナ:中華製 GN-GGB0710

受信機:リットー MGLR-9PC/Ri

Gogh(ゴッホ) の USB 接続

Gogh でBluetooth がつながりにくいときは、USB 接続 + KabutoUB (各スイッチはそのまま)でご利用いただけます。

① 電源ケーブルを(慎重に)外します。

② 受信機に接続している USB を(慎重に)外します。

③ 受信機と新しい USB ケーブル(A-microB)を接続してケースの蓋を閉じます。蓋が開きやすいので、ビニールテープを貼ってください。

USBケーブルは100均の物でも結構ですが、たまに電源専用(データ無し)になっているケーブルがあります。また、USBケーブルの他に、OTG 3.0対応 USB Type C (オス) to USB A 3.0 (メス) 変換アダプタが必要です。次の製品は問題なく使えます。
https://www.amazon.co.jp/gp/product/B0BTP3LDQL/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&th=1

USB 接続 Android アプリ KabutoUB

USB 接続アプリができました。ダウンロードページからダウンロードしてください。Androidデバイスと受信機の接続は、普通のUSBケーブルだけでは動きません。OTG対応ケーブルが必要です。
次の製品は開発中問題なく使えました。
https://www.amazon.co.jp/gp/product/B0BTP3LDQL/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&th=1