During my PhD I have developed software to control a new robotic telescope, the Gravitational-wave Optical Transient Observer (GOTO). GOTO is a wide-field telescope built by an international consortium with the purpose of observing optical transient counterparts to gravitational wave (GW) signals. The first such signal was detected by LIGO in 2015 exactly 100 years after first being predicted by Einstein.

The first GOTO instrument has been commissioned with 4 prototype unit telescopes. This system currently operates completely autonomously every night using the code I have developed. It is intended that each mount should hold a full array of 8 UTs, for a combined field of view of 40 square degrees. A second 8-UT array on La Palma as well as a southern node in Australia is also planned.


My work on GOTO has involved developing and deploying a complete system to control the telescope hardware, schedule and carry out observations known as G-TeCS. The entire system has been written in Python, aside from a few low-level hardware interfaces. The core elements of the control system are a series of hardware daemons and the master control program called the pilot. The pilot runs every night and manages and directs the telescope operations. Within the pilot the night marshal runs through tasks throughout the night based on the altitude of the sun (start the system, take dark frames, open the dome, take sky flats, focus, observe, take morning flats, shutdown), in addition there are other routines monitoring the hardware, the conditions (i.e. closing the dome in bad weather), and the output of the scheduler.

The scheduling system has been a paticular focus of my work. It is built around a MariaDB database which contains a table of target pointings to be observed, and is written to and read by by two additional daemons: the sentinel alert listener, which inserts targets into the database, and the scheduler, which decides what the pilot should observe.

You can read more about G-TeCS in my 2018 SPIE paper:

SPIE Digital Library ArXiV astro-ph

Future directions

My future research plans focus around further developing the code I've already written for GOTO. There are several different projects I am interested in exploring: