観測からの軌道決定

  • 改訂
  • FIND_ORBとは何か?
  • 何故 FIND_ORB が存在するのか?
  • 使用制限(FIND_ORB は著作権のあるフリーウェア)
  • 他の興味のある軌道決定ソフト
  • FIND_ORBに入力する天体の観測値をどこで入手できるか?
  • FIND_ORB のスタート
  • 小惑星1996 XX1の例題でFIND_ORB を動作させる
  • 地球近傍小惑星 1997 ZZ99 の例題で FIND_ORB を動作させる
  • 木星の衛星 Sinope (J-IX) の例題でFIND_ORB を動作させる
  • ミール宇宙ステーションの例題でFIND_ORB を動作させる
  • 軌道要素と残差のファイルへの保存
  • 位置推算表の作成と保存
  • 観測者に関するデータを得ること
  • 元期とステップサイズの修正ボックス
  • FIND_ORB が軌道を見出せなかったとき
  • 疑わしい質の観測の除外
  • 他の言語への翻訳
  • FIND_ORB の C/C++ ソースコード
  • 将来に対する計画
  • いくつかの用語の定義
  • (1999年8月24日)FIND_ORB によるカッシーニの追跡!

    改訂

    (2000年1月1日)二人の方が、FIND_ORB が 2000年1月1日 UT をまたがる観測を正しく処理することが出来ないと指摘しました。 その日を過ぎた観測は、余りのボックスの最初に表示されます。1900年代の直後の観測として。これが修正されました。 Windows が余りを並べ替えず混乱していますので、このサイトにあるソースコードは変更をしていません。

    FIND_ORBとは何か?

    FIND_ORB は、 MPC (Minor Planet Center) フォーマットで与えられた小惑星や彗星の一連の観測値を使って、それに対応する軌道を求めることができます。 (MPCフォーマットを使った理由は、それが Charon を含め殆どの位置測定ソフトで使われている「標準」であるためです。 MPCフォーマットの詳細はここをクリック)。 最近、地球の人工衛星の軌道を求める機能と、他の惑星の衛星の軌道を求める機能が、追加されました。 16-bitのWindowsプログラムと32-bitのWindows プログラムの両方があります。 これらの唯一の違いは、32-bit版の方がずっと速いということです。 以下では、これら2つを区別することなく、"FIND_ORB"と呼ぶことにします。

    16-bit 版のダウンロードはここをクリック (約 131 KB)

    32-bit 版のダウンロードはここをクリック (約 131 KB)

    FIND_ORB は、ユーザーフレンドリーなプログラムで、Hergetの方法を用いて初期の軌道決定ができます。 また、観測値の個数が増えると、最小2乗法を用いて「ベストフィット」する軌道を見つけることができます。 更に惑星や地球の月の摂動の影響を含める事ができ、将来は木星の4大衛星、チタン、そして4大小惑星の影響まで含める事になるでしょう。

    何故 FIND_ORB が存在するのか?

    FIND_ORB は、やや特別な実用的価値があります。 大抵の人は数夜の天体の位置を、CCDカメラを用い、例えばCharonのようなソフトを使って測定し、観測値を小惑星センター(Minor Planet Center)にE−メールするでしょう。 小惑星センター(MPC)は観測を蓄積し、その後、結果の軌道と位置推算表を IAUC や MPEC を通じて発表します。

    FIND_ORB を使いたい人には3つのグループがあります。 1番目は、、地球近傍小惑星(near-earth asteroids、NEAs)を追跡している極く少数の人たちで、彼らは観測を行なったあと直ちに更新された軌道を得る必要があります。 NEAは、やってくるとすぐに去ってしまう傾向があるので、もし観測者たちが直ちに軌道要素にフィードバックできれば好ましいです。 FIND_ORBはこれを提供します。

    2番目ですが、私は位置観測の質をテストするためにFIND_ORB を使ってきました。 もし、誰かがCharonを用いて或る小惑星を数回測定し、私がそれらの結果をFIND_ORBに入力し、それらの位置が1秒程度の残差で1つの軌道上にきちんと並んでいることが分かれば、私は彼らの位置観測の質が良好だと思いはじめます。 それで、位置観測者は概してこのソフトに興味をもっているかもしれません。

    3番目ですが、探求心は、位置測定データを軌道要素に変える完全な「魔法」について、ときどき知りたがります。 これが私がFIND_ORBを作る主な動機でした。 (そして、これは学術的な目的に役に立つことが分かっています。というのは、研究課程の一部としてFIND_ORBを使っている学生から私は時折たよりをもらいますので。)

    天文ソフトの売り主としての私自身の必要として、特に第4の理由があります。 私は木星の外側の4個の月(J−6、7、8、9)の観測値を見つけ、それらを使ってそれらのモーションを表わす理論を導きたいと思いました。 それらのモーションはかなり異様なものです。実際、これらの衛星のうちの2つは 逆行 軌道です。 あとで述べますが、FIND_ORB そのような軌道を実際に求める事ができます。 私は、木星の全ての外側の月に対して、そして天王星の最近発見された2つの月に対して、良い解を得る事ができました。

    使用制限

    FIND_ORBは著作権のあるフリーウェアです。 Project Pluto(下記)からの書面による許可がなければ、商用ソフトの内部で、または商用ソフトに付けての使用は、明確に禁止されています。

    Project Pluto
    168 Ridge Road
    Bowdoinham ME 04008
    tel (207) 666 5750
    fax (207) 666 3149
    pluto@projectpluto.com
    http://www.projectpluto.com

    しかし、営利目的の使用ではない場合には・・・・どうぞご自由にお使いください。

    他の興味のある軌道決定ソフト

    私の知るところでは、摂動天体の影響を含めることができ、初期軌道と最小2乗フィッティングした軌道の両方を求めることができる、Find_Orbに匹敵する唯一のソフトは OrbFit です。 このソフトもまた、フリーウェアです(Find_Orbと類似の使用制限をもっています)。 このソフトは約半ダース(6名前後)のプロの天文学者によってまとめられたもので、Windows 95/98/NT または Unix 上で動作します。 このソフトの1つの良い点は、FORTRANソースコードが与えられていることです。 (私もFIND_ORBのC/C++ ソースコードを示す計画をしていますが、・・・でも時間がかかることでしょう。というのは、コードを公開するのに充分な程度にきれいに整えることは、初めから書く以上に仕事の量が多くなるかもしれないので。)

    もしあなたがこれ以外の軌道決定ソフトをご存知の場合、どうぞ私にE−メールをください

    FIND_ORBに入力する天体の観測値をどこで入手できるか?

    理想的には、CCDカメラを入手し、Charon (Guideと共に動作する位置測定ソフト)をダウンロードし、或る小惑星についての画像と位置を収集し、これらの位置を小惑星センター(Minor Planet Center)に報告すべきです。 間接的な利益として、これらの位置はFIND_ORBで用いることができます。

    初め、私はFIND_ORBのテストをMPEC( Minor Planet Electronic Circulars )で報告された観測を用いて行ないました。 MPECを入手するためには入会が必要です。(訳者注:現在は、WEBで試験的に公開されているMPECの閲覧の場合は入会不要ですが、E−メールの形で配達してもらうには入会が必要です。) 観測は、もちろんMPCフォーマットで報告されますので、あなたはMPECを直接FIND_ORBに入力する事ができます。 MPECに含まれている他の文を削除する事に悩むこともありません。というのは、 FIND_ORB は、どの行に観測が含まれ、どの行に他のデータが含まれているかを、認識するからです。

    2つの全く架空の小惑星の「観測値」と、木星の外側の月の1つ(J-IX、またSinopeとして知られている)の実際のデータと、ミール宇宙ステーションの計算上の観測値とを含んでいるファイルが、FIND_ORBとともに支給されています。 小惑星のケースが最も実際的です。それらは、あなた自身の観測で試す前に、研究すべき2つの既知のケースをあなたに与える事を保証します。

    FIND_ORB のスタート

    先ずあなたは、16-bitまたは32-bitのどちらかのFIND_ORBをこのページからダウンロードし、あなたのGuideディレクトリーにコピーし、解凍(unZIP)しなければなりません。 Windowsにインストールされると、それは、黄色い太陽とその回りをまわっている天体を示す、やや見苦しいアイコンとなります。

    ソフトをスタートさせると、1つの大きなダイアログボックスが現われます。 「Open...」ボタンが左上の角にあるので、それをクリックし、「ファイルを開く」のダイアログボックスの中で「EXAMPLE」という名前のファイルを選択してください。

    「Open...」ボタンのすぐ下に小さなリストボックスがあり、FIND_ORB がファイル内で見つけた全ての天体名が表示されます。 このファイルの場合には、FIND_ORBは、2つの架空の天体1996 XX1 と 1997 ZZ99、木星の月であるSinope、及びミール(Mir)宇宙ステーションの観測を見つけます。

    小惑星1996 XX1の例題でFIND_ORB を動作させる

    先ず、簡単なものから始めましょう。 1996 XX1の部分をダブルクリックしてください。そうすると FIND_ORB は次の「推測」軌道を表示します。

    1996XX1
       Perihelion 1998 May 29.108403 TT
    Epoch 1997 Oct 12.8 TT = JDT 2450734.3
    M 256.19812              (2000.0)            P               Q
    n   0.45463738     Peri.  102.43865     -0.89162796     -0.45276506
    a   1.6750430      Node    50.64016      0.41447798     -0.81785050
    e   0.3618909      Incl.    0.13626      0.18222947     -0.35513992
    P   2.17           H   15.2      q 1.0688602
    From 13 observations 1997 Oct. 12-22;   RMS error 90.590 arcseconds
    

    お分かりのように、FIND_ORB は初めに軌道を推測しますが、この場合にはかなり大きな 残差を生じています。 この「推測」は、最初と最後の観測のときの小惑星までの距離が1AUであると仮定したものです。 通常、これは初期の推測としてはそれほど悪くはありません。 NEAの場合には、かなりひどいですが、あとで分かるように、FIND_ORB はうまく回復します。 (2つの修正ボックスの中にR1とR2に対する「推測」値が見られ、望むならばそれを変えることができます。)

    "Herget step"をクリックしてください。すると、 FIND_ORBは現在の軌道を用いて、推測値を改良します。 この例題の場合、1AUの仮定は少しはずれており、FIND_ORBはこれらの値(R1とR2)を実際の値の近傍に素早く近づけ始めます。 "Herget"を数回クリックしてください。RMS誤差(RMS error) が最小になり、次の、結構立派な軌道が得られます。

    1996XX1
       Perihelion 1998 Mar 6.613520 TT
    Epoch 1997 Oct 12.8 TT = JDT 2450734.3
    M 322.61471              (2000.0)            P               Q
    n   0.25814459     Peri.   70.72323     -0.48525244     -0.87437222
    a   2.4428344      Node    48.30591      0.80130822     -0.44553172
    e   0.5691006      Incl.    0.13910      0.34990742     -0.19228807
    P   3.82           H   15.6      q 1.0526159
    From 13 observations 1997 Oct. 12-22;   RMS error 0.618 arcseconds
    

    もし、あなたがMPECをとっていれば、RMS誤差と近日点距離と近日点通過時刻とを常に表示するように私がMPCの標準の軌道要素表示を変更したことに気がつくでしょう。 これらの変更以外は、よく知られたものに見えるはずです。

    Hergetの方法で、FIND_ORB がひとたび良い解に到達すると、RMS誤差は急速に最小値まで下がり、かなり良好な軌道が得られます。 しかし、FIND_ORB はまだ単純化された初期軌道の解を用いており、これは通常はかなり悪い残差を発生させます。 今は、あなたは立派な解を得ているので、 "Full step" ボタンをクリックして完全な最小2乗法(least-squares) によるフィッティングを行なうことができます。

    "Full step"を更に数回クリックしてください。 すると、FIND_ORB は次の軌道を表示するでしょう。

    1996XX1
       Perihelion 1998 Mar 9.026406 TT
    Epoch 1997 Oct 19.0 TT = JDT 2450740.5
    M 323.88599              (2000.0)            P               Q
    n   0.25607978     Peri.   72.50022     -0.50323208     -0.86414933
    a   2.4559481      Node    47.71399      0.79189355     -0.46200751
    e   0.5744243      Incl.    0.14299      0.34592206     -0.19948683
    P   3.85           H   15.5      q 1.0451918
    From 13 observations 1997 Oct. 12-22;   RMS error 0.476 arcseconds
    

    少し改善された軌道が得られました・・・もっと大きく改善される場合も時々あります(特に最初か最後の観測値に何らかの問題があった場合)。 私たちの最終結果は、この「小惑星」は、離心率の大きな軌道を持ち、近日点(q) が地球軌道のわずかに外側にあり、地球自体と殆ど同じ軌道面内を運行している(軌道傾斜角が0.14度しかない)、ということです。 このことは、この天体が3.85年毎に地球にかなり近づく可能性があることを意味します。 しかし、近日点距離が1.03 AU よりも大きので、最も接近したとしても0.015 AU(約200万Km。月までの距離の5倍)までしか近づかず、差し迫った衝突の危険はありません。

    あなたが調査する小惑星は殆ど皆、上の場合と或る程度似ていることでしょう。あなたは、常識的な、脅威を与えない解を得るでしょう。

    小惑星 1997 ZZ99 の例題で FIND_ORB を動作させる

    2番目の例題の小惑星 1997 ZZ99 の場合、大部分は同様なのですが、システムにいくつかの問題を投げかけます。

    1997 ZZ99 をダブルクリックすると、すぐに、次の異常な軌道の予想が表示されます。

    1997ZZ99
       Perihelion 1997 Apr 21.125084 TT
    Epoch 1997 Apr 21.1 TT = JDT 2450559.6
    q   2.0040960            (2000.0)            P               Q
                       Peri.    5.67219      0.85073202     -0.51150745
                       Node   206.21766      0.49234790      0.85605656
    e  13.3837513      Incl.   15.88150      0.18397984      0.07434575
    From 35 observations 1997 Apr. 21-22;   RMS error 2506.519 arcseconds
    

    離心率(e)が1よりも僅かに大きい軌道は、双曲線軌道(太陽に1度しか近づかない)ですが、これらが全て異常という訳ではありません。 しかし、離心率が約1.01よりも大きな軌道は殆ど確実に間違いです。 問題なのは、FIND_ORBははじめ、この小惑星が1AU離れていると仮定していることです。実際には、もっと近いので、私たちは「ワープ10」の小惑星に相当する軌道を得ることになります。 一般的な経験として:もし太陽の回りを周る軌道で離心率が1より大きくなった場合、R1とR2の推測値が大きすぎます。

    はじめの推測値がひどいことは無視しましょう。 Hergetをクリックします。何度も何度もクリックします。 残差が小さくなるのに長い時間がかかることに注目してください。R1とR2は非常に小さいですか?R2はR1よりもかなり小さいですか? これらは皆、地球近傍小惑星のきざしであり、FIND_ORB が地心距離1AUの仮定があまり良い推測ではなかったと理解するには少々時間がかかります。 同様に、私が FIND_ORB をカイパーベルト天体のような非常に遠方の天体で試したとき、R1とR2を実際の大きさまで大きくして良い軌道が得られるまでには時間が長くかかりました。

    今回の場合、R1とR2のはじめの推定値は、実際の約200倍も大きかったため、まったくばかげた推定値でした。 しかしながら、 Herget法によりついに解に収束します。そこで、" Full step "を数回クリックしますと、以下の軌道が得られます。

    Orbital elements:
    1997ZZ99
       Perigee 1997 Apr 22.945940 TT
    Epoch 1997 Apr 22.0 TT = JDT 2450560.5
    q   16067.959 km         (2000.0)            P               Q
                       Peri.  353.22705      0.62125622     -0.77454758
                       Node   315.09409     -0.71081963     -0.49321611
    e   5.9841054      Incl.    9.68928     -0.32981231     -0.39599737
    From 35 observations 1997 Apr. 21-22;   RMS error 17.558 arcseconds
    

    ところで、推定がかなり悪い場合には、いつも収束するという訳ではありません。 時々、R1とR2を小さくする 代りに、 Herget法はそれらを増加させてしまい、ワープ10からワープ100になって、ついには、浮動小数点演算オーバーフローを起こすことがあります。 そのような場合、あなたがR1とR2により良い推定値を与えてやることが本当に必要です。

    また、この天体が地球に非常に接近するため日心軌道はもはや意味を持たず、代りに地心軌道(つまり、フライバイ)上にあることをFIND_ORB が理解したことにあなたは気がつくでしょう。 従って、「近日点(perihelion)」の代りに、「近地点(perigee)」が得られます。 同様に、もしあなたがFIND_ORB に他の惑星の衛星のデータを入力すれば、「木星に最も近い点(perijove)(近木点?)」とか「天王星に最も近い点(periuranus)(近天点??)」等々が得られます。

    また、地心要素(地球中心を原点とした軌道要素)の場合にのみ、距離がAUの代りにkmで与えられ、 要素はJ2000.0の赤道(黄道ではありません )を基準としたものとなります。 この理由は、ミールのところで議論するつもりです。 さしあたり、近地点距離は地球の半径6378kmよりもかなり大きいことに注目してください。 従って、今回はぶつからないことになります。

    この(たいへん注意深く考案された)例題では、RMS誤差 はまだかなり悪い状態です(17秒角前後!)。 もしかすると、地球による摂動を含めれば改善するかもしれません。 地球 (Earth)のチェックボックスをクリックし、「full step」を更に数回行ないます。すると、RMS誤差は小さくはなりますが、それほど大きくは改善されません。何故こんなに悪いのでしょう?

    その主な理由は、この小惑星はまた月の非常に近くも通過したということです! 「月(Moon)」をクリックして月による摂動も加え、「Full step」を数回実行すると、RMS誤差は突然1秒角以下まで小さくなります。

    Orbital elements:
    1997ZZ99
       Perigee 1997 Apr 22.936253 TT
    Epoch 1997 Apr 22.0 TT = JDT 2450560.5
    q   16130.444 km         (2000.0)            P               Q
                       Peri.  351.67717      0.61678807     -0.77839319
                       Node   316.29982     -0.71208065     -0.48847398
    e   6.2247247      Incl.    9.74543     -0.33543050     -0.39433135
    From 35 observations 1997 Apr. 21-22;   RMS error 0.984 arcseconds
    

    通常は、地球による摂動の方が重要です。というのは、結局、地球は月の81倍の質量がありますので。 しかし、1997 ZZ99 は月の非常に近くを通過しました。 これまでに、私は月による摂動が本当に重要である現実世界のケースを1度だけ見たことがあり、それは1996 JA1の場合でした。

    地球と月の両方に非常に接近する軌道をもつ1997 ZZ99 をこしらえるために、私は最初に(観測位置が)非常に月に近い2つの観測を入れたファイルを作りました。 それから私は、これら2つの「出発」観測をFIND_ORBに入力し、R1を月より僅かに遠くに、R2を月より僅かに近くに設定しました。 FIND_ORBはそれに対応する軌道を計算し、私はその軌道を使って、オーストラリアから見た場合の位置推算表を作成しました。 それから私は、この推算表を使って、全部で35個の架空の観測をこしらえたのです。

    全ての惑星の摂動を考慮しても通常は実質的な違いはなく、プログラムのスピードがひどく遅くなるだけです。(全惑星の摂動を計算するには大量の演算が必要です。) 木星の4個の「遠方の」衛星(多分、木星の引力によって捕らえられた小惑星たち)の軌道を計算した際には、良い結果を得るためには、私は木星の摂動(これは勿論!)と土星の摂動(やや驚きです)を考慮しなければなりませんでした。 新しく発見された天王星のより外側の(より明るい)2個の月の場合、良い結果を得るために、私は木星、土星、海王星の摂動を考慮しなければなりませんでした。 しかし通常は、地球に非常に接近したNEA(地球近傍小惑星)の場合に、地球の摂動を考慮するだけでしょう。

    木星の衛星 Sinopeの例題でFIND_ORB を動作させる

    最初に、謝意を表します。 Sinopeについての位置観測データは、 このサイトから集めたデータの一部です。 このデータは、パリの Bureau des Longitudes の P. Rocherと J. Chaprontによって用いられ、木星の外側の4個の衛星の動きを表わす位置推算表が開発されました。 (事実、上のサイトには、J-6,7,8,9の位置推算表を作成できるWindows用ソフトがあります。)

    FIND_ORBで、他の惑星の衛星について計算する場合は、 多少複雑になってきます。 このことを見るために、上述したように、EXAMPLEをロードし、Sinopeをダブルクリックしてください。 次に示す初めの推定値が得られます。

    Orbital elements:
    Sinope
       Perihelion 1988 Dec 17.229746 TT
    Epoch 1988 Dec  5.0 TT = JDT 2447500.5
    M 358.51286              (2000.0)            P               Q
    n   0.12160000     Peri.  329.38982      0.53178296     -0.84677251
    a   4.0350322      Node    88.48102      0.77971454      0.48330686
    e   0.5162365      Incl.    0.77580      0.33053309      0.22224040
    P   8.11      q 1.9520014
    From 7 observations 1988 Nov. 3-Dec. 8;   RMS error 238.485 arcseconds
    

    Herget法で初めの推定値が悪い場合に通常起こることですが、残差がかなりひどい値になっています。 他の惑星の衛星の場合、観測開始と終了の日に対する惑星の距離を見出すことから始めることができます。

    Guide(又は、他の優れたプラネタリウム/位置推算ソフトウェア)を走らせ、1988年11月3日と1988年12月8日の木星までの距離を求めます。 両方の日付に対して、大体、4.08AUが得られます。

    さて、これらの観測のアーク(観測期間)は1ヶ月しかありません。 この期間に衛星は惑星に対してあまり大きくは動かないでしょう。 衛星は多分、約4.2AUの遠い側か、または約4AUほどの近い側にあるでしょう。 ときどき、あなたはどちらの場合かを見つけるテストをしなければなりません。 あなたは、残差がかなり良いけれども、充分に良くはない「間違った解」を得る可能性があります。 (これら2つの解は更に観測が増えた時に争うことになります)

    これを見るために、R1=R2=4.2AUと設定してください。 木星(Jupiter)のボックスをチェックします。(結局、木星自体の摂動の影響を含めないと、良い結果を得ることができなくなります。

    「Herget」を数回クリックし、その後、「Full Step」を更に数回クリックしてください。 次のような軌道が得られます。

    Orbital elements:
    Sinope
       Perijove 1989 Feb 17.425727 TT
    Epoch 1988 Dec  5.0 TT = JDT 2447500.5
    M 321.50616              (2000.0)            P               Q
    n   0.51721143     Peri.  137.41706     -0.83130028     -0.02148090
    a   0.1513538      Node    51.19878     -0.44539636     -0.57203542
    e   0.6561754      Incl.   45.45331      0.33250854     -0.81994759
    P   1.91      q 0.0520392
    From 7 observations 1988 Nov. 3-Dec. 8;   RMS error 2.661 arcseconds
    

    これは立派な軌道ですが、2つの点で不思議です。 第1に、離心率がかなり大きなことです。 第2に、RMS誤差を見てください。今回用いたような上質の観測がこのような大きい誤差を示すことはめったにありません。

    また、お気づきになるでしょうが、観測値リストの下に、いくつかの「除外された」観測があります。(これらを使うと、初期の軌道決定ができなくなるため除外されました。) これらをダブルクリックすると、これらを含めるように切替えることができ、軌道のアーク(観測期間)を長くできます。 これを実行してみると、軌道が悪くなるのがわかるでしょう。 結局、この解は不安定になるでしょうし、あなたは大きな残差をもった異様な軌道を得るでしょう。

    OK。 1988年11月3日から1988年12月8日の期間にSinope が木星の遠い側にいなかったことを私たちはとても上手に確定できました。 それでは、「近い側」の解を求めてみましょう。 天体リスト内のSinopeをダブルクリックして、Sinopeのデータを再ロードしてください。 R1 = R2 = 4 AUに設定し、Hergetを数回クリックしてください。その後、Full Step を数回クリックしてください。 次の軌道に類似した軌道が得られるでしょう。

    Orbital elements:
    Sinope
       Perijove 1988 Aug 17.373003 TT
    Epoch 1988 Dec  5.0 TT = JDT 2447500.5
    M  50.02849              (2000.0)            P               Q
    n   0.45635192     Peri.  308.37879      0.71213366     -0.59020798
    a   0.1645277      Node   268.82282     -0.46460328     -0.80216509
    e   0.3342001      Incl.  157.65155     -0.52631686     -0.09047485
    P   2.16      q 0.1095425
    From 7 observations 1988 Nov. 3-Dec. 8;   RMS error 0.427 arcseconds
    

    今度は離心率がかなり小さく、更に重要なことには、RMS誤差が 非常に小さくなりました。 更に、他の観測をダブルクリックすると、結局次の軌道が得られます。

    Orbital elements:
    Sinope
       Perijove 1988 Aug 17.350665 TT
    Epoch 1988 Dec  5.0 TT = JDT 2447500.5
    M  50.04571              (2000.0)            P               Q
    n   0.45641595     Peri.  308.02967      0.71629387     -0.58533458
    a   0.1645123      Node   268.86682     -0.45929409     -0.80532201
    e   0.3370210      Incl.  157.66933     -0.52533040     -0.09402071
    P   2.16      q 0.1090682
    From 20 observations 1988 Nov. 3-1993 Apr. 17;   RMS error 0.695 arcseconds
    

    今や、私たちは、Sinopeが木星のまわりを完全に2公転する期間にわたる観測を含めており、残差は非常に良好です。 ついでに言えば、お気づきになると思いますが、軌道傾斜角が180度に近く、これは 逆行軌道(通常の惑星の運動方向と反対)を示しています。 逆行軌道は通常はめったにないのですが、多数の外惑星の衛星はこのような軌道をもっています。 木星(及び他の惑星)にとっては、順行軌道(大部分の惑星と同じ方向)の小惑星を捕らえるよりも、このような逆行軌道の小惑星を捕らえるほうが、いくらか容易であることは明らかです。

    ミール宇宙ステーションの(計算による)観測値でFIND_ORB を動作させる

    FIND_ORBを走らせて地球の人工衛星の軌道を決定する事は、必ずしもとても役に立つとは限りませんが、可能です。 残念ながら私は使用できる実際のテストデータを持っていないので、いくつかを作成しました。 これは、Guideを起動し、MPCの天文台の緯度/経度として私の緯度/経度をセットし、ミール宇宙ステーションの位置推算表を作成することにより行ないました。 FIND_ORBを走らせ、EXAMPLEファイルを開き、「Mir」をダブルクリックすると、この計算された観測値がロードされます。

    ここでも、R1とR2の正しい推定が重要です。デフォルトの1AUは、地球を周っている天体に対しては明らかにナンセンスです。 これらを、0.00001AUに設定してください。これは、約1500kmに対応し、低高度で地球を回る衛星に対してはちょうど良い距離です。

    「地球(Earth)」のボックスをクリックし、Hergetステップを数回走らせます。 すると、つぎの値に急速に収束します。

    Orbital elements:
    Mir
       Perigee 1998 Jun 20.810218 TT
    Epoch 1998 Jun 20.8 TT = JDT 2450985.3
    M 171.29447              (2000.0)            P               Q
    n5660.54255256     Peri.  132.79498     -0.81371242     -0.44835486
    a    6720.118 km   Node    28.13785     -0.15470880     -0.44641400
    e   0.0057829      Incl.   51.66791      0.56030106     -0.77439813
    P  91.58m           H   24.2           G   0.15      q 6681.256 km
    From 10 observations 1998 Jun. 20-20;   RMS error 158.892 arcseconds
    

    RMS誤差は確かに少々ショッキングです。これが大きい理由については後で説明します。 91分という周期は低高度で地球を回る人工衛星とっては正しい値であることに、あなたは気が付くことでしょう。 近地点距離によれば(地球の半径は赤道部分で6378kmであることを思い出すと)、ミールはまだ地球には突入しません。

    あなたが「Full Step」ボタンをクリックする前に、次の手順を踏むことを提案します。 デフォルトでは、 Full Stepを実行すると、FIND_ORBは元期を6月16日に戻してしまいます。 問題は、この短いアーク(観測期間)から外挿で約5日(観測期間の約700倍)も戻そうとすると、不安定になることです。 従って、元期を観測時刻にもっと近づける必要があります。 そこで、元期を2450985.34に設定してください。 この値は、観測期間のちょうど真ん中の時刻であり、こうすれば非常に安定になります。

    これを行なった後、Full Stepを数回実行すると、次の軌道が得られます。

    Orbital elements:
    Mir
       Perigee 1998 Jun 20.810114 TT
    Epoch 1998 Jun 20.8 TT = JDT 2450985.3
    M 168.93682              (2000.0)            P               Q
    n5652.74897459     Peri.  132.46347     -0.81106791     -0.45313414
    a    6726.294 km   Node    28.13381     -0.15214408     -0.44720528
    e   0.0048460      Incl.   51.67437      0.56481946     -0.77115296
    P  91.71m           H   24.2           G   0.15      q 6693.698 km
    From 10 observations 1998 Jun. 20-20;   RMS error 39.292 arcseconds
    

    観測期間がもっと長かったり、衛星の高度がもっと高かったりすると、月の影響が出てくるかもしれません。 しかし、もしあなたが月のボックスをチェックして更にFull Stepを実行しても、あまり大きな差異は見られないでしょう。

    この大きな残差の原因は単純なことです。MPCフォーマットでは時刻の最大の精度が0.0864秒です。 この短いように思われる時間の間に、ミールは約700m移動することができます。 ミールが1000km離れている場合には(今回の観測のなかには、ミールまでの距離がもっと近いものもありますが)、700m=140秒角です。 FIND_ORBが(MPCではない)他のフォーマットを読めるようになるまでは、このことは問題でしょう。

    軌道要素と残差のファイルへの保存

    どの時点においても、もしあなたが結果を保存したければ、「要素の保存(Save Elements)」をクリックしてください。 そうすれば、「軌道要素(orbital elements)」ボックス内のテキストを含んだアスキー(ASCII)ファイルを作る事ができます。 また、「残差の保存(Save Residuals)」をクリックすると、観測値/残差リストボックス内の全てのデータを含むテキストファイルを作る事ができます。

    位置推算表の作成と保存

    「位置推算表の作成(Make Ephemeris)」オプションをクリックすると、FIND_ORBは、計算開始の年・月・日、計算の回数、計算の間隔(日の単位)、緯度/経度(Guideであなたが設定したものと同じ)の項目の小さなダイアログボックスを表示します。 これらの値を入力/修正して「Go」をクリックすると、リストボックス内に位置推算表が作成されます。「保存(Save)」をクリックすると、結果をファイルに書く事ができます。

    位置推算表を計算する際には、FIND_ORBはあなたがメインダイアログで選択した摂動の影響も含めます。

    観測者に関するデータを得ること

    ダイアログボックスの下部のリストボックス内のどの観測でもクリックすれば、リストボックスのすぐ下にMPCの天文台名とその緯度/経度が表示されます。

    元期とステップサイズの修正ボックス

    通常、MPCでは、最も近い20で割り切れるユリウス日(Julian days)元期(epoch)における軌道要素が与えられており、FIND_ORBにおいてもこれを実行しています。 通常は、これで全く問題はありません。 もしあなたが強い摂動を受けている天体(地球近傍小惑星や木星に衝突する彗星)を扱う場合には、元期の修正ボックスを使用して、元期を観測時刻に近づけることができます。 また、もし摂動を考慮していない場合(全てのチェックボックスがチェックされていない状態)には、元期は関係ないことを、心に留めておいてください。

    残りの修正ボックスは「ステップサイズ(Step size)」ですが、これは通常は関係ありません。 これは数値積分で使われているステップサイズ(デフォルトでは3日のステップサイズ)を変えるものです。 3日間で地球を完全に過ぎ去ってしまうような地球近傍小惑星の場合には、あなたは、ステップサイズを小さくする必要性を見出すかもしれません。 上のミールの場合に関しては、もし観測期間の外側を考えるならば、あなたはステップサイズを約0.001日(86秒)にしたいことでしょう。というのは、ミールは3日間に地球を約40周もしますので! しかし、多くの小惑星に対しては、悪影響を与えずにステップサイズを5日や10日に増やせることを私は見出しました。

    FIND_ORB が軌道を見出せなかったとき

    上の例題では、FIND_ORBは(結局、)解に収束しました。 しかし、いつでも収束するとは限りません。この場合、プログラムはMPCの観測を読み込んだり、軌道を出力したりが出来なくなります。 ケンタウスル座α星をまわるワープ10の軌道を含む解が得られることもあるでしょう。 ハーゲット法では、R1=R2=0に近づくこともあるでしょう。(つまり、天体が、望遠鏡のすぐ前に浮かんでいることになります)

    これを避ける1つの方法は、FIND_ORBに天体までの距離のより正確な値を与えることです。 これは、R1とR2により正確な推定値をセットし、そのあとで「Herget」を数回クリックすることで実施できます。 既に見たように、これはSinopeやミールの場合には、絶対に必要なことでした。

    また、ハーゲットの方法は常に最初の観測の時刻を 元期(epoch) とする要素を与える事を、私は指摘しなければなりません。 「完全な(full)」解の場合は、デフォルトでは、 JD(ユリウス日) が20日で割り切れる一番近い日に元期が移ります(理由は、MPCが行なっていることのため)。 しかし、あなたは修正ボックス内の元期(epoch)を修正して、望ましい日に変える事ができます。

    また、いくつかの彗星の場合、彗星軌道の出力に制限を加える方が役立つことが分かりました。 あなたが「full solution」で走らせた結果、離心率がかなり1に近い場合には、「彗星(cometary)」ボックスをクリックして更に数回計算を繰り返してください。 すると多分、残差はあまり変わらずに、離心率が1の軌道が得られると思います。

    数個の観測しか利用できない場合には、観測の残差は小さいけれども、奇妙な軌道が得られることがときどきあります。 これは、精度の悪い軌道が決定されたことを意味するだけです。 しかし、軌道がかなり奇妙に見えたとしても、一般には、その軌道は数日間は立派な位置を与えるでしょう。 数日間を過ぎたところで、その天体を再度観測して位置観測値を更に得れば、「現実的な」軌道を得る事が充分にできるでしょう。

    わたしは、このプログラムが完全にうまくいかない場面をまだ見たことがありませんが、RMS誤差 345184.9 秒角などのナンセンスな軌道を作らず適切に動作させるためには、パラメータを少しいじることが必要な場合もあります。

    観測の除外

    大部分の観測は軌道に良く合っていて残差 が1秒角以下であるものの、数個の観測が怪しいほど大きな残差をもっていて、これらの観測の質が悪かったのではないかと思う場合がよくあります。 そのような場合、問題の観測をダブルクリックしてください。そうすると、FIND_ORBはその観測を除外して軌道のフィッティングを行ないます。 その観測を再度ダブルクリックすると、その観測を再び考慮するように戻す事ができます。 (既にご存知のように、Sinopeのいくつかの観測はあなたがファイルをオープンしたときに除外され、 Herget法で初期軌道を得たあとでのみそれを含めることが可能でした。)

    あなたは、観測が本当に良いかどうかの可能性を考慮しなければなりません。 FIND_ORBは、残差の2乗和で表わされた「総合的な」誤差を小さくする軌道を見つけるという昔からの方法を用いています。 この場合、或る特異な状況では、完璧な観測が大きな残差をもつことがあり得ます。 例えば、あなたが「一群の」観測値をもっていて、それに遠い過去か未来の1個の観測を加えると、その1個の観測は異常に大きな残差を持つことでしょう。

    大きな残差の位置観測値の場合、残差が大きいという理由でMPCへの報告を止めることは決して行なってはいけません! MPCの人たちは、与えられた観測を無視したらよいかどうかの決定を上手に行なうことができますし、本当はどの観測が問題なのかを判断するためのはるかに優れたものを備えているでしょう(1つには彼らはより多くの観測をもっています)。

    FIND_ORB の C/C++ ソースコード

    あなたは、ここをクリックしてFIND_ORBのDOS版のソースコードをダウンロードできます(約 70 KB)。 また、 このサイトにある基本の天文計算用のソースコード(source code for basic astronomical computations)を得ることも必要です。 また、本ページの冒頭にある2つのWindows版のうちの一方をダウンロードしてあることが必要です。その理由は、DOS版でも同じファイルを使うからです。

    もしあなたがMicrosoft C/C++を持っていれば、FIND_ORBの32-bit コンソール実行版(キーボード操作版の意か?)を作る事ができます。 はじめに、 nmake lunar32.makによって、基本関数のライブラリーを構築します。 次に、 dos_make バッチファイルを走らせます。 その後は、例えば 'example'ファイルの天体について計算する場合には、 dos_find example と入力すればFIND_ORBを走らせる事ができます。

    このコンソール版の全機能はウィンドウズ版のものと大変良く似ています。 グラフィックの代りにテキストモードで行われているだけです。 dos_find はウィンドウズ版と同じ関数を使っており、インターフェースが異なるだけです。 '?'キー(または、 dos_findが理解出来ない、他のキー)を押すと、以下のキーボード・コマンドのリスト(dos_help.docファイルの内容)が表示されます。(訳者注:()内の日本語訳は表示されません)

       The parameters shown in this software are basically the same as those
    shown in the Windows software,  as described at
    (このソフトでのパラメータは基本的にはウィンドウズ版のものと同じで、以下で説明されています。)
    
    http://www.projectpluto.com/find_orb.htm
    
       Commands are very different,  because they are all keyboard based:
      (コマンドは、キーボードベースのため、かなり異なります。)
    
    r      Reset R1 and R2,  for use in the method of Herget.  Results in being
           prompted to type in new values for both.
            (ハーゲットの方法の中で使い、R1とR2をリセットします。新しいR1とR2を入力できるようになります)
    e      Reset the epoch.  Results in being prompted to enter a new (JD) epoch.
            (元期をリセットします。新しい元期(JD)を入力できるようになります)
    s      Reset the integration step size,  in days.
            (積分のステップサイズ(日の単位)をリセットします)
    c      Toggles to use of cometary-only (e=1) orbits when using a "full step".
            ("full step"のとき、彗星のみの軌道(e=1)を使うかどうかを切替えます)
    x      Toggle the inclusion of the currently selected observation.
            (現在選択している観測を含めるか否かを切替えます)
    h      Take one step using the method of Herget.
            (ハーゲットの方法で1ステップを実行します)
    f      Take one "full step" using the method of least squares.
            (最小2乗法を使って、1回分のフルステップを実行します)
    m *    Make an ephemeris (位置推算表を作成します)
    o *    Save orbital elements to a file(軌道要素をファイルに保存します)
    d *    Save resiDuals to a file(残差をファイルに保存します)
    esc    Exit(終了します)
    1...9  Toggle inclusion of Mercury...Pluto as a perturbing object.
            (摂動天体として、水星・・・冥王星を含めるか否かを切替えます)
    0      Toggle inclusion of the Moon as a perturbing object.
            (摂動天体として、月を含めるか否かを切替えます)
       Any other key invokes this text.(他のキーを押した場合には、このテキストが表示されます)
    
       Hit any key to return to the program:(プログラムに戻るには任意のキーを押してください)
    ~~~

    (1999年12月22日現在、アスタリスク(*)のついた項目は実施されていません。) 何故私はウィンドウズ版のFIND_ORBをDOS版に戻す事に悩まなければならなかったのでしょうか? 2つの理由があります。 第1には、ウィンドウズ版のUIコードは理解するのがかなり難しいということです。 私に軌道決定のソースコードについて質問した大部分の方は、その数学や物理について興味を持っていたのであって、ビル・ゲイツのOSの特有の表現法について興味を持っていたのではありません。 第2には、このコンソール版は、誰もが望むことですが、著しくポータブルなはずです。(もしあなたが、これを、Linux や他のOSへ移植する場合、または、コードに他の改良を加える場合には 私に知らせてください。

    いつか私は、ウィンドウズ版のUIコードを多分公開することになるでしょう。 しかし、 Charon のソースコードを公開することのほうが、優先度が高いでしょう。 ウィンドウズのソースを現状のままで見たい方は、E−メールしてください。そうすれば、美しさに欠けた現状のソースコードをお送りできるでしょう。

    FIND_ORBの今後の予定

    いつものことですが、私は、いつか FIND_ORBで実現したい希望のリストを持っています。以下に示します。

  • COMETS.DATに「軌道要素を保存」すると、そのファイルにその新天体を追加できて、Guideで見る事が出来るようにしたいです。 (現在は、軌道要素を異なるファイルに保存し、GuideのExtras メニューの「Add MPC Objects(MPC天体の追加)」を使って入力できます。)
  • 4大小惑星の摂動の影響を含められるようにしたいです。 普通は、これらの天体の影響は全くありません。 しかし、非常に僅かの小惑星は、1 Ceres(ケレス)、 2 Pallas(パラス)、3 Juno(ジュノー)、4 Vesta(ベスタ)に十分に近づき 測定可能な程度に影響を受けます。(実際、4大小惑星の質量が決定されたのは、その摂動を受けた小惑星の運動の研究によってでした)
  • 木星の4大衛星の摂動の影響を含められるようにしたいです。 (これを行う唯一の実際の理由は、私が、木星の外側の衛星の運動のより良い理論を得たいためです。) もし私がPhoebe(土星の最も外側の衛星)の観測を得たならば、土星の衛星の摂動も含めなければならないかもしれません。この場合にはチタン(Titan)がとても重要であると思います。
  • 地球をまわっている衛星については、大気の抵抗と地球の不規則な形による摂動が大変重要になります。 地球の人工衛星については多くの新しい機能を導入したいです。「赤経/赤緯」データだけでなく「距離」や「レンジレート(range rate)」のデータも扱える新フォーマットを読む機能や、人工衛星に対してよく使われているTLEフォーマットでデータを出力する機能など。
  • 多分、両方の光度パラメータをフィットする機能。 現時点では、FIND_ORBは固定したスロープパラメータを仮定し、観測に対して絶対光度パラメータだけをフィットさせます。
  • どなたでも、提案はありませんか? フィードバック(メールで提案)するにはここをクリック
  • いくつかの用語の定義:

    彗星の軌道(Cometary orbit)多くの彗星は離心率が非常に1に近い軌道をもっています。 これは、それらの軌道が非常に細長い楕円、即ち放物線に非常に似ていることを意味しています(例えばヘール・ボップ彗星)。 「彗星(Cometary)」チェックボックスをクリックすることは、 FIND_ORBに離心率を正確に1に固定するように伝えることです。 これは、あなたが数個の観測しかもっていない場合に、特に役立ちます。このような場合、FIND_ORBに軌道は放物線(彗星的)に違いないと伝えると、1つの解により収束しやすくなるでしょう。 (これは、観測が数個しか無い状態で初期軌道を計算する場合には、通常はよいアイデアです。彗星的な軌道と彗星的でない軌道の両方の軌道が収束したけれど、彗星的でない軌道の方が大幅に小さなRMS誤差になる場合には、彗星的でない軌道の方に切替えてください。)

    元期(がんき)(Epoch)摂動天体の影響を含めた軌道の場合には、軌道要素は時間とともにゆっくりと変化します。 従って、要素は結局「古く」なり、あなたは観測時刻により近い元期の新しい軌道に置き換える必要があります。 この理由でFIND_ORBは希望の元期をユリウス日で指定するための小さな修正ボックスをもっています。

    フルステップ(Full step)例えばハーゲットの方法を用いて天体の軌道の良い近似が一度得られると、数回のフルステップを行なう事により「ベストフィット(best fit)」軌道(天体の全観測に最も合う軌道)を見つける事が可能です。 「フルステップ」では、最小2乗法として知られている数学的手法を使っています。

    ハーゲットの方法(Herget method)これは、一連の観測から近似軌道を計算するための1つのかなり優れた方法です。 これは2つの観測(通常は最初と最後の観測)時の距離が分かっていると仮定することによって動作し、その後、残差を小さくするよう距離を改良するように動作します。 結局、ハーゲットの方法を繰り返すことにより最小の残差が得られ、良い近似軌道がえられます。一度、近似軌道が得られると、フルステップに切替えることができます。

    もっと数学的な冒険好きの方は、 ハーゲットの方法の基礎をなすいくつかの数学に関するこの説明に興味があるかもしれません。 この中では、FIND_ORBにおいて「単純化され」かつ強力になったいくつかの方法が特に強調されています。

    ユリウス日(Julian Day)(ユリウス暦と混同しないでください。これは全く異なるものです!) ユリウス日(JD)のシステムは、−4713年1月1日正午から経過した日数として時間を数える手段です。 単純にその時刻から経過した日数(小数以下も含め)を使う事により、私たちは伝統的な年/月/日、時/分/秒のシステムに関連した複雑さを避ける事ができます。 また、スタートの時刻を6700年以上前に置いているので、負の数を避ける事もできます。

    最小2乗法(Least squares)最小2乗法は、よく知られた数学的手法であり、ガウス(C. F. Gauss)によって1800年前後に考えられました。 先ず、いくつかの観測(私たちの場合は天体の位置)があり、それらを表わす理論またはモデル(私たちの場合は、ニュートンの運動の法則)があると仮定します。 観測値と計算値との差は残差(residuals)と呼ばれますが、最小2乗法は、「最良の」モデルは残差の2乗の合計を最小にすることを述べています。 (他の観測に比べてより正確な観測もあるという事実を考慮するための拘束条件もあります。即ち、更に、誤差の分布は「ガウス分布」又はもっと一般的にはベル(鐘)状の分布としても知られている正規分布に似ているとの仮定をします。)

    光度パラメータ(Magnitude parameters)小惑星と彗星の光度は各々の天体の「光度パラメータ」として知られている量を使って予報されます。 FIND_ORBは、一度でも光度が観測されている天体の軌道を計算する場合には、これらの光度パラメータも求めます。

    摂動(Perturbations)太陽のまわりをまわっている天体は、理論的には、完全な楕円軌道、放物線軌道、双曲線軌道上を運行するはずです。 しかし、太陽系内の全惑星や衛星や(影響は小さいが)小惑星によって及ぼされる重力(摂動)が、実際の運動をより一層複雑にしています。 FIND_ORBは、これらの天体の摂動の影響を含めることを可能にする一連のチェックボックスをもっています(デフォルトは摂動を含めない設定)。

    残差(Residuals)天体の軌道の決定を試みると、いつも「観測」位置(CCD画像から測定されたもの)と「計算」位置(決定した軌道から計算されたもの)との間にいくらかの差があることに気がつきます。 これらの差は、「観測値−計算値」、「O−C」、「残差」などとして知られています。 これらは、理想的には、現実の世界では必ず起こる観測のランダム誤差を表わすはずです。

    逆行(Retrograde)黄道(地球軌道)の遥かに「上」の地点から見下ろすと、殆ど全ての惑星と衛星は反時計回りに軌道を運行していますが、これは「順行(prograde)」と呼ばれます。 しかし、木星や土星のいくつかの衛星は、逆方向に運動します。これは「逆行(Retrograde)」と呼ばれます。 これらの天体は皆とても小さく、多分、小惑星が捕らえられたものでしょう。

    RMS誤差(RMS error)「RMS」=「2乗平均のルート(Root mean square)」であり、残差の平均値の修正版です。 (数学的に正しく言うと、これは、残差の2乗の平均値の平方根です。あなたが、全ての残差の2乗を計算し、それらの平均値を求め、その結果の平方根を求めると、それがRMS誤差になります。) Charonを用いて測定されたCCDによる観測値と、正確な軌道を用いれば、RMS誤差は約1秒角かそれより小さくなるはずです。 もし、誤差がこれよりかなり大きければ、あなたは軌道の質について検討を続けなければならないか、または、観測値に問題がないかどうかをチェックしなければなりません。