I started this research in 2012 since I was captured by a curiosity in the framework of neurosciences (see here more details).
The problem of state observability for systems driven by unknown inputs (UI) was a fundamental problem in control theory. This problem was introduced and firstly investigated here by Basile and Marro at the end of the sixties. A huge effort has then been devoted to design observers for both linear and nonlinear systems in presence of UI, in many cases in the context of fault diagnosis. The conditions so far provided to check the state observability in presence of unknown inputs have the following limitations:
They refer to a restricted class of systems. In particular, the considered systems are often characterized by linearity (or some specific type of nonlinearity) with respect to the state in some of the functions that characterize the dynamics and the function that characterizes the drift; no condition refers to any type of nonlinearity with respect to the state in the aforementioned functions.
They cannot be implemented automatically, i.e., by following a systematic procedure that does not require human intervention (e.g., by the usage of a simple code that adopts a symbolic computation tool).
These limitations do not affect the observability rank condition. However, this condition cannot be used in presence of UI. The problem of extending this analytic condition to account UI has remained open for 50 years. The extension must be a simple analytic condition able to provide the state observability in presence of UI that does not encounter the two limitations of above. Additionally, the condition must characterize the system observability and, in this sense, it will be more general than a condition that check the existence of an unknown input observer that belongs to a special class of observers.
After five years of analytic computation I obtained the analytic solution of this fundamental open problem. As for the observability rank condition, the analytic criterion in presence of unknown inputs is based on the computation of the observable codistribution by a recursive and convergent algorithm. The algorithm is unexpectedly simple and can be easily and automatically applied to nonlinear systems driven by both known and unknown inputs, independently of their complexity and type of nonlinearity. Very surprisingly, the complexity of the overall analytic criterion is comparable to the complexity of the standard method to check the state observability in the case without unknown inputs (i.e., the observability rank condition). Given any nonlinear system characterized by any type of nonlinearity, driven by both known and unknown inputs, the state observability is obtained automatically, i.e., without human intervention (e.g., by the usage of a very simple code that uses symbolic computation). This is a fundamental practical (and unexpected) advantage. On the other hand, the analytic derivations and all the proofs necessary to analytically derive the algorithm and its convergence properties and to prove their general validity are very complex and they are extensively based on an ingenious analogy with the theory of General Relativity. In practice, these derivations largely use Ricci calculus with tensors (in particular, I largely adopt the Einstein notation to achieve notational brevity).
The analytic criterion becomes much easier for driftless systems and in presence of a single unknown input. Very interestingly, in the aforementioned analogy with the theory of General Relativity, the presence of the drift term corresponds to the presence of a time dimension in relativity and the presence of unknown inputs corresponds to the space dimension in relativity (i.e., in the aforementioned analogy, the space dimension of relativity equals the number of unknown inputs). In this sense, the solution to the case without drift and with a single UI (provided here), corresponds to the trivial case of a space-time frozen with respect to time and with a single spatial dimension (this is the reason why the derivation of the solution to the case without drift and with a single UI does not require the use of Ricci calculus). The general solution can be found here, where I also applied the analytic criterion to check the observability of several nonlinear systems driven by multiple known inputs and multiple unknown inputs, ranging from planar robotics up to advanced nonlinear systems. In particular, the last applications are in the framework of visual-inertial sensor fusion. For this problem, the application of the analytic criterion provides a remarkable and amazing result, which could have relevance on the problem of visual-vestibular integration for self-motion perception in neuroscience (see here more details).