\section{Introduction}\label{SectionIntro}

The problem of state observability for systems driven by unknown inputs (UI) is a fundamental problem in control theory. This problem was introduced and firstly investigated in the seventies \cite{Basile69,Bha78,Guido71,Wang75}. A huge effort has then been devoted to design observers for both linear and nonlinear systems in presence of UI, e.g., \cite{Barb07, Barb09,Che06,Daro94,Floq04,Floq07,Gua91,Ha04,Ham10,Hou92,Koe01,Koe08,Yan88}.

The goal of this paper is not to design new observers for systems driven by UI but to provide simple analytic conditions in order to check the weak local observability of the state. The obtained results hold for systems whose dynamics are nonlinear in the state and affine in both the known and the unknown inputs. Additionally, the unknown inputs are supposed to be smooth functions of time (specifically, they are supposed to be $\mathcal{C}^k$, for a suitable integer $k$).

In \cite{Her77} the observability properties of a nonlinear system are derived starting from the definition of indistinguishable states. According to this definition, the Lie derivatives of any output computed along any direction allowed by the system dynamics take the same values at the states which are indistinguishable.
Hence, if a given state $x$ belongs to the indistinguishable set of a state $x_0$ (i.e., to $I_{x_0}$) all the Lie derivatives computed at $x$ and at $x_0$ take the same values. This is a fundamental property. In particular, based on this property, the observability rank condition was introduced in \cite{Her77}.

Our first objective is to extend the observability rank condition. For, we introduce a new definition of {\it indistinguishable states} for the case UI (section \ref{SectionDefinitions}). Then, in section \ref{SectionExtendedSystem} we introduce a new system by a suitable state extension. For this extended system, we show that, the Lie derivatives of the outputs up to a given order, take the same values at the states which are indistinguishable.
In other words, the new system satisfies the same property derived in \cite{Her77} mentioned above and this allows us to extend the observability rank condition (section \ref{SectionEORC}). We will refer to this extension as to the Extended Observability Rank Condition ($EORC$).

The new system is obtained by a state augmentation. In particular, the augmented state is obtained by including the unknown inputs together with their time-derivatives  up to given order. This augmented state has already been considered in the past. Specifically, in \cite{Belo10} the authors adopted this augmented state to investigate the observability properties of a fundamental problem in the framework of mobile robotics (the bearing SLAM). In particular, starting from the idea of including the time-derivatives of the unknown input in the state, in \cite{Belo10} a sufficient condition for the state observability has been provided.

The $EORC$ $~$is based on the computation of a codistribution defined in the augmented space. In other words, the $EORC$ $~$allows us to check the weak local observability of the original state together with its extension and not directly of the original state. This makes the computational cost dependent on the dimension of the augmented state. Additionally, the $EORC$ $~$ only provides sufficient conditions for the weak local observability of the original state since the state augmentation can be continued indefinitely.
For these reasons, the paper focuses on the following two fundamental issues:

\begin{itemize}

\item Understanding if it is possible to derive the weak local observability of the original state by computing a codistribution defined in the original space, namely a codistribution consisting of covectors with the same dimension of the original state.

\item Understanding if there exists a given augmented state such that, by further augmenting the state, the observability properties of the original state provided by $EORC$$~$ remain unvaried.
\end{itemize}

\noindent Both these issues have been fully addressed in the case of a single unknown input (see theorems \ref{TheoremSeparation} and \ref{TheoremStop}).

Thanks to the result stated by theorem \ref{TheoremSeparation} (section \ref{SectionSeparation}), the algorithm in definition \ref{DefinitionOmega} in section \ref{SectionSeparation} (for the case of a single known input) and in definition \ref{DefinitionOmegaE} in section \ref{SectionExtension} (for the case of multiple known inputs) can be used to obtain the entire observable codistribution. In other words, the observability properties of the original state are obtained by a very simple algorithm.
As it will be seen, the analytic derivations required to prove theorem \ref{TheoremSeparation} are complex and we are currently extending them to the multiple unknown inputs case. Theorem \ref{TheoremStop} (section \ref{SectionStop}) ensures the convergence of the algorithm in a finite number of steps and it also provides the criterion to establish that this convergence has been reached. Also this proof is based on several tricky and complex analytical steps.

Both theorems \ref{TheoremSeparation} and \ref{TheoremStop} are first proved in the case of a single known input (sections \ref{SectionSeparation} and \ref{SectionStop}) but in section \ref{SectionExtension} their validity is extended to the case of multiple known inputs.

All the theoretical results are illustrated in section \ref{SectionApplicationsSystem} by deriving the observability properties of several nonlinear systems driven by unknown inputs.

\section{Basic Definitions}\label{SectionDefinitions}

In the sequel we will refer to a nonlinear control system with $m_u$ known inputs ($ u \equiv [u_1,\cdots,u_{m_u}]^T$) and $m_w$ unknown inputs or disturbances ($w\equiv [w_1,\cdots,w_{m_w}]^T$). The state is the vector $ x \in M$, with $M$ an open set of $\mathbb{R}^n$. We assume that the dynamics are nonlinear with respect to the state and affine with respect to the inputs (both known and unknown). Finally, for the sake of simplicity, we will refer to the case of a single output $y$ (the extension to multiple outputs is straightforward). Our system is characterized by the following equations:

\begin{equation}\label{EquationStateEvolution}
\left\{\begin{aligned}
  \dot{ x } &=  f_0 ( x ) + \sum_{i=1}^{m_u}  f_i ( x ) u_i + \sum_{j=1}^{m_w}  g_j ( x ) w_j \\
  y &= h( x ) \\
\end{aligned}\right.
\end{equation}

\noindent where $ f_i ( x )$, $i=0,1,\cdots,m_u$, and $ g_j ( x )$, $j=1,\cdots,m_w$, are vector fields in $M$ and the function $h( x )$ is a scalar function defined on the open set $M$. For the sake of simplicity, we will assume that all these functions are analytic functions in $M$.

Let us consider the time interval $\mathcal{I}\equiv [0, ~T]$. Note that, since the equations in (\ref{EquationStateEvolution}) do not depend explicitly on time, this can be considered as a general time interval of length $T$. In the sequel, we will assume that the solution of (\ref{EquationStateEvolution}) exists in $\mathcal{I}$ and we will denote by $ x(t; ~ x_0; ~u; ~w )$ the state at a given time $t\in\mathcal{I}$, when $ x(0)= x_0$ and the known input and the disturbance are $u(t)$ and $w(t)$, respectively, $\forall t\in\mathcal{I}$.

\vskip .2cm

\noindent We introduce the following definition:

\begin{df}[Indistinguishable states in presence of UI]\label{DefindistinguishableStates}
Two states $x_a$ and $x_b$ are indistinguishable if, for any $ u (t)$ (the known input vector function), there exist $w_a (t)$ and $w_b (t)$ (i.e., two unknown input vector functions in general, but not necessarily, different from each other) such that $h( x(t; ~ x_a; ~u; ~w_a ))=h( x(t; ~ x_b; ~u; ~w_b ))$ $\forall t\in\mathcal{I}$.
\end{df}

\noindent This definition states that, if $x_a$ and $x_b$ are indistinguishable, then, for any known input, by looking at the output during the time interval $\mathcal{I}$, we cannot conclude if the initial state was $x_a$ and the disturbance $w_a$ or if the initial state was $x_b$ and the disturbance $w_b$.
We remark that, contrary to the definition of indistinguishable states in the case without disturbances, the new definition does not establish an equivalence relation. Indeed, we can have $x_a$ and $x_b$ indistinguishable, $x_b$ and $x_c$ indistinguishable but $x_a$ and $x_c$ are not  indistinguishable. As in the case of known inputs, given $ x_0 $, the indistinguishable set $I_{x_0}$ is the set of all the states $x$ such that $x$ and $x_0$ are indistinguishable.
Starting from this definition, we can use exactly the same definitions of observability and weak local observability adopted in the case without disturbances.

\section{Extended system and basic properties}\label{SectionExtendedSystem}

In order to extend the observability rank condition to the case of unknown inputs we introduce a new system (the extended system) such that its Lie derivatives are constant on the indistinguishable sets.
The new system will be denoted by $\Sigma^{(k)}$. It is simply obtained by extending the original state by including the unknown inputs together with their time derivatives. Specifically, we denote by $ ^kx $ the extended state that includes the time derivatives up to the $(k-1)-$order:

\begin{equation}\label{EquationExtendedState}
 ^kx  \equiv [ x^T, ~ w^T, ~ w^{(1)~T}, ~\cdots,~ w^{(k-1)~T}]^T
\end{equation}

\noindent where $w^{(k)} \equiv \frac{d^k w}{dt^k}$ and $^kx\in M^{(k)}$, with $M^{(k)}$ an open set of $\mathbb{R}^{n+k m_w}$. From (\ref{EquationStateEvolution}) it is immediate to obtain the dynamics for the extended state:

\begin{equation}\label{EquationExtendedStateEvolution}
\begin{aligned}
   ^k\dot{x}  &=  f_0^{(k)} ( ^kx ) + \sum_{i=1}^{m_u}  f_i^{(k)} ( x ) u_i + \sum_{j=1}^{m_w}  1^{n+(k-1) m_w+j}_{{n+k m_w}}  w_j^{(k)} \\
\end{aligned}
\end{equation}

\noindent where:

\begin{equation}\label{EquationF_0^E}
 f_0^{(k)} ( ^kx ) \equiv \left[\begin{array}{c}
   f_0 ( x ) + \sum_{i=1}^{m_w}  g_i ( x ) w_i\\
   w^{(1)} \\
   w^{(2)} \\
  \cdots\\
   w^{(k-1)} \\
   0_{m_w} \\
\end{array}
\right]
\end{equation}

\begin{equation}\label{EquationF_i^E}
 f_i^{(k)} ( x ) \equiv \left[\begin{array}{c}
   f_i ( x )\\
   0_{k m_w} \\
\end{array}
\right]
\end{equation}

\noindent and we denoted by $0_{m}$ the $m-$dimensional zero column vector and by $1^{l}_{m}$ the $m-$dimensional unit column vector, with $1$ in the $l^{th}$ position and $0$ elsewhere. We remark that the resulting system has still $m_u$ known inputs and $m_w$ disturbances. However, while the $m_u$ known inputs coincide with the original ones,  the $m_w$ unknown inputs are now the $k-$order time derivatives of the original disturbances. The state evolution depends on the known inputs via the vector fields $f_i^{(k)}$, ($i=1,\cdots,m_u$) and it depends on the disturbances via the unit vectors $1^{n+(k-1) m_w+j}_{{n+k m_w}}$, ($j=1,\cdots,m_w$). Finally, we remark that only the vector field $f_0^{(k)}$ depends on the new state elements.

\noindent In the rest of this section we derive several properties satisfied by $\Sigma^{(k)}$.

\begin{lm}\label{LmLieDer1}
Let us consider the system $\Sigma^{(k)}$. The Lie derivatives of the output up to the $m^{th}$ order ($m\le k$) are independent of $w_j^{(f)}$, $j=1,\cdots,m_w$, $\forall f\ge m$.
\end{lm}

{\bf Proof:~}{ We proceed by induction on $m$ for any $k$. When $m=0$ we only have one zero-order Lie derivative (i.e., $h(x)$), which only depends on $x$, namely it is independent of $w^{(f)}$, $\forall f \ge 0$. Let us assume that the previous assert is true for $m$ and let us prove that it holds for $m+1$. If it is true for $m$, any Lie derivative up to the $m^{th}$ order is independent of $w^{(f)}$, for any $f\ge m$. In other words, the analytical expression of any Lie derivative up to the $m-$order is represented by a function $g(x,w,w^{(1)},\cdots,w^{(m-1)})$. Hence, $\nabla g = [\frac{\partial g}{\partial x}, \frac{\partial g}{\partial w}, \frac{\partial g}{\partial w^{(1)}}, \cdots, \frac{\partial g}{\partial w^{(m-1)}}, 0_{(k-m)m_w}]$. It is immediate to realize that the product of this gradient by any vector filed in (\ref{EquationExtendedStateEvolution}) depends at most on $w^{(m)}$, i.e., it is independent of $w^{(f)}$, $\forall f \ge m+1$ $\blacksquare$}

\vskip .2cm

\noindent A simple consequence of this lemma are the following two properties:

\begin{pr}\label{PrLieDer1}
Let us consider the system $\Sigma^{(k)}$. The Lie derivatives of the output up to the $k^{th}$ order along at least one vector among $1^{n+(k-1) m_w+j}_{{n+k m_w}}$ ($ j=1, \cdots,m_w$) are identically zero.
\end{pr}

{\bf Proof:~}{  From the previous lemma it follows that all the Lie derivatives, up to the $(k-1)-$order are independent of $w^{(k-1)}$, which are the last $m_w$ components of the extended state in (\ref{EquationExtendedState}). Then, the proof follows from the fact that any vector among $1^{n+(k-1) m_w+j}_{{n+k m_w}}$ ($ j=1, \cdots,m_w$) has the first $n+(k-1)m_w$ components equal to zero $\blacksquare$}

\begin{pr}\label{PrLieDer2}
The Lie derivatives of the output up to the $k^{th}$ order along any vector field $f_0^{(k)}$, $f_1^{(k)} , \cdots,  f_{m_u}^{(k)}$ for the system $\Sigma^{(k)}$ coincide with the same Lie derivatives for the system $\Sigma^{(k+1)}$
\end{pr}

{\bf Proof:~}{ We proceed by induction on $m$ for any $k$. When $m=0$ we only have one zero-order Lie derivative (i.e., $h(x)$), which is obviously the same for the two systems, $\Sigma^{(k)}$ and $\Sigma^{(k+1)}$. Let us assume that the previous assert is true for $m$ and let us prove that it holds for $m+1\le k$. If it is true for $m$, any Lie derivative up to the $m^{th}$ order is the same for the two systems. Additionally, from lemma \ref{LmLieDer1}, we know that these Lie derivatives are independent of $w^{(f)}$, $\forall f \ge m$. The proof follows from the fact that the first $n+mm_w$ components of $f_0^{(k)} $, $ f_1^{(k)} , \cdots,  f_{m_u}^{(k)}$ coincide with the first $n+mm_w$ components of $f_0^{(k+1)}$, $f_1^{(k+1)} , \cdots,  f_{m_u}^{(k+1)}$ when $m< k$ $\blacksquare$}

\vskip .2cm

In the sequel we will use the notation: $ \xi  \equiv [ w^T, ~ w^{(1)~T}, ~\cdots,~ w^{(k-1)~T}]^T$. In this notation we have $ ^kx  = [ x^T, ~ \xi^T]^T$.
We also denote by $\Sigma^{(0)}$ the original system, i.e., the one characterized by the state $x$ and the equations in (\ref{EquationStateEvolution}). The definition \ref{DefindistinguishableStates}, given for $\Sigma^{(0)}$, can be applied to $\Sigma^{(k)}$. Specifically, in $\Sigma^{(k)}$, two states $ [x_a, \xi_a] $ and $ [x_b, \xi_b] $ are indistinguishable if, for any $u(t)$ (the known inputs), there exist two vector functions $w_a^{(k)} (t)$ and $w_b^{(k)} (t)$ (the $k^{th}$ time derivative of two disturbance vectors) such that,  $h( x(t; ~ [x_a, \xi_a]; ~u;  ~w_a^{(k)} ))=h( x(t; ~ [x_b, \xi_b]; ~u;  ~w_b^{(k)} ))$ $\forall t\in\mathcal{I}$.

\noindent It holds the following fundamental result:

\begin{pr}\label{PrConstantLieDer}
If $[x_a, \xi_a]$ and $[x_b, \xi_b]$ are indistinguishable in $\Sigma^{(k)}$ then the Lie derivatives of the output up to the $k^{th}$-order computed on these points take the same values.
\end{pr}

{\bf Proof:~}{We consider a piecewise-constant input $\tilde{u}$ as follows ($i=1,\cdots,m_u$):

\begin{equation}\label{EquationInputPiecewise}
 \tilde{u}_i(t)=
 \end{equation}
\[
 \left\{\begin{aligned}
 &u_i^1 ~~~t\in[0, ~t_1)\\
 &u_i^2 ~~~t\in[t_1, ~t_1+t_2)\\
 &\cdots \\
 &u_i^g ~~~t\in[t_1+t_2+\cdots+t_{g-1}, ~t_1+t_2+\cdots+t_{g-1}+t_g)\\
\end{aligned}\right.
\]

\noindent Since $[x_a, \xi_a]$ and $[x_b, \xi_b]$ are indistinguishable in $\Sigma^{(k)}$, there exist two disturbance functions $w_a^{(k)} (t)$ and $w_b^{(k)} (t)$ such that:

\begin{equation}\label{Equationha=hb}
h( x(t; ~ [x_a, \xi_a]; ~\tilde{u};  ~w_a^{(k)} ))=h( x(t; ~ [x_b, \xi_b]; ~\tilde{u};  ~w_b^{(k)} ))
\end{equation}

\noindent $\forall t\in [0, ~t_1+t_2+\cdots+t_{g-1}+t_g)\subset\mathcal{I}$. On the other hand, by taking the two quantities in (\ref{Equationha=hb}) at $t=t_1+t_2+\cdots+t_{g-1}+t_g$, we can consider them as functions of the $g$ arguments $t_1,t_2,\cdots,t_g$. Hence, by differentiating with respect to all these variables, we also have:

\begin{equation}\label{EquationhaD=hbD}
\frac{\partial^g h( x(t_1+\cdots+t_g; ~ [x_a, \xi_a]; ~\tilde{u};  ~w_a^{(k)} ))}{\partial t_1\partial t_2\cdots\partial t_g}=
\end{equation}
\[
=\frac{\partial^g h( x(t_1+\cdots+t_g; ~ [x_b, \xi_b]; ~\tilde{u};  ~w_b^{(k)} ))}{\partial t_1\partial t_2\cdots\partial t_g}
\]

\noindent By computing the previous derivatives at $t_1=t_2=\cdots=t_g=0$ and by using proposition \ref{PrLieDer1} we obtain, if $g\le k$:

\begin{equation}\label{EquationLDa=LDb}
\mathcal{L}^g_{\theta_1 \theta_2 \cdots \theta_g} h\left|_{\begin{aligned}
 &x=x_a\\
 &\xi=\xi_a\\
\end{aligned}}\right.=\mathcal{L}^g_{\theta_1 \theta_2 \cdots \theta_g} h\left|_{\begin{aligned}
 &x=x_b\\
 &\xi=\xi_b\\
\end{aligned}}\right.
\end{equation}

\noindent where $\theta_h=f_0^{(k)}+\sum_{i=1}^{m_u}f_i^{(k)}u_i^h$, $h=1,\cdots,g$. The equality in (\ref{EquationLDa=LDb}) must hold for all possible choices of $u_1^h,\cdots,u_{m_u}^h$. By appropriately selecting these $u_1^h,\cdots,u_{m_u}^h$, we finally obtain:

\begin{equation
\mathcal{L}^g_{v_1 v_2 \cdots v_g} h\left|_{\begin{aligned}
 &x=x_a\\
 &\xi=\xi_a\\
\end{aligned}}\right.=\mathcal{L}^g_{v_1 v_2 \cdots v_g} h\left|_{\begin{aligned}
 &x=x_b\\
 &\xi=\xi_b\\
\end{aligned}}\right.
\end{equation}

\noindent where $v_1 v_2 \cdots v_g$ are vector fields belonging to the set $\{ f_0^{(k)},f_1^{(k)},\cdots,f_{m_u}^{(k)}\}$ $\blacksquare$}

\vskip.2 cm

\noindent In \cite{Her77} it was also defined the concept of $V-$indistinguishable states, with $V$ a subset of the definition set (in the specific case $V\subseteq M^{(k)}$) that includes the two considered states. From this definition and the previous proof we can alleviate the assumptions in the previous proposition. Specifically, we have the following:

\begin{Rm}\label{Remark}
The statement of proposition \ref{PrConstantLieDer} also holds if $[x_a, \xi_a]$ and $[x_b, \xi_b]$ are $V-$indistinguishable, being $V$ any open subset of $M^{(k)}$ and $[x_a, \xi_a],[x_b, \xi_b] \in V$.
\end{Rm}

\noindent Thanks to the results stated by propositions \ref{PrLieDer2} and \ref{PrConstantLieDer} we will introduce the extension of the observability rank condition in the next section.

\section{Extension of the Observability Rank condition}\label{SectionEORC}

According to the observability rank condition, the weak local observability of the system in (\ref{EquationStateEvolution}) with $m_w=0$ at a given point $x_0$ can be investigated
by analyzing the codistribution generated by the gradients of the Lie derivatives of its output. Specifically, if the dimension of this codistribution is equal to the dimension of the state on a given neighbourhood of $x_0$, we conclude that the state is weakly locally observable at $x_0$ (theorem $3.1$ in \cite{Her77}).
We can also check the weak local observability of a subset of the state components. Specifically, a given component of the state is weakly locally observable at $x_0$, if its gradient belongs to the aforementioned codistribution\footnote{A component of the state is observable at $x_0$ if it is constant on the indistinguishable set $I_{x_0}$.}.
The proof of theorem $3.1$ in \cite{Her77} is based on the fact that all the Lie derivatives (up to any order) of the output computed along any direction allowed by the system dynamics take the same values at the states which are indistinguishable.

Let us consider now the general case, i.e., when $m_w \neq 0$.
In the extended system ($\Sigma^{(k)}$) we know that the Lie derivatives up to the $k-$order satisfy the same property (see proposition \ref{PrConstantLieDer}). Therefore, we can extend the validity of theorem $3.1$ in \cite{Her77} to our case, provided that we suitably augment the state and that we only include the Lie derivatives up to the $k-$order to build the observable codistribution.

In the sequel, we will introduce the following notation:
\begin{itemize}

\item $\bar{\Omega}_m$ will denote the observable codistribution for $\Sigma^{(k)}$ $~$that includes all the Lie derivatives of the output along $f_0^{(k)}, f_1^{(k)}, \cdots, f_{m_u}^{(k)}$ up to the order $m\le k$;

\item The symbol $d$ will denote the gradient with respect to the extended state in (\ref{EquationExtendedState}) and  the symbol $d_x$ will denote the gradient only respect to $x$;

\item For a given codistribution $\Lambda$ and a given vector field $\eta$, we will denote by $\mathcal{L}_{\eta} \Lambda$ the codistribution whose covectors are the Lie derivatives along $\eta$ of the covectors in $\Lambda$ (we are obviously assuming that the dimension of these covectors coincides with the dimension of $\eta$).

\item Given two vector spaces $V_1$ and $V_2$, we will denote with $V_1+V_2$ their sum, i.e., the span of all the generators of both $V_1$ and $V_2$.

\item For a given $V\subseteq M^{(k)}$ and a given $[x_0, ~\xi_0]\in V$, we will denote with $I_{[x_0, \xi_0]}^V$ the set of all the states $V-$indistinguishable from $[x_0, ~\xi_0]$.

\end{itemize}

\noindent The codistribution $\bar{\Omega}_m$ can be computed recursively by the following algorithm:

\begin{al}[Computation of $\bar{\Omega}_m$, $m\le k$
\begin{algorithmic}
\STATE
\STATE{Set $\bar{\Omega}_0=span\{dh\}$;}
\STATE{Set $i=0$}
\WHILE {$i<m$}
\STATE{Set $i=i+1$}
\STATE{Set $\bar{\Omega}_i=\bar{\Omega}_{i-1}+\sum_{i'=0}^{m_u}\mathcal{L}_{f_{i'}^{(k)}}\bar{\Omega}_{i-1}$}
\ENDWHILE
 \end{algorithmic}
\label{alg1}
\end{al}

\noindent Let us denote by $x_j$ the $j^{th}$ component of the state ($j=1,\cdots,n$). We introduce the following definition:

\begin{df}[$EORC$]
For the system $\Sigma^{(k)}$, the $j^{th}$ component of the state (i.e., $x_j$, $j=1,\cdots,n$) satisfies the extended observability rank condition at $[x_0,\xi_0]$
if $dx_j \in \bar{\Omega}_k$ at $[x_0,\xi_0]$. If this holds $\forall j=1,\cdots,n$, we say that the state $x$ satisfies the extended observability rank condition at $[x_0,\xi_0]$ in $\Sigma^{(k)}$.
\end{df}

\noindent We have the following result, which is the extension of the result stated by theorem $3.1$ in \cite{Her77}:

\begin{pr}
For $\Sigma^{(k)}$, if $x_j$ ($j=1,\cdots n$) satisfies the observability rank condition at $[x_0,\xi_0]$, then $x_j$ is weakly locally observable at $[x_0,\xi_0]$. Additionally, $x_j$ remains weakly locally observable by further extending the state (i.e., in every system $\Sigma^{(f)}$ ($f> k$)).
\end{pr}

{\bf Proof:~}{We prove that it exists an open neighbourhood $U$ of $[x_0,\xi_0]$ such that, for every open neighbourhood $V\subseteq U$ of $[x_0,\xi_0]$, $x_j$ is constant on the set $I^V_{[x_0, \xi_0]}$. Since $dx_j \in \bar{\Omega}_k$ at $[x_0,\xi_0]$, it exists some open neighborhood $U$ of $[x_0,\xi_0]$, such that $x_j$ can be expressed in terms of the Lie derivatives of $h$ along the directions $f_{i'}^{(k)}$ ($i'=0,1,\cdots,m_u$) up to the $k$ order.  If $V\subseteq U$ is an open neighborhood of $[x_0,\xi_0]$, then proposition \ref{PrConstantLieDer} and remark \ref{Remark} imply that all the Lie derivatives up to the $k$ order are constant on the set $I^V_{[x_0, \xi_0]}$ and, consequently, also $x_j$ is constant on this set. Finally, the fact that $x_j$ is weakly locally observable in every system $\Sigma^{(f)}$ ($f> k$) directly follows from proposition \ref{PrLieDer2} $\blacksquare$}

\vskip .2cm
In accordance with the previous result, the $EORC$ $~$is a tool to analyze the observability properties of a nonlinear system driven by known and unknown inputs. However,
we remark two important limitations of the $EORC$. The former consists in the fact that the state augmentation can be continued indefinitely. As a result, the $EORC$ $~$only provides sufficient conditions for the weak local observability of the state components.
The latter regards the computational cost demanded to check if it is satisfied. Specifically, the computation demanded to check if $dx_j$ belongs to $\bar{\Omega}_k$ can be very complex because by increasing $k$ we also increase the dimension of the extended state.

In the rest of this paper, we will focus our attention on these fundamental issues and we will provide the main paper contributions:

\begin{itemize}
\item obtaining a new codistibution ($\Omega_k$) that is the span of covectors whose dimension is $n$ (i.e., independent of the state extension) such that $d_xx_j \in \Omega_k$ if and only if $dx_j \in \bar{\Omega}_k$;
\item  understanding if there exists a given $\hat{k}$ such that, if $dx_j\notin \bar{\Omega}_{\hat{k}}$, then $dx_j\notin \bar{\Omega}_k$  $\forall k>\hat{k}$.
\end{itemize}

We fully address both these issues in the case $m_w=1$. In section \ref{SectionSingle} we introduce the basic equations that characterize this case. In section \ref{SectionSeparation} we provide a complete answer to the first issue by operating a separation on the codistribution generated by all the Lie derivatives up to the $k-$order. Specifically, we prove that the observable codistribution can be splitted  into two codistributions. The former is generated by the gradients of scalar functions that only depend on the original state. The latter is generated by the gradients of scalar functions that depend on the entire augmented state. However, this latter codistribution can be ignored when deriving the observability properties of the original state.
The former codistribution, namely the one generated by the gradients of scalar functions that only depend on the original state, is defined by a simple recursive algorithm.
In section \ref{SectionStop} we provide a complete answer to the second issue by proving that this algorithm converges in a finite number of steps and by also providing the criterion to establish that the convergence of the algorithm has been reached (theorem \ref{TheoremStop}). Also this proof is based on several tricky analytic steps.
For the sake of clarity, we start this discussion by considering the case when the system is characterized by a single known input, i.e., when $m_u=1$ (sections \ref{SectionSingle}, \ref{SectionSeparation} and \ref{SectionStop}). In particular, both theorems \ref{TheoremSeparation} and \ref{TheoremStop} are proved in this simplified case. However, in section \ref{SectionExtension}, their validity is extended to the case of multiple known inputs (i.e., $\forall m_u>1$).

\section{Single known Input and single disturbance}\label{SectionSingle}

We will refer to the following system:

\begin{equation}\label{EquationStateEvolution1}
\left\{\begin{aligned}
  \dot{x} &=   f ( x ) u +  g ( x ) w \\
  y &= h( x ) \\
\end{aligned}\right.
\end{equation}

\noindent In other words, we consider the case when $f_0$ is the null vector and $m_u=m_w=1$. In this case, the extended state that includes the time derivatives up to the $(k-1)-$order is:

\begin{equation}\label{EquationExtendedState1}
 ^kx  \equiv [ x^T, ~ w^T, ~ w^{(1)~T}, ~\cdots,~ w^{(k-1)~T}]^T
\end{equation}

\noindent The dimension of the extended state is $n+k$. From (\ref{EquationStateEvolution1}) it is immediate to obtain the dynamics for the extended state:

\begin{equation}\label{EquationExtendedStateEvolution1}
\begin{aligned}
   ^k\dot{x}  &=    G(^kx)+ F( x ) u + 1^{n+k}_{{n+k}}  w^{(k)} \\
\end{aligned}
\end{equation}

\noindent where:

\begin{equation}\label{EquationFG}
 F\equiv \left[\begin{array}{c}
    f ( x )\\
   0 \\
   0 \\
  \cdots\\
   0 \\
   0 \\
\end{array}
\right]
~~~~~ G \equiv \left[\begin{array}{c}
    g ( x ) w\\
   w^{(1)} \\
   w^{(2)} \\
  \cdots\\
   w^{(k-1)} \\
   0 \\
\end{array}
\right]
\end{equation}

\noindent In the sequel, we will denote by $L^1_g$ the first order Lie derivative of the function $h(x)$ along the vector field $g(x)$, i.e., $L^1_g\equiv\mathcal{L}_gh$.
The derivations provided in the next sections are based on the assumption that $L^1_g \neq 0$ on a given neighbourhood of $x_0$. We conclude this section by showing that, when this assumption does not hold, it is possible to introduce new coordinates and to show that the observability properties can be investigated starting from a new output that satisfies the assumption.

Let us suppose that $L^1_g=0$ on a given neighbourhood of $x_0$. We introduce the following system associated with the system in (\ref{EquationStateEvolution1}):

\begin{equation}\label{EquationStateEvolutionAss}
\left\{\begin{aligned}
  \dot{x} &=   f ( x ) +  g ( x ) u\\
  y &= h( x ) \\
\end{aligned}\right.
\end{equation}

\noindent This is a system without disturbances and with a single known input $u$. Let us denote by $r$ the relative degree of this system at $x_0$. Since $L^1_g=0$ on a given neighbourhood of $x_0$, we have  $r>1$. Additionally, we can introduce the following new local coordinates (see proposition 4.1.3 in \cite{Isi95}):

\begin{equation}\label{EquationLocalCoordinates1}
x'=\mathcal{Q}(x)=\left[\begin{array}{c}
\mathcal{Q}_1(x)\\
\cdots\\
\mathcal{Q}_n(x)\\
\end{array}\right]
\end{equation}

\noindent such that the first new $r$ coordinates are:

\begin{equation}\label{EquationLocalCoordinates2}
\mathcal{Q}_1(x)=h(x),~ \mathcal{Q}_2(x)=\mathcal{L}^1_f h(x), ~\cdots, ~\mathcal{Q}_r(x)=\mathcal{L}^{r-1}_f h(x)
\end{equation}

\noindent Now let us derive the equations of the original system (i.e., the one in (\ref{EquationStateEvolution1})) in these new coordinates. We have:

\begin{equation}\label{EquationStateEvolution1New}
\left\{\begin{aligned}
  \dot{x}' &=   \tilde{f} ( x' ) u+  \tilde{g} ( x' ) w\\
  y &= x_1' \\
\end{aligned}\right.
\end{equation}

\noindent where $\tilde{f}$ and $\tilde{g}$ have the following structure:

\begin{equation}\label{Equationftgt}
 \tilde{f}\equiv \left[\begin{array}{c}
    x_2'\\
   x_3' \\
  \cdots\\
   x_r' \\
   \tilde{f}_r(x') \\
  \cdots\\
   \tilde{f}_n(x') \\
\end{array}
\right]
~~~~~ \tilde{g}\equiv \left[\begin{array}{c}
    0\\
   0\\
  \cdots\\
   0 \\
   \tilde{g}_r(x') \\
  \cdots\\
   \tilde{g}_n(x') \\
\end{array}
\right]
\end{equation}

\noindent We remark that the first $r$ components of $x'$ are weakly locally observable since they are the output and its Lie derivatives along $f$ up to the $(r-1)-$order (note that we do not need to augment the state to use the first $(r-1)$ Lie derivatives because all the Lie derivatives up to the $(r-1)-$order that includes at least one direction along $g$ vanish automatically). In order to investigate the observability properties of the remaining components, we augment the state as in (\ref{EquationExtendedState1}) and we can consider the new output $\tilde{h}(x')=x_r'$. We set $L^1_g =\tilde{g}_r=\mathcal{L}_g\mathcal{L}^{r-1}_fh\neq 0$.

\section{The observable codistribution ($\Omega$)}\label{SectionSeparation}

In this section we operate a separation on the codistribution generated by all the Lie derivatives up to the $m-$order ($m\le k$). Specifically, we prove that this codistribution can be splitted  into two codistributions. The former is generated by the gradients of scalar functions that only depend on the original state. The latter is generated by the gradients of scalar functions that depend on the entire augmented state. However, this latter codistribution can be ignored when deriving the observability properties of the original state.

The observable codistribution is given by the algorithm \ref{alg1} and, in this case $m_u=m_w=1$, it reduces to the span of the gradients of all the Lie derivatives along $F$ and $G$ up to the $k$-order. Hence, for any $m\le k$, it is obtained recursively by the following algorithm:

\begin{enumerate}
\item $\bar{\Omega}_0=span\{dh\}$;
\item $\bar{\Omega}_m=\bar{\Omega}_{m-1}+\mathcal{L}_{G}\bar{\Omega}_{m-1}+\mathcal{L}_{F}\bar{\Omega}_{m-1}$
\end{enumerate}

\noindent For a given $m\le k$ we define the vector $\phi_m\in \mathbb{R}^n$ by the following algorithm:

\begin{enumerate}
\item $\phi_0=f$;
\item $\phi_m=\frac{[\phi_{m-1}, ~g]}{L^1_g}$
\end{enumerate}

\noindent where the parenthesis $[\cdot, \cdot]$ denote the Lie brackets of vector fields. Similarly, we define $\Phi_m\in \mathbb{R}^{n+k}$ by the following algorithm:

\begin{enumerate}
\item $\Phi_0=F$;
\item $\Phi_m=[\Phi_{m-1}, ~G]$
\end{enumerate}

\noindent By a direct computation it is easy to realize that $\Phi_m$ has the last $k$ components identically null. In the sequel, we will denote by $\Breve{\Phi}_m$ the vector in $\mathbb{R}^n$ that contains the first $n$ components of $\Phi_m$. In other words, $\Phi_m\equiv [\Breve{\Phi}_m^T,0_k^T]^T$. Additionally, we set $\hat{\phi}_m\equiv \left[\begin{array}{c}
    \phi_m \\
   0_k \\
\end{array}
\right]$.

We define the $\Omega$ codistribution as follows (see definition \ref{DefinitionOmegaE} in section \ref{SectionExtension} for the case when $m_u>1$):

\begin{df}[$\Omega$ codistribution, $m_u=m_w=1$]\label{DefinitionOmega}
This codistribution is defined recursively by the following algorithm:

\begin{enumerate}
\item $\Omega_0=d_xh$;
\item $\Omega_m=\Omega_{m-1}+\mathcal{L}_f \Omega_{m-1} + \mathcal{L}_{\frac{g}{L^1_g}} \Omega_{m-1} +\mathcal{L}_{\phi_{m-1}} d_xh$
\end{enumerate}

\end{df}

\noindent Note that this codistribution is completely integrable by construction. More importantly, its generators are the gradients of functions that only depend on the original state ($x$) and not on its extension. In the sequel, we need to embed this codistribution in $\mathbb{R}^{n+k}$. We will denote by $[\Omega_m,0_k]$ the codistribution made by covectors whose first $n$ components are covectors in $\Omega_m$ and the last components are all zero. Additionally, we will denote by $L^m$ the codistribution that is the span of the Lie derivatives of $dh$ up to the order $m$ along the vector $G$, i.e., $L^m \equiv span\{\mathcal{L}^1_Gdh, \mathcal{L}^2_Gdh, \cdots, \mathcal{L}^m_Gdh\}$.

We finally introduce the following codistribution:

\begin{df}[$\tilde{\Omega}$ codistribution]\label{DefinitionOmegaTilde}
This codistribution is defined as follows: $\tilde{\Omega}_m \equiv [\Omega_m,0_k]+ L^m$

\end{df}

\noindent The codistribution $\tilde{\Omega}_m$ consists of two parts. Specifically, we can select a basis that consists of exact differentials that are the gradients of functions that only depend on the original state ($x$) and not on its extension (these are the generators of $[\Omega_m,0_k]$) and the gradients $\mathcal{L}^1_Gdh, \mathcal{L}^2_Gdh, \cdots, \mathcal{L}^m_Gdh$. The second set of generators, i.e., the gradients $\mathcal{L}^1_Gdh, \mathcal{L}^2_Gdh, \cdots, \mathcal{L}^m_Gdh$, are $m$ and, with respect to the first set, they are gradients of functions that also depend on the state extension $\xi=[w,~w^{(1)},\cdots, ~w^{(m-1)}]^T$.

We have the following result:

\begin{lm}
Let us denote with $x_j$ the $j^{th}$ component of the state ($j=1,\cdots,n$). We have: $d_xx_j \in \Omega_m$ if and only if $dx_j \in \tilde{\Omega}_m$
\end{lm}

{\bf Proof:~}{The fact that $d_xx_j \in \Omega_m$ implies that $dx_j \in \tilde{\Omega}_m$ is obvious since $[\Omega_m,0_k] \subseteq\tilde{\Omega}_m$ by definition. Let us prove that also the contrary holds, i.e., that if $dx_j \in \tilde{\Omega}_m$ then $d_xx_j \in \Omega_m$.
Since $dx_j \in \tilde{\Omega}_m$ we have $dx_j=\sum_{i=1}^{N_1}c^1_i \omega_i^1+\sum_{i=1}^{N_2}c^2_i \omega_i^2$, where $\omega_1^1, \omega_2^1, \cdots, \omega_{N_1}^1$ are $N_1$ generators of $[\Omega_m,0_k]$ and $\omega_1^2, \omega_2^2, \cdots, \omega_{N_2}^2$ are $N_2$ generators of $L^m$. We want to prove that $N_2=0$.

We proceed by contradiction. Let us suppose that $N_2\ge 1$.
We remark that the first set of generators have the last $k$ entries equal to zero, as for $dx_j$. The second set of generators consists of the Lie derivatives of $h$ along $G$ up to the $m$ order. Let us select the one that is the highest order Lie derivative and let us denote by $j'$ this highest order. We have $1\le N_2 \le j'\le m$. By a direct computation, it is immediate to realize that this is the only generator that depends on $w^{(j'-1)}$. Specifically, the dependence is linear by the product $L^1_g w^{(j'-1)}$ (we remind the reader that $L^1_g \neq 0$). But this means that $dx_j$ has the $(n+j')^{th}$ entry equal to $L^1_g\neq 0$ and this is not possible since $dx_j=[d_xx_j,0_k]$ $\blacksquare$}

\vskip .2 cm

\noindent A fundamental consequence of this lemma is that, if we are able to prove that $\tilde{\Omega}_m=\bar{\Omega}_m$, the weak local observability of the original state $x$, can be investigated by only considering the codistribution $\Omega_m$.
In the rest of this section we will prove this fundamental theorem, stating that $\tilde{\Omega}_m=\bar{\Omega}_m$.

\begin{theorem}[Separation]\label{TheoremSeparation}
$\bar{\Omega}_m=\tilde{\Omega}_m\equiv [\Omega_m,0_k]+ L^m$
\end{theorem}

\noindent The proof of this theorem is complex and is based on several results that we prove before. Based on them, we provide the proof of the theorem at the end of this section.

\vskip .2 cm

\begin{lm}\label{LemmaLemma1}
$\mathcal{L}_G \bar{\Omega}_m+\mathcal{L}_{\Phi_m}dh=\mathcal{L}_G \bar{\Omega}_m+\mathcal{L}_F\mathcal{L}^m_Gdh$
\end{lm}

{\bf Proof:~}{We have $\mathcal{L}_F\mathcal{L}^m_Gdh=\mathcal{L}_G\mathcal{L}_F\mathcal{L}^{m-1}_Gdh+\mathcal{L}_{\Phi_1}\mathcal{L}^{m-1}_G dh$.

The first term $\mathcal{L}_G\mathcal{L}_F\mathcal{L}^{m-1}_Gdh \in \mathcal{L}_G \bar{\Omega}_m$. Hence, we need to prove that
$\mathcal{L}_G \bar{\Omega}_m+\mathcal{L}_{\Phi_m}dh=\mathcal{L}_G \bar{\Omega}_m+\mathcal{L}_{\Phi_1}\mathcal{L}^{m-1}_G dh$. We repeat the previous procedure $m$ times. Specifically,  we use  the equality $\mathcal{L}_{\Phi_j}\mathcal{L}^{m-j}_Gdh=\mathcal{L}_G\mathcal{L}_{\Phi_j}\mathcal{L}^{m-j-1}_Gdh+\mathcal{L}_{\Phi_{j+1}}\mathcal{L}^{m-j-1}_G dh$, for $j=1,\cdots,m$, and we remove the first term since $\mathcal{L}_G\mathcal{L}_{\Phi_j}\mathcal{L}^{m-j-1}_Gdh \in \mathcal{L}_G \bar{\Omega}_m$ $\blacksquare$}

\begin{lm}\label{LemmaRisA}
$\Breve{\Phi}_m=\sum_{j=1}^m c^n_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^m_Gh) \phi_j$, i.e., the vector $\Breve{\Phi}_m$ is a linear combination of the vectors $\phi_j$ ($j=1,\cdots,m$), where the coefficients ($c^n_j$) depend on the state only through the functions that generate the codistribution $L^m$
\end{lm}

{\bf Proof:~}{ We proceed by induction. By definition, $\Breve{\Phi}_0=\phi_0$.

\noindent {\bf Inductive step:} Let us assume that $\Breve{\Phi}_{m-1}=\sum_{j=1}^{m-1} c_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^{m-1}_Gh) \phi_j$. We have:

\[
\Phi_m=[\Phi_{m-1},~G]=\sum_{j=1}^{m-1}\left[c_j \left[\begin{array}{c}
    \phi_j\\
   0_k \\
\end{array}
\right],~G\right]=
\]
\[
\sum_{j=1}^{m-1}f_j\left[\left[\begin{array}{c}
    \phi_j\\
   0_k \\
\end{array}
\right],~G\right] -
\sum_{j=1}^{m-1}\mathcal{L}_G c_j \left[\begin{array}{c}
    \phi_j\\
   0_k \\
\end{array}
\right]
\]

 We directly compute the Lie bracket in the sum (note that $\phi_j$ is independent of the unknown input $w$ and its time derivatives):

\[
\left[\left[\begin{array}{c}
    \phi_j\\
   0_k \\
\end{array}
\right],~G\right]= \left[\begin{array}{c}
    [\phi_j,~g] w\\
   0_k \\
\end{array}
\right]=\left[\begin{array}{c}
    \phi_{j+1} \mathcal{L}^1_Gh\\
   0_k \\
\end{array}
\right]
\]

Regarding the second term, we remark that $\mathcal{L}_G c_j = \sum_{i=1}^{m-1} \frac{\partial c_j}{\partial (\mathcal{L}_G^ih)} \mathcal{L}_G^{i+1}h$. By setting $\tilde{c}_j=c_{j-1}\mathcal{L}^1_Gh$ for $j=2,\cdots,m$ and $\tilde{c}_1=0$, and by setting $\bar{c}_j=-\sum_{i=1}^{m-1} \frac{\partial c_j}{\partial (\mathcal{L}_G^ih)} \mathcal{L}_G^{i+1}h$ for $j=1,\cdots,m-1$ and $\bar{c}_m=0$, we obtain $\Breve{\Phi}_m=\sum_{j=1}^m (\tilde{c}_j + \bar{c}_j) \phi_j$, which proves our assert since $c^n_j(\equiv \tilde{c}_j + \bar{c}_j)$ is a function of $\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^m_Gh$ $\blacksquare$}

\noindent It also holds the following result:

\begin{lm}\label{LemmaRisB}
$\hat{\phi}_m=\sum_{j=1}^m b^n_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^m_Gh) \Phi_j$, i.e., the vector $\hat{\phi}_m$ is a linear combination of the vectors  $\Phi_j$ ($j=1,\cdots,m$), where the coefficients ($b^n_j$) depend on the state only through the functions that generate the codistribution $L^m$
\end{lm}

{\bf Proof:~}{We proceed by induction. By definition, $\Phi_0=\hat{\phi}_0$.

\noindent {\bf Inductive step:} Let us assume that $\hat{\phi}_{m-1}=\sum_{j=1}^{m-1} b_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^{m-1}_Gh) \Phi_j$. We need to prove that $\hat{\phi}_m=\sum_{j=1}^m b^n_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^m_Gh) \Phi_j$.
We start by applying on both members of the equality $\hat{\phi}_{m-1}=\sum_{j=1}^{m-1} b_j(\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^{m-1}_Gh) \Phi_j$ the Lie bracket with respect to $G$. We obtain for the first member: $[\hat{\phi}_{m-1}, ~G]= \hat{\phi}_m \mathcal{L}^1_Gh$. For the second member we have:

\[
\sum_{j=1}^{m-1} [g_j \Phi_j, ~G]= \sum_{j=1}^{m-1} b_j [\Phi_j, ~G]- \sum_{j=1}^{m-1} \mathcal{L}_G b_j \Phi_j=
\]
\[
=\sum_{j=1}^{m-1} b_j \Phi_{j+1}- \sum_{j=1}^{m-1}  \sum_{i=1}^{m-1} \frac{\partial b_j}{\partial (\mathcal{L}_G^ih)} \mathcal{L}_G^{i+1}h\Phi_j
\]

\noindent By setting $\tilde{b}_j=\frac{b_{j-1}}{\mathcal{L}^1_G}$ for $j=2,\cdots,m$ and $\tilde{b}_1=0$, and by setting $\bar{b}_j=-\sum_{i=1}^{m-1} \frac{\partial b_j}{\partial (\mathcal{L}_G^ih)} \frac{\mathcal{L}_G^{i+1}h}{\mathcal{L}^1_G}$ for $j=1,\cdots,m-1$ and $\bar{b}_m=0$, we obtain $\hat{\phi}_m=\sum_{j=1}^m (\tilde{b}_j + \bar{b}_j) \Phi_j$, which proves our assert since $b^n_j(\equiv \tilde{b}_j + \bar{b}_j)$ is a function of $\mathcal{L}_Gh, \mathcal{L}^2_Gh, \cdots, \mathcal{L}^m_Gh$ $\blacksquare$}

An important consequence of the previous two lemmas is the following result:

\begin{pr}\label{PropertyLemma2}
The following two codistributions coincide:
\begin{enumerate}
\item $span\{ \mathcal{L}_{\Phi_0}dh, \mathcal{L}_{\Phi_1}dh, \cdots, \mathcal{L}_{\Phi_m}dh, \mathcal{L}^1_Gdh, \cdots\mathcal{L}^m_Gdh\}$;
\item $span\{ \mathcal{L}_{\hat{\phi}_0}dh, \mathcal{L}_{\hat{\phi}_1}dh, \cdots, \mathcal{L}_{\hat{\phi}_m}dh, \mathcal{L}^1_Gdh, \cdots\mathcal{L}^m_Gdh\}$;
\end{enumerate}
\end{pr}

\noindent We are now ready to prove theorem \ref{TheoremSeparation}.

{\bf Proof:~}{We proceed by induction. By definition, $\bar{\Omega}_0=\tilde{\Omega}_0$ since they are both the span of $dh$.

\noindent {\bf Inductive step:} Let us assume that $\bar{\Omega}_{m-1}=\tilde{\Omega}_{m-1}$. We have:
$\bar{\Omega}_m=\bar{\Omega}_{m-1}+\mathcal{L}_F \bar{\Omega}_{m-1} + \mathcal{L}_G \bar{\Omega}_{m-1}=\bar{\Omega}_{m-1} + \mathcal{L}_F \tilde{\Omega}_{m-1} + \mathcal{L}_G \bar{\Omega}_{m-1}=\bar{\Omega}_{m-1} + [\mathcal{L}_f \Omega_{m-1}, 0_k]+\mathcal{L}_F L^{m-1} + \mathcal{L}_G \bar{\Omega}_{m-1}$.
On the other hand, $\mathcal{L}_F L^{m-1} = \mathcal{L}_F \mathcal{L}^1_Gdh + \cdots + \mathcal{L}_F \mathcal{L}^{m-2}_Gdh + \mathcal{L}_F \mathcal{L}^{m-1}_Gdh$. The first $m-2$ terms are in $\bar{\Omega}_{m-1}$. Hence we have: $\bar{\Omega}_m= \bar{\Omega}_{m-1} + [\mathcal{L}_f \Omega_{m-1},0_k] + \mathcal{L}_F \mathcal{L}^{m-1}_G dh + \mathcal{L}_G \bar{\Omega}_{m-1}$. By using lemma \ref{LemmaLemma1} we obtain: $\bar{\Omega}_m= \bar{\Omega}_{m-1} + [\mathcal{L}_f \Omega_{m-1},0_k] + \mathcal{L}_{\Phi_{m-1}} dh + \mathcal{L}_G \bar{\Omega}_{m-1}$. By using again the induction assumption we obtain: $\bar{\Omega}_m= [\Omega_{m-1},0_k] + L^{m-1} + [\mathcal{L}_f \Omega_{m-1},0_k] + \mathcal{L}_{\Phi_{m-1}} dh + \mathcal{L}_G [\Omega_{m-1},0_k] + \mathcal{L}_G L^{m-1}=[\Omega_{m-1},0_k] + L^m + [\mathcal{L}_f \Omega_{m-1},0_k] + \mathcal{L}_{\Phi_{m-1}} dh + [\mathcal{L}_{\frac{g}{L^1_g}} \Omega_{m-1},0_k]$ and by using proposition \ref{PropertyLemma2} we obtain: $\bar{\Omega}_m=[\Omega_{m-1},0_k] + L^m + [\mathcal{L}_f \Omega_{m-1},0_k] + \mathcal{L}_{\hat{\phi}_{m-1}} dh + [\mathcal{L}_{\frac{g}{L^1_g}} \Omega_{m-1},0_k]=\tilde{\Omega}_m$ $\blacksquare$}

\section{Convergence of the algorithm that defines $\Omega$}\label{SectionStop}

Theorem \ref{TheoremSeparation} is fundamental. It allows us to obtain all the observability properties of the original state by restricting the computation to the $\Omega$ codistribution, namely a codistribution whose covectors have the same dimension of the original space. In other words, the dimension of these covectors is independent of the state augmentation. The $\Omega$ codistribution is defined recursively and $\Omega_m\subseteq\Omega_{m+1}$ (see definition \ref{DefinitionOmega} in section \ref{SectionSeparation}). This means that, if for a given $m$ the gradients of the components of the original state belong to $\Omega_m$, we can conclude that the original state is weakly locally observable. On the other hand, if this is not true, we cannot exclude that it is true for a larger $m$. The goal of this section is precisely to address this issue. We will show that the algorithm converges in a finite number of steps and we will also provide the criterion to establish that the algorithm has converged (theorem \ref{TheoremStop}). This theorem will be proved at the end of this section since we need to introduce several important new quantities and properties.

\vskip .2cm

\noindent For a given positive integer $j$ we define the vector $\psi_j\in \mathbb{R}^n$ by the following algorithm:

\begin{enumerate}
\item $\psi_0=f$;
\item $\psi_j=[\psi_{j-1}, ~\frac{g}{L^1_g}]$
\end{enumerate}

\noindent It is possible to find a useful expression that relates these vectors to the vectors $\phi_j$, previously defined. Specifically we have:

\begin{lm}\label{LemmaPsiPhi}
It holds the following equation:

\begin{equation}\label{EquationPsiPhi}
\psi_j=\phi_j + \left\{ \sum_{i=0}^{j-1} (-)^{j-i} \mathcal{L}^{j-i-1}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g}
\end{equation}

\end{lm}

{\bf Proof:~}{We proceed by induction. By definition $\psi_0=\phi_0=f$ and equation (\ref{EquationPsiPhi}) holds for $j=0$.

\noindent {\bf Inductive step:} Let us assume that it holds for a given $j-1\ge 0$ and let us prove its validity for $j$. We have:

\[
\psi_j=\left[\psi_{j-1}, ~\frac{g}{L^1_g}\right]=\left[\phi_{j-1}, ~\frac{g}{L^1_g}\right] + \left[\left\{ \sum_{i=0}^{j-2} (-)^{j-i-1} \mathcal{L}^{j-i-2}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g}, ~\frac{g}{L^1_g}\right]
\]

\noindent On the other hand:

\[
\left[\phi_{j-1}, ~\frac{g}{L^1_g}\right] = \phi_{j} - \frac{\mathcal{L}_{\phi_{j-1}}L^1_g}{L^1_g} \frac{g}{L^1_g}
\]

\noindent and

\[
\left[\left\{ \sum_{i=0}^{j-2} (-)^{j-i-1} \mathcal{L}^{j-i-2}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g}, ~\frac{g}{L^1_g}\right]=-\mathcal{L}_{\frac{g}{L^1_g}}
\left\{ \sum_{i=0}^{j-2} (-)^{j-i-1} \mathcal{L}^{j-i-2}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g}=
\]
\[
\left\{ \sum_{i=0}^{j-2} (-)^{j-i} \mathcal{L}^{j-i-1}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g}
\]

\noindent Hence:

\[
\psi_j= \phi_{j} - \frac{\mathcal{L}_{\phi_{j-1}}L^1_g}{L^1_g} \frac{g}{L^1_g} +
\left\{ \sum_{i=0}^{j-2} (-)^{j-i} \mathcal{L}^{j-i-1}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right) \right\} \frac{g}{L^1_g},
\]

\noindent which coincides with (\ref{EquationPsiPhi})
$\blacksquare$}

\vskip .2cm

\noindent From this lemma we obtain the following result:

\begin{lm}\label{LemmaFunctionsInOmegam}
If $\Omega_m$ is invariant with respect to $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$ then, for $i=0,1,\cdots,m-2$, we have:
\begin{equation}\label{EquationFunctionsInOmegam}
d_x \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g} \in \Omega_m
\end{equation}

\end{lm}

{\bf Proof:~}{From (\ref{EquationPsiPhi}) we obtain:

\begin{equation}\label{EquationPsiPhi1}
\mathcal{L}_{\psi_j} d_xh=\mathcal{L}_{\phi_j} d_xh + \mathcal{L}_{\Upsilon_j \frac{g}{L^1_g}} d_xh
\end{equation}

\noindent where $\Upsilon_j\equiv \sum_{i=0}^{j-1} (-)^{j-i} \mathcal{L}^{j-i-1}_{\frac{g}{L^1_g}} \left( \frac{\mathcal{L}_{\phi_i}L^1_g}{L^1_g}\right)$. From (\ref{EquationPsiPhi1}) we also obtain:

\begin{equation}\label{EquationPsiPhi2}
\mathcal{L}_{\psi_j} d_xh=\mathcal{L}_{\phi_j} d_xh + d_x\Upsilon_j + \Upsilon_j \mathcal{L}_{\frac{g}{L^1_g}} d_xh
\end{equation}

\noindent We consider this last equation for all the integers $j=1,2,\cdots,m-1$.
By construction, for these $j$, $\mathcal{L}_{\phi_j}d_xh \in \Omega_m$ (see definition \ref{DefinitionOmega}). Additionally, since by assumption $\Omega_m$ is invariant with respect to both $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$, it is also invariant with respect to $\mathcal{L}_{\psi_j}$ ($\forall j$) and in particular $\mathcal{L}_{\psi_j}d_xh\in\Omega_m$. Therefore, from (\ref{EquationPsiPhi2}) we obtain:

\begin{equation}\label{EquationPsiPhi3}
d_x\Upsilon_j\in \Omega_m
\end{equation}

\noindent $j=1,\cdots,m-1$. The proof of the statement is obtained by using (\ref{EquationPsiPhi3}), from $j=1$ up to $j=m-1$ and by using again the invariance with respect to $\mathcal{L}_{\frac{g}{L^1_g}}$ $\blacksquare$}

\noindent From lemma \ref{LemmaPsiPhi} with $j=1,\cdots,m-1$ and lemma \ref{LemmaFunctionsInOmegam} it is immediate to obtain the following result:

\begin{pr}\label{PropPhimTot}
If $\Omega_m$ is invariant with respect to $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$ then it is also invariant with respect to $\mathcal{L}_{\phi_j}$, $j=1,\cdots,m-1$.
\end{pr}

\vskip .5cm

\noindent Let us denote by $L^2_g \equiv \mathcal{L}^2_g h$ and by $\rho \equiv \frac{L^2_g}{(L^1_g)^2}$.

\begin{lm}\label{LemmaKeyEquality}
We have the following key equality:

\begin{equation}\label{EquationKeyEquality}
\mathcal{L}_{\phi_j}h=\mathcal{L}_{\phi_{j-2}} \rho + \rho \frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}-\mathcal{L}_{\frac{g}{L^1_g}}\left(\frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}+\mathcal{L}_{\phi_{j-1}}h \right)
\end{equation}
\noindent $j\ge 2$.
\end{lm}

{\bf Proof:~}{We will prove this equality by an explicit computation. We have:

\[
\mathcal{L}_{\phi_j}h=\frac{1}{L^1_g}\left( \mathcal{L}_{\phi_{j-1}}\mathcal{L}_g h-\mathcal{L}_g\mathcal{L}_{\phi_{j-1}}h\right)
\]

The second term on the right hand side simplifies with the last term in (\ref{EquationKeyEquality}). Hence we have to prove:

\begin{equation}\label{EquationKeyEqualityProof}
\frac{1}{L^1_g}\mathcal{L}_{\phi_{j-1}}L^1_g=\mathcal{L}_{\phi_{j-2}} \rho + \rho \frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}-\mathcal{L}_{\frac{g}{L^1_g}}\frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}
\end{equation}

We have:

\begin{equation}\label{EquationKeyEqualityProof1}
\frac{1}{L^1_g}\mathcal{L}_{\phi_{j-1}}L^1_g=\frac{1}{(L^1_g)^2}\left( \mathcal{L}_{\phi_{j-2}} L^2_g-\mathcal{L}_g\mathcal{L}_{\phi_{j-2}}L^1_g\right)
\end{equation}

We remark that:

\[
\frac{1}{(L^1_g)^2} \mathcal{L}_{\phi_{j-2}} L^2_g=\mathcal{L}_{\phi_{j-2}} \rho + 2 \rho \frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}
\]

and

\[
\frac{1}{(L^1_g)^2}\mathcal{L}_g\mathcal{L}_{\phi_{j-2}}L^1_g = \rho \frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g} + \mathcal{L}_{\frac{g}{L^1_g}}\frac{\mathcal{L}_{\phi_{j-2}}L^1_g}{L^1_g}
\]

By substituting these two last equalities in (\ref{EquationKeyEqualityProof1}) we immediately obtain (\ref{EquationKeyEqualityProof})
 $\blacksquare$}

\begin{lm}\label{LemmaRhoInOmegam}
In general, it exists a finite $m$ such that $d_x\rho \in \Omega_m$.
\end{lm}

