# Open-loop control of a deformable mirror using linear programming

In this example, a deformable mirror (DM) is controlled in open-loop using linear programming and Zernike polynomials.

First, I estimated a matrix $H \in \mathbb{R}^{N_z \times N_a}$ that approximately maps the actuation vector $\mathbf{u} \in \mathbb{R}^{N_a}$, where $N_a$ is the number of actuators of the DM, into the corresponding vector of $N_z$ Zernike coefficients $\mathbf{z} \in \mathbb{R}^{N_z}$. This is done using input-output measurements recorded with a Shack-Hartmann wavefront sensor.

The DM is controlled in open-loop (without using the wavefront sensor) by solving $\underset{\mathbf{u}}{\operatorname{min}} \| \mathbf{z}_{s} - H\mathbf{u} \|$, subject to $\| \mathbf{u} \|_{\infty} \le 0.95$, where $\mathbf{z}_{s}$ is the vector of set-point Zernike coefficients, and a maximum saturation of 95% is allowed for each actuator of the DM.

In the following video a micromachined membrane deformable mirror with $N_a = 17$ actuators is controlled in open-loop to induce each of the $N_z = 28$ Zernike polynomials. Note that $N_z > N_a$.

The Shack-Hartmann wavefront sensor is only used to evaluate the performance. Not all the selected Zernike polynomials can be induced, due to saturation and to the low number $N_a$ of actuators, as can be seen by comparing $\mathbf{z}_{s}$ and the measured Zernike coefficients $\mathbf{z}_{ms}$. However the performance degration is gracefull due to the linear programme.

Tags:

Categories:

Updated: