论文标题

在Python的0.8米George Mason University Campus TeleScope的自动化的异步方向的方法

An asynchronous object-oriented approach to the automation of the 0.8-meter George Mason University campus telescope in Python

论文作者

Reefe, Michael, Alfaro, Owen, Foster, Shawn, Plavchan, Peter, Pepin, Nick, Banaji, Vedhas, Vidaurri, Monica, Webster, Scott, Banaji, Shreyas, Berberian, John, Bowen, Michael, Chimaladinne, Sudhish, Collins, Kevin, Combs, Deven, Eastridge, Kevin, Ellingsen, Taylor, Mufti, Mohammed El, Helm, Ian, Jimenez, Mary, Kim, Kingsley, Latouf, Natasha, Newman, Patrick, Stibbards, Caitlin, Vermilion, David, Wittrock, Justin

论文摘要

我们在异步面向对象的编程(OOP)框架中介绍了Python编码的独特实现,以完全自动化与George Mason University(GMU)天文台的0.8米望远镜收集数据的过程。该项目的目的是对过渡系外行星调查卫星(TESS)任务进行自动后续观察,同时仍允许进行人类控制,监测和调整。在我们实施之前,该设施是由人类观察者通过网络摄像头,Theskyx,Ascom Dome,Maxim DL和气象站的组合来控制的。我们进行了自动化和圆顶运动,CCD的曝光,保存拟合的图像和元数据,初始聚焦,指导目标,使用环境温度调整焦点,因为望远镜在整个晚上静止下冷却,拍摄校准图像(黑暗和公寓),并监视当地天气数据。自动化天气监护仪会定期检查多个来源的各种天气数据,以使在不利条件下关闭观测站的决定自动化。我们已经以这样的方式组织了OOP代码结构,使每个硬件设备或重要的高级进程都被归类为其自己的对象类或“模块”,并具有关联的属性和方法,并使用跨模块的常见方法跨模块可重复使用。为了允许在不同模块上同时执行操作,我们实现了一个多线程方法,其中每个模块都获得了自己的CPU线程,可以在其中与所有其他线程同时运行。在开发了最初的几个模块(相机,望远镜,圆顶,数据I/O)之后,该代码的进一步开发是在晴朗的夜晚与Sky在Sky上进行的。该代码在当前状态已经过测试并用于171晚的观察,并具有更多的计划使用和功能添加。

We present a unique implementation of Python coding in an asynchronous object-oriented programming (OOP) framework to fully automate the process of collecting data with the George Mason University (GMU) Observatory's 0.8-meter telescope. The goal of this project is to perform automated follow-up observations for the Transiting Exoplanet Survey Satellite (TESS) mission, while still allowing for human control, monitoring, and adjustments. Prior to our implementation, the facility was computer-controlled by a human observer through a combination of webcams, TheSkyX, ASCOM Dome, MaxIm DL, and a weather station. We have automated slews and dome movements, CCD exposures, saving FITS images and metadata, initial focusing, guiding on the target, using the ambient temperature to adjust the focus as the telescope cools through the rest of the night, taking calibration images (darks and flats), and monitoring local weather data. The automated weather monitor periodically checks various weather data from multiple sources to automate the decision to close the observatory during adverse conditions. We have organized the OOP code structure in such a way that each hardware device or important higher-level process is categorized as its own object class or "module" with associated attributes and methods, with inherited common methods across modules for code reusability. To allow actions to be performed simultaneously across different modules, we implemented a multithreaded approach where each module is given its own CPU thread on which to operate concurrently with all other threads. After the initial few modules (camera, telescope, dome, data I/O) were developed, further development of the code was carried out in tandem with testing on sky on clear nights. The code, in its current state, has been tested and used for observations on 171 nights, with more planned usage and feature additions.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源