An asynchronous object-oriented approach to the automation of the 0.8-meter George Mason University campus telescope in Python
Abstract
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.
Keywords
Cite
@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}
}
Comments
69 pages, 17 figures, 3 tables. Accepted for publication in the Journal of Astronomical Telescopes, Instruments, and Systems