When using the ‘scale-model’ parameters (1m long, 1 kg rocket, 0.5g max vertical acceleration), the LQR controller proved to be fairly easy to tune by trial-and-error.
The following example shows a flight with multiple waypoints - the rocket hovers at each waypoint, and then returns for a smooth landing at the launch pad.
A couple of notes on this result:
Update (29 Jan 2021): I recently found some footage from Masten Space that shows maneuvering that looks similar to my simulation. This can be seen around the 27s mark in this video, at the 25s mark in this one, and on their homepage background video as well. Perhaps my simulation isn’t too far off the mark.
One question I had when developing the linearized set of equations for the LQR controller was this: since I used the small-angle approximation to make the controller, how robust would the controller be to large variations in the rocket angle? I wasn’t even certain that the rocket would fly correctly at all.
However, I found that the controller performed extremely well under these circumstances, even when the rocket started inverted!
Note, however, that the success of the controller under these conditions results significantly from the ideal model of the rocket itself. Some of these ideal conditions are: