This page (revision-1) was last changed on 20-Apr-2024 11:53 by Hiroaki Tateshita

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
20-Apr-2024 11:53 2 KB Hiroaki Tateshita Kibo Viewer ==> KiboFinder

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 33 lines
[{PageViewPlugin}]
[Kibo Viewer|KiboFinder]
!!!Abstract
!!!Topic
*SGP4とは
|TLEをインプットすると軌道を計算してくれる理論をまとめたものと理解。それを仕様としてライブラリがいくつか作られている。C++、[Java]、[JavaScript]やほかの言語で提供されている。[1][2]
*計算結果がおかしい。
|どうも計算結果がおかしい。算出される位置が既存のページ[4]と全然違う。静止衛星ばかりやっていたから気づかなかった。←Day of Yearを正しく設定すると近づいてきた。
|ちょっとじぶんの[Space-vehicle-orbit|https://github.com/tateshitah/space-vehicle-orbit]がちゃんとあっているか、動いていそうな別のライブラリ[1]で確かめよう。
|rectangular Coordinatesというのは直交座標系でたぶんSGP4の結果な気がする。では、xyzという関数がそれを出力できるみたいなので、確かめてみよう。RectangularToGeographicが直交座標系から緯度経度系に変換する関数なのだろう。その中でGMSTを使っている。GSTとは違うのだろうか。
||pg||svo||orb.js|
|date|2021.5.11_0230(UTC)|Tue, 11 May 2021 02:30:00 GMT
|line1|"1 25544U 98067A 21130.82534197 .00000540 00000-0 17959-4 0 9990"|same
|line2|"2 25544 51.6449 167.5222 0002900 345.0941 184.7772 15.48989745282809"|same
|sgp4|Sgp4Unit.sgp4()というメソッドのソースの中に書いてある解説に、単位はerと書いてある。おそらくEarth Radiusのことではなかろうか。地球の半径(m)をかけた場合(-811768.1824673276, 4387202.958816512, -5133456.789354173) sgp4のstartDaysの扱いいにちょっと間違えがあったようで、Day of Yearで、1月1日は、0ではなく、1で扱う必要があった[3]。また、秒単位で合わせていかないと結構ずれるので注意[5]。|-809.6198440053449, 4387.052506580514, -5133.922768224091 equatorial rectangular coordinates 赤道直交座標とでも訳すのか。単位は何か?変数の付け方(例xkm、ykm、zkmのように)kmのように見える。結構近くなってきた。|
|llh|-49.183193876075975, -166.12265385519103, 435458.6657492025|-49.189183376294665, -166.14557523524613, 435.4613638113824|
*今度は90分後の位置が全然違う
|ここにきて、初歩的なバグを発見。GroundTrackResource.javaでsgp4.runSgp4()メソッドの最後の引数には、stepあたりの長さをdouble型で分単位でインプットしないといけないのだが、整数割る整数、つまり整数をインプットしていた。具体的な数字としては、100/60で、1.66666666というdoubleのはずが、1というintが入っていた。なので、1分のStepとなり、90回の結果がでていたけど、プログラム側は、ステップは100秒なので、54回だった。
*Java版
|[2]を[Visual Studio Code]で動かすには、[GitHub]からクローンして、VSCでそのjavaフォルダを開らくだけでは、javax.vecmath.Vector3dがインポートできない。左下のJAVA PROJECTSのReferenced Librariesというところで、libフォルダの中にあるvecmath-1.3.1.jarを追加しよう。
[{Image width='600' src='SGP4/vscode_referenced library addition.png'}]
!!!Reference
#[#1][https://github.com/lizard-isana/orb.js]
#[#2][https://github.com/shupp/sgp4]
#[#3][https://asd.gsfc.nasa.gov/Craig.Markwardt/doy2021.html]
#[#4][http://www.esa.int/Science_Exploration/Human_and_Robotic_Exploration/International_Space_Station/Where_is_the_International_Space_Station]
#[#5][https://space.stackexchange.com/questions/13825/how-to-obtain-utc-of-the-epoch-time-in-a-satellite-tle-two-line-element]