彭亞杰,季凱帆,梁 波,鄧 輝,王 鋒,劉立勇,姚永強
(1. 昆明理工大學云南省計算機技術應用重點實驗室,云南 昆明 650500;2. 中國科學院國家天文臺,北京 100012)
根據現(xiàn)代地面光學/紅外天文觀測的要求,下一代天文站點一定是建立在晴夜多、大氣寧靜度好、氣候干燥、城市干擾少的地點。這樣基本上就是在海拔高、人煙稀少的荒涼高山或者高原地區(qū)。在我國境內,可能的候選點多數是在西藏、新疆或者云南的偏遠地區(qū)。
天文臺址的確定需要一個長期監(jiān)測的過程。評價中國天文臺址條件需要通過大量觀測資料的積累分析,并與國際優(yōu)秀臺站進行比較,從而判定新的臺址是否適合下一代大型望遠鏡的建設。在天文選址中面臨的最大問題是野外候選站點條件太過偏僻和艱苦,如西藏阿里地區(qū)獅泉河南站候選點,雖然有最基本交通和通訊條件,但沒有其他基礎支撐設施,5 100 m的海拔以及惡劣的環(huán)境條件不適合選址工作人員長期工作和居住。但由于目前主要選址設備仍未脫離現(xiàn)場人工觀測的方式,反而要求人員晝夜觀測、長期留守、連續(xù)監(jiān)測各種天文條件。這種矛盾極大地影響了觀測數據的連續(xù)性和持久性,從而迫切需要對選址設備進行遠程控制和狀態(tài)監(jiān)測。
選址儀器中最重要的是大氣湍流測量儀器,例如DIMM、MASS、SCIDAR等[1]。這些設備都是基于幾十厘米的小型商用望遠鏡作觀測平臺,在國際上,相關的選址儀器已經實現(xiàn)了自動化觀測。比較著名的有CTIO天文臺研制的設備,它從2000年開始投入使用,基本配置是Meade LX200 10″望遠鏡和ST5C SBIG CCD[2]。La Palma天文臺2003年研制了一臺基于Meade 12″望遠鏡的類似RoboDIMM[3]。2004年西班牙Calar Alto天文臺研制了另外一種DIMM,使用Celestron的望遠鏡[4]作為基本平臺。我國西部選址也使用Meade 系列地平式望遠鏡和Astro-Physics 赤道式望遠鏡等,但選址小望遠鏡的遠程控制卻一直沒有進入實用化階段。
國內選址望遠鏡遠程控制所面臨的困難主要體現(xiàn)在三個方面:一是在野外選址的初期,必須進行大量的人為的實時或者準實時的交互式控制、監(jiān)測和修正及數據采集,難以實現(xiàn)完全通過軟件腳本控制望遠鏡并切換各種觀測模式的自主觀測方式;二是選址站點都在野外,遠離現(xiàn)有天文臺或者其他基地。雖然站點具備一定的通訊條件,比如有線或者無線電話,但都不具備寬帶網絡條件,同時網絡狀態(tài)也非常不穩(wěn)定,因此通常的基于寬帶網絡的遠程桌面或者VNC等直接控制遠端計算機屏幕操作的方式并不適用。網絡帶寬的限制成為系統(tǒng)實現(xiàn)的一個瓶頸;三是選址望遠鏡是通過一個串口和本地計算機相連接,并根據廠家制定的串口通訊協(xié)議進行望遠鏡的控制。望遠鏡后端的CCD也是通過USB或者串口和主機相連接,但通訊協(xié)議也是自定義的,沒有通用的標準。這種設備的多樣性也限制了系統(tǒng)的設計和實現(xiàn)。
本文針對這些問題,從觀測模式的多樣性、網絡帶寬有限性和設備控制通用性出發(fā),使用標準化的ASCOM平臺實現(xiàn)了小望遠鏡的遠程控制系統(tǒng)原型。通過在有線電話撥號窄帶網絡上進行的實驗,驗證了利用ASCOM技術實現(xiàn)遠程控制系統(tǒng)以及快速部署的技術路線的可行性,為實用化的設計打下了基礎。
在ASCOM出現(xiàn)以前,天文儀器控制有兩種形式:一種是單一模式構架,另一種是可擴展構架。在單一模式下,所有的設備控制代碼都集中在一個軟件包中,也就是一套獨立的系統(tǒng)。當有新的儀器出現(xiàn)時,幾乎要重寫軟件才能控制儀器。當設備控制中出現(xiàn)問題時,也需要更新整個軟件包。在這種構架下,儀器設備和控制軟件之間是一對一的關系,這給新儀器的應用和新軟件的開發(fā)帶來了很多不便??蓴U展的構架相比單一模式有了很大的進步,它在天文設備和軟件之間加入了插件層,從而使得控制軟件可以共享設備的代碼。對于新的儀器,只需要開發(fā)相應的設備控制插件就可以控制儀器。當設備的控制中出現(xiàn)問題時,也只需要更新插件,而不需要將所有程序進行更新。這種構架下,儀器與軟件之間是一對多的關系。
1998年初Bob Denny提出了ASCOM的概念并開發(fā)了相應的軟件平臺[5]。經過十多年的努力,ASCOM已經升級到了6.0版本。ASCOM在設備與軟件之間引入了驅動層,一方面任何控制程序都可以通過ASCOM調用各種設備的驅動,另一方面對于新設備,只要增加相應的設備驅動就可以添加到ASCOM平臺上供控制程序調用。ASCOM構架下控制軟件與設備是多對多的關系。
ASCOM提供的設備驅動采用了微軟公司組件對象模型(Component Object Model, COM)。組件對象模型工作在Windows操作系統(tǒng)下,它的應用程序編程接口(Application Programming Interface, API)由一套標準的符合相關ASCOM接口規(guī)范定義的屬性和方法組成,有著固定的函數名稱、訪問參數和參數數據類型。由于ASCOM采用了組件對象模型,而組件對象模型支持多種開發(fā)語言、腳本語言和腳本工具的調用,使得ASCOM也可以支持多種語言的開發(fā)。從硬件上講,雖然各種設備利用串行接口連接到計算機上,但控制軟件并不直接和串口打交道,而是通過ASCOM調用設備驅動來操作設備。一方面,設備廠商只要提供符合ASCOM標準的驅動程序,就可以將自己的設備掛接到ASCOM平臺;另一方面控制軟件也只需要針對ASCOM進行操作,無需考慮不同廠家不同類型設備的特殊性。這樣無論更新控制軟件還是設備驅動,都是非常容易的事情。因此ASCOM具有開發(fā)語言獨立性和設備廠商獨立性兩大特色。
隨著ASCOM的發(fā)展,目前ASCOM支持包括望遠鏡(赤道儀)、CCD、圓頂、調焦、濾光片等主要天文設備,有非常多的天文設備廠商支持這一平臺,也有越來越多的小型望遠鏡觀測系統(tǒng)使用ASCOM。
實現(xiàn)了一個基于ASCOM的選址望遠鏡遠程控制系統(tǒng)原型,所用的開發(fā)環(huán)境為Windows.Net Framework 4.0,開發(fā)語言為C#,開發(fā)平臺是Microsoft Visual Studio 2010,開發(fā)過程中測試所用的設備為ASCOM設備模擬器。
考慮到野外選址站點窄帶網絡的制約,采用了客戶端-服務端結構,同時基于傳輸控制協(xié)議(Transmission Control Protocol, TCP)的ASCII命令(即ASCII Over TCP)進行通訊,使得一條命令對帶寬的占用達到最小??蛻舳擞袃煞N形式,通過telnet的命令行和通過客戶端界面控制,他們向服務端發(fā)送的命令是相同的。所有命令都由兩部分組成,第一部分是命令類型,第二部分是命令的若干個參數,命令類型和各個參數之間用“|”分隔,具體的協(xié)議見表1。
表1 自定義的協(xié)議表
服務端與客戶端的流程圖如圖1和圖2。
圖1 服務端流程圖
Fig.1 Flowchart of the software at the Service End
服務端包括4個主要流程:
(1)選擇設備:通過調用DriverHelper. Chooser對象選擇可以遠程控制的設備,并通過Choose()方法獲得設備的ProgID。
(2)啟動偵聽并建立客戶端連接:觸發(fā)服務器的偵聽事件,開啟服務端的一個端口作為偵聽端口。當接收到客戶端發(fā)來連接請求時,記錄客戶端的IP地址、端口等客戶端信息,并創(chuàng)建一個新的線程。
(3)響應請求:當偵聽到客戶端發(fā)來的數據后,對收到的數據進行分析。按照表1的協(xié)議形式,通過Split()函數解析由“|”字符拼接的命令與參數。
(4)操作設備:通過調用ASCOM的驅動中的標準應用程序編程接口,對設備進行操作。
圖2 客戶端流程圖
Fig.2 Flowchart of the Client End
客戶端也包括4個流程:
(1)連接服務器: 開啟客戶端后,向服務端發(fā)起連接。當服務端收到信息后,就可以通過傳輸控制協(xié)議建立連接。
(2)計時器:客戶端界面上設置一個0.5 s的計時器,每0.5 s向服務端發(fā)送REFRESH命令,更新設備狀態(tài)信息,如赤經、赤緯等。
(3)接收信息:連接建立后,客戶端采用阻塞方式。當接收到服務端發(fā)送過來的數據后,觸發(fā)相應的事件并響應。采用和服務端相同的方式解析接收的數據,并根據命令實現(xiàn)相應的操作,如更新客戶端界面上的設備狀態(tài)信息等。
(4)發(fā)送命令:在客戶端界面上可以對望遠鏡和CCD進行多種操作。首先觸發(fā)向服務端發(fā)送請求的事件,然后按照自定義協(xié)議,根據操作的不同生成相應的命令和參數并發(fā)送到服務器端。
整個系統(tǒng)控制軟件包括服務端和客戶端兩部分。事實上,在服務端并不需要任何界面,但為了顯示過程和調試方便,在服務端依然設計了一個界面,包括顯示實時的恒星時、望遠鏡赤經、赤緯、方位角、地平高度、CCD上次曝光的時間、曝光時刻、圖像尺寸等信息。同時在屏幕上顯示客戶端訪問情況以及上次采集的CCD圖像。圖3是截取的一部分服務端界面。
圖3 望遠鏡控制系統(tǒng)服務端屏幕截圖
Fig.3 Screenshot of the Telescope Control System on the Service End
客戶端連接服務器端后,在實時顯示望遠鏡的各種狀態(tài)的同時,可以對望遠鏡進行控制,包括輸入赤經、赤緯進行望遠鏡的移動;望遠鏡跟蹤的開啟和關閉;望遠鏡的停靠(Park)和解除???Unpark)。對于圖像采集,可以輸入CCD曝光時間和圖像在服務端存放的地址及文件名。同時這個界面也支持直接的命令行輸入方式,用于控制望遠鏡和CCD。
初期的系統(tǒng)開發(fā)是在ASCOM提供的模擬器上進行的,為檢驗其在真實望遠鏡的使用情況,2011年10月13日,在國家天文臺西部選址組的實驗室中將本系統(tǒng)和真實的望遠鏡連接進行了整體系統(tǒng)測試。
圖4 望遠鏡遠程控制系統(tǒng)客戶端界面
Fig.4 Screenshot of the Telescope Control System on the Client End
望遠鏡為西部選址正在使用的Meade LX200 ACF型地平式望遠鏡,配置Meade的ASCOM驅動軟件。服務端計算機使用一臺Lenovo Thinkpad X200s筆記本,操作系統(tǒng)為Windows 7。計算機一端通過USB和串口的轉換器與望遠鏡相連,另外一端通過窄帶的調制解調器通過辦公室的有線電話撥號進入北京市電信并連入因特網,IP地址為電信公網臨時分配的地址??蛻舳税惭b在實驗室中的另外一臺筆記本電腦上,通過無線路由器進入國家天文臺局域網,然后接入因特網。這樣就搭建了一個望遠鏡通過窄帶撥號網絡連入因特網,而觀測者在國家天文臺進行遠程控制的模擬環(huán)境。
在實驗過程中,成功地實現(xiàn)了望遠鏡改變指向、跟蹤、??康裙δ堋S捎谠O備和時間限制,未進行和CCD的連接實驗。但總體測試表明,利用ASCOM技術,完全可以實現(xiàn)一套選址望遠鏡用的遠程控制系統(tǒng),并實現(xiàn)快速部署。同時測試也表明,利用ASCOM作為底層技術,上層利用ASCII Over TCP方式,可以在小帶寬(約9 600 bps)的情況下,不但可以有效地實現(xiàn)望遠鏡控制,而且望遠鏡狀態(tài)的實時監(jiān)測效果也是非常滿意的。
由于ASCOM支持多種設備,系統(tǒng)有非常好的可移植性。下一步,首先實現(xiàn)通過ASCOM對圓頂、濾光片、調焦等設備的驅動;其次,由于網絡帶寬的限制,目前采集的圖像是存儲在服務端的,未來將考慮通過壓縮、抽樣等方式在窄帶網絡上將圖像傳遞到客戶端,從而在對望遠鏡等設備狀態(tài)獲取的同時實現(xiàn)觀測數據的遠程監(jiān)控;第三,在客戶端實現(xiàn)各種控制的基礎上,實驗在服務端通過腳本方式控制望遠鏡,向自主觀測方向發(fā)展。第四,本文實現(xiàn)的還是一個原型系統(tǒng),實驗未在真實的野外環(huán)境中進行。雖然從現(xiàn)有的情況分析,實驗環(huán)境非常接近天文選址站點的實際情況,但把這個系統(tǒng)應用到野外進行測試是下一步必須進行的環(huán)節(jié)。
ASCOM是基于Windows操作系統(tǒng)的,雖然Windows本身的缺陷給利用它作為觀測平臺帶來一些不穩(wěn)定因素,但是Windows豐富的資源和易操作性,也給在這一平臺上擴充更多的功能提供了便利。在Linux操作系統(tǒng)下,國際上這幾年也發(fā)展了一個RTS2[6-7]望遠鏡遠程控制標準,麗江的BOOTES-4就是國內第一架應用這種標準的自主望遠鏡。但這個標準使用的范圍還不大,而且也不是專門為選址小望遠鏡開發(fā)的,支持的設備也不夠豐富。然而對比ASCOM和RTS2兩個標準,并進一步研究最適合天文選址小望遠鏡的遠程控制的平臺是非常有意義的工作,也是未來的目標。
[1] 劉立勇, 姚永強. 天文臺址大氣光學湍流探測技術[J]. 天文學進展, 2010, 28(4): 391-403.
Liu Liyong, Yao Yongqiang. Detection technology of atmospheric optical turbulence for astronomical site[J]. Progress in Astronomy, 2010, 28(4): 391-403.
[2] The RoboDIMM[EB/OL]. [2011-12-27]. http://www.ctio.noao.edu//telescopes/dimm/dimm.html.
[3] RoboDIMM—The ING’s New Seeing Monitor[EB/OL]. [2011-12-27]. http://www.ing.iac.es/PR/newsletter/news7/ins7.pdf.
[4] A new Robotic DIMM for Calar Alto Observatory[EB/OL]. [2011-12-27]. http://www.caha.es/newsletter/news04b/Aceituno/Newsletter.html.
[5] Standard for Astronomy[EB/OL].[2011-12-27]. http://www.ascom-standards.org/.
[6] Petr Kubánek, RTS2—The Remote Telescope System, Advances in Astronomy, Volume 2010, Article ID 902484, 9 pages (2010).
[7] Petr Kub′anekab, Martin Jel′nekb, John Frenchc, et al. The RTS2 protocol[C]// Bridger Alan, Radziwill Nicole M. Advanced Software and Control for Astronomy II. Proceedings of the SPIE, 2008, 7019: 70192S-70192S-12.