Ekos : solve-field の罠

2017年2月11日土曜日

先日、テスト中に起こった問題の原因がなんともガッカリだったので書いておこうと。

KStars&Ekosのテストをしている最中、突然、solverが動かなくなりました。
症状としては、キャプチャ後、solveが始まるのですが、すぐにエラーで止まります。
エラーの出力は、

Solver failed. Try again.

って、エラーの内容が分からない。。。(^^;
何度やっても、違う空域でやってもダメ。
検索するインデックスファイルが壊れたかと入れ直してもダメ。
丸一日つぶしてテストできず、ほとほと困ってしまいました。

INDIフォーラムを見ると同じような症状で困ってる人が何人かいましたが、最新版を入れると直ったとか、入れ直すとできるようになったとか、原因追及が全くなされていなかったので結局、うやむやの解決でした。

で、それでもヒントがありました。

実際のログは、



下線部分、Reading input file 1 of 2:"" ... とありますが、実際にsolverに渡されているのは、/tmp/fitsX16251 というファイル1つのみです。
(/tmp/solution.wcs は -W オプションに掛かっているので対象ではありません)

本来なら、Reading input file 1 of 1:"/tmp/fitsX16251" ... となるのが正解です。
これは怪しい、、、
ここで、Ekos の Solver Options でsolve-fieldに渡すオプションを正しいものと比較してみましょう。



よく見ると、、、 -O の後が少し違います。
NGの方は実は -O の後にスペースが2つあります。
なんと、これが原因でした。
オプション間には余分なスペースを入れてはならないようです。。。
Ekosのバグではなく、solve-field の仕様になるんですが、ややオプションの扱いがおかしいような気もします。

[option][space][space][option]

だと、[space]の間に空名のファイル名が書かれていると認識されるようで、それが、 file 1 of 2:"" の謎の空ファイルだったようです。

スペースを1個削除したら、元通り何の問題もなくサクサクとsolvingできましたとさ。

こんなの気づくかい!!(涙

ちなみに、solveはかなりまともに動作します。
検索も数秒~数十秒で終わるので時間的負担もありませんし、鏡筒覗いてアライメントしてたことを思うと、数分で完璧に近い位置合わせができるので無くては困る機能になりそうです。
高速solveの仕組みも分かってきたので、チューニングもテストできればと。

これでようやく、実践投入第2弾へと移れます。

オリジナル 基板頒布

オープンソースの架台制御ソフト、OnStepのハードウェア実装基板などの話題です。


頒布状況 2024/10/3
○ OnStep基板 Rev2.1
× OnStep基板 Rev3.0
○ GBC-SHC 基板 Rev1.0
頒布ご希望の方はこちら、基板頒布のお知らせ をご覧ください。

このブログを検索

Blog Archive

QooQ