{\bf Proof:~}{For a given $m$, $\Omega_m$ contains all the covectors $d_x\mathcal{L}_{\phi_j}h$ ($j=0,\cdots,m-1$). From equation (\ref{EquationKeyEquality}), we immediately obtain that, for a given $m\ge 3$, $\Omega_m$ contains the covectors ($j=0,\cdots,m-3$):

\begin{equation}\label{EquationMu}
\mu_j \equiv d_x\rho_j +\chi_j d_x\rho +\rho d_x\chi_j-\mathcal{L}_{\frac{g}{L^1_g}}\left(d_x\chi_j \right)
\end{equation}

\noindent with $d_x\rho_j \equiv d_x\mathcal{L}_{\phi_j}\rho$ and $\chi_j \equiv \frac{\mathcal{L}_{\phi_j}L^1_g}{L^1_g}$.

Let us denote by $j^*$ the smallest integer such that:

\begin{equation}\label{Equationj*}
d_x\rho_{j^*}=\sum_{j=0}^{j^*-1} c_j d_x\rho_j
\end{equation}

\noindent Note that $j^*$ is a finite integer and in particular $j^*\le n$, where $n$ is the dimension of the state. Indeed, if this would be not the case, the dimension of the codistribution generated by $d_x\rho_0,d_x\rho_1, \cdots, d_x\rho_n$ would be larger than $n$.

Now let us consider a given $m\ge j^*+3$ such that $\Omega_{m+1}=\Omega_m$. This integer $m$ is finite since the dimension of $\Omega_m$ is bounded by the dimension of the state (i.e., by $n$), for any $m$. From the recursive algorithm that defines $\Omega$ we obtain that $\Omega_m$ is invariant with respect to $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$. By using lemma \ref{LemmaFunctionsInOmegam}, i.e., by using the fact that $d_x\chi_j \in \Omega_m$, $j=0,\cdots,m-2$, from (\ref{EquationMu}) we obtain that $\Omega_m$ also contains the covectors ($j=0,\cdots,m-3$):

\begin{equation}\label{EquationMup}
\mu_j' \equiv d_x\rho_j +\chi_j d_x\rho
\end{equation}

\noindent From (\ref{Equationj*}) and (\ref{EquationMup}) we obtain:

\begin{equation}\label{EquationMu*}
\mu_{j*}' = \sum_{j=0}^{j^*-1} c_j d_x\rho_j +\chi_{j*} d_x\rho
\end{equation}

\noindent From equation (\ref{EquationMup}), for $j=0,\cdots,j^*-1$, we obtain: $d_x\rho_j=\mu_j'-\chi_jd_x\rho$.  By substituting in (\ref{EquationMu*}) we obtain:

\begin{equation}
\mu_{j*}'-\sum_{j=0}^{j^*-1} c_j \mu_j' = \left(-\sum_{j=0}^{j^*-1} c_j\chi_j +\chi_{j*} \right) d_x\rho
\end{equation}

\noindent We remark that the left hand side consists of the sum of covectors that belong to $\Omega_m$. Since in general $\chi_{j*}\neq \sum_{j=0}^{j^*-1} c_j\chi_j$, we conclude that $d_x\rho \in \Omega_m$ $\blacksquare$}

