A new telescope controlling system based on python/ROS2
Abstract
We have developed a telescope, frontend, and backend control system, necst v4, based on Python and the Robot Operating System 2 (ROS2), and implemented it on the NANTEN2 telescope, the Osaka Metropolitan University (OMU) 1.85-m telescope, and several laboratory measurement systems. The motivation is the need for long-term, high-precision, high-speed molecular-line survey observations with telescopes located far from the home institutions responsible for development and maintenance. The system adopts a distributed architecture in which the operator-facing ROS2 layer, telescope-independent backend algorithms, and model-specific hardware drivers are explicitly separated. The ROS2 layer, necst, provides the user interface, observation procedures, distributed device nodes, recording, and safety monitoring, whereas neclib provides coordinate calculations, path generation, PID and safety logic, configuration handling, and device abstraction. Time-triggered antenna control mitigates network-induced delay by placing a time-ordered command queue inside the PID controller, discarding obsolete trajectory points, and executing the first valid command. A separated spectrometer subnet allows high-volume spectral data to be recorded without interfering with ordinary telescope-control traffic. On NANTEN2, antenna drive tests at 600arcsecs−1 show arcsecond-level tracking performance suitable for On-The-Fly mapping. Test observations of Orion A with the NASCO receiver demonstrate coordinated antenna, receiver, spectrometer, and recorder operation. These results indicate that distributed software control can provide sufficient performance for wide-field CO survey observations.