Abstract Details

Name: Ankita Patel
Affiliation: PHYSICAL RESEARCH LABORATORY
Conference ID : ASI2024_588
Title : Development of Closed Loop Controls for AO System- Two PC based approach using Socket Programming
Authors : Ankita Patel, Mudit K. Srivastava, Vaibhav Dixit
Authors Affiliation: Ankita Patel, Mudit K. Srivastava, Vaibhav Dixit (Physical Research Laboratory, Ahmedabad, 380009, India)
Mode of Presentation: Poster
Abstract Category : Facilities, Technologies and Data science
Abstract : The earth’s turbulent atmosphere introduces wavefront distortions to light coming from distant stars which results in poor image quality of ground based optical/near-infrared (NIR) telescopes. Using Adaptive Optics (AO) technique, the wavefront distortions can be corrected which results in significant improvement in the image quality. In an AO instrument, a control system is used to extract the wavefront sensor signals and compute feedbacks that are to be sent to the Deformable Mirror and Tip-tilt mirror. An AO control system has to operate at a very fast rate in order to match the characteristic time-scale of atmospheric turbulence. An AO test bench set-up is developed in PRL to explore the control methodology for wave front sensing and correction. Here we have adopted the two PC methodology for the implementation of AO control system. In this architecture, one of the PCs would provide a user interface to carry out auxiliary instrument-related operations, while the second PC would be utilised to run real-time AO control software. Socket programming based interprocess communication (IPC) method is used for data transfer and control. The IPC works in the TCP client server mode. On the server side as well as the client side, three different sockets are created to accept requests for three different types of functionalities viz user command transfer, data stream transfer, continuous update function. These are implemented using string transfer, chunked array transfer and file transfer methods. For handling multiple client requests simultaneously, various methods viz. forking, select and threading were explored. It is finally being implemented using multi-threading approach. We have made use of semaphores to avoid multiple threads overwriting. The GUI for AO system is being developed in python PyQt framework. In this poster, we shall present the implementation methodology between the client and server PC using Socket Programming.