\noindent The previous lemma ensures that it exists a finite $m$ such that $d_x\rho \in \Omega_m$. In particular, from the previous proof, it is possible to check that this value of $m$ cannot exceed $2n+2$. The following theorem allows us to obtain the criterion to stop the algorithm in definition \ref{DefinitionOmega}:

\begin{theorem}\label{TheoremStop}
If $d_x\rho \in \Omega_m$ and $\Omega_m$ is invariant under $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$, then $\Omega_{m+p}=\Omega_m$ $\forall p\ge 0$
\end{theorem}

{\bf Proof:~}{We proceed by induction. Obviously, the equality holds for $p=0$.

\noindent {\bf Inductive step:} let us assume that $\Omega_{m+p}=\Omega_m$ and let us prove that $\Omega_{m+p+1}=\Omega_m$. We have to prove that $d_x\mathcal{L}_{\phi_{m+p}}h \in \Omega_m$. Indeed, from the inductive assumption, we know that $\Omega_{m+p}(=\Omega_m)$ is invariant under $\mathcal{L}_f$ and $\mathcal{L}_{\frac{g}{L^1_g}}$. Additionally, because of this invariance, by using proposition \ref{PropPhimTot}, we obtain that $\Omega_m$ is also invariant under $\mathcal{L}_{\phi_j}$, for $j=1,2,\cdots,m+p-1$. Since $d_x\rho \in \Omega_m$ we have $d_x\mathcal{L}_{\phi_{m+p-2}} \rho \in \Omega_m$. Additionally,  $d_x\mathcal{L}_{\phi_{m+p-1}}h \in \Omega_m$ and, because of lemma \ref{LemmaFunctionsInOmegam}, we also have $d_x\frac{\mathcal{L}_{\phi_{m+p-2}}L^1_g}{L^1_g} \in \Omega_m$. Finally, because of the invariance under $\mathcal{L}_{\frac{g}{L^1_g}}$, also the Lie derivatives along $\frac{g}{L^1_g}$ of $d_x\mathcal{L}_{\phi_{m+p-1}}h$ and $d_x\frac{\mathcal{L}_{\phi_{m+p-2}}L^1_g}{L^1_g}$ belong to $\Omega_m$.
Now, we use equation (\ref{EquationKeyEquality}) for $j=m+p$. By computing the gradient of this equation it is immediate to obtain that $d_x\mathcal{L}_{\phi_{m+p}}h \in \Omega_m$
$\blacksquare$}

\section{Extension to the case of multiple known inputs and method's summary}\label{SectionExtension}

The previous two sections provide a complete answer to the problem of deriving all the observability properties of a system whose dynamics is driven by a single known input and a single unknown input and that depend non-linearly on the state and linearly on both the inputs. Before providing the steps to be followed in order to obtain the weak local observability properties of such a system, we remark that it is possible to extend our results to the case of multiple known inputs. This extension is simply obtained by  re-defining the $\Omega$ codistribution.

We are referring to the nonlinear system characterized by the following equations:

\begin{equation}\label{EquationStateEvolution1E}
\left\{\begin{aligned}
  \dot{x} &=   \sum_{i=1}^{m_u}f_i ( x ) u_i +  g ( x ) w \\
  y &= h( x ) \\
\end{aligned}\right.
\end{equation}

\noindent The new $\Omega$ codistribution is defined as follows:

\begin{df}[$\Omega$ codistribution, $m_w=1$, $\forall m_u$]\label{DefinitionOmegaE}
This codistribution is defined recursively by the following algorithm:

\begin{enumerate}
\item $\Omega_0=d_xh$;
\item $\Omega_m=\Omega_{m-1}+\sum_{i=1}^{m_u} \mathcal{L}_{f_i} \Omega_{m-1} + \mathcal{L}_{\frac{g}{L^1_g}} \Omega_{m-1} +\sum_{i=1}^{m_u}\mathcal{L}_{\phi^i_{m-1}} d_xh$
\end{enumerate}

where the vectors $\phi^i_m\in \mathbb{R}^n$ ($i=1,\cdots,m_u$) are defined by the following algorithm:

\begin{enumerate}
\item $\phi^i_0=f_i$;
\item $\phi^i_m=\frac{[\phi^i_{m-1}, ~g]}{L^1_g}$
\end{enumerate}

\end{df}

\noindent It is immediate to repeat all the steps carried out in section \ref{SectionSeparation} and extend the validity of theorem \ref{TheoremSeparation} to the system characterized by (\ref{EquationStateEvolution1E}). This extension states that all the observability properties of the state that satisfies the nonlinear dynamics in (\ref{EquationStateEvolution1E}) can be derived by analyzing the codistribution defined by definition \ref{DefinitionOmegaE}.
Finally, also theorem \ref{TheoremStop} can be easily extended to cope with the case of multiple known inputs. In this case, requiring that $\Omega_{m+1} =\Omega_m$ means that $\Omega_m$ must be invariant with respect to $\mathcal{L}_{\frac{g}{L^1_g}}$ and all $\mathcal{L}_{f_i}$ simultaneously.

\vskip .5cm

We conclude this section by outlining the steps to investigate the weak local observability at a given point $x_0$ of a nonlinear system driven by a single disturbance and several known inputs. In other words, to investigate the weak local observability of a system defined by a state that satisfies the dynamics in (\ref{EquationStateEvolution1E}). The validity of the following procedure is a consequence of the theoretical results previously derived (in particular theorem \ref{TheoremSeparation} and theorem \ref{TheoremStop}).

\begin{enumerate}

\item For the chosen $x_0$, compute $L^1_g(= \mathcal{L}^1_g h)$ and $\rho\left(=\frac{\mathcal{L}^2_g h}{(L^1_g)^2}\right)$. In the case when $L^1_g=0$, introduce new local coordinates, as explained at the end of section \ref{SectionSingle} and re-define the output\footnote{Note that in the case of multiple known inputs, for the local coordinates we have the possibility to choose among the $m_u$ functions $f_i$. The most convenient choice is the one that corresponds to the highest relative degree (if this degree coincides with $n$ it means that the state is weakly locally observable and we do not need to pursue the observability analysis).}.

\item  Build the codistribution $\Omega_m$ (at $x_0$) by using the algorithm provided in definition \ref{DefinitionOmegaE}, starting from $m=0$
and, for each $m$, check if $d_x\rho \in \Omega_m$.

\item Denote by $m'$ the smallest $m$ such that $d_x\rho \in \Omega_m$.

\item For each $m\ge m'$ check if $\Omega_{m+1}=\Omega_m$ and denote by $\Omega^*=\Omega_{m^*}$ where $m^*$ is the smallest integer such that $m^*\ge m'$ and $\Omega_{m^*+1}=\Omega_{m^*}$ (note that $m^*\le 2n+2$).

\item If the gradient of a given state component ($x_j$, $j=1,\cdots,n$) belongs to $\Omega^*$ (namely if $d_xx_j\in\Omega^*$) on a given neighbourhood of $x_0$, then $x_j$ is weakly locally observable at $x_0$. If this holds for all the state components, the state $x$ is weakly locally observable at $x_0$. Finally, if the dimension of $\Omega^*$ is smaller than $n$ on a given neighbourhood of $x_0$, then the state is not weakly locally observable at $x_0$.

\end{enumerate}

\section{Applications}\label{SectionApplicationsSystem}

We apply the theory developed in the previous sections in order to investigate the observability properties of several nonlinear systems driven by unknown inputs.
In \ref{SectionApplication1} we consider systems with a single disturbance, namely characterized by the equations given in (\ref{EquationStateEvolution1E}). In this case we will use the results obtained in sections \ref{SectionSingle}, \ref{SectionSeparation}, \ref{SectionStop} and \ref{SectionExtension}. In particular, we will follow the steps outlined at the end of section \ref{SectionExtension}. In \ref{SectionApplication2} we consider the case of multiple disturbances, i.e., when the state dynamics satisfy the first equation in (\ref{EquationStateEvolution}). In this section, we also consider the case of multiple outputs and we use directly the $EORC$, as discussed in section \ref{SectionEORC}.

\subsection{Systems with a single disturbance}\label{SectionApplication1}

We consider a vehicle that moves on a $2D$-environment. The configuration of the vehicle in a global reference frame, can be characterized through the vector $[x_v, ~y_v, ~\theta_v]^T$ where $x_v$ and $y_v$ are the cartesian vehicle coordinates, and $\theta_v$ is the vehicle orientation. We assume that the dynamics of this vector satisfy the unicycle differential equations:

\begin{equation}\label{EquationSimpleExampeDynamicsC}
\left[\begin{aligned}
  \dot{x}_v &= v \cos\theta_v \\
  \dot{y}_v &= v \sin\theta_v \\
  \dot{\theta_v} &= \omega \\
\end{aligned}\right.
\end{equation}

\noindent where $v$ and $\omega$ are the linear and the rotational vehicle speed, respectively, and they are the system inputs. We consider the following three cases of output (see also figure \ref{Fig} for an illustration):

\begin{figure}[htbp]
\begin{center}
\includegraphics[width=.4\columnwidth]{fig.jpg}
\caption{The vehicle state in cartesian and polar coordinates together with the three considered outputs.} \label{Fig}
\end{center}
\end{figure}

\begin{enumerate}

\item the distance from the origin (e.g., a landmark is at the origin and its distance is measured by a range sensor);

\item the bearing of the origin in the local frame (e.g., a landmark is at the origin and its bearing angle is measured by an on-board camera);

\item the bearing of the vehicle in the global frame (e.g., a camera is placed at the origin).

\end{enumerate}

\noindent We can analytically express the output in terms of the state. We remark that the expressions become very simple if we adopt polar coordinates: $r \equiv \sqrt{x_v^2+y_v^2}$, $\phi=atan\frac{y_v}{x_v}$. We have, for the three cases, $y=r$, $y=\pi-(\theta_v-\phi)$ and $y=\phi$, respectively. For each of these three cases, we consider the following two cases: $v$ is known, $\omega$ is unknown;  $v$ is unknown, $\omega$ is known. The dynamics in these new coordinates become:

\begin{equation}\label{EquationSimpleExampeDynamics}
\left[\begin{aligned}
  \dot{r} &= v \cos(\theta_v-\phi) \\
  \dot{\phi} &= \frac{v}{r} \sin(\theta_v-\phi) \\
  \dot{\theta_v} &= \omega \\
\end{aligned}\right.
\end{equation}

\subsubsection{$y=r$, $u=\omega$, $w=v$} In this case we have  $f=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r}  \\
  0 \\
\end{array}
\right]$.

\noindent We follow the five steps mentioned at the end of section \ref{SectionExtension}. We have $L^1_g=\cos(\theta_v-\phi)$ and $\rho\equiv \frac{L^2_g}{(L^1_g)^2}=\frac{\tan^2(\theta_v-\phi)}{r}$.  Additionally:

\[
d_x\rho=\frac{\tan(\theta_v-\phi)}{r}\left[-\frac{\tan(\theta_v-\phi)}{r}, -\frac{2}{\cos^2(\theta_v-\phi)},\frac{2}{\cos^2(\theta_v-\phi)}\right]
\]

\noindent We also have $\Omega_0=span\{[1,0,0]\}$. Hence, $d_x\rho\notin \Omega_0$. Additionally, $\Omega_1=\Omega_0$. We need to compute $\Omega_2$ and, in order to do this, we need to compute $\phi_1$. We obtain: $\phi_1=\left[\begin{array}{c}
  -\tan(\theta_v-\phi) \\
  \frac{1}{r}  \\
  0 \\
\end{array}
\right]$
and $\Omega_2=span\left\{[1,0,0], ~\left[0,\frac{1}{\cos^2(\theta_v-\phi)}, -\frac{1}{\cos^2(\theta_v-\phi)}\right]\right\}$. It is immediate to check that  $d_x\rho\in \Omega_2$, meaning that $m'=2$. Additionally, by a direct computation, it is possible to check that $\Omega_3=\Omega_2$ meaning that $m^*=2$ and $\Omega^*=\Omega_2$, whose dimension is $2$. We conclude that the dimension of the observable space is equal to $2$ and the state is not weakly locally observable.

\subsubsection{$y=r$, $u=v$, $w=\omega$} In this case we have $f=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r}  \\
  0 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$

\noindent We follow the five steps mentioned at the end of section \ref{SectionExtension}. We easily obtain $L^1_g=0$. Hence, we have to introduce new local coordinates, as explained at the end of section \ref{SectionSingle}. We obtain $\mathcal{L}^1_fh=\cos(\theta_v-\phi)$ and we obtain that the relative degree of the associated system in (\ref{EquationStateEvolutionAss}) is $r=2$.
Let us denote the new coordinates by $x_1', ~x_2', ~x_3'$. In accordance with (\ref{EquationLocalCoordinates1}) and  (\ref{EquationLocalCoordinates2}) we should set $x_1'=r$ and $x_2'=\cos(\theta_v-\phi)$. On the other hand, to simplify the computation, we set $x_2'=\theta_v-\phi$. Finally, we set $x_3'=\theta_v$.
We compute the new vector fields that characterize the dynamics in the new coordinates. We have:

\begin{equation}\label{Equationftgt}
 \tilde{f}\equiv \left[\begin{array}{c}
    \cos(x_2')\\
   -\frac{\sin(x_2')}{x_1'} \\
0 \\
\end{array}
\right]
~~~~~ \tilde{g}\equiv \left[\begin{array}{c}
    0\\
    1\\
    1\\
\end{array}
\right]
\end{equation}

\noindent Additionally, we set $\tilde{h}=\cos(x_2')$ and $\Omega_1=span\{[1, 0, 0],~ [0, -\sin(x_2'),0]\}$. In the new coordinates we obtain: $L^1_g=-\sin(x_2')$ and $\rho=-\frac{\cos(x_2')}{\sin^2(x_2')}$. It is immediate to check that  $d_x\rho\in \Omega_1$, meaning that $m'=1$. Additionally, by a direct computation, it is possible to check that $\Omega_2=\Omega_1$ meaning that $m^*=1$ and $\Omega^*=\Omega_1$, whose dimension is $2$. We conclude that the dimension of the observable space is equal to $2$ and the state is not weakly locally observable.

\subsubsection{$y=\theta_v-\phi$, $u=\omega$, $w=v$} In this case we have  $f=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r} \\
  0 \\
\end{array}
\right]$.

