Backward integration (BI) is a classical approach for solving optimal control arising from linear quadratic regulator (LQR) design in differential form. It proposes a two-round solution, the first one starting from a final boundary condition to the initial one to generate the optimal gain, and the next one, solving the control system in a forward loop. Implementation of the BI on the nonlinear optimal control, the state-dependent differential Riccati equation (SDDRE), is a challenge since in the backward loop, the state information is missing and is not straightforward like the LQR. Hence, a control for backward motion is required to regulate the system from the terminal to the initial desired states. While there have been some valuable works on the theoretical implementation of the BI in simulations for the SDDRE, this approach has not been reported in experiments for the best knowledge of the authors. Here in this work, the SDDRE is solved using the BI and two backward and forward solution steps, and it is experimentally applied for a flapping-wing flying robot (FWFR). The execution of the control system is done onboard using Raspberry Pi 4B as the processor which has limited computational capacity. The trajectory tracking of a line in a closed limited space is proposed for the FWFR flight. The objective is to position the robot bird at the corner of the rectangular limited space with minimum error in translation. The results have been presented for 21 flights to show the repeatability and presented the best-case minimum error of 10 (cm) at the end of the trajectory, in the YZ-plane. Considering approximately 12 (m) flight path, the error is found less than 1 percent of the travel distance. The results were compared with forward integration to confirm the correctness of the computation. The experimental flight dataset, MATLAB simulation codes, and experimental Python codes are available as supplementary material for this work in the online version of the paper.
Read full abstract