# Steering Mirror System with Closed-Loop Feedback for Free-Space Optical Communication Terminals
## 5 Active Stabilisation Testing  
Perturbations in the CubeSat's pointing direction are induced by various disturbance torques, including aerodynamic drag, solar radiation pressure, thermal radiation, Earth's gravity gradient, residual magnetism in the satellite structure, and variations in Earth's magnetic field [19]. To mitigate these disturbances during operation, the attitude determination and control system (ADCS), typically operating magneto-torquers or reaction wheels in CubeSats, dynamically adjusts the pointing direction at regular intervals. Despite the precision attainable with a star tracker for attitude measurement, the robustness of a link is ultimately contingent on the satellite's ability and accuracy in adjusting its attitude to the intended direction for laser beam transmission. One of the key applications of a steering mirror in a communications satellite is to correct for this platform jitter, keeping the incoming beam continuously centered on the receiving detector. To simulate this scenario on an optical bench, a set-up using two steering mirrors was devised, illustrated in Figure 7. A collimated 633 nm laser beam was first directed onto a small, piezo-stack-driven fast steering mirror (silver coated P-FSM150S, Cedrat Technologies, Meylan, France), which then directed the beam onto the custom mirror under test conditions. The beam was then focused onto both a high-resolution camera sensor and a Thorlabs PSDM4 position-sensing device (PSD) using a beam-splitting cube. The camera sensor was used to record the exact position of the beam spot with a high spatial resolution. Using a center-of-mass method, the centroid of the laser spot was calculated and stored in real time in order to reduce storage space needed for longer experiments. The PSD was read out using a high-resolution data logger, with the position measurement fed into the Python control code, providing real-time feedback. The control algorithm used was a simple proportional-integral-derivative (PID) loop, taking the distance from the center position as the input. The proportional control ramps the actuator speed up as  
Figure 7: Rendering of the experimental optical test set-up for closed-loop control of the steering mirror. the spot moves further from the center of the sensor. The integral control acts to minimize positioning error when the spot is close to the center of the sensor, while the derivative control is optimized to reduce overshoots and control loop-induced oscillations. PID outputs are calculated separately for the X and Y displacements measured by the PSD, and summed to give the final actuator commands. The piezo-stack-driven mirror was instructed to replicate a simulated jitter profile with a 1 Hz sampling rate, exhibiting an angular variation of \(\pm\)3.5 mrad amplitude in two Euler angles (yaw and pitch, corresponding to the \(x\)-axis and \(y\)-axis, respectively) at a maximum speed of 7 mrad/s. The simulated profile is designed to model attitude changes during the link, representing instances when the control system dynamics rectify the pointing direction to counteract disturbances. Throughout this process, the steering mirror is tasked with maintaining the laser beam centered onto a small-sized APD via the closed loop within an FPA to ensure uninterrupted communication. The pointing angles in pitch and yaw are depicted in Figure 8a--top. The profile has been generated randomly using the available Python code (refer to Data Availability Statement). It comprises a random time series that underwent smoothing through cumulative sum and a rolling average over 60 s. To eliminate low-frequency angular drift that might exceed the FSM maximum range of \(\pm 1^{\circ}\), the time series is further filtered with a high-pass filter, removing frequencies lower than \(1.5\times 10^{-3}\) Hz. When the jitter profile is applied onto the FSM in the experimental setup, the mirror's movement induces a 'wandering' of the beam spot around the detector plane, represented by the blue line in Figure 8b.