\noindent  We follow the five steps mentioned at the end of section \ref{SectionExtension}. We have $L^1_g=-\frac{\sin(\theta_v-\phi)}{r}$ and $\rho=2\cot(\theta_v-\phi)$. Additionally:

\[
d_x\rho=\frac{2}{\sin^2(\theta_v-\phi)}\left[0, 1,-1\right]
\]

\noindent We also have $\Omega_0=span\{[0,-1,1]\}$. Hence, $d_x\rho \in \Omega_0$, meaning that $m'=0$. Additionally, by a direct computation, it is possible to check that $\Omega_1=\Omega_0$ meaning that $m^*=0$ and $\Omega^*=\Omega_0$, whose dimension is $1$. We conclude that the dimension of the observable space is equal to $1$ and the state is not weakly locally observable.

\subsubsection{$y=\theta_v-\phi$, $u=v$, $w=\omega$} In this case we have $f=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r}\\
  0 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$

\noindent We follow the five steps mentioned at the end of section \ref{SectionExtension}. We have $L^1_g=1$ and $\rho=0$. Hence, $d_x\rho=[0,0,0]$ and we do not need to check if $d_x\rho\in \Omega_m$. In other words, we can set $m'=0$.
By a direct computation we obtain: $\Omega_0=span\{[0,-1,1]\}$, $\Omega_1=span\left\{[0,-1,1], \right.$ $\left. \left[-\frac{\sin(\theta_v-\phi)}{r^2},-\frac{\cos(\theta_v-\phi)}{r}, \frac{\cos(\theta_v-\phi)}{r}\right]\right\}$. Additionally, we obtain $\Omega_2=\Omega_1$, meaning that $m^*=1$ and $\Omega^*=\Omega_1$, whose dimension is $2$. We conclude that the dimension of the observable space is equal to $2$ and the state is not weakly locally observable.

\subsubsection{$y=\phi$, $u=\omega$, $w=v$} In this case we have  $f=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r} \\
  0 \\
\end{array}
\right]$.

\noindent We follow the five steps mentioned at the end of section \ref{SectionExtension}. We have $L^1_g=\frac{\sin(\theta_v-\phi)}{r}$ and $\rho=-2\cot(\theta_v-\phi)$. Additionally:

\[
d_x\rho=\frac{2}{\sin^2(\theta_v-\phi)}\left[0, -1,1\right]
\]

\noindent We also have $\Omega_0=span\{[0,1,0]\}$. Hence, $d_x\rho \notin \Omega_0$. Additionally, $\Omega_1=\Omega_0$. We need to compute $\Omega_2$ and, in order to do this, we need to compute $\phi_1$. We obtain: $\phi_1=\left[\begin{array}{c}
  -r \\
  \cot(\theta_v-\phi)  \\
  0 \\
\end{array}
\right]$
and $\Omega_2=span\left\{[0,1,0], ~\frac{1}{\sin^2(\theta_v-\phi)}\left[0, 1,-1\right]\right\}$. It is immediate to check that  $d_x\rho\in \Omega_2$, meaning that $m'=2$. Additionally, by a direct computation, it is possible to check that $\Omega_3=\Omega_2$ meaning that $m^*=2$ and $\Omega^*=\Omega_2$, whose dimension is $2$. We conclude that the dimension of the observable space is equal to $2$ and the state is not weakly locally observable.

\subsubsection{$y=\phi$, $u=v$, $w=\omega$} In this case we have $f=\left[\begin{array}{c}
  \cos(\theta_v-\phi) \\
  \frac{\sin(\theta_v-\phi)}{r} \\
  0 \\
\end{array}
\right]$ and $g=\left[\begin{array}{c}
  0 \\
  0 \\
  1 \\
\end{array}
\right]$

\noindent We follow the five steps mentioned at the end of section \ref{SectionExtension}. We easily obtain $L^1_g=0$. Hence, we have to introduce new local coordinates, as explained at the end of section \ref{SectionSingle}. We obtain $\mathcal{L}^1_fh=\frac{\sin(\theta_v-\phi)}{r}$ and we obtain that the relative degree of the associated system in (\ref{EquationStateEvolutionAss}) is $r=2$.
Let us denote the new coordinates by $x_1', ~x_2', ~x_3'$. In accordance with (\ref{EquationLocalCoordinates1}) and  (\ref{EquationLocalCoordinates2}) we set $x_1'=\phi$ and $x_2'=\frac{\sin(\theta_v-\phi)}{r}$. Finally, we set $x_3'=\frac{\cos(\theta_v-\phi)}{r}$.

We compute the new vector fields that characterize the dynamics in the new coordinates. We obtain:

\begin{equation}\label{Equationftgt}
 \tilde{f}\equiv \left[\begin{array}{c}
    x_2'\\
   -2x_2'x_3' \\
 x_2'^2-x_3'^2\\
\end{array}
\right]
~~~~~ \tilde{g}\equiv \left[\begin{array}{c}
    0\\
    x_3'\\
    -x_2'\\
\end{array}
\right]
\end{equation}

\noindent Additionally, we set $\tilde{h}=x_2'$ and $\Omega_1=span\{[1, 0, 0],~ [0, 1,0]\}$. In the new coordinates we obtain: $L^1_g=x_3'$ and $\rho=-\frac{x_2'}{x_3'^2}$.
Since $\rho$ depends on $x_3'$, $d_x\rho\notin \Omega_1$. Since the dimension of $\Omega_1$ is already $2$, because of lemma \ref{LemmaRhoInOmegam}, we know that it exists a given integer $m$ such that the dimension of $\Omega_m$ is larger than $2$. Hence, we conclude that the entire state is weakly locally observable.

\subsection{Systems with multiple disturbances}\label{SectionApplication2}

In this case we refer to the general case, i.e., to systems characterized by the dynamics given in (\ref{EquationStateEvolution}). For this general case we do not have the results stated by the theorem of separation (theorem \ref{TheoremSeparation}) and we have to compute the entire codistribution and to proceed as it has been described in section \ref{SectionEORC}.

We derive the observability properties of two systems with unknown inputs. The first system characterizes a localization problem in the framework of mobile robotics. The state and its dynamics are the same as in the example discussed in \ref{SectionApplication1}. However, we consider a different output and also the case when both the inputs are unknown.
For this simple example, the use of our theory is not required to derive the observability properties, which can be obtained by using intuitive reasoning.

