中文

基于 Python 异步面向对象方法实现乔治梅森大学校园 0.8 米望远镜的自动化

天体物理仪器与方法 2022-06-30 v1 地球与行星天体物理

摘要

我们提出了一种在异步面向对象编程(OOP)框架中 Python 编码的独特实现,以完全自动化乔治梅森大学(GMU)天文台 0.8 米望远镜的数据采集过程。该项目的目标是对凌星系外行星巡天卫星(TESS)任务进行自动后续观测,同时仍允许人工控制、监测与调整。在我们的实现之前,该设施由人类观测者通过网页摄像头、TheSkyX、ASCOM Dome、MaxIm DL 和气象站的组合进行计算机控制。我们已自动化了指向与圆顶移动、CCD 曝光、保存 FITS 图像与元数据、初始对焦、目标导星、利用环境温度在望远镜夜间其余冷却过程中调整焦距、拍摄校准图像(暗场与平场)以及监测本地气象数据。自动气象监测器定期检查来自多个来源的各类气象数据,以自动化在不利条件下关闭天文台的决策。我们以这样一种方式组织了 OOP 代码结构,即每个硬件设备或重要高层过程被归类为其自身的对象类或具有相关属性与方法的“模块”,并跨模块继承通用方法以实现代码复用。为允许不同模块间同时执行动作,我们实现了多线程方法,其中每个模块被赋予其自身的 CPU 线程以与所有其他线程并发运行。在最初几个模块(相机、望远镜、圆顶、数据 I/O)开发后,代码的进一步开发在与晴朗夜晚上机测试同步进行。该代码在当前状态下已测试并用于 171 个夜晚的观测,并有更多使用计划与功能添加。

关键词

引用

@article{arxiv.2206.01780,
  title  = {An asynchronous object-oriented approach to the automation of the 0.8-meter George Mason University campus telescope in Python},
  author = {Michael Reefe and Owen Alfaro and Shawn Foster and Peter Plavchan and Nick Pepin and Vedhas Banaji and Monica Vidaurri and Scott Webster and Shreyas Banaji and John Berberian and Michael Bowen and Sudhish Chimaladinne and Kevin Collins and Deven Combs and Kevin Eastridge and Taylor Ellingsen and Mohammed El Mufti and Ian Helm and Mary Jimenez and Kingsley Kim and Natasha Latouf and Patrick Newman and Caitlin Stibbards and David Vermilion and Justin Wittrock},
  journal= {arXiv preprint arXiv:2206.01780},
  year   = {2022}
}

备注

69 pages, 17 figures, 3 tables. Accepted for publication in the Journal of Astronomical Telescopes, Instruments, and Systems