  The cooperative output regulation problem of linear multi-agent systems was
formulated and studied by the distributed observer approach in [20, 21]. Since
then, several variants and extensions have been proposed, and the technique of
the distributed observer has also been applied to such problems as formation,
rendezvous, flocking, etc. In this chapter, we will first present a more
general formulation of the cooperative output regulation problem for linear
multi-agent systems that includes some existing versions of the cooperative
output regulation problem as special cases. Then, we will describe a more
general distributed observer. Finally, we will simplify the proof of the main
results by more explicitly utilizing the separation principle and the certainty
equivalence principle.
