I am wondering whether the Hubble Space Telescope uses a "simple" PID controller like this:
Or is it using another type of control system that may be much more complex?
According to the NASA paper "Hubble Space Telescope Pointing Control System Design Improvement Study Results", in the first full paragraph on page 2, the author states
The nominal control algorithm is a standard proportional-integral-derivative (PID) operating at 40 Hz using the rate gyro assembly measurements.
If you want more information on Hubble control, I encourage you to read more of the paper. When Hubble originally launched, there were immediate complications with pointing, stemming from thermal effects caused by the solar arrays. In response to this, NASA looked at five different control algorithms to replace the standard law, which this paper goes into detail about. In the end, these five methods were never used, since
The troublesome solar arrays were replaced with a more well-behaved set and the world's largest contact lens was installed.
So instead of changing the control law they just fixed the problem from its source. Talk about a costly mistake.
When taking control theory graduate courses in the 1980's our reference book had an exercise that mentioned that the Saturn V (moon rocket), from a control model point of view, had 22 or 23 orders. And that was designed in the mid sixties. I would be very surprised if the Hubble control model was as simple as a straight PID, due to the complex bending moments and thermal effects that you need to control in an optimized way, from multiple sensors with and fine pointing accuracy requirements.