INDIってなに?
INDIライブラリを中心に構成される、天文学機器の制御と自動化を目的としたソフトウェア群です。コアになっているのはINDIライブラリです。
このライブラリは機器を制御するためのプロトコルを規定し、設定項目や制御方法の一般化を行って機器とソフトウェアを接続するインターフェイスを提供します。
オフィシャルサイトはこちら
INDIオフィシャルサイトから、概要を引用します。
Instrument Neutral Distributed Interface(INDI)ライブラリは、天文学機器の自動化と制御のために設計されたクロスプラットフォームソフトウェアです。
これは、様々な望遠鏡、CCD、焦点調節装置、フィルターホイールなどをサポートしており、ほぼすべての装置をサポートする機能を備えています。
INDIは小さく、柔軟で、解析しやすく、スケーラブルです。 リモートコントロール、データ取得、モニタリングなどの一般的なDCS機能をサポートしています。 INDIを使用すると、機器を完全に透過的に制御できるため、より短い時間でより多くの科学を得ることができます。
(google訳)
INDIの仕組み
基本的な構成は、INDIサーバーを中心に天文学機器が接続されます。各ハードウェアの制御はサーバー・クライアント形式でやり取りされるので、各々の天文学機器の構成を変更したり、不要になれば切断したり、機器を取り替えたり、することが柔軟に行えます。
ユーザーインターフェイスと機器の間を取り持つのがINDIプロトコルです。
制御の方法は、機器ごとにカスタマイズされたINDIドライバによってハードウェアが駆動され、あるいは情報の取得・設定が行われます。
このINDIドライバは有志の手によって様々なハードウェアに対応しています。
分かりやすく・・・・
基本的に天文学機器はINDIサーバーが稼働するコンピュータに接続されます。INDIはLinuxベースで開発されているので、サーバーPCはUbuntuやCentOSなどのディストリビューションで動いている必要があります。
それは普通のPCでも構いませんし、Raspberry Piのような小型のPCでも構いません。
また、Windows上で動くINDIもサポートされつつあります。
ここでは、Raspberry Piを使った簡単な例を示します。
Rasberry Piに制御が必要な天文学機器を接続します。
例えば、赤道儀をCOMポートにて接続し、撮影用のカメラをUSB接続します。また、ガイドカメラをUSB接続して使用します。
ごくありふれた最小限の構成です。
そして、それぞれの機器に対応したINDIドライバ使用してINDIサーバーを動かします。
これはコマンドラインから簡単に起動できます。
INDIサーバーはデフォルトで7624ポートで待ち受けをしています。
クライアントソフトウェアはサーバーのIPアドレスとポート番号を使用し、ネットワークを介してサーバーに接続します。ここでは、ノートPCにLinux系のOSをインストールし、Kstars & Ekos で制御する場合を図示しています。
INDIサーバーは赤道儀側に置き、クライアントとはLANケーブル1本、またはWifiで接続すれば、煩雑な配線は不要になり完全なリモート環境が簡単に構築できます。
INDIプロトコルを使用すると、サーバーに接続された天文学機器がクライアント側に一覧され、ステータスの取得や駆動制御、撮影した画像の取得まで行えます。
また、ガイドカメラを制御してオートガイドを行ったり、撮影プランを設定するとその通りに撮影を自動化することができます。
クライアントソフトウェアはINDIプロトコルに従っているものであれば、Windows版でもAndroid版でも構いません。また、Windows環境で稼働するVMwareなどのバーチャルPC上でubuntuなどを動かしても同じように使用できます。
また、右図のように1台のPC上でサーバー・クライアントを実行すればスタンドアロン型の環境にも対応できます。
さらに応用
赤道儀、撮影用CCD、ガイドカメラ、に加えて、フォーカサ、フィルタホイール、ドームコントロールまで自動制御することもできます。ドライバが存在する機器はオフィシャルサイトでまとめられています。
星図ソフトで撮影対象を指定するとドーム移動を含めて自動導入。
位置合わせを実行(Plate Solving)
(撮影対象が中央に来るように自動位置合わせ)
フォーカサを制御してオートフォーカス。
(自動的に撮影CCDで撮影しピント判定)
フィルタホイールの組み合わせで自動撮影プランを構築・撮影。
(各フィルタごとに撮影時間、枚数、CCD設定を指定可)
INDIとクライアントソフトウェアを使って、最小構成の天体観測環境から、ドーム天体観測所のような大型の設備まで制御できるようになります。
ASCOMとは違うの?
Windowsシステム上で同等の概念で機器を制御するプラットフォームとしてASCOMがあります。ASCOMは古くから存在しているシリアル通信をベースにした規格です。多くの機器について対応されており、また、Windowsという使い慣れたシステム上で動くために使われる機会が多いでしょう。
しかし仕組み上、やや古いシステムであるのは否めませんし、Windowsというシステムと機器ベンダーが提供するドライバに依存してしまい、自由なドライバ開発やDIY的機器の制御には使いづらい面があります。
INDIの制御方式は非常に単純で、ドライバの開発もオープン化されているため、DIYのような機器でも容易にコントロールすることができます。
同じような機器であれば、流用も可能なので幅広く応用が利くのが特徴です。
また、サーバー・クライアント形式であるため、クライアント側のOSは問題になりません。
LinuxでもWindowsでも、Androidでも、INDIプロトコルに準じていれば様々なプラットフォームで制御ソフトを作ることができます。
INDIクライアント
INDIライブラリと一緒に開発されているLinuxベースのソフトウェアでは、KstarsとEkosがあります。Kstarsはいわゆる星図ソフトで自動導入を行うのに必要なインターフェイスを提供しています。
主要な星、銀河、星団などは網羅されており、データの追加でカスタマイズも可能です。
赤道儀と連動して現在の視野範囲を示したり、ターゲットへのGotoも可能です。
Ekosは機器を制御する統合環境です。
INDIサーバーと接続し、制御できる機器をリスト化、設定、制御を行うのが目的です。
非常によくできたソフトウェアで、位置補正、オートフォーカス、プランニング撮影まで実行できます。また、オートガイドも組み込まれているオールインワンの統合環境です。
INDI環境でもっとも使用するソフトです。
その他にもINDIプロトコルを使用したクライアントがいくつかありますが、まだまだ開発段階であったりするので普及はこれからでしょう。
のりきゅう様
返信削除以前nuavdなどの名前でコメントさせていただきましたT-Studioです。(現状この名前で活動しております。)
記事をきっかけに環境を構築し、現在は快適に使用しております。
ようやくですが、私もブログを立ち上げました。
https://blogs.yahoo.co.jp/t_studio_astro
今後とも宜しくお願いします。
T-Studioさん、こんにちは。お久しぶりです(^^)
削除INDI本家のフォーラムではたまにお見かけしておりました。
同じ日本人の方がバグレポートなどを行っているとこちらも心強いです。
ブログ解説おめでとうございます。拝見いたしました。
INDI環境を使いこなしてらっしゃるようで素晴らしいです!
アマチュアでも天文台と同じ方法で観測環境が作れるのがいいですよね。
私の場合、ハードウェアの記事に偏りがちなんですが、INDIの良いところを少しずつ紹介出来たら考えてます。
StellarMateが徐々に注目されてきてますよね。日本でも認知されてユーザーが広まればいいですね(^^)
のりきゅう様
削除そうですね、荒削りなところもありますが使用するドライバに不具合がなければASCOMより安定しているように感じます。
StellarMateのようなディストリビューションや、ASIAirのようなメーカー監修の環境などより充実して、日本でのユーザーが増えてほしいですね。
個人的にはASCOMのようにドライバ開発にメーカーが関わるような認知度になってほしいと思います。
今後ともよろしくお願いします。
のりきゅうさん、こんにちは。
返信削除こちらの記事を参照してNanoPi Neo2でINDIとPHD2が使えるようになりました。
質問なのですが、OnStepのドライバはどちらを使ってますでしょうか?
当方はindi_lx200_OnStepを使用しているのですが、indi_canon_ccdと同時に使うと接続が切れてしまいます。
B.S.R-eさん、こんにちは。
削除ブログ拝見させていただいてます(^^)
OnStepドライバはindi_lx200classicで動かしていたような気がします。
若干警告が出ますがコントロールはできていたはずです。
indi_lx200_OnStepは初期バージョンの頃に試して動作が不安定だったので保留にした記憶があります(^^;
ちょっと後で確認してみます。
私の場合、動作がおかしい場合は、INDIをデイリービルド版でアップデートするようにしてます。
バグ修正は早いので即反映されてたりします。
もし試せるようでしたらデイリー版でアップデートしてみてください。
しかし、canon_ccdと使うと切れるっていうのもなんだかよくわかりませんね?
のりきゅうさん、こんばんは。
返信削除デイリービルド版ですね、チェックしてみます。
昨日はいろいろと試していて気づいたのですが、Ekosに接続する時にカメラを繋いでいると、
赤道儀との接続が切れるような現象でした。
その後いろいろやっていてEkosの接続まででき、Ekosのガイダーでディザリング撮影できそうなところまでやってきました。
梅雨の時期はNanoPiで遊べそうです。
なんとか動きそうな気配ですね(^^)
削除ところで、今思ったんですが、NanoPi Neo2で動かした場合メモリは足りるのでしょうか?
RasPiでもやや苦労するのでちょっと心配になりました(^^;
でも、コンパクトなシステムが作れそうですね。
このコメントは投稿者によって削除されました。
返信削除のりきゅうさん、こんばんは。
返信削除INDIにもなんとか慣れてきましたが、まだ良くわかっていない状態です。
KStars+EKosか、PHD2+CCDCielの組み合わせでの運用を考えています。
しかし、メモリが512MBってのがネックのような気がして、撮影した画像を表示しかけると
固まってしまうような気がします。
のりきゅうさんのオススメ(安定している)の撮影ソフトは、やはりEKosでしょうか?
追伸.必要がないのにAR0130のレンズ付きを買ってしまいました。早くテストしたい^^;
のりきゅう様、初めまして。天撮と申します。
返信削除天体写真も電子工作も全くのビギナーです。
私もESP32 をベースにしたOnStep コントローラー作りに挑戦しています。
恥を承知でお尋ねさせて頂きたく思います。
INDIを使ったシステムではOnStepはどのような位置づけになるのでしょうか。INDIクライアントの一つとしてPC上で動かすのでしょうか。それともINDIサーバの上で動かすのでしょうか。それとも、そんなことはないでしょうが、OnStepはもう必要なくなるのでしょうか。すみません、ここにご投稿されていらっしゃる皆さんには突拍子もない質問だと思いますが、INDIがASCOMに比べて応用が容易と聞いて、とても気になっております。
超ビギナーの私にご教示いただけたら幸いです。
宜しくお願い致します。
こんにちは、はじめまして(^^)
削除コメントありがとうございます!
色々初めてのことは分からなくて当然です!が、興味を持ってやってみよう!というお気持ちが大切ですよね。
まず、OnStepは赤道儀を駆動するための仕組みで、モーターを動かし自動追尾・自動導入を実現するための仕組みです。ハードウェアを動かす仕組みと思ってください。
INDIから見たOnStepは、一般的な赤道儀コントローラと同じ扱いになります。
INDIではOnStep機器を制御するためのドライバを動かして、そのドライバ経由でOnStepと連携し赤道儀を動かすイメージになります。
INDIのドライバは、USBシリアル接続などでつながったOnStep基板に対し「??へ動かせ」のような動作命令を出します。
命令を受け取ったOnStepはモーターを駆動して指示通り目的の方向へ赤道儀を動かします。
OnStep自体はINDIと通信する大切な役目を果たしていますので、必要なくなるどころか肝心要の仕組みです。
するべきことは単純で
・OnStepコントローラを作成しPC等と接続できるようにすること。
・RaspberryPiなどのワンボードPCを使ってINDIサーバーを立ち上げること。
・INDIサーバーとOnStepと接続すること。
・INDIクライアント(KStars-Ekosなど)でINDIサーバーに接続し制御すること。
という手順です。
INDIサーバーを起動できれば、カメラやフォーカサーの追加も容易なので、ASCOMより柔軟性や拡張性に優れていると言われています。
のりきゅうさん、こんにちは、天撮です。
削除私のごく初歩的な質問にとても分かりやすくご説明頂き、感謝の気持ちでいっぱいです。
更に「するべきこと」を具体的に列挙いただき、なすべきことを明確にビジョン化できました。
おかげ様でINDIはソフトウェアと天文機器を繋げるとても魅力的なプラットフォームであることが分かりました。RaspberryPi系のボードが必要なようですね。残念ながら私の場合、ESP32 ESPDuino-32 (ESP-WROOM-32)を既に購入済みなので、取り合えずはASCOMドライバーを使ったOneStepシステムを作ってみようと思います。先ずはこのシステムで自動導入を成功させてから、次のシステム拡張の際にINDIを使ってみようと思います。ちょっと遠回りになりそうですが、その方が理解が深まって私の様な超初心者には良いのかもしれません。まあ私が挫折しなければでの話ですが。一方で締め切りがある訳ではないのでのんびりやろうとも思ってます。今後また進捗状況もご報告させていただくつもりです。
それから、プロファイルを登録していませんでしたので投稿者の名前がUnknownになってしまいました。大変失礼いたしました。今回は取り合えず公開できる範囲で入力しておきました。
今後ともよろしくお願いいたします。
今回は、有益な情報と分かりやすいご説明、本当にありがとうございました。
のりきゅうさん、よく見たら上記の私のINDIを使わない理由は変ですね。実際の理由は、更にRaspberryPiを購入する余裕がないからです。どちらにしろOnStepを使ったコントローラーは必需品で、更にINDIサーバのボードPCが必要になるわけですからね。まだステッピングモードも購入してない私には、ちょっと経済力が及ばなかったというのが理由です。
削除いや、もしかして、一台のPCにINDIサーバとクライアントソフトを入れて、RaspberryPiのワンボードPCを購入しなくてもシステム構築可能なのでしょうか。のりきゅうさんのブログをそのように理解しましたが、あってますでしょうか。あぁ、また質問してしまいました。すみません。
削除天撮さん、こんにちは。
いへいへ、理解が深まって何よりです(^^)
おっしゃる通り、まずはOnStepでの赤道儀制御から段階を踏むのがいいかもしれません。
赤道儀を動かすまでに結構、山がありますので焦らず、じっくりと取り組んでくださいね。
ご想像の通り、INDIサーバーとクライアントを1台のPCに入れて使用することも当然可能です。
UbuntuなどのLinuxが動くPC上でサーバーとクライアントを動かせば使用できます。
これだと、ASCOM環境と同じ機材で試すことはできますね。
私も最初はそうやって動かしてました。
今のトレンドはRaspberryPiなどで動く小型のINDIサーバーを赤道儀側に搭載し、クライアントはネットワーク経由で離れた場所で操作する感じになります。
OnStepやINDIを始めたころは、日本語情報が全くなくて難儀しましたが、チャレンジする方が増えてとてもうれしいです。
助けがあればやってみようと思いますもんね(^^)
ぜひ、がんばってみてください!
のりきゅう様、早速ご返信いただき感謝申し上げます。
削除そうですか。スタンドアローン的な構成も可能なのですね。
また一つ理解が深まりました。五月雨式の質問にもご回答いただき感謝の言葉もありません。
是非いつかINDIを使って、オートガイドやオートフォーカサーへ拡張するのを楽しみにしています。
現状としては、今月末にOneSstepコントローラーのパーツが揃う予定で、来月頭にはステッピングモーターも購入できそうです。今はOnStep wikiを読んでファームウエアの読み込み方などを探っているところです。長々と足踏み状態でしたが、私もいよいよOneStepを使った自動導入化プロジェクトの始動です。
恐らくかなり苦戦するでしょうが、のりきゅう様から声援も頂きましたので、諦めず気長にその苦戦を楽しんでいこうと考えております。(以前DeepSkyStackerを苦労の末ダウンロードした後も、スタッキングしたファイルがセーブされない等、フリーソフトの洗礼を受けたことがありました。)
近いうちに、私の苦戦の状況をご報告させて頂こうと思います。
その際はエンターテインメントとして読んでいただければ幸いです。