Android RTK RS232C 版ができました

最後に残っていた RS232C 接続の RTK アプリができました。これで、やっと CLAS&RTK の Android アプリシリーズが完成しました。

Android スマホは最新機種でも安価なものは CPU のスピードが遅いのがありますが、それらに対応するアプリも作りました。

今のところ、自作の受信機 Gogh とリットー受信機での動作確認をしていますが、D9C と F9P を使っている受信機ならだいたい動くと思います。ただし、 Bluetooth や RS232C はデバイスの番号などが異なるとつながりません。

Android RTK USB 版ができました

USB接続のRTKがやっとできました。

Bluetooth 版と同じような仕組みなんですが、なかなか動いてくれなくて苦労しました(;’∀’)
これで、
 Bluetooth 接続の CLAS と RTK
 USB 接続の CLAS と RTK
 RS232C 接続の CLAS
ができましたので、次は重機に積む時のRS 232C接続のRTKを作ります。RS232C の CLAS はこの前作りましたので、重機が(重機のことはよくわかりませんが)CLASでもRTKでも動くようになるでしょう。

画像の受信機は リットー 車載用受信機 MGLR-9PC/Ri-MLBT

Android RTK Bluetooth版を更新しました

前バージョンの Android RTK Bluetooth 版は条件によっては、Fix しにくい、Fix してもすぐ Float になる、Float から復帰しにくい、ということがありましたが、20241029版では Fix を維持するように改良しました。
これで、バッチリ、、、だと思います。

Ratio は高須先生の rtklib の解析に難航しており、0.0 のままです。ちょっと時間がかかりそうです。 Android では負荷が大きいので止めました。

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階建ての家で囲まれている場所です。