What can the canonical controller in principle tell us?

Given a plant and a desired specification our goal is to construct a controller system which, when interconnected with the plant, yields a system that behaves like the desired specification. We can always construct the canonical controller introduced in van der Schaft (2003) [10]. For linear systems there exists a controller which when interconnected to the plant yields the desired behaviour if and only if the canonical controller is itself one such controller, see Vinjamoor and van der Schaft (2011) [4]. In this paper we extend this result to nonlinear systems. It turns out that one has to look at the canonical controller together with its subsystems. We obtain necessary and sufficient conditions for the existence of a controller for a class of nonlinear systems. We end with examples which show that in certain cases looking at subsystems of the canonical controller also does not suffice.