AIロボットカー開発記録 ・ CLAS / GNSS / Jetson
JetsonでCLAS/GNSSログを取りながら歩いてみた
室内、建物付近、開けた屋外で、CLAS補正・Float・Fixed・hAccがどう変化するのかを確認した記録。場所名や座標は出さず、環境ごとの測位状態だけをまとめています。
前回は、F9Pの測位状態をJetson側でCSVログとして保存できるようにした。
今回は、そのログ取得環境を使って、実際に室内から屋外へ移動し、CLAS補正がどのタイミングで入り、FloatやFixedへどう変化するのかを確認した。
今回確認できたこと
今回見たかったこと
今回見たかったのは、単に「CLASが効くかどうか」ではない。
ロボットカーで使うなら、重要なのは、どの環境で補正が入り、どこでFloatやFixedに入り、どのタイミングでhAccが悪化するのかを知ることだと思っている。
つまり、位置情報をそのまま信じるのではなく、環境によって信頼度がどう変わるかを見る検証になる。
今回の検証ルート
今回の検証では、正確な場所名や座標は出さず、環境だけを記録した。
図1:今回の検証ルート。場所名ではなく、GNSS環境としての変化だけを見る。
ログで見た項目
今回、Jetson側のCSVログで見たのは主にこの5つ。
diffSoln carrSoln hAcc numSV pDOP
diffSoln=1 は「補正が使われている」ことを示す。ただし、それだけで高精度とは言えない。carrSoln と hAcc も一緒に見る必要がある。
状態変化のイメージ
今回のログでは、室内から屋外へ出て、開けた場所で静止したあたりから状態が大きく変わった。
図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は効く。
でも、ロボットに使うなら
「今の位置情報をどれくらい信じてよいか」まで見なければいけない。