AZ-GTiの外部プログラムからのコントロール

2021/03/23

AZ-GTi

望遠鏡で人工衛星を追っかけたいということで,AZ-GTiマウントを外部プログラムからコントロールする方法について調べたので書きます.情報はSkyWatcherのSUPPORTのページにあります.


「Skywatcher Motor Controller Command Set」を見ると,Wi-Fi接続を使ってUDPで架台にコマンドを送れるとあります.これならAZ-GTiの性能をフルに使えそうですが,SynScanの代わりを自分で作ることになるので,Alignmentなども自分で処理しなければなりません.それは大変そうなので,とりあえずこの方法は却下とします.


そこで,SynScanにコマンドを送る方法を考えます.「SynScan Pro App - Command Set」を見ると,SynScanにネット経由で外部プログラムからコマンドを送れるとあります.2種類のコマンドセットを受け付けるそうで,1つはSynScan Communication Protocol,もう1つはSynScanMobile Command Setです.ASCOMプログラム,Synscan,自作プログラムとこれらのコマンドセットの関係がややこしいです.「SynScan Pro App - Command Set」に載っている図が理解の助けとなるので引用します.


SynScan Communication ProtocolはTCPでコマンドを送ります.コマンドについては,「SynScan Serial Communication Protocol, Version 3.3」に説明されています.Variable rate slewのコマンドがあるので,速度制御ができて衛星追跡に使えそうです.一方のSynScanMobile Command SetではUDPを使います.ASCOMのITelescopeV3のmethodやpropertyを通信用コマンドに変換したものを使います.こちらではMoveAxisというmethodが速度制御に使えそうです.


どちらのコマンドセットを使うかですが,最初はSynScanMobile Command Setの方がUDPで速く通信できるので良いのではないかと思いました.ところが,速度制御は現在速度からの変化分を送る形式なので,相手が受信したか確認しないUDPでは現在の絶対速度がわからなくなるという問題がありました.そこで,SynScan Communication Protocolを使うことにしました.


SynScan Communication Protocolの速度制御のコマンドですが,いろいろ試す中でわかった制限があります.まず,現在の速度から変えないつもりで変化分ゼロを送ると停止します.これは例外として扱われているようです.また,低速のうちは変化分を送ると現在速度から新しい速度に直接移行するのですが,絶対速度がある値を超えると,いったん停止してから新しい速度を実現します.その限界値ですが,少なくとも 0.54deg/s を超えると停止するようです.ですので,人工衛星を追跡できる速度は 0.54deg/s未満ということになります.