The second system is much more complex and describes one of the most important sensor fusion problem, which is the problem of fusing visual and inertial measurements. We will refer to this problem as to the visual-inertial structure from motion problem (the Vi-SfM~ problem). This problem has been investigated by many disciplines, both in the framework of computer science \cite{Bry08,Jon11,Kelly11,TRO12,IJCV14,Stre04} and in the framework of neuroscience (e.g., \cite{Bert75,Dokka11,Fets10}).
Inertial sensors usually consist of three orthogonal accelerometers and three orthogonal gyroscopes. All together, they constitute the Inertial Measurement Unit (IMU). We will refer to the fusion of monocular vision with the measurements from an IMU as to the {\it standard} Vi-SfM~ problem.
In \cite{Hesch12,Jon11,Kelly11,Kottas12,Li12,TRO12,Mirza08} and \cite{Wei11Thesis} the observability properties of the standard Vi-SfM~ have been investigated in several different scenarios. Very recently, following two independent procedures, the most general result for the standard Vi-SfM~ problem has been provided in \cite{Guo13} and \cite{Iros13}.
This result can be summarized as follows. In the standard Vi-SfM~ problem all the independent observable states are: the positions in the local frame of all the observed features, the three components of the speed in the local frame, the biases affecting the inertial measurements, the roll and the pitch angles, the magnitude of the gravity and the transformation between the camera and IMU frames. The fact that the yaw angle is not observable is an obvious consequence of the system invariance under rotation about the gravity vector.
We want to use here the theory developed in the previous sections in order to investigate the observability properties of the Vi-SfM~ problem when the number of inertial sensors is reduced, i.e., when the system is driven by unknown inputs.

\subsubsection{Simple 2D localization problem}\label{SubSectionApplication}

We consider the system characterized by the same dynamics given in (\ref{EquationSimpleExampeDynamicsC}). Additionally, we assume that the vehicle is equipped with a GPS able to provide its position. Hence, the system output is the following two-components vector:

\begin{equation}\label{EquationSimpleExampleOutput1}
y=[x_v, ~y_v]^T
\end{equation}

Let us start by considering the case when both the system inputs, i.e., the two functions $v(t)$ and $\omega(t)$, are available. By comparing (\ref{EquationStateEvolution}) with (\ref{EquationSimpleExampeDynamicsC}) we obtain $x=[x_v, ~y_v, ~\theta_v]^T$, $m_u=2$, $m_w=0$, $u_1=v$, $u_2=\omega$, $f_0(x)=[0, ~0, ~0]^T$, $f_1(x)=[\cos\theta_v, ~\sin\theta_v, ~0]^T$ and $f_2(x)=[0, ~0, ~1]^T$.

In order to investigate the observability properties, we apply the observability rank crondition introduced in \cite{Her77}.

The system has two outputs: $h_x \equiv x_v$ and $h_y \equiv y_v$. By definition, they coincide with their zero-order Lie derivatives. Their gradients with respect to the state are, respectively: $[1,~0,~0]$ and $[0,~1,~0]$. Hence, the space spanned by the zero-order Lie derivatives has dimension two. Let us compute the first order Lie derivatives. We obtain: $\mathcal{L}^1_1 h_x=\cos\theta_v$, $\mathcal{L}^1_1 h_y=\sin\theta_v$, $\mathcal{L}^1_2 h_x=\mathcal{L}^1_2 h_y=0$. Hence, the space spanned by the Lie derivatives up to the first order span the entire configuration space and we conclude that the state is weakly locally observable.

We now consider the case when both the system inputs are unknown. In this case, by comparing (\ref{EquationStateEvolution}) with (\ref{EquationSimpleExampeDynamicsC}) we obtain $m_u=0$, $m_w=2$, $w_1=v$, $w_2=\omega$, $f_0(x)=[0, ~0, ~0]^T$, $g_1(x)=[\cos\theta_v, ~\sin\theta_v, ~0]^T$ and $g_2(x)=[0, ~0, ~1]^T$.

Intuitively, we know that the knowledge of both the inputs is unnecessary in order to have the full observability of the entire state. Indeed, the first two state components can be directly obtained from the GPS. By knowing these two components during a given time interval, we also know their time derivatives. In particular, we know $\dot{x}_v(0)$ and $\dot{y}_v(0)$. From (\ref{EquationSimpleExampeDynamicsC}) we easily obtain: $\theta_v(0)=atan\left(\frac{\dot{y}_v(0)}{\dot{x}_v(0)} \right)$. Hence, also the initial orientation is observable, by only using the GPS measurements.

Let us proceed by applying the $EORC$, discussed in section \ref{SectionEORC}. We start by computing the codistribution $\bar{\Omega}_0$ in $\Sigma^{(0)}$. We easily obtain:

\[
\bar{\Omega}_0= span\{[1,~0,~0], ~[0,~1,~0]\}
\]

\noindent From this we know that $x_v$ and $y_v$ are weakly locally observable. We want to know if also $\theta_v$ is weakly locally observable (in which case the entire state would be weakly locally observable). We have to compute $\bar{\Omega}_1$ in $\Sigma^{(1)}$. For, we build the system $\Sigma^{(1)}$. We have: $^1x=[x_v, ~y_v, ~\theta_v, ~v, ~\omega]^T$. We can easily obtain the analytical expression for the quantities appearing in (\ref{EquationExtendedStateEvolution}). We have:  $f_0^{(1)}(x)=[\cos\theta_v v, ~\sin\theta_v v, ~\omega, ~0, ~0]^T$.  We compute the analytical expression of the first-order Lie derivatives along this vector filed. We have: $\mathcal{L}^1_0 h_x=\nabla h_x \cdot f_0^{(1)}(x)=[1,~0,~0,~0,~0]\cdot [\cos\theta_v v, ~\sin\theta_v v, ~\omega, ~0, ~0]=\cos\theta_v v$ (similarly, we obtain $\mathcal{L}^1_0 h_y=\sin\theta_v v$). We obtain:

\[
\bar{\Omega}_1= span\{[1,0,0, 0,0], [0,1,0, 0,0],
\]
\[ [0,0,-\sin\theta_v v, \cos\theta_v, 0],[0,0,\cos\theta_v v, \sin\theta_v, 0]\}
\]

\noindent from which we obtain that the gradient of $\theta_v$ belongs to $\bar{\Omega}_1$. Therefore, also $\theta_v$ is weakly locally observable and so the entire original state.

\subsubsection{The Vi-SfM~ with partial input knowledge}

For the brevity sake, we do not provide here the computation necessary to deal with this problem. All the details are available in \cite{ICRA14,FnT14} (see also the work in \cite{TRO11} for the definition of continuous symmetries). Here we provide a summary of these results. First of all, we remark that the Vi-SfM~ problem can be described by a nonlinear system with six inputs (3 are the accelerations along the three axes, provided by the accelerometers, and 3 are the angular speeds provided by the gyroscopes). The outputs are the ones provided by the vision. In the simplest case of a single point feature, they consist of the two bearing angles of this point feature in the camera frame.

We analyzed the following three cases:

\begin{enumerate}

\item camera extrinsically calibrated, only one input known (corresponding to the acceleration along a single axis);

\item camera extrinsically uncalibrated, only one input known (corresponding to the acceleration along a single axis);

\item camera extrinsically uncalibrated, two inputs known (corresponding to the acceleration along two orthogonal axes).

\end{enumerate}

\noindent The dimension of the original state is $12$ in the first case and $23$ in the other two cases. Additionally $m_u=1$ and $m_w=5$ in the first two cases while $m_u=2$ and $m_w=4$ in the last case.

In \cite{ICRA14,FnT14} we prove that the observability properties of Vi-SfM~ do not change by removing all the three gyroscopes and one of the accelerometers. In other words, exactly the same properties hold when the sensor system only consists of a monocular camera and two accelerometers. To achieve this result, we computed the Lie derivatives up to the second order for the third case mentioned above. By removing a further accelerometer (i.e., by considering the case of a monocular camera and a single accelerometer) the system loses part of its observability properties. In particular, the distribution $\Delta^k(\equiv \bar{\Omega}_k^{\perp})$, $\forall k\ge 2$, contains a single vector. This vector describes a continuous symmetry that is the invariance under the rotation around the accelerometer axis. This means that some of the internal parameters that define the extrinsic camera calibration, are no longer identifiable. Although this symmetry does not affect the observability of the absolute scale and the magnitude of the velocity, it reflects in an indistinguishability of all the initial speeds that differ for a rotation around the accelerometer axis. On the other hand, if the camera is extrinsically calibrated (i.e., if the relative transformation between the camera frame and the accelerometer frame is known (first case mentioned above)) this invariance disappears and the system still maintains full observability, as in the case of three orthogonal accelerometers and gyroscopes.
The analysis of this system (the first case mentioned above) has been done in the extreme case when only a single point feature is available. This required to significantly augment the original state. In particular, in \cite{ICRA14,FnT14} we compute all the Lie derivatives up to the $7^{th}$ order, i.e., we included in the original state the 5 unknown inputs together with their time-derivatives up to the six order. We prove that the gradient of any component of the original state, with the exception of the yaw angle, is orthogonal to the distribution $\Delta^k$, $\forall k\ge 7$ (see the computational details in \cite{ICRA14,FnT14}) \footnote{Note that, the yaw angle is not observable even in the case when all the 6 inputs are known. The fact that the yaw is unobservable is a consequence of a symmetry in the considered system, which is the system invariance under rotations about the gravity axis.}.

\newpage

\section{Conclusion}\label{SectionConclusion}

In this paper we investigated the problem of nonlinear observability when part (or even all) of the system inputs is unknown. We made the assumption that the unknown inputs are differentiable functions of time (up to a given order). The goal was not to design new observers but to provide simple analytic conditions in order to check the weak local observability of the state. An unknown input was also called disturbance.
The analysis started by extending the observability rank condition. This was obtained by a state augmentation and was called the extended observability rank condition. In general, by further augmenting the state, the observability properties of the original state also increase. As a result, the extended observability rank condition only provides a sufficient condition for the weak local observability of the original state since the state augmentation can be continued indefinitely. Additionally, the computational cost demanded to obtain the observability properties through the extended observability rank condition, dramatically depends on the dimension of the augmented state. For these reasons, we focused our investigation on the following two fundamental issues. The former consisted in understanding if there exists a given augmented state such that, by further augmenting the state, the observability properties of the original state provided by the extended observability rank condition remain unvaried. The latter consisted in understanding if it is possible to derive the observability properties of the original state by computing a codistribution defined in the original space, namely a codistribution consisting of covectors with the same dimension of the original state. Both these issues have been fully addressed in the case of a single unknown input.
In this case, we provided an analytical method to operate a separation on the codistribution computed by the extended observability rank condition, i.e., the codistribution defined in the augmented space. Thanks to this separation, we introduced a method able to obtain the observability properties by simply computing a codistribution that is defined in the original space (theorem \ref{TheoremSeparation}).
The new codistribution is defined recursively by a very simple algorithm. Specifically, the algorithm in definition \ref{DefinitionOmega} in section \ref{SectionSeparation} (for the case of a single known input) and in definition \ref{DefinitionOmegaE} in section \ref{SectionExtension} (for the case of multiple known inputs). Hence, the overall method to obtain all the observability properties is very simple. On the other hand, the analytic derivations required to prove the validity of this separation are complex and we are currently extending them to the multiple unknown inputs case.
Finally, we showed that the recursive algorithm converges in a finite number of steps and we also provided the criterion to establish if the algorithm has converged (theorem \ref{TheoremStop}). Also this proof is based on several tricky and complex analytical steps.

Both theorems \ref{TheoremSeparation} and \ref{TheoremStop} have first been proved in the case of a single known input (sections \ref{SectionSeparation} and \ref{SectionStop}) but in section \ref{SectionExtension} their validity was extended to the case of multiple known inputs.

All the theoretical results have been illustrated by deriving the observability properties of several nonlinear systems driven by known and unknown inputs.

\newpage