ShingoNishimoto / S2E_PBD

For relative navigation with CDGPS
1 stars 0 forks source link

整数不定性解除アルゴリズムの実装 #16

Closed ShingoNishimoto closed 1 year ago

ShingoNishimoto commented 2 years ago

Summary (概要)

整数不定性解除アルゴリズムの実装をし,さらなる高精度化を図る

Detail (詳細)

実装するのはmLAMBDA.現在のfloat解から更なる向上のためにこれを進める.

Impact (影響範囲)

Priority (重要度)

Note (補足)

何かれば

ShingoNishimoto commented 2 years ago

changed due date to June 15, 2022

ShingoNishimoto commented 2 years ago

とりあえずLAMBDA法の実装を進めている.中身の理解が微妙ではあるが,Pythonのライブラリを見ながら実装はできそう.ただ,入力としてDDを使用しないといけないのがかなりめんどくさい.この背景理解を進めないとうまくいかなさそう.

ShingoNishimoto commented 2 years ago

changed due date to June 24, 2022

ShingoNishimoto commented 2 years ago

一旦,実装は終わった.DDじゃないのでZ変換が単位行列のままだったりして微妙だが,一旦これであってそう?

DDを作って解いて,SDに変換して,という部分の実装に進んでいく.あとは,Fixした解を使って更新していくステップの部分に関しても考えていく.

ShingoNishimoto commented 2 years ago

changed due date to July 08, 2022

ShingoNishimoto commented 2 years ago

整数不定性のfloat解の分散をもとにどの衛星をpivotにするかを決定する.なので,誤差共分散行列を評価する必要があるが,そもそも固定されているものがあるならそれを確認する必要はなさそう.解けたかどうかといフラグを持っていた方が計算コストが低いのかな??

ShingoNishimoto commented 2 years ago

changed due date to July 29, 2022

ShingoNishimoto commented 2 years ago

changed due date to November 30, 2022

ShingoNishimoto commented 1 year ago

年末までにできてなかったらこの部分は本質ではないのであきらめる

ShingoNishimoto commented 1 year ago

changed due date to December 19, 2022

ShingoNishimoto commented 1 year ago

[実装中メモ]
最初にLAMBDAで解く部分はできてそう.ただ,一度解けた後に観測衛星が変化した時の扱いが謎で困っている.具体的には,解けたものに関してはすべてのcovarianceを0に落とすが,新たに観測された衛星に関してはそうではなくなる.その時に,解けているものとか全部含めた行列を突っ込むとDoubl DifferenceのPが正定ではなくなるので解けなくなる.一つの衛星が見えなくなったときに全部の不定性を再度floatに戻すのはもったいない気がするので,floatになってしまった者たちだけをLAMBDAに突っ込めばいいのか?それがわからない.

ShingoNishimoto commented 1 year ago

一度解けた後の扱いに苦戦している.Success Rate Testでうまく通らないことが多かったので,PAR(Partial Ambiguity Resolution):上のテストを通過する数の不定性だけをfixして,それ以外はfixした解との相関を使って補正はするがfloatのまま扱う手法.を実装した.

ただ,Z変換などをした後に一部だけ解く,ということをするとreorderingなどを実施している関係上,chとの対応関係が取れなくなってしまっているので,そこでバグっている.再度Z変換時やreorderingによって対応関係がどうなっているかを整理し,実装を修正しなおす必要がある.

ShingoNishimoto commented 1 year ago

ここに書いてあることはある程度解決した気がする.一度解けたときはその不定性に関する誤差共分散行列の行と列成分に関して0に落とすということを行っている.その前に,fixした後でその解をベースにした状態量の更新を行い.その更新後の状態量をベースに計算したSDCPの残差が波長以上にならないときだけを採用することでfalse fixを防いでいる.

LAMBDAは二重差分の不定性を解くので,絶対量の不定性は誤差がある.ただ,相対航法において相対的な誤差が問題になるのでSDのNがあっているかを確認した. undefined

これを見る限り,頻繁に外れてはいるのが謎ではあるが,ちゃんとした解が得られてそうなので,LAMBDAの実装としては大丈夫そう.

あと,この外れるタイミングで不定性が増大してしまうので,測位精度が劣化しており,この部分を解決しないとダメそう...

undefined

ShingoNishimoto commented 1 year ago

あとは3500sあたりでfalse fixしてしまっているのが気になる.

ShingoNishimoto commented 1 year ago

ひとまず完了としてcloseする.

ShingoNishimoto commented 1 year ago

removed due date

ShingoNishimoto commented 1 year ago

バグを見つけたので修正したら,直った.

undefined