Moon lander project: thrust vectoring with a PID controller

The goal of my Moon lander guidance software series is to learn and gain some experience with an end-to-end aerospace software project, especially on the topic of GNC. I have already written a few articles sharing my findings: for instance, this one about guidance.
Today I want to talk about control. I will use the engine gimbal controller of my Moon lander1 project to explain how to design, tune and validate a PID controller.
Read the 2049 words...