【AIロボットカー Phase 1-5】JetsonでCLAS/GNSSログを取りながら歩いてみた

CLAS/GNSS検証用リュックを背負って歩行検証している後ろ姿
CLAS/GNSS検証用の構成を背負って、Jetsonでログ取得しながら環境ごとの測位状態を確認した。

AIロボットカー開発記録 ・ CLAS / GNSS / Jetson

JetsonでCLAS/GNSSログを取りながら歩いてみた

室内、建物付近、開けた屋外で、CLAS補正・Float・Fixed・hAccがどう変化するのかを確認した記録。場所名や座標は出さず、環境ごとの測位状態だけをまとめています。

CLAS GNSS ZED-F9P NEO-D9C Jetson CSVログ

前回は、F9Pの測位状態をJetson側でCSVログとして保存できるようにした。

今回は、そのログ取得環境を使って、実際に室内から屋外へ移動し、CLAS補正がどのタイミングで入り、FloatやFixedへどう変化するのかを確認した。

今回確認できたこと

diffSoln=1 確認 Float 確認 Fixed 確認 最大衛星数 32 hAcc 10cm級まで低下 室内ではhAcc悪化

今回見たかったこと

今回見たかったのは、単に「CLASが効くかどうか」ではない。

ロボットカーで使うなら、重要なのは、どの環境で補正が入り、どこでFloatやFixedに入り、どのタイミングでhAccが悪化するのかを知ることだと思っている。

つまり、位置情報をそのまま信じるのではなく、環境によって信頼度がどう変わるかを見る検証になる。

今回の検証ルート

今回の検証では、正確な場所名や座標は出さず、環境だけを記録した。

検証ルートの流れ 室内 出発 建物付近 停止・歩行 開けた屋外 歩行 開けた屋外 静止 建物付近 戻る 室内へ戻る 正確な場所名・座標は出さず、環境の変化だけを記録

図1:今回の検証ルート。場所名ではなく、GNSS環境としての変化だけを見る。

ログで見た項目

今回、Jetson側のCSVログで見たのは主にこの5つ。

diffSoln
carrSoln
hAcc
numSV
pDOP
重要:
diffSoln=1 は「補正が使われている」ことを示す。ただし、それだけで高精度とは言えない。carrSolnhAcc も一緒に見る必要がある。

状態変化のイメージ

今回のログでは、室内から屋外へ出て、開けた場所で静止したあたりから状態が大きく変わった。

環境による測位状態の変化 hAcc 室内 建物付近 屋外歩行 開けた場所で静止 歩行再開 室内へ戻る diffSoln=1 Float Fixed hAcc 10cm級まで低下 室内で悪化 RTK None Float Fixed

図2:hAccとRTK状態の変化イメージ。開けた屋外で静止すると、FloatからFixedへ入り、hAccが大きく改善した。

室内では、まだ補正は入らない

最初は室内でログを開始した。この段階では、3D Fixはできていたが、diffSoln=0 の状態だった。

fix = 3D
gnssFixOk = 1
diffSoln = 0
RTK = None
hAcc = 数m〜大きく悪化する場面あり

室内では衛星が見えにくく、マルチパスも起きやすい。そのため、CLAS補正を見る環境としてはあまり向いていない。

建物付近では、補正が入り始めるまで不安定

次に、屋外へ出て建物付近で停止した。屋外には出たものの、建物の近くだと上空の見通しが十分ではない。

この段階では、まだ diffSoln=0 の状態が続いていた。その後、建物付近を歩き始めると、しばらくして diffSoln=1 が出た。

diffSoln = 1
RTK = None

ここで、F9P側では差分補正が反映され始めたと見てよさそうだった。ただし、この時点ではまだFloatやFixedではない。

建物付近の歩行中にFloatへ入る

建物付近を歩いている途中で、RTK=Float が確認できた。

diffSoln = 1
carrSoln = 1
RTK = Float

Floatに入ると、F9Pはキャリア位相を使った解に入り始めている。ただし、Floatはまだ確定状態ではない。hAccも数m級から少しずつ改善していく段階だった。

開けた屋外へ出ると、hAccが改善していく

その後、より開けた屋外へ移動した。ここから状態がかなり変わった。

diffSoln = 1
RTK = Float
hAcc = 数m → 1m未満へ改善

やはり、CLASやGNSSにとっては、上空が見える環境がかなり重要だと分かる。同じ屋外でも、建物付近と開けた場所では状態が違う。

開けた場所で静止するとFixedへ入った

今回、一番重要だったのはここ。

開けた屋外でしばらく静止していると、FloatからFixedへ入った。

diffSoln = 1
carrSoln = 2
RTK = Fixed
numSV = 最大32
hAcc = 約0.057〜0.10m級

つまり、CLAS補正がF9Pに反映され、Jetson側のCSVログでもFixed状態を確認できた。hAccは最小で約5.7cm級、Fixed中はおおむね10cm級まで低下した。

注意:
hAccは実測誤差そのものではなく、F9Pが出している水平精度の推定値。正確には「Fixed状態で、F9Pログ上のhAccが10cm級まで低下した」と表現するのがよい。

歩行を再開しても、すぐには崩れなかった

開けた場所でFixedに入った後、再び歩行を開始した。ここで気になっていたのは、歩いた瞬間にFixedが崩れるかどうかだった。

開けた場所で静止
↓
Fixedへ入る
↓
歩行再開
↓
しばらくFixed維持

結果としては、開けた場所では歩行を再開しても、しばらくFixedを維持できた。アンテナ条件と環境が良ければ、歩行中でもすぐに測位状態が崩れるわけではない。

建物付近へ戻ると、状態が崩れ始める

その後、建物付近へ戻った。

Fixed / Float が混在
hAccも徐々に悪化

建物付近では、上空の見通しが悪くなり、反射や遮蔽の影響も出やすい。今回のログでも、開けた場所では安定していた状態が、建物付近に戻ると崩れ始める様子が見えた。

室内に戻ると、diffSoln=1でもhAccは悪化した

最後に室内へ戻った。ここで重要なのは、室内に戻っても diffSoln=1 が残る場面があったこと。

diffSoln = 1
RTK = None
hAcc = 数m〜大きく悪化
今回の大事な発見:
diffSoln=1 だけを見て「高精度」と判断してはいけない。補正が入っていても、環境が悪ければ位置精度は崩れる。

今回のログから分かったこと

室内

diffSoln=0。hAccは不安定。CLAS確認より通信確認向き。

建物付近

diffSoln=1 が入り始める。ただし高精度とは限らない。

歩行中

Floatに入る。hAccは少しずつ改善。

開けた屋外

hAccが大きく改善。上空視界の影響が大きい。

静止

FloatからFixedへ。hAccは10cm級まで低下。

室内へ戻る

diffSoln=1 が残っても、RTKは崩れ、hAccは悪化。

ロボットカーで使うなら、見るべきなのは「補正あり」だけではない

ロボットカーに使う場合、単に diffSoln=1 を見て「CLASが効いている」と判断するだけでは危ない。

今回のログを見る限り、少なくとも次の組み合わせで見る必要がある。

diffSoln
carrSoln
hAcc
numSV
pDOP
状態 信頼度 ロボット側の判断
Fixed + hAcc小 位置をかなり信じてよい
Float + hAcc小 低速なら使える可能性あり
diffSoln=1 + RTK=None 注意 補正はあるが高精度とは限らない
hAccが数m以上 位置を信じすぎない
室内・建物付近 環境注意 GNSS単独に頼りすぎない

まとめ

今回の検証で、Jetsonに保存したCSVログから、CLAS補正の状態変化をかなり具体的に確認できた。

屋外に出ると diffSoln=1 となり、CLAS補正がF9Pの測位に反映された。さらに開けた場所で静止すると、FloatからFixedへ入り、hAccは10cm級まで低下した。

一方で、建物付近や室内では、diffSoln=1 が残っていても、FixedやFloatは崩れ、hAccは大きく悪化した。

CLASは効く。
でも、ロボットに使うなら
「今の位置情報をどれくらい信じてよいか」まで見なければいけない。