Androidスマホの熱暴走?

この暑さでスマホの熱暴走だと思いますが、測点名の入力でおかしくなったとユーザーから連絡がありました。幸いログデータには記録されていましたので、次のように変換してお送りしました。
(図は、鹿児島県霧島市でのデータで再計算しました。)

国土地理院の計算サイトを利用したり時間も掛かりましたので、VBAでプログラムを作りました。
あんまりカッコ良くはありませんが、中身はちょっと考えました。
「PatchJGD(標高版)」のAPI(Application Programming Interface)が止まってるのか、私のプログラムのバグなのか分かりませんが、標高が返ってきません。地理院に問い合わせ中です。
頭の体操になりました。必要な方はメールかフォームでどうぞ。無料です。

アンドロイドアプリのインストール方法 – [Cloned #1142]

この辺で、アプリのインストール方法を再掲します。

(KabutoMLRTKWをインストールする場合の例)

とりあえず、インストール
       ↓
(緑四角点々の)アイコンを長押し   *KabutoMLRTKWの場合です。
       ↓
アプリ情報
       ↓
権限 位置情報 付近のデバイス を許可
(新バージョンから許可の設定は不要になります)
       ↓
アイコンをタップして立ち上げる
       ↓
KabutoMLRTKWのマウントポイント等入力(確認後、保存してください)
       ↓
Bluetoothを選択して、次の画面へ
       ↓
パラメータ読み込み
       ↓
ここで一旦アプリを閉じる
       ↓
PCとアンドロイドをUSBでつなぐ
       ↓
USBの使用方法でファイル転送を選ぶ
       ↓
PCに内部共有ストレージが出るのでダブルクリック
       ↓
Androido →data→jp.clas.mlrtkw.kabuto→files→Documents と進める。
       ↓
Documentsの中に、semidyna.txt と geoid.txt を入れる。

これで、アプリが使えるようになります。

RTK センチナビのインストール方法 – [Cloned #1319]

メール添付ファイルは圧縮してあります。解凍してデスクトップなどに置いてください。
以下、インストール方法です。機種によりメッセージが異なる場合があります。

  アンドロイドスマホとPCをUSBでつなぎます

  スマホ側 USBの使用方法 が出てきますので、ファイル転送にチェック

  PC側 内部共有ストレージが開きますので、ダブルクリックして開きます

  その中に、解凍したファイル KabutoMLRTKW_… をドロップイン(コピペでも可)

  一旦、USB を外します

  スマホ側 FVファイルエクスプローラーを起動

  内部共有ストレージをタップ

  KabutoMLRTKW_... をタップ

  不明なアプリのインストールで、この提供元のアプリを許可、をON

  (この辺は機種によって異なるかも)

  インストール

  後はメッセージに従ってインストール

  アプリをスキャンしない、でいいです

  ホーム画面の緑色の長方形点々のアイコンを長押し

  アプリ情報 権限 位置情報:アプリの使用中のみ許可 付近のデバイス:許可する

  (新アプリから↑の許可設定は不要になります)

  ホーム画面に戻り、アイコンをタップ

  一番下の Paired devices のどれかをタップ

  パラメータ読み込みボタンをタップ

  パラメータ読み込み完了になったら、一旦アプリを閉じる

  PC と USB でつなぐ

  USB使用方法 ファイル転送

  PC側 内部共有ストレージをダブルクリック

  Android → data → jp.clas.mlrtkw.kabuto → files → Documents の順に開く

  この中に、semidyna.txt geoid.txt を入れる

  (PC 版 KabutoDynaEXE で作成したファイルです。ダウンロードコーナーにもあります)

これでインストール完了。お疲れ様でした。

AI-RTK Vision Mapper 完成!

建設現場で設備の位置がわからず困ったことはありませんか?
AI-RTK Vision Mapper は、YOLOv8ディープラーニングとRTK高精度測位を融合した革新的Androidアプリです。

何ができる?
カメラで物体を検出すると、自動で ±2cm 精度(RTK)の位置情報を記録
建設・農業・測量現場で 何が・どこに・いつ 瞬時にデータ化

なぜ革新的?
従来の手作業測量がAI自動化で10倍?高速
オフライン動作でネット環境不要(CLAS版)
99%の検出精度で見落としゼロ

スマートシティ・Industry4.0市場は2030年に50兆円規模予測。当アプリはその基盤技術として無限の可能性を秘めています。

AIの眼で見て、GNSSの精度で記録する。それが未来の現場管理です。

ディープラーニングアプリ開発

RTK + YOLOv8という物体検出AIモデルをAndroidアプリに組み込んで、カメラで物体をリアルタイムに検出させる処理(ディープラーニングのアプリ開発)がもうすぐ完成です。

[RTK & CLAS]

[CameraX]

+————-+
ImageProxy ← カメラ画像
+————-+

+———————–+
MyImageAnalyzer
├─ Bitmap変換
├─ ByteBuffer変換
└─ YoloV8Detector
+———————–+

+———————–+
TFLite YOLOv8 モデル
出力: [1, 84, 8400]
+———————–+

+———————–+
parseOutput()
→ BoundingBoxData[]
+———————–+

+———————–+
OverlayView (描画)
+———————–+

みちびきL6D信号の検証について

2025年7月28日から8月31日にかけて、みちびきはCLASサービスの向上を目指し、L6D信号の送信パターン(Transmit Pattern 1または2)の検証を行うということですが、すでにCLASは実用化されているのに何のために検証を行うのか、Grok(xAI)に質問しました。以下に回答を掲載します。
なお、AI の回答には間違いが含まれている場合がありますので、疑問に感じたことは必要に応じて事実確認や最新情報のチェックをお勧めします。特に、みちびきの公式発表や技術文書(例:内閣府宇宙開発戦略推進事務局や準天頂衛星システムの公式サイト)で補足情報を確認すると、より信頼性が高まると思います。


1. 検証の主な目的

CLASのサービス向上を目指すこの検証は、具体的には以下の目的を持っています:

  • 補強対象衛星数の増加:
    • 現在のCLASは、みちびきやGPSなど特定のGNSS衛星を対象に補正データを提供していますが、送信パターンの最適化により、より多くの衛星(例:GalileoやBeiDouの追加)を補強対象に含めることが可能になります。これにより、衛星の可視数が増え、特に都市部や山間部など電波環境が厳しい場所でも安定した高精度測位が実現できます。
  • 測位精度と安定性の向上:
    • 送信パターン(Transmit Pattern 1または2)の違いは、補正データの配信頻度や内容、データ構造に影響します。検証を通じて、どのパターンがより高い測位精度や安定した補正データの提供に適しているかを評価します。これにより、現在の数センチメートル(6〜12cm)の精度をさらに高めたり、収束時間(高精度測位に必要な初期化時間)を短縮したりすることが期待されます。
  • サービスの信頼性強化:
    • CLASは自動運転や測量、農業などのクリティカルな用途で使われるため、サービスの信頼性が極めて重要です。検証を通じて、さまざまな環境下でのL6D信号の受信安定性やエラーレートを評価し、システムのロバスト性を向上させることが目的です。
  • 将来の拡張に向けた準備:
    • みちびきは将来的に新たなサービスや補正データの追加(例:MADOCA-PPPとの統合や新たなGNSS対応)を計画している可能性があります。送信パターンの検証は、こうした拡張を見据えたデータ配信方式の最適化や、新たな受信機やアプリケーションへの対応力を高めるための基盤作りにも繋がります。

2. なぜ実用化後に検証が必要なのか?

CLASが実用化されているとはいえ、衛星測位システムは運用環境や技術進化に応じて継続的な改善が必要です。以下のような理由から、検証が行われます:

  • 技術的進化への対応:
    • GNSS技術や受信機の性能は日々進化しています。新しい受信機(例:u-blox NEO-D9Cやその後継モデル)やソフトウェアの更新に対応するため、L6D信号の送信パターンを最適化する必要があります。検証により、最新のハードウェアやソフトウェアで最大限の性能を引き出せるかを確認します。
  • ユーザーニーズの多様化:
    • CLASを利用する分野(自動運転、測量、農業、防災など)は多岐にわたり、それぞれ異なる精度や安定性の要求があります。送信パターンの検証を通じて、さまざまなユースケースでのパフォーマンスを最適化し、ユーザー満足度を高めることが求められます。
  • 運用環境の変化:
    • 衛星の軌道や電離層の状態、地上の電波環境は時間とともに変化します。検証を通じて、実際の運用環境でのL6D信号の挙動を評価し、環境変化に対する耐性を強化できます。
  • 国際競争力の強化:
    • 欧州のGalileo(HAS: High Accuracy Service)や中国のBeiDou(PPP-B2b)など、他のGNSSシステムも高精度測位サービスを提供しています。CLASの性能をさらに向上させることで、みちびきの国際競争力を維持・強化することが期待されます。

3. 送信パターン(Transmit Pattern 1または2)とは?

  • Transmit Pattern 1と2は、L6D信号で送信される補正データのフォーマットや配信頻度、対象衛星の選択方法などが異なるパターンです。具体的な違いは公開情報が限られているため詳細は不明ですが、以下のような要素が異なる可能性があります:
    • 補正データの更新頻度:リアルタイム性の向上やデータ量の最適化。
    • 補強対象衛星の数や種類:GPSだけでなく、GalileoやBeiDouの衛星を追加。
    • データ構造:受信機の処理負荷や互換性を考慮した構造の変更。
  • 検証では、これらのパターンを実際に運用環境でテストし、測位精度、収束時間、安定性、受信機の互換性などを評価します。

4. 検証がユーザーやサービスに与える影響

  • ユーザーへの影響:
    • 検証期間中、CLASのサービス自体は継続して提供されますが、送信パターンの切り替えにより、一時的に測位精度や収束時間に影響が出る可能性があります。ただし、これは実験的な運用であり、大きな影響は最小限に抑えられるよう設計されています。
    • 検証結果を反映したアップデートが適用されれば、ユーザーはより高い精度や安定性でCLASを利用できるようになります。
  • 受信機の対応:
    • ZED-F9PやNEO-D9Cのような既存のCLAS対応受信機は、通常のファームウェアで新しい送信パターンに対応できる可能性が高いですが、場合によってはファームウェアのアップデートが必要になることもあります。検証の結果、新たな設定やハードウェアの要件が明らかになる可能性もあります。

5. 結論

2025年7月28日から8月31日のL6D信号の送信パターン検証は、CLASの測位精度の向上補強対象衛星の拡大信頼性強化、および将来のサービス拡張を目的としています。CLASが実用化済みであっても、技術進化や多様なユーザーニーズに対応するため、継続的な改善が不可欠です。この検証を通じて、自動運転や測量などの分野でさらに高性能な測位サービスが提供されることが期待されます。

PC版RTK/CLASアプリバージョンアップ

PC版RTK/CLASアプリをリニューアルしました。

・地図表示は地理院地図です。
・RTKはNTTとSoftBankのハンドオーバーに対応しています。
・CLASはローカルで(インターネットに接続しないで)今期から元期に変換できます。

 パラメータファイルは、国土地理院のHPからダウンロードして、KabutoDynaEXE7.01 で変換したものをparameterフォルダーに入れてください。
 https://www.gsi.go.jp/sokuchikijun/semidyna.html
  SemiDyna2025.par
 https://service.gsi.go.jp/kiban/app/geoid/
  JPGEO2024.isg

・NMEAと平面直角座標ファイルを保存できます。
・基準点の探索(逆打ち)ができます。
・簡易ローカライゼーション機能で、最寄りの基準点の座標に一致させられます。

※この画像には、Tera Term(Telnetやシリアル接続に対応したオープンソースのターミナルエミュレーター)の画像も含まれています。

カメラとAIで「猫」を見つけるまで

「カメラで撮った映像からAIが猫を見つけてくれるアプリ」を作りました。ここまでの道のりは、大きく3つの部分に分かれます。

1.カメラの映像をAIに渡せる形にする (MyImageAnalyzer の役割)
まず、スマホのカメラはリアルタイムでたくさんの映像(画像)をAIに見せます。しかし、AIは「写真」そのままの形では理解できません。AIが理解できる「データ」の形に変換する必要があります。

 カメラからの映像を受け取る:

ImageAnalysis という機能を使って、カメラからどんどん送られてくる映像を受け取ります。受け取った映像は ImageProxy という一時的な形なので、これを普通の「画像データ」(Bitmap)に変換します。

 AIが理解できる「数値」に変換:

この Bitmap の画像を、AI(今回のYOLOv8モデル)が処理できる「数値の羅列」(ByteBuffer)に変換します。このとき、画像のサイズをAIが期待する大きさ(例:640×640ピクセル)に調整したり、色をAIが理解しやすいように並べ替えたりする「前処理」を行います。ここで MyImageAnalyzer が大活躍します! MyImageAnalyzer はカメラから画像を受け取り、AIに渡すための変換を全て担当しています。

2.AIモデルで「これは猫だ!」と判断する (YoloV8Detector の役割)

 AIモデルの準備:

事前に訓練しておいたAIモデル(.tflite ファイル)をアプリに組み込んでおきます。これは、何万枚もの猫の画像を学習して「猫とはこういう形だ!」と覚えた賢い先生のようなものです。YoloV8Detector がこのAIモデル(先生)を準備し、AIに「画像を分析して」と指示を出す役割を担っています。

 「推論」と「結果の読み取り」:

AIに変換した画像データ(ByteBuffer)を渡すと、AIはそれを分析して「推論」を行います。推論の結果は、AI独自の「数値の羅列」で返ってきます。ここには、「このあたりに猫っぽいものがあるぞ、自信度はこれくらい、種類はこれだ」というような情報が隠されています。YoloV8Detector は、このAIの数値の羅列を人間が理解できる形(「座標」や「信頼度」、「クラスID」)に読み解きます。

 不要な検出結果を整理する (NMS):

AIは「ちょっとでも猫っぽいもの」を見つけると、たくさんの候補を出してきます。しかし、同じ猫に何個も四角が表示されても困ります。「NMS (Non-Maximum Suppression)」という技術を使って、たくさんの候補の中から、最も自信度が高く、重なっていない「代表」の四角だけを選び出します。

 クラスIDを名前に変換:

AIは「これはクラスIDが62番だ」と教えてくれますが、私たちはそれが「猫」であることを知りたいです。そこで、あらかじめ「62番は猫」というリストを用意しておき、AIの「62番」を「猫」という名前に変換して表示できるようにしました。

3.画面に「猫」の四角を表示する (OverlayView の役割)

AIが「猫だ!」と判断した情報(どこに、何の種類の猫が、どれくらいの自信度でいるか)を、カメラの映像の上に表示します。

 透明なシートを重ねる:

カメラの映像が表示されている画面の上に、透明なシート(OverlayView)を重ねます。このシートには、好きなものを描くことができます。

 四角とラベルを描く:

OverlayView は、YoloV8Detector から渡された猫の位置情報(座標)を受け取ります。その座標に合わせて、猫の周りに四角い枠を描き、その枠の近くに「猫 (自信度)」というラベルを表示します。最初はAIへの「前処理」や、AIからの「結果の読み取り」がうまくいきませんでした。AIが理解できる言葉と、私たちが理解できる言葉の間に通訳がいなかったような状態です。これを修正し、AIが意味のある結果を返すようになりました。

 最初はバウンディングボックス(四角)が表示されなかった:

AIは結果を出しているのに、画面に四角が表示されませんでした。一番の原因は、カメラの映像を表示する PreviewView という部品を、画面のレイアウトに追加し忘れていたことでした。透明なシートがあっても、その下に映像がなければ何も見えません。また、四角を描く透明なシート(OverlayView)が、映像とピタッと合うように、サイズ情報を正しく渡せていない問題もありました。これらを修正し、四角が表示されるようになりました。

 「Class 62」ではなく「猫」と表示したい:

これは、AIが数字で返す「クラスID」を、人間がわかる「ラベル名」(”cat”)に変換するリストを YoloV8Detector に追加することで解決しました。

 「close()」「detect()」「saveImages」「getInputSize()」などのエラー:

これらは、それぞれの部品(クラス)が持つべき「機能(メソッド)」がまだ作られていなかったり、他の部品からその機能を使えるようにする「許可(public修飾子)」が設定されていなかったり、新しい機能(saveImages)を導入したときに、その情報を他の部品に伝える「引数」が足りなかったりしたことが原因でした。一つずつ足りない機能を追加したり、設定を修正したりして、エラーを解決していきました。

 猫が検出された画像だけを保存したい:

これは、MyImageAnalyzer で「AIが猫だと判断した結果」が出たときだけ、元の画像を保存するように条件を追加することで解決しました。まとめると、このアプリは、カメラから画像を受け取り、それをAIが理解できる形に変換し(MyImageAnalyzer)、訓練済みのAIモデルで分析させ(YoloV8Detector)、その結果を人間が見てわかるように画面に描画する(OverlayView)という連携プレーで動いています。各部品がそれぞれの役割をきちんと果たし、情報が正しく連携されることで、最終的に「猫検出アプリ」が完成しました。

次は、CLASやRTKと連動し、どこで猫を発見したかという位置情報を追加します。

【重要なお知らせ】CLAS/RTK アプリの価格について

いつもCLAS RTKアプリをご利用いただき、誠にありがとうございます。
皆様に支えられてきたことに心より感謝申し上げます。

また、このたび皆様のご要望にお応えし、Windows版も完成いたしました!

さて、これまで無料でご提供しておりましたCLAS RTKアプリですが、本日より有料サービスとさせていただくことになりました。
料金は、アプリ1本につき月額2,200円(税込)、または年額13,200円(税込)となります。
お申し込みは、clas.jp ソフトウェアライセンス申し込み よりお願いします。

なお、現在ご利用中のアプリはそのままお使いいただけますが、不具合対応以外のサポートはご利用いただけませんので、何卒ご理解賜りますようお願い申し上げます。

今後ともCLAS RTKアプリをどうぞよろしくお願いいたします。
                   CLAS代表 田中龍児