# Saltation-based analysis of estimation error in observers for hybrid systems with unknown jump times

Valentin Alleaume, Pauline Bernard, and Florent Di Meglio

**Abstract**—This paper highlights some key conditions for local state estimation of hybrid dynamical systems with unknown jump times, for which the observer jumps cannot be triggered at the same time as the system's. We provide sufficient conditions – including appropriate transversality conditions of flows with respect to guard maps – to ensure observer solutions with sufficiently small initial error exist at least during one flow-jump cycle of the system, and we study the propagation of infinitesimal estimation errors throughout this cycle. We show that their evolution through non-simultaneous jumps depends on two distinct saltation matrices, depending whether the observer jumps before or after the system: one is similar to the classical saltation matrix derived in the literature, while the other differs due to the mismatch of the derivative of the output around jump times. We illustrate on a linear toy example the importance of ensuring transversality and contraction with both saltation matrices to ensure observer convergence.

## I. INTRODUCTION

In this paper, we consider a hybrid system [8]

$$ \dot{x} = f(x) \quad x \in \mathcal{C}, \quad x^+ = g(x) \quad x \in \mathcal{D}, \quad y = h(x), \quad (1a) $$

with state $x \in \mathbb{R}^{n_x}$, where $\mathcal{C}, \mathcal{D} \subset \mathbb{R}^{n_x}$ are the flow and jump sets, $f, g: \mathbb{R}^{n_x} \to \mathbb{R}^{n_x}$, and $h: \mathbb{R}^{n_x} \to \mathbb{R}^{n_y}$ are continuously-differentiable flow, jump, and output maps. We are interested in designing an observer for this system, in the challenging case where its jumps (i.e., times of discontinuity) are not (or badly) detected, namely when its output is continuous at jumps, i.e.,

$$ h(g(x)) = h(x), \quad \forall x \in \mathcal{D}. \quad (1b) $$

Observer design for hybrid systems in the case where jumps are detected has been widely studied in the literature. (see [20, Part II] for a survey). On the other hand, when the jump times are unknown, the definition and analysis of an observer is not straightforward because the observer's jumps are not necessarily triggered at the same time as the system's [2]. Fewer designs exist apart from: (i) mode location observers for switched systems with unknown switching times, but mainly in the linear case (either by running parallel observers and monitoring the residual output error [1], [14], or via LMI

design [22], or through optimization algorithms to find the switching signal matching most of the output signal over a time window [19]); (ii) a semi-global design based on an arbitrarily fast high-gain observer during flow that is “disconnected” around jump times, for systems with instantaneously observable flow dynamics [5]; (iii) a discretization-based method for a certain class of linear impulsive systems [15]; (iv) a “gluing” design, based on a change of coordinates transforming the hybrid dynamics into jump-free continuous-time dynamics [10], [13], [21].

In this paper, we consider an observer of the form<fnref n="1" />

$$ \dot{\hat{x}} = F(\hat{x}, y) \quad (\hat{x}, y) \in \hat{\mathcal{C}}, \quad (2a) $$

$$ \hat{x}^{+} = G(\hat{x}, y) \quad (\hat{x}, y) \in \hat{\mathcal{D}} \quad (2b) $$

with continuously differentiable flow and jump maps $F, G: \mathbb{R}^{n_x} \times \mathbb{R}^{n_y} \to \mathbb{R}^{n_x}$, and with jumps triggered based on the knowledge of the estimate and the output according to flow and jump sets $\hat{\mathcal{C}}, \hat{\mathcal{D}}$ to be designed. We propose to describe how local estimation errors $\hat{x} - x$ propagate through flows and jumps in view of designing $(\hat{\mathcal{C}}, F, \hat{\mathcal{D}}, G)$ to ensure asymptotic convergence of the estimation error to zero.

Assuming system solutions to (1) are at least solution to the observer (2), studying the evolution of $\hat{x} - x$ for a sufficiently small initial error amounts to studying the distance between two neighboring observer solutions, one being solution to (1). Analyzing the distance between solutions of a hybrid system has been done in the context of contraction [6] and relies on the so-called saltation matrix, which quantifies how an infinitesimal distance evolves through jumps, when both solutions do not jump exactly at the same time. This saltation matrix is widely used as surveyed in [11], in particular to quantify the propagation of covariance in hybrid Kalman filters [12]. Two kinds of analysis are available in the literature: 1) first-order approximation of the distance between solutions, through flows and jumps, neglecting the high-order terms as in [11], or 2) chain-derivation to evaluate the evolution of the first-order derivative of solutions with respect to their initial condition [6], [11].

Unfortunately, as far as we know, this is always done on systems whose time-dependence is continuously-differentiable. It does not apply here since the observer

<footnote>*Research supported by the French National Research Agency (ANR-23-CE48-0013-01).</footnote>

<footnote>All authors are with Centre Automatique et Systèmes (CAS), Mines Paris - PSL, Paris, France {firstname, lastname}@minesparis.psl.eu.</footnote>

<footnote n="1">¹We focus here on observers written in the same coordinates as the system.</footnote>
(2) is fed with the output $t \mapsto y(t)$ of (1) that is continuous at jumps according to (1b), but typically not differentiable. It is, however, piecewise-differentiable and we show here that, under appropriate conditions on $(\hat{C}, F, \hat{D}, G)$, (i) observer solutions with sufficiently small initial errors exist throughout a flow-jump period of the system and jump once in the neighborhood of the system jump time; and (ii) local estimation errors propagate according to dynamics that resemble those found in [6], [11], but with two distinct saltation matrices depending whether the observer jumps before or after the system, due to the non-differentiability of $y$ at jumps. We follow the chain-derivation approach, but using the *Bouligand-derivative* [18, chap 3] for piecewise-differentiable signals, for which implicit function theorems and the chain-rule still exist. Note that, admitting (i), a derivation based on first-order approximations similar to [11] lead to the same saltation matrices as shown in Appendix.

**Notations** Let $\mathbb{R}$ and $\mathbb{N}$ denote the set of real and natural numbers. Let $\mathbb{R}_{\ge 0} := [0, +\infty)$, $\mathbb{R}_{\le 0} := (-\infty, 0]$. For a given set $\mathcal{S} \subseteq \mathbb{R}^n$ we write $\text{cl}(\mathcal{S})$ its closure, $\text{int}(\mathcal{S})$ its interior and $\partial\mathcal{S} = \text{cl}\mathcal{S} \setminus \text{int}\mathcal{S}$ its boundary. We denote $\|\cdot\|$ the euclidean norm, $\|\cdot\|_{\infty}$ the infinity norm, $d(x, \mathcal{S}) = \inf_{s \in \mathcal{S}} \|x-s\|$ the distance of an element $x$ to a set $\mathcal{S}$ and $d(\mathcal{S}_1, \mathcal{S}_2) = \max\{\sup_{s_1 \in \mathcal{S}_1} d(s_1, \mathcal{S}_2), \sup_{s_2 \in \mathcal{S}_2} d(s_2, \mathcal{S}_1)\}$ the Hausdorff distance between two sets $\mathcal{S}_1, \mathcal{S}_2$. $B(x, r)$ denotes the ball centered at $x$ of radius $r$. We say a function is $C^0$ when it is continuous, $C^1$ when it is continuously differentiable, $PC^1$ when it is piecewise differentiable. For a $PC^1$ function $\Phi$, we denote as $D\Phi(x; \Delta x)$ its Bouligand derivative (or B-derivative) [18] at $x$ in the direction $\Delta x$, and $D_{x_i}\Phi(x; \Delta x_i)$ its partial B-derivatives. For two functions $f, h$ we write $\mathcal{L}_f h$ the Lie derivative of $h$ along the flow $f$, such that $\mathcal{L}_f h(x) = \frac{dh}{dx}(x)f(x)$ if $h$ is differentiable. For a differential equation $\dot{x} = F(x, y)$ with input $y$ and $F$ locally Lipschitz with respect to $x$, we denote $\Psi_F(x_0, t_0, t)$ its solution at time $t$, initialized at $x_0$ at time $t_0$. For a solution $(t, j) \mapsto x(t, j)$ to a hybrid system like (1a) in the sense of [8], we denote $\text{dom } x \subseteq \mathbb{R}_{\ge 0} \times \mathbb{N}$ its domain, $\text{dom}_t x$ (resp., $\text{dom}_j x$) the domain's projection on the ordinary time (resp., jump) component, for $j \in \mathbb{N}$, and $t_j(x)$ the jth jump time such that $(t_j(x), j) \in \text{dom } x$ and $(t_j(x), j-1) \in \text{dom } x$. The mention of $x$ is omitted when no confusion is possible. A solution $x$ to a hybrid system is complete (resp. t-complete) if $\text{dom } x$ (resp. $\text{dom}_t x$) is unbounded and Zeno if it is complete and $\sup \text{dom}_t x < +\infty$.

## II. PROBLEM STATEMENT

### A. Setting

**Assumption 1 (System solutions of interest):** The solutions of (1) of interest are t-complete, and evolving in a

subset $\mathcal{X}$ of $\mathbb{R}^{n_x}$ such that there exists $\delta_g > 0$ satisfying

$$d(g(\mathcal{D} \cap \mathcal{X}), \mathcal{D}) > \delta_g. \quad (3)$$

This ensures in particular that no successive jumps can happen along the solutions of interest which forbids Zeno behavior from occurring within $\mathcal{X}$ along the solutions of interest. Such restriction is common when dealing with saltation matrices [12], [11]. We next assume the existence of a guard map for the system, which allows characterizing the trigger of its jumps and a transversality condition of the flow with respect to this guard at jumps.

**Assumption 2 (System guard map):** There exist an open neighborhood $\mathcal{O}_D$ of $\mathcal{D} \cap \mathcal{X}$ and a continuous-differentiable map $\omega: \mathbb{R}^{n_x} \to \mathbb{R}$, such that

$$\mathcal{C} \cap \mathcal{O}_D \subseteq \{x \in \mathbb{R}^{n_x} : \omega(x) \ge 0\} \quad (4a)$$

$$\mathcal{D} \subseteq \{x \in \mathbb{R}^{n_x} : \omega(x) \le 0\} \quad (4b)$$

and that satisfies the transversality condition

$$\frac{d\omega}{dx}(x)f(x) < 0 \quad \forall x \in \mathcal{D} \cap \mathcal{X}. \quad (5)$$

This assumption ensures that the guard map $\omega$ is non-negative when solutions approach $\mathcal{D}$ through flow in $\mathcal{C}$, and vanishes whenever they reach $\mathcal{D}$. Besides, the transversality (5) imposes the guard to decrease strictly in a neighborhood of $\mathcal{D} \cap \mathcal{X}$, so that the guard map is actually positive before reaching $\mathcal{D} \cap \mathcal{X}$. Transversality also prevents solutions from flowing from $\mathcal{D} \cap \mathcal{X}$, so that solutions reaching $\mathcal{D} \cap \mathcal{X}$ necessarily jump.

On the observer side, we assume quite naturally in the next assumption that the system trajectories are solution to the observer dynamics (see (6)). Because the system jumps are characterized by a guard map, we also impose that a guard map $\hat{\omega}$ is designed for the observer, which coincides with that of the system along the system solutions (see (7)). Moreover, we introduce an appropriate transversality property that involves that of the system (5), but also requires taking into account the mismatch between the right- and left-time derivative of the output $t \mapsto y(t)$ before and after a jump, in the case where the guard depends on the output (see (8)). Indeed, the time-derivative of $t \mapsto y(t)$ before a jump is quantified by $\mathcal{L}_f h(x)$, while it becomes $\mathcal{L}_f h(g(x))$ immediately after the jump, where $\mathcal{L}_f h$ denotes the Lie derivative of $h$ alongside $f$.

**Assumption 3 (Consistency of observer data):**

Assume that

$$(x, h(x)) \in \hat{C} \quad \forall x \in \text{cl}(\mathcal{C}) \quad (6a)$$

$$(x, h(x)) \in \hat{D} \quad \forall x \in \mathcal{D} \quad (6b)$$

$$F(x, h(x)) = f(x) \quad \forall x \in \mathcal{C} \cap \mathcal{X} \quad (6c)$$

$$G(x, h(x)) = g(x) \quad \forall x \in \mathcal{O}_D \quad (6d)$$

for some open neighborhood $\mathcal{O}_D$ of $\mathcal{D} \cap \mathcal{X}$, and there exists a continuous-differentiable guard map $\hat{\omega}: \mathbb{R}^{n_x} \times$
$\mathbb{R}^{n_y} \to \mathbb{R}$ and an open neighborhood $\mathcal{O}_{\hat{\mathcal{D}}}$ of $\hat{\mathcal{D}} \cap \{(x, h(x)), x \in \mathcal{X}\}$ such that

$$ \hat{\mathcal{C}} \cap \mathcal{O}_{\hat{\mathcal{D}}} \subseteq \{(\hat{x}, y) \in \mathbb{R}^{n_x} \times \mathbb{R}^{n_y} : \hat{\omega}(\hat{x}, y) \ge 0\} \quad (7a) $$

$$ \hat{\mathcal{D}} \subseteq \{(\hat{x}, y) \in \mathbb{R}^{n_x} \times \mathbb{R}^{n_y} : \hat{\omega}(\hat{x}, y) \le 0\} \quad (7b) $$

$$ \hat{\omega}(x, h(x)) = \omega(x) \quad \forall x \in \mathcal{O}_{\mathcal{D}} \quad (7c) $$

and the transversality condition

$$ \frac{d\omega}{dx}(x)f(x) + \Lambda_{\hat{\omega}}(x) < 0 \quad \forall x \in \mathcal{D} \cap \mathcal{X} \quad (8) $$

$$ \text{where } \Lambda_{\hat{\omega}}(x) = \frac{\partial \hat{\omega}}{\partial y}(x, h(x)) (\mathcal{L}_f h(g(x)) - \mathcal{L}_f h(x)). $$

We exhibit further conditions on the observer design that ensure that jumps of the observer and the system are “close”, in a sense made clear in Section III-B.

**Assumption 4 (Observer flows and jumps):** There exists $\varepsilon_{\hat{\omega}} > 0$, $\varepsilon_{\hat{\mathcal{C}}} > 0$ such that for any $(\hat{x}, y) \in \mathbb{R}^{n_x} \times \mathbb{R}^{n_y}$,

$$ \left\{ \begin{array}{l} (\hat{x}, y) \in \partial \hat{\mathcal{C}} \\ \exists x \in (\mathcal{D} \cup \text{cl}(\mathcal{C})) \cap \mathcal{X} : \|\hat{x} - x\| + \|y - h(x)\| \le \varepsilon_{\hat{\mathcal{C}}} \\ \implies (\hat{x}, y) \in \hat{\mathcal{D}} \end{array} \right. \quad (9a) $$

$$ \left\{ \begin{array}{l} \hat{\omega}(\hat{x}, y) = 0 \\ \exists x \in \mathcal{D} \cap \mathcal{X} : \|\hat{x} - x\| + \|y - h(x)\| \le \varepsilon_{\hat{\omega}} \\ \implies (\hat{x}, y) \in \hat{\mathcal{D}} \end{array} \right. \quad (9b) $$

and for all $\delta_{\mathcal{D}} > 0$, there exists $\varepsilon_{\mathcal{D}} > 0$ such that for all $(\hat{x}, x) \in \mathbb{R}^{n_x} \times \mathcal{X}$,

$$ \left\{ \begin{array}{l} (\hat{x}, h(x)) \in \hat{\mathcal{D}} \\ \|\hat{x} - x\| < \varepsilon_{\mathcal{D}} \end{array} \right. \implies d(x, \mathcal{D}) < \delta_{\mathcal{D}}. \quad (9c) $$

Assumption (9a) ensures that an observer trajectory can only leave the observer flow set through the jump set, as long as it is sufficiently close from a system solution. Then, (9b) ensures that for an observer trajectory close to a jumping system solution, its guard vanishes only in the observer jump set. Finally, (9c) ensures that for sufficiently close observer and system solutions, the observer can only jump if the system is close to its own jump set.

An intuitive choice for the observer jump set is

$$ \hat{\mathcal{D}} = \{(\hat{x}, y) \in \mathbb{R}^{n_x} \times \mathbb{R}^{n_y} : \hat{x} + K(y - h(\hat{x})) \in \mathcal{D}\} \quad (10) $$

with corresponding guard map $\hat{\omega}(\hat{x}, y) = \omega(\hat{x} + K(y - h(\hat{x})))$ for some $K \in \mathbb{R}^{n_x \times n_y}$, or

$$ \hat{\mathcal{D}} = \{(\hat{x}, y) \in \mathcal{V}_{\mathcal{D}} \times \mathbb{R}^{n_y} : \omega(\hat{x}) \le (y - h(\hat{x}))^{\top} W (y - h(\hat{x}))\} \quad (11a) $$

with

$$ \hat{\omega}(\hat{x}, y) = \omega(\hat{x}) - (y - h(\hat{x}))^{\top} W (y - h(\hat{x})) \quad (11b) $$

for some positive matrix $W \in \mathbb{R}^{n_x \times n_x}$ and an appropriate neighborhood $\mathcal{V}_{\mathcal{D}}$ of $\mathcal{D}$. For such a choice, (9c) is typically satisfied while (9a) and (9b) need to be checked more closely. Choosing $K$ nonzero, namely allowing $\hat{\mathcal{D}}$ and $\hat{\omega}$ to depend on $y$, may allow to use physics-informed

jump conditions in the observer as illustrated in Example 1 below, or add some degrees of freedom in the design.

**Example 1:** Consider a bouncing ball with height $x_1$, velocity $x_2$, and restitution coefficient $0 < e \le 1$,

$$ \left\{ \begin{array}{l} \dot{x} = (x_2, -a_d x_2^p - a_g), \quad x \in \mathcal{C} = \mathbb{R}_{\ge 0} \times \mathbb{R} \\ x^+ = (x_1, -e x_2 + \mu), \quad x \in \mathcal{D} = \{0\} \times \mathbb{R}_{\le 0} \end{array} \right. \quad (12) $$

where $a_g$ is the gravitational acceleration, $\mu \ge 0$ is some constant energy injection at impacts, $a_d \ge 0$ and $p \in \mathbb{R}_{\ge 0}$ are friction parameters, and with output $y = x_1$. For $\mu > 0$ or $e = 1$, and $|x(0, 0)| > c_0$, solutions are t-complete, with no consecutive jumps and evolving in a set $\mathcal{X} = \{x \in \mathbb{R}^2 : \|x\|_{\infty} > c_{\mathcal{X}}, x_1 \ge 0\}$ for some $c_{\mathcal{X}} > 0$. The guard $\omega(x) = x_1$ satisfies Assumption 2 and $\delta_g < e c_{\mathcal{X}} + \mu$ satisfies (3) in Assumption 1. Considering an observer of the type (2), a first choice is to pick the jump sets and guards as in (10) with $K = 0$, meaning observer jumps are triggered when $\hat{x}_1$ crosses zero and $\hat{x}_2$ is negative, which verifies the transversality (8). But physically speaking, one could trigger jumps whenever $\hat{x}_1$ crosses zero with its own negative velocity as done in [7]. For instance with linear correction terms, i.e., $F(\hat{x}, y) = f(x) - L_e(h(\hat{x}) - y)$, one would get the jump condition in $\hat{\mathcal{D}}$ as “$\hat{x}_1 = 0$ and $\hat{x}_2 - L_{c,1}(\hat{x}_1 - y) \le 0$”, namely (10) with $K = (0, L_{c,1})^{\top}$. In this particular case, $\hat{\omega}$ remains independent from $y$, so that transversality (8) is preserved. As for the flow set, to allow the observer to flow in a neighborhood of $\partial \mathcal{C} \setminus \mathcal{D}$ in spite of estimation errors, namely verify (9a), we pick $\hat{\mathcal{C}}$ of the form

$$ \hat{\mathcal{C}} = \{(\hat{x}, y), \hat{x} \in \mathcal{C} \cup (a, +\infty) \times \mathbb{R}_{\ge 0}, y \in \mathbb{R}\} \quad (13) $$

for some arbitrary $a \in \mathbb{R}_{< 0} \cup \{-\infty\}$. Then, it can be shown that (9) holds. Indeed, for system (12) with $\hat{\mathcal{D}}$, $\hat{\mathcal{C}}$ as in (10), (13), the transversality condition (8) holds for $K = (K_1, L_{c,1})^{\top}$ if and only if

$$ \hat{x}_2 + K_1(-e\hat{x}_2 + \mu - \hat{x}_2) < 0, \quad \forall \hat{x}_2 \in (-\infty, -c_{\mathcal{X}}] \quad (14) $$

This is true if $K_1 < \frac{1}{1+e}$, $c_{\mathcal{X}} \ge \frac{K_1 \mu}{1-K_1(1+e)}$, which is satisfied for $K_1 = 0$. We now assume $K = (0, L_{c,1})^{\top}$. Let $\hat{x}, x, y$ satisfying the hypothesis of (9a) for

$$ \varepsilon_{\hat{\mathcal{C}}} < \min \left( \frac{c_{\mathcal{X}}}{1 + |L_{c,1}|}, \frac{c_{\mathcal{X}}}{2}, a \right). $$

Because $(\hat{x}, y) \in \partial \hat{\mathcal{C}}$ we have $\hat{x} \in \partial \hat{\mathcal{C}}^+ \cup \partial \hat{\mathcal{C}}^0 \cup \partial \hat{\mathcal{C}}^-$ where

$$ \partial \hat{\mathcal{C}}^+ = \{-a\} \times \mathbb{R}_{\ge 0}, \quad (15a) $$

$$ \partial \hat{\mathcal{C}}^0 = [-a, 0] \times \{0\}, \quad (15b) $$

$$ \partial \hat{\mathcal{C}}^- = \{0\} \times \mathbb{R}_{\le 0} \quad (15c) $$

Since $d((\mathcal{D} \cup \text{cl}(\mathcal{C})) \cap \mathcal{X}, \partial \hat{\mathcal{C}}^0) \ge c_{\mathcal{X}}$ and $d((\mathcal{D} \cup \text{cl}(\mathcal{C})) \cap \mathcal{X}, \partial \hat{\mathcal{C}}^+) \ge a$, we necessarily have $\hat{x} \in \partial \hat{\mathcal{C}}^-$. This gives $|x_1| \le \frac{c_{\mathcal{X}}}{2}$, it follows $|x_2| \ge c_{\mathcal{X}}$ because $x \in \mathcal{X}$. Since

<footnote n="2">²Note that either one of this condition excludes Zeno behavior.</footnote>
$\hat{x}_2 \le 0$ and $|\hat{x}_2 - x_2| \le \frac{c_X}{2}$, we have $x_2 \le -c_X$. Using $|\hat{x}_2 - x_2| \le \varepsilon_C$ and $|y| \le \varepsilon_C$ we get

$$ \hat{x}_2 + L_{c,1}(y - \hat{x}_1) \le -c_X + \varepsilon_C + |L_{c,1}|\varepsilon_C \le 0. $$

Therefore, for $K = (0, L_{c,1})^\top$, (9a) holds. Similarly, for $\varepsilon_\hat{\omega} \le \frac{c_X}{1+|L_{c,1}|}$, if $\hat{\omega}(\hat{x}, y) = 0$ and $\|\hat{x} - x\| + |h(x) - y| \le \varepsilon_\hat{\omega}$ for some $x \in \mathcal{D} \cap \mathcal{X}$, we have $\hat{x}_1 = 0$ and

$$ \hat{x}_2 + L_{c,1}(y - \hat{x}_1) \le x_2 + \varepsilon_\hat{\omega} + L_{c,1}\varepsilon_\hat{\omega} \le 0 $$

This shows that (9b) holds. Finally, if $(\hat{x}, h(x)) \in \hat{\mathcal{D}}$ and $\|\hat{x} - x\| < \varepsilon_D$ for some $(\hat{x}, x) \in \mathbb{R}^2 \times \mathcal{X}$ and $\varepsilon_D > 0$, we have $\hat{x}_1 = 0$, $\hat{x}_2 + L_{c,1}(x_1 - \hat{x}_1) \le 0$. We get $|x_1| < \varepsilon_D$ and $x_2 < \hat{x}_2 + \varepsilon_D \le |L_{c,1}|\varepsilon_D + \varepsilon_D$. Therefore $d(x, \mathcal{D}) < |L_{c,1}|\varepsilon_D + \varepsilon_D$. This being true for any $\varepsilon_D$, (9c) is true.

## B. Goal of the paper

We pick a solution $(t, j) \mapsto x(t, j)$ to (1) initialized at $x_0 := x(0, 0) \in \text{cl}(\mathcal{C}) \setminus \mathcal{D}$ and satisfying Assumption 1. Let $t \mapsto y(t)$ be its output. The gluing property (1b) ensures that $y$ is continuous but not necessarily $C^1$ at the jump times. To deal with this potential non regularity of $y$, we introduce the concept of piecewise $C^1$ ($PC^1$) function, which, in the case of functions of only one variable, is equivalent to having left and right derivatives. $PC^1$ functions are a special case of B-differentiable functions, namely functions for which a first-order approximation exists but is nonlinear [18]. In our case, $y$ is $PC^1$ on $\mathbb{R}_{\ge 0}$ and its B-derivative at time $t$ in a direction $\Delta t \in \mathbb{R}$ is given by $^3 \mathcal{L}_f h(x(t, j)) \Delta t$ if $t$ is not a jump time (with $j$ such that $(t, j) \in \text{dom } x$), and

$$ D_t y(t_j; \Delta t) = \begin{cases} \mathcal{L}_f h(x(t_j, j-1)) \Delta t & \text{if } \Delta t \le 0 \\ \mathcal{L}_f h(x(t_j, j)) \Delta t & \text{if } \Delta t > 0 \end{cases} \quad (16) $$

for any $j \in \text{dom}_j x$ such that $j \ge 1$.

The goal of the paper is to show that under the previously stated assumptions, (i) observer solutions initialized at $\hat{x}_0$ with $\Delta \hat{x}_0 = \hat{x}_0 - x_0$ sufficiently small exist throughout the first flow-jump cycle of the system and jumps once in a neighborhood of the system jump time, and (ii) an initial infinitesimal error $\Delta \hat{x}_0$ propagates in the observer solution according to the hybrid system

$$ \left\{ \begin{array}{l} \dot{x} = f(x) \\ \dot{\theta} = \frac{\partial F}{\partial \hat{x}}(x, h(x))\theta \\ x^+ = g(x) \\ \theta^+ \in \left\{ \begin{array}{ll} M_{\text{before}}(x)\theta & \text{if } \frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x))\theta \le 0 \\ M_{\text{after}}(x)\theta & \text{if } \frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x))\theta > 0 \end{array} \right\} \quad x \in \mathcal{D} \end{array} \right. \quad (17) $$

initialized at $(x_0, \Delta \hat{x}_0)$, where $\theta$ represents the first-order approximation of the observer state error and $M_{\text{before}}$ and $M_{\text{after}}$ are defined as

$$ M_{\text{before}}(x) = \frac{\partial G}{\partial \hat{x}}(x, h(x)) - \frac{\left[ \frac{dg}{dx}(x)f(x) - f(g(x)) \right]}{\frac{d\omega}{dx}(x)f(x)} \frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x)) \quad (18a) $$

and

$$ M_{\text{after}}(x) = \frac{\partial G}{\partial \hat{x}}(x, h(x)) - \frac{\left[ \frac{dg}{dx}(x)f(x) - f(g(x)) + \Lambda_G(x) \frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x)) \right]}{\frac{d\omega}{dx}(x)f(x) + \Lambda_{\hat{\omega}}(x)} \quad (18b) $$

where $\Lambda_G(x) := \frac{\partial G}{\partial y}(x, h(x)) (\mathcal{L}_f h(g(x)) - \mathcal{L}_f h(x))$ and $\Lambda_{\hat{\omega}}$ is defined in (8). The technical results leading to these conclusions are given in Section III. Then, we show in Section IV how this knowledge should be exploited in designing the observer (2). In particular, we highlight the importance of ensuring the transversality condition (8) and the convergence to zero of the $\theta$-component of (17).

$M_{\text{before}}$ corresponds to the standard saltation matrix of the observer (2), taken at the nominal system solution to (1). However, contrary to [6], [11], two distinct saltation matrices appear in (17), depending whether the observer solution jumps before or after the system. This alternative is captured by the sign of $\frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x))\theta$, that determines whether the disturbance at the jump makes the guard $\hat{\omega}$ smaller (making the perturbed solution jump earlier), or larger (making the perturbed solution jump later).

## III. PROPAGATION OF ESTIMATION ERROR DURING ONE FLOW-JUMP CYCLE OF THE SYSTEM

This section contains the main technical results that are separated in three lemmas. Lemma 1 shows how, given a jumping system solution, an adapted version of the implicit function theorem implies the existence and continuity of a time $\hat{T}$ for which the guard map of the observer $\hat{\omega}$ vanishes along neighboring solutions of the observer flow dynamics. Lemma 2 then shows that observer trajectories that start close enough to the solution of interest jump at time $\hat{T}$ and only then. Lastly Lemma 3 computes the sensitivity of observer solutions with respect to their initial condition at times for which the solution of interest jumps.

### A. Vanishing time of observer guard

Given $t \mapsto y(t) PC^1$, let $\Psi_F : \mathcal{O}_\Psi \subseteq \mathbb{R}^{n_x} \times \mathbb{R} \times \mathbb{R} \to \mathbb{R}^{n_x}$ be the flow operator of the observer flow dynamics, that is the function defined on an open set $\mathcal{O}_\Psi$ such that for all $(\hat{x}_0, \tau, t) \in \mathcal{O}_\Psi$, $\Psi_F(\hat{x}_0, \tau, t)$ is the value at time $t$ of the solution of the observer flow dynamics $\dot{x} = F(\hat{x}, y(t))$ initialized as $\hat{x}_0$ at time $\tau$. Indeed, since $(\hat{x}, t) \mapsto F(\hat{x}, y(t))$ is $C^1$ with respect to $x$ and

<footnote>$^3$Notice that for any $t \ge 0$, $D_t y(t; \bullet)$ still is a first order approximation of $y$ at $t$ in the sense that $y(t+\Delta t) = y(t) + D_t y(t; \Delta t) + o(\Delta t)$ but we need to specify the direction alongside which we do this approximation since the differential is no longer linear but piecewise linear. The notation of the B-derivative is similar to the notation of the directional derivative because when both exists they are equal.</footnote>
continuous with respect to time, this operator is well-defined and $C^1$ on $\mathcal{O}_\Psi$ (see for instance [9, Chapter 1, Theorem 3.3]). and satisfies (when defined)

$$ \frac{\partial \Psi_F}{\partial t}(\hat{x}_0, \tau, t) = F(\Psi_F(\hat{x}_0, \tau, t), y(t)) \quad (19a) $$

$$ \frac{\partial \Psi_F}{\partial \tau}(\hat{x}_0, \tau, t) = -F(\Psi_F(\hat{x}_0, \tau, t), y(t)) \quad (19b) $$

$$ \frac{\partial \Psi_F}{\partial \hat{x}_0}(\hat{x}_0, t, t) = I_d. \quad (19c) $$

Now, given a system solution that jumps at some time $t_1 > 0$ and then flows again, we are interested in proving the existence of a neighboring time at which the observer guard vanishes along neighboring solutions to $\hat{x} = F(\hat{x}, y(t))$. Besides, this time is shown to be $PC^1$ with respect to the observer initial condition.

**Lemma 1:** Assume Assumptions 2 and 3 hold. Let $x_0 \in \text{cl}(\mathcal{C}) \setminus \mathcal{D}$ and $(t, j) \mapsto x(t, j)$ a solution to (1) initialized at $x_0$, remaining in $\mathcal{X}$, such that its first jump time $t_1$ exists and $[t_1, t_1 + \tau_m] \times \{1\} \subset \text{dom } x$ for some $\tau_m > 0$. Consider its corresponding output $t \mapsto y(t)$. Then, there exists a neighborhood $U$ of $x_0$, a neighborhood $V$ of $t_1$ in $[0, t_1 + \tau_m]$, and a $PC^1$ map $\hat{T}: U \to V$ such that for every $(\hat{x}_0, t) \in U \times V$ we have

$$ \hat{\omega}(\Psi_F(\hat{x}_0, 0, t), y(t)) = 0 \iff t = \hat{T}(\hat{x}_0). \quad (20) $$

Moreover, the B-derivative of $\hat{T}$ at $x_0$ writes as

$$ D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) = \left\{ \begin{array}{ll} -\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0}{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0} & \text{if } \frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0 \\ -\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0}{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0} & \text{otherwise} \end{array} \right. \quad (21) $$

where we denote $x_1 := x(t_1, 0) = \Psi_F(x_0, 0, t_1)$ and $y_1 := y(t_1)$ the values of the system solution and output at its first jump time $t_1$ respectively, for compactness of notations.

*Proof:* We consider $\mathcal{O}_\Psi^0$ the (open) projection of $\mathcal{O}_\Psi$ for $\tau = 0$ and the map $s: \mathcal{O}_\Psi^0 \subseteq \mathbb{R}^{n_x} \times \mathbb{R} \to \mathbb{R}$ defined as

$$ s(\hat{x}_0, t) = \hat{\omega}(\Psi_F(\hat{x}_0, 0, t), y(t)). \quad (22) $$

From (6c) in Assumption 3 and uniqueness of solutions through flow with $F$ (because $C^1$ with respect to $\hat{x}$), $(x_0, t_1) \in \mathcal{O}_\Psi^0$ and

$$ \Psi_F(x_0, 0, t) = x(t, 0) \quad \forall t \in [0, t_1] \quad (23) $$

and $s(x_0, t_1) = 0$. Besides, $y$ is $PC^1$ on $[0, t_1 + \tau_m]$, so that $s$ is $PC^1$ in a neighborhood of $(x_0, t_1)$ as composition of $PC^1$ and $C^1$ functions and

$$ D_t s(\hat{x}_0, t; \Delta t) = \frac{\partial \hat{\omega}}{\partial \hat{x}}(\Psi_F(\hat{x}_0, 0, t), y(t)) \frac{\partial \Psi_F}{\partial t}(\hat{x}_0, 0, t) \Delta t + \frac{\partial \hat{\omega}}{\partial y}(\Psi_F(\hat{x}_0, 0, t), y(t)) D_t y(t; \Delta t). $$

Differentiating (7c) w.r.t $x$, we have for all $x \in \mathcal{O}_\mathcal{D}$,

$$ \frac{\partial \hat{\omega}}{\partial \hat{x}}(x, h(x)) + \frac{\partial \hat{\omega}}{\partial y}(x, h(x)) \frac{dh}{dx}(x) = \frac{d\omega}{dx}(x) \quad (24) $$

For brevity purposes, we write $x_1 := x(t_1, 0) = \Psi_F(x_0, 0, t_1)$ and $y_1 := y(t_1) = h(x_1)$. Using (16), (6c), (19a), and (24) we have

$$ \begin{aligned} D_t s(x_0, t_1; \Delta t) &= \frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) F(x_1, y_1) \Delta t + \frac{\partial \hat{\omega}}{\partial y}(x_1, y_1) D_t y(t_1; \Delta t) \\ &= \frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) f(x_1) \Delta t + \frac{\partial \hat{\omega}}{\partial y}(x_1, y_1) D_t y(t_1; \Delta t) \\ &= \begin{cases} \frac{d\omega}{dx}(x_1) f(x_1) \Delta t & \text{if } \Delta t \le 0 \\ [\frac{d\omega}{dx}(x_1) f(x_1) + \Lambda_{\hat{\omega}}(x_1)] \Delta t & \text{if } \Delta t > 0 \end{cases} \end{aligned} \quad (25) $$

We now intend to use Theorem 4.2.2 of [18], which is a generalization of the implicit function theorem to $PC^1$ functions. Let $\sigma^+ = \mathbb{R}^{n_x} \times \mathbb{R}_{\ge 0}$, $\sigma^- = \mathbb{R}^{n_x} \times \mathbb{R}_{\le 0}$ and $\Sigma = \sigma^+ \cup \sigma^-$ be a conical subdivision of $\mathbb{R}^{n_x} \times \mathbb{R}$. Its lineality space$^4$ is of dimension $l = n_x$. We define $s^+: \mathcal{O}_\Psi^0 \subseteq \mathbb{R}^{n_x} \times \mathbb{R} \to \mathbb{R}$, $s^-: \mathcal{O}_\Psi^0 \subseteq \mathbb{R}^{n_x} \times \mathbb{R} \to \mathbb{R}$ as

$$ \begin{aligned} s^-(\hat{x}_0, t) &= \hat{\omega}(\Psi_F(\hat{x}_0, 0, t), h(\Psi_F(x_0, 0, t))) \\ s^+(\hat{x}_0, t) &= \hat{\omega}(\Psi_F(\hat{x}_0, 0, t), h(\Psi_F(g(x_1), t_1, t))) \end{aligned} $$

Since $y(t) = h(\Psi_F(x_0, 0, t))$ for $t \in [0, t_1]$ and $y(t) = h(\Psi_F(g(x_1), t_1, t))$ for $t \in [t_1, t_1 + \tau_m]$, $\{s^-, s^+\}$ is a collection of $C^1$ selection functions for $s$ in a neighborhood of $(x_0, t_1)$. More precisely, there exists a neighborhood $\mathcal{O} \subseteq \mathcal{O}_\Psi^0$ of $(x_0, t_1)$ such that

$$ \begin{aligned} \forall (\hat{x}_0, t) \in \mathcal{O} \cap (\sigma^+ + \{(x_0, t_1)\}), & s(\hat{x}_0, t) = s^+(\hat{x}_0, t) \\ \forall (\hat{x}_0, t) \in \mathcal{O} \cap (\sigma^- + \{(x_0, t_1)\}), & s(\hat{x}_0, t) = s^-(\hat{x}_0, t) \end{aligned} $$

This ensures that the first item of the assumptions of Theorem 4.2.2 is satisfied. The second item is easily satisfied since $n_x+1-l=1 \le 1$. Thanks to assumptions (8) and (5) we have that both the right and left derivative of $s$ with respect to time are negative, which ensures that third item is also met. All conditions of Theorem 4.2.2 are thus met and since $x_0 \notin \mathcal{D}$, we have that $t_1 > 0$ and there exists a neighborhood $U$ of $x_0$, a neighborhood $V$ of $t_1$ in $[0, t_1 + \tau_m]$ and a $PC^1$ function $\hat{T}: U \to \mathbb{R}$ such that $U \times V \subseteq \mathcal{O}$ and for every $(\hat{x}_0, t) \in U \times V$ we have

$$ s(\hat{x}_0, t) = 0 \iff t = \hat{T}(\hat{x}_0). $$

Proposition 4.2.2 of [18] also allows us to have an explicit expression of $D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0)$ based on the subdivision

<footnote>$^4$The lineality space of a cone $\{x, Ax \le 0\}$ is defined as $ker(A)$. Proposition 2.2.4 of [18] shows that we can define the lineality space of a conical subdivision since all cones of such a subdivision have the same lineality space.</footnote>
Σ and the selection functions

$$
\begin{align*}
D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) = & - \left( \frac{\partial s^-}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^-}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \\
& \quad \text{if } \left( \Delta \hat{x}_0, - \left( \frac{\partial s^-}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^-}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \right) \in \sigma^- \\
& - \left( \frac{\partial s^+}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^+}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \\
& \quad \text{if } \left( \Delta \hat{x}_0, - \left( \frac{\partial s^+}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^+}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \right) \in \sigma^+ \\
= & - \left( \frac{\partial s^-}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^-}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \\
& \quad \text{if } \frac{\partial s^-}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \le 0 \\
& - \left( \frac{\partial s^+}{\partial t}(x_0, t_1) \right)^{-1} \frac{\partial s^+}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 \\
& \quad \text{if } \frac{\partial s^+}{\partial \hat{x}_0}(x_0, t_1) \Delta \hat{x}_0 > 0 \\
= & - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0}{\frac{\partial \omega}{dx}(x_1) f(x_1)} \\
& \quad \text{if } \frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0 \\
& - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0}{\frac{\partial \omega}{dx}(x_1) f(x_1) + \Lambda_{\hat{\omega}}(x_1)} \\
& \quad \text{if } \frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 > 0
\end{align*}
$$

which gives (21), where we used the fact that both
$(\frac{\partial s^-}{\partial t}(x_0, t_1))^{-1}$ and $(\frac{\partial s^+}{\partial t}(x_0, t_1))^{-1}$ are negative ac-
cording to (8) and (5).
■

B. Existence of jump in observer trajectory

From Lemma 1, we know that neighboring solutions to the observer flow dynamics have a guard that vanishes in a neighborhood of the system jump time. We now show that if $x_0 \notin \mathcal{D}$, observer solutions initialized at $\hat{x}_0$ sufficiently close to $x_0$ are defined at least until the system has jumped at time $t_1$, jump for the first time at time $\hat{T}(\hat{x}_0)$ in a neighborhood of $t_1$ given by Lemma 1, jump only once at that time and then start flowing again.

Lemma 2: Assume Assumptions 1, 2, 3 and 4 hold. Let $x_0 \in \mathrm{cl}(\mathcal{C}) \setminus \mathcal{D}$ and $(t,j) \mapsto x(t,j)$ a solution to (1) initialized at $x_0$, remaining in $\mathcal{X}$ such that its first jump time $t_1$ exists and $[t_1, t_1 + \tau_m] \times \{1\} \subset \mathrm{dom}\,x$ for some $\tau_m > 0$. Consider $t \mapsto y(t)$ its output and $U, V, \hat{T}$ given by Lemma 1. Then, there exists a neighborhood $\bar{U} \subseteq U$ of $x_0$ such that any solution $(t,j) \mapsto \hat{x}(t,j)$ to (2) initialized at $\hat{x}_0$ in $\bar{U}$ such that $(\hat{x}_0, y(0)) \in \bar{\mathcal{C}} \setminus \bar{\mathcal{D}}$ and fed with $y$, satisfies that its first jump time $\hat{t}_1$ exists, equals $\hat{T}(\hat{x}_0)$ and $[\hat{t}_1, \hat{t}_1 + \hat{\tau}_m] \times \{1\} \subset \mathrm{dom}\,\hat{x}$ for some $\hat{\tau}_m > 0$ with $\hat{t}_1 + \hat{\tau}_m \ge t_1$.

*Proof:* We keep the notations of the proof of Lemma 1. For *s* defined in (22), using the expression of its partial B-derivative derived in Lemma 1 as well as the transversality conditions (5), (8), there exists *c* > 0 such that for any Δ*t* ≠ 0, 1/Δ*t* *D*<sub>*t*</sub>s(*x*<sub>0</sub>, *t*<sub>1</sub>; Δ*t*) ≤ −2*c*. Thanks to the selection functions of *s* being *C*<sup>1</sup> there exists δ<sub>s</sub>

such that

$$
\begin{equation}
\begin{cases}
\|x_0 - \hat{x}_0\| \le \delta_s \\
|t - t_1| \le \delta_s
\end{cases}
\quad \implies \quad \frac{1}{\Delta t} D_t s(\hat{x}_0, t; \Delta t) \le -c
\tag{26}
\end{equation}
$$

We write $x_1 = x(t_1, 0) \in \mathcal{D} \cap \mathcal{X}$. By Assumption 1, we have $d(g(x_1), \mathcal{D}) > \delta_g$, so from the contrapositive of (9c) it follows $(g(x_1), y(t_1)) \notin \hat{\mathcal{D}}$. We also have $g(x_1) \in \mathrm{cl}(\mathcal{C})$ because it is assumed that $x$ flows for at least $\tau_m$ after $t_1$. Using (6a) and the contrapositive of (9a) gives $(g(x_1), y(t_1)) \in \mathrm{int}\,\hat{\mathcal{C}}$. We can therefore define

$$
\delta_{x_1} = \frac{1}{2} d((g(x_1), y(t_1)), \partial \hat{\mathcal{C}} \cup \hat{\mathcal{D}}) > 0 \quad (27)
$$

and

$$
\hat{\tau}_m = \frac{\delta_{x_1}}{\sup_{(\hat{x}, y)} \{ \|F(\hat{x}, y)\| + 1, \|\hat{x} - g(x_1)\| + \|y - y(t_1)\| \le \delta_{x_1} \}} \quad (28)
$$

Let $0 < \delta_t \le \min(\delta_s, \hat{\tau}_m)$ such that $(t_1 - \delta_t, t_1 + \delta_t) \subseteq V$. Recall that $t_1 = \hat{T}(x_0)$. Continuity of $\hat{T}$ at $x_0$ yields the existence of $\delta_T$ such that for all $\hat{x}_0 \in U$,

$$
\|\hat{x}_0 - x_0\| \le \delta_T \implies \|\hat{T}(\hat{x}_0) - t_1\| \le \delta_t. \quad (29)
$$

Since $x_0 \notin \mathcal{D}$ and for all $0 < t \le t_1 - \delta_t$ we have $d(x(t, 0), \mathcal{D}) > 0$ (otherwise $x$ would have been forced to jump by Assumption 2), by compactness of $[0, t_1 - \delta_t]$ and continuity of $t \mapsto d(x(t, 0), \mathcal{D})$, there exists $\delta_x > 0$ such that $\inf_{t \in [0, t_1 - \delta_t]} d(x(t, 0), \mathcal{D}) \ge \delta_x$.

Let $\varepsilon_D$ be as defined in (9c) for $\delta_D = \min(\delta_x, \delta_g)$ where $\delta_g$ is defined in Assumption 1. Since the function $\hat{x}_0 \in U \mapsto \Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)) \in \mathbb{R}^{n_x}$ is defined with value $\Psi_F(x_0, 0, t_1)$ at $x_0$ and continuous at $x_0$ there exists $\delta_\Psi > 0$ such that for all $\hat{x}_0 \in U$

$$
\begin{align}
& \|x_0 - \hat{x}_0\| \le \delta_{\Psi} \nonumber \\
& \implies \|\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)) - \Psi_F(x_0, 0, t_1)\| \le \frac{\varepsilon_{\hat{\omega}}}{2} \tag{30}
\end{align}
$$

where $\varepsilon_{\hat{\omega}}$ is defined in Assumption 4. Similarly, by continuity of $y \circ \hat{T}$, there exists $\delta_y > 0$ such that

$$
\begin{align}
& \forall \hat{x}_0 \in U, \quad \|\hat{x}_0 - x_0\| \le \delta_y \nonumber \\
& \implies \|y(\hat{T}(\hat{x}_0)) - y(t_1)\| \le \frac{1}{2} \min(\varepsilon_{\hat{\omega}}, \delta_{x_1}) \tag{31}
\end{align}
$$

For $\varepsilon_G = \frac{1}{2} \min(\varepsilon_D, \delta_{x_1})$, by continuity of $\hat{x}_0 \mapsto G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0)))$ at $x_0$ and using (6d), there exists $\delta_G > 0$ such that

$$
\begin{align}
& \forall \hat{x}_0 \in U, \quad \|\hat{x}_0 - x_0\| \le \delta_G \nonumber \\
& \implies \|G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0)) - g(x_1))\| < \varepsilon_G \tag{32}
\end{align}
$$

By uniform continuity of $h$ on the compact set $K = \{\Psi_F(x_0, 0, t) + \eta, t \in [0, t_1 + \delta_t], \eta \in B(0, \frac{\epsilon c}{2})\}$, where
$\varepsilon_{\hat{c}}$ is defined in (9a), there exists $\varepsilon_h > 0$ such that

$$
\begin{align}
& \forall x_1, x_2 \in K, \quad \|x_1 - x_2\| \le \varepsilon_h \nonumber \\
& \implies \|h(x_1) - h(x_2)\| \le \frac{\varepsilon_{\hat{c}}}{2} \tag{33}
\end{align}
$$

Finally, let $\varepsilon := \min(\varepsilon_D, \frac{\varepsilon_{\hat{c}}}{2}, \varepsilon_h)$, $r := \min(\delta_y, \delta_{\Psi}, \delta_T, \delta_s, \delta_G)$ and let $\hat{U} \subseteq B(x_0, r) \cap U$ be such that

$$
\|\Psi_F(\hat{x}_0, 0, t) - \Psi_F(x_0, 0, t)\| \le \varepsilon \quad \forall \hat{x}_0 \in \hat{U}, \forall t \le t_1 + \delta_t. \quad (34)
$$

Such a neighborhood exists thanks to $\Psi_F$ being $C^1$ and thus continuous with respect to $x$ uniformly with respect to $t$ in the compact $[0, t_1+\delta_t]$ (see for instance [9, Chapter 1, Theorem 3.3]). Combining (34) and (33) we get

$$
\begin{equation}
\begin{split}
& \|\Psi_F(\hat{x}_0, 0, t) - \Psi_F(x_0, 0, t)\| \\
& \quad + \|h(\Psi_F(\hat{x}_0, 0, t)) - y(t)\| \le \varepsilon_{\hat{c}} \\
& \quad \forall \hat{x}_0 \in \hat{U}, \forall t \le t_1 + \delta_t
\end{split}
\tag{35}
\end{equation}
$$

Let $\hat{x}_0 \in \hat{U}$ such that $(\hat{x}_0, y(0)) \in \hat{C} \setminus \hat{D}$. For $t \le t_1 - \delta_t$ we have $d(x(t, 0), \mathcal{D}) \ge \delta_{\mathcal{D}}$ by definition of $\delta_{\mathcal{D}}$. Using (34), (23) and the contrapositive of (9c) we get that

$$
(\Psi_F(\hat{x}_0, 0, t), h(x(t, 0))) \notin \hat{D} \quad \forall t \le t_1 - \delta_t. \quad (36)
$$

The definition of $\hat{T}$ in (20) gives

$$
\hat{\omega} \left( \Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0)) \right) = 0 \quad (37)
$$

Using (31) and (30) we have

$$
\begin{equation}
\begin{split}
& \| \Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)) - \Psi_F(x_0, 0, t_1) \| \\
& \quad + \| y(\hat{T}(\hat{x}_0)) - h(\Psi_F(x_0, 0, t_1)) \| \le \varepsilon_{\hat{\omega}}
\end{split}
\tag{38}
\end{equation}
$$

with $\Psi_F(x_0, 0, t_1) \in \mathcal{D} \cap \mathcal{X}$. This implies

$$
(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0))) \in \hat{D} \quad (39)
$$

thanks to (9b). From (37), (26) and the fact that the B-derivative of a function is its first order approximation we get that $t \mapsto s(\hat{x}_0, t) = \hat{\omega}(\Psi_F(\hat{x}_0, 0, t), y(t))$ is decreasing on $(t_1 - \delta_t, t_1 + \delta_t)$ and is therefore positive on $(t_1 - \delta_t, \hat{T}(\hat{x}_0))$ and negative on $(\hat{T}(\hat{x}_0), t_1 + \delta_t)$. Together with (7a) this shows

$$
(\Psi_F(\hat{x}_0, 0, t), y(t)) \notin \hat{D}, \quad \forall t \in (t_1 - \delta_t, \hat{T}(\hat{x}_0)), \quad (40)
$$

$$
(\Psi_F(\hat{x}_0, 0, t)), y(t)) \notin \hat{C} \cap \mathcal{O}_{\hat{D}}, \quad \forall t \in (\hat{T}(\hat{x}_0), t_1 + \delta_t), \quad (41)
$$

Consider $\hat{x}$ the maximal solution of (2) initialized at $\hat{x}_0$. We have $(\hat{x}_0, y(0)) \in \hat{C}$ and we define

$$
\hat{t}_1 = \inf\{t \in \mathbb{R}_{\ge 0}, (\Psi_F(\hat{x}_0, 0, t), y(t)) \notin \hat{C}\} \quad (42)
$$

Thanks to (41) we know that $\hat{t}_1$ is finite and $\hat{t}_1 \le \hat{T}(\hat{x}_0)$. According to (40) and (36) we have

$$
\Psi_F(\hat{x}_0, 0, t) = \hat{x}(t, 0) \quad \forall t \in [0, \hat{t}_1] \quad (43)
$$

By definition of an hybrid solution, $t \mapsto \hat{x}(t, 0)$ is defined and continuous on a closed interval so (43) holds for $t = \hat{t}_1$. Combining (40) and (36) we get

$$
(\Psi_F(\hat{x}_0, 0, t), h(x(t, 0))) \notin \hat{D} \quad \forall t \in [0, \hat{T}(\hat{x}_0)] \quad (44)
$$

Using the contrapositive of (9a), (35) and (44) we get

$$
(\Psi_F(\hat{x}_0, 0, t), h(x(t, 0))) \notin \partial \hat{C} \quad \forall t \in [0, \hat{T}(\hat{x}_0)] \quad (45)
$$

Necessarily, by definition of $\hat{t}_1$ in (42) we have
$(\Psi_F(\hat{x}_0, 0, \hat{t}_1), y(\hat{t}_1)) \in \mathrm{cl}(\hat{C}) \cap \mathrm{cl}(\mathbb{R}^{n_x} \setminus \hat{C}) = \partial \hat{C}$. This
alongside (45) and the fact that $\hat{t}_1 \le \hat{T}(\hat{x}_0)$ shows that
$\hat{t}_1 = \hat{T}(\hat{x}_0)$. From (43) we conclude that $\hat{x}$ flows from
time 0 to $\hat{T}(\hat{x}_0)$ and cannot flow beyond because of (42).
Moreover we have (39) so $\hat{x}$ must jump at that time.

Let us prove now that $\hat{x}$ jumps only once. Thanks to Assumption 1 we have $d(g(x_1), \mathcal{D}) > \delta_g$. Continuity of the function $\hat{x}_0 \mapsto G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0)))$ expressed in (32) gives $\|\hat{x}(\hat{t}_1, 1) - g(x_1)\| < \varepsilon_{\mathcal{D}}$. Applying the contrapositive of (9c) we get $(\hat{x}(\hat{t}_1, 1), y(\hat{t}_1)) \notin \hat{D}$, so $\hat{x}$ cannot jump twice at time $\hat{t}_1$.

Let us prove now that $\hat{x}$ flows for some time. Recall that $\hat{x}(\hat{t}_1, 1) = G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0)))$ and $y(\hat{t}_1) = y(\hat{T}(\hat{x}_0))$. Using (32), (31) we get that $\|\hat{x}(\hat{t}_1, 1) - g(x_1)\| + \|y(\hat{t}_1) - y(t_1)\| \le \delta_{x_1}$, by the definition of $\hat{\tau}_m$ in (28) it means that $(\Psi_F(\hat{x}(\hat{t}_1, 1), \hat{t}_1, t), y(t))$ belongs to $\mathrm{int}\,\hat{C} \setminus \hat{D}$ for every $t \in [\hat{t}_1, \hat{t}_1 + \hat{\tau}_m]$. This is enough to ensure that $\hat{x}$ can and must flow for at least $\hat{\tau}_m$ after its jump. By (29), we have $\|\hat{t}_1 - t_1\| \le \delta_t \le \hat{\tau}_m$ and a fortiori $t_1 \le \hat{\tau}_m + \hat{t}_1$. This concludes the proof. ■

C. Error propagation through one flow-jump cycle

Thanks to Lemma 2, if $x_0 \notin \mathcal{D}$, then for any observer
solution initialized in a neighborhood $\hat{U}$ of $x_0$, we can
consider the propagation of the estimation error during
one flow-jump cycle, namely from the initial time up
to the time at which both the system and the observer
solutions have jumped and start flowing again. We would
like to compute the estimation error at the end of this
cycle. More precisely, by continuity of $\hat{T}$ from Lemma 1,
given $t_f > t_1$ arbitrarily close to $t_1$, we know there exists
a neighborhood of observer initial condition $\hat{x}_0$ around $x_0$
such that all the corresponding observer solutions (i) flow
with $F$ up to time $\hat{T}(\hat{x}_0) < t_f$, possibly after $t_1$, (ii) jump
with $G$, (iii) flow again with $F$ up to time $t_f$. This leads
us to study the first order variations of

$$
\Psi_F \left( G \left( \Psi_F \left( \hat{x}_0, 0, \hat{T}(\hat{x}_0) \right), y \left( \hat{T}(\hat{x}_0) \right) \right), \hat{T}(\hat{x}_0), t_f \right)
$$

for $t_f > t_1$, arbitrarily close to $t_1$, to quantify how an
initial infinitesimal error $\Delta \hat{x}_0$ propagates through one
flow-jump cycle. Note that this function is $C^1$ with
respect to $t_f$, and $PC^1$ with respect to $\hat{x}_0$. Because $t_f$
is arbitrary and arbitrarily close to $t_1$, we compute its
B-derivative for $t_f = t_1$.
**Lemma 3:** Under the same assumptions as Lemma 1, consider $U$ and $\hat{T}$ given by Lemma 1. Then, the function

$$ \Phi: \hat{x}_0 \in \mathbb{R}^{n_x} \\ \mapsto \Psi_F \left( G \left( \Psi_F \left( \hat{x}_0, 0, \hat{T}(\hat{x}_0) \right), y \left( \hat{T}(\hat{x}_0) \right) \right), \hat{T}(\hat{x}_0), t_1 \right) \\ \text{is } PC^1 \text{ on } U, \text{ and} $$

$$ D_{\hat{x}_0} \Phi(x_0; \Delta \hat{x}_0) = \left\{ \begin{array}{ll} M_{\text{before}}(x_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 & \text{if } \frac{\partial \omega}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0 \\ M_{\text{after}}(x_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 & \text{otherwise} \end{array} \right. \tag{46} $$

where $x_1 := x(t_1, 0) = \Psi_F(x_0, 0, t_1)$ and $y_1 := y(t_1) = h(x_1)$, and $M_{\text{after}}$, $M_{\text{before}}$ defined in (18).

**Proof:** $\Phi$ is $PC^1$ on $U$ as a composition of $C^1$ and $PC^1$ functions. For brevity purposes, we write $x_1 := x(t_1, 0) = \Psi_F(x_0, 0, t_1)$ and $y_1 := y(t_1) = h(x_1)$. Using the chain rule yields (52), evaluating it at $\hat{x}_0 = x_0$ and using (19a)–(19c) we get

$$ D_{\hat{x}_0} \Phi(x_0; \Delta \hat{x}_0) = \frac{\partial G}{\partial \hat{x}}(x_1, y_1) \left( \begin{aligned} & \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \\ & + f(x_1) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \end{aligned} \right) \\ & + \frac{\partial G}{\partial y}(x_1, y_1) D_{t y} \left( t_1; D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \right) \\ & - f(g(x_1)) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \tag{47} $$

Using (8), (5) and (21) we notice that

$$ \begin{aligned} & \operatorname{sign} \left( D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \right) \\ & = \operatorname{sign} \left( \frac{\partial \omega}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \right) \end{aligned} \tag{48} $$

$$ D_{\hat{x}_0} \Phi(\hat{x}_0; \Delta \hat{x}_0) = \frac{\partial \Psi_F}{\partial \tau}(G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0))), \hat{T}(\hat{x}_0), t_1) D_{\hat{x}_0} \hat{T}(\hat{x}_0, \Delta \hat{x}_0) \\ & + \frac{\partial \Psi_F}{\partial \hat{x}_0}(G(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0))), \hat{T}(\hat{x}_0), t_1) \left[ \frac{\partial G}{\partial \hat{x}}(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0))) \left( \frac{\partial \Psi_F}{\partial \hat{x}_0}(\hat{x}_0, 0, \hat{T}(\hat{x}_0)) \Delta \hat{x}_0 \right. \right. \\ & \left. \left. + \frac{\partial \Psi_F}{\partial t}(\hat{x}_0, 0, \hat{T}(\hat{x}_0)) D_{\hat{x}_0} \hat{T}(\hat{x}_0; \Delta \hat{x}_0) \right) + \frac{\partial G}{\partial y}(\Psi_F(\hat{x}_0, 0, \hat{T}(\hat{x}_0)), y(\hat{T}(\hat{x}_0))) D_{\hat{x}_0} y(\hat{T}(\hat{x}_0); D_{\hat{x}_0} \hat{T}(\hat{x}_0; \Delta \hat{x}_0)) \right] \tag{52} $$

## IV. TOWARDS OBSERVER DESIGN

We now propose to exploit the previously obtained technical results to design an asymptotically converging observer (2) for a certain class of systems.

### A. Dynamical error propagation

Pick a solution $(t, j) \mapsto x(t, j)$ initialized at $x_0 := x(0, 0) \in \text{cl}(C) \setminus D$ and satisfying Assumption 1. Let $t \mapsto y(t)$ its output. By Assumption 3 and uniqueness of solutions to the flow dynamics, $x(t, 0) = \Psi_F(x_0, 0, t)$ for $t \in [0, t_1]$. Besides, from [9, Chapter 1, Theorem 3.3], we know that, for any $\Delta \hat{x}_0 \in \mathbb{R}^{n_x}$, $t \mapsto \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t) \Delta \hat{x}_0$

therefore we have

$$ D_{t y} \left( t_1; D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \right) = \left\{ \begin{array}{ll} \mathcal{L}_f h(x_1) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) & \text{if } \frac{\partial \omega}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0 \\ \mathcal{L}_f h(g(x_1)) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) & \text{otherwise} \end{array} \right. \tag{49} $$

Differentiating (6d) with respect to $x$ we obtain

$$ \frac{\partial G}{\partial \hat{x}}(x, h(x)) + \frac{\partial G}{\partial y}(x, h(x)) \frac{\partial h}{\partial x}(x) = \frac{dg}{dx}(x) \quad \forall x \in \mathcal{O}_D \tag{50} $$

Evaluating (50) at $x = x_1$, multiplying it by $f(x_1)$ and using (47), (48) we get

$$ D_{\hat{x}_0} \Phi(x_0; \Delta \hat{x}_0) = \frac{\partial G}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \\ - f(g(x_1)) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) \\ + \left\{ \begin{array}{ll} \frac{dg}{dx}(x_1) f(x_1) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) & \text{if } \frac{\partial \omega}{\partial \hat{x}}(x_1, y_1) \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t_1) \Delta \hat{x}_0 \le 0 \\ \left( \frac{dg}{dx}(x_1) f(x_1) + \Lambda_G(x_1) \right) D_{\hat{x}_0} \hat{T}(x_0; \Delta \hat{x}_0) & \text{otherwise} \end{array} \right. \tag{51} $$

Injecting (21) we get the desired result (46). ■

is solution to

$$ \dot{\theta} = \frac{\partial F}{\partial \hat{x}}(\Psi_F(x_0, 0, t), y(t))\theta, \quad \theta(0) = \Delta \hat{x}_0 $$

as long as $\Psi_F(x_0, 0, t)$ is defined. Consider then the hybrid system (17) initialized at $(x_0, \Delta \hat{x}_0)$, with $M_{\text{before}}$ and $M_{\text{after}}$ defined in (18). Its solutions $(x, \theta)$ are defined on $\text{dom } x$, with $x$ coinciding with the system solution considered above and

$$ \theta(t, 0) = \frac{\partial \Psi_F}{\partial \hat{x}_0}(x_0, 0, t) \Delta \hat{x}_0 \quad \forall t \in [0, t_1]. $$

From (46), notice also that

$$ \theta(t_1, 1) = D_{\hat{x}_0} \Phi(x_0; \Delta \hat{x}_0) $$
locally quantifying the error propagation through the first flow interval and first jump. By recursion, we deduce that $\theta$ should approximate at the first order, how a sufficiently small initial observer error $\Delta\hat{x}_0 = \hat{x}_0 - x_0$ propagates along the solution $x$. We would like to design the observer so that $\theta$ in (17) asymptotically converges to zero along the solutions $x$ to (1) of interest.

## B. Observer design

From the computations of this paper, it is natural to aim at designing the observer so that (i) Assumptions 3 and 4 hold, (ii) $\theta$ in (17) asymptotically converges to zero along the solutions of interest. Since the dynamics of $\theta$ are linear, similarly to [3], [16], a way to guarantee the latter is for instance to ensure there is a metric $P \in \mathbb{R}^{n_x} \times \mathbb{R}^{n_x}$ and scalars $a_c, a_d \in \mathbb{R} \times \mathbb{R}_{>0}$ such that

$$ \frac{\partial F}{\partial \hat{x}}(x, h(x))^{\top} P + P \frac{\partial F}{\partial \hat{x}}(x, h(x)) \leq a_c P \quad \forall x \in C \cap \mathcal{X} \qquad (53a) $$

$$ M_{\text{before}}(x)^{\top} P M_{\text{before}}(x) \leq a_d P \quad \forall x \in D \cap \mathcal{X} \qquad (53b) $$

$$ M_{\text{after}}(x)^{\top} P M_{\text{after}}(x) \leq a_d P \quad \forall x \in D \cap \mathcal{X} \qquad (53c) $$

$$ a_c \tau + \ln a_d < 0 \quad \forall \tau \in \mathcal{I} \qquad (53d) $$

where $\mathcal{I}$ gathers all the possible lengths of flow intervals in the solutions of interest. Indeed, $\theta^{\top} P \theta$ can then be shown to decrease exponentially along solutions. But similarly to [3], alternative designs exist when assumptions are made on the time domain of the system solutions:

* in presence of dwell-time and differential observability of the pair $(f, h)$, a high-gain design of $F$ typically allows to make $a_c$ arbitrarily negative, while $G$ is chosen equal to $g$ without correction term. In this case, $M_{\text{before}}(x) = M_{\text{after}}(x)$ and thus $a_d$ depends on the Lipschitz constant of $g$ and $\omega$ on $\mathcal{X}$, the bound of $f$ on $\mathcal{X}$ as well as the lower-bound on transversality (5). Those are compensated by pushing $a_c$ sufficiently fast, leading in fact to a design similar to [4], [5].

* in presence of persistent jumps with bounded flow lengths, one can instead seek to ensure contraction of an equivalent discrete-time system, featuring the possible combinations of flows and jumps.

For instance, if system (1) has linear maps of the form $f(x) = A_c x + B_c$, $g(x) = A_d x + B_d$, $h(x) = Hx$ and $\omega(x) = a_{\omega}^{\top} x + b_{\omega}$, one may look for linear gains $L_c, L_d, K$ in $\mathbb{R}^{n_x \times n_y}$, with $\hat{D}$ as in (10) and

$$ F(\hat{x}, y) = A_c \hat{x} + B_c - L_c(H\hat{x} - y) \qquad (54a) $$

$$ G(\hat{x}, y) = A_d \hat{x} + B_d - L_d(H\hat{x} - y) \qquad (54b) $$

such that

$$ \left\{ \begin{array}{l} \dot{\theta} = (A_c - L_c H)\theta \\ \theta^+ \in \left\{ \begin{array}{ll} M_{\text{before}}(x)\theta & \text{if } a_{\omega}^{\top}(I_{n_x} - KH)\theta \le 0 \\ M_{\text{after}}(x)\theta & \text{if } a_{\omega}^{\top}(I_{n_x} - KH)\theta > 0 \end{array} \right. \end{array} \right. \qquad (55) $$

with $M_{\text{before}}$ and $M_{\text{after}}$ defined in (18), asymptotically converges to zero on the time domains of the system solutions of interest. For instance, in case of persistent jumps, one may try to ensure uniform contraction of $M_{\text{before}}(x) \exp((A_c - L_c H)\tau)$ and $M_{\text{after}}(x) \exp((A_c - L_c H)\tau)$, with $\tau \in \mathcal{I}$, where $\mathcal{I}$ gathers all the possible lengths of flow intervals in the solutions of interest. This can be done by looking for $P \in \mathbb{R}^{n_x \times n_x}$ positive such that for all $x \in \mathcal{X} \cap \mathcal{D}$ and all $\tau \in \mathcal{I}$,

$$ M_{\text{b,a}}(x, \tau)^{\top} P M_{\text{b,a}}(x, \tau) < P \qquad (56a) $$

where $b,a = \text{before, after}$; and in each case

$$ M_{\text{b,a}}(x, \tau) = M_{\text{b,a}}(x) \exp((A_c - L_c H)\tau) \qquad (56b) $$

as in [3] or through matrix metrics as in [6].

We next illustrate the local convergence of the observer when all the conditions are satisfied, but more importantly, the critical importance of taking into account the modified transversality condition (8), as well as both $M_{\text{before}}$ and $M_{\text{after}}$ in the design of the observer. To highlight even more this importance, we choose an extremely simple example, namely a periodic solution of an ideal bouncing ball.

## C. Example : Ideal Bouncing ball

The ideal bouncing ball is a special case of system (12) with $a_d = 0, \mu = 0, e = 1$. We pick $x_0 = (5, 2)$ and consider an observer with linear correction terms (54). We first choose $K = 0$ for which the transversality condition (8) holds as seen in Example 1.

We start by showing the importance of taking into account the asynchronism of system and observer jumps in the choice of gains ($L_c, L_d$). Since the ideal ball is periodic, it is enough to check (56) for $\tau_1 \approx 2$, $x \approx (0, -10)^{\top}$. In the case of known jump times, the observer jumps could be triggered at the same time as those of the system, leading to a (global) error system (55) with $M_{\text{before}} = M_{\text{after}} = A_d - L_d H$. Then, (56) could be solved with $L_c = 0$ through LMIs as done in [3]. The convergence of the corresponding synchronized observer is illustrated in Figure 1. However, this figure shows that the same gains no longer work in the non-synchronized setting of this paper (even for arbitrarily small initial errors) because of the new terms appearing in $M_{\text{before}}$ and $M_{\text{after}}$.

We now want to highlight the importance of both saltation matrices. Figure 2 shows that by satisfying (56a) for $M_{\text{before}}$ only and with an unstable $M_{\text{after}}$, convergence is ensured only as long as the observer jumps
<figure><img src="image_1.png" /><figcaption>Fig. 1: Behavior of observer with $L_c = [0, 0]^{\top}$, $L_d = [1, -0.392]^{\top}$ in case of known or unknown jump times</figcaption></figure>

<figure><img src="image_2.png" /><figcaption>Fig. 2: Norm of estimation error over time with gains $L_d = [0.1, 0.1]^{\top}$, $L_c \in \{[0.1, 0.25]^{\top}, [0.8, 0.6]^{\top}\}$ chosen such that $M_{\text{before}}(x_1, \tau_1)$ is stable and $M_{\text{after}}(x_1, \tau_1)$ is either stable or unstable. In red, the observer jumps before the system up to $t \approx 50$ and then jumps after.</figcaption></figure>

before the system. On the contrary, if (56a) holds, then local convergence is ensured.

Finally, we consider $K = (3, 0)^{\top}$ for which the transversality condition (8) is not satisfied. Figure 3 shows that, even with highly contracting flow gains (that ensure convergence for $K = 0$) and for arbitrarily small initial errors, the observer does not converge asymptotically. Intuitively, this is because the observer “misses the jump”, and tries (but never manages) to converge to the system by flow only (assimilating the jump to an unmodeled perturbation). All figures have been created using the Matlab HyEQ toolbox [17] and can be reproduced on https://github.com/valleaeume/Saltation_Observer.

## V. CONCLUSION

In this paper we show that designing an observer for hybrid systems with unknown jump times and continuous output should be done with care regarding transversality of the observer but also stability of two matrices. One

<figure><img src="image_3.png" /><figcaption>Fig. 3: Example of non transverse design with $L_c = [10, 25]^{\top}$, $L_d = [0, 0]^{\top}$, $\|\hat{x}_0 - x_0\| \le 6.10^{-2}$</figcaption></figure>

of these matrices corresponds to the classical saltation matrix, whose importance has already been identified in the literature, while the other takes into account the mismatch of the output time derivatives before/after each jump. We derive sufficient conditions for the error to decrease over one flow-jump cycle and illustrate them on different simulations. Future work includes proving local asymptotic stability of the observer.

## APPENDIX

Consider a $t$-complete solution $(t, j) \mapsto x(t, j)$ to (1) with output $t \mapsto y(t)$ which is a continuous-time signal according to (1b). From (6), it is also solution to the observer (2) fed with $y$. Therefore, studying the local propagation of an estimation error comes back to studying the evolution of the distance between the nominal solution $x$ to the time-varying hybrid system (2) fed by $y$, and neighbor solutions $(t, j) \mapsto \hat{x}(t, j)$ with sufficiently small initial error $\Delta x_0 := \hat{x}(0, 0) - x(0, 0)$. It follows that the computations of [11] can be reproduced, but taking into account the non-differentiability of the dynamics with respect to time, due to $y$ being only $PC^1$. We thus analyze the first-order propagation of the estimation error $\hat{x} - x$ around a jump time and show we recover the expressions of (i) the first-order approximation of the observer jump time given by (21), and (ii) the first-order approximation of the estimation error after both the system and observer jumps given by (46).

### A. Quantifying the jump time mismatch

Assume that $t \mapsto x(t, 0)$ reaches $\mathcal{D}$ and jumps at time $t_1$, while a neighbor solution $t \mapsto \hat{x}(t, 0)$ reaches $\hat{\mathcal{D}}$ and jumps at time $\hat{t}_1$. Note that the existence of $\hat{t}_1$ close to $t_1$ is guaranteed for a sufficiently small initial error $\Delta x_0$ by Lemma 1, with $t_1 = \hat{T}(x(0, 0))$ and $\hat{t}_1 = \hat{T}(\hat{x}(0, 0))$. Besides, $\hat{T}$ being $PC^1$, we know that $\Delta t := \hat{t}_1 - t_1$ goes to zero when $\Delta x_0$ goes to zero.

We would like to find a first order approximation of $\Delta t$ as a function of the estimation error prior to any jump. To do so we use the little-o notation. As in [11], we distinguish two cases, depending on which solution
jumps first. But contrary to [11], we show here that the expression of $\Delta t := \hat{t}_1 - t_1$ differ in both cases, due to the non-differentiability of $y$ at time $t_1$.

1) Case 1: observer jumps after system: To ease the notations, denote the estimation before and after each jump time as

$$
\begin{align*}
\Delta x(\hat{t}_1^-) &= \hat{x}(t_1, 0) - x(t_1, 0) \\
\Delta x(\hat{t}_1^+) &= \hat{x}(t_1, 0) - x(t_1, 1) \\
\Delta x(\hat{t}_1^-) &= \hat{x}(\hat{t}_1, 0) - x(\hat{t}_1, 1) \\
\Delta x(\hat{t}_1^+) &= \hat{x}(\hat{t}_1, 1) - x(\hat{t}_1, 1)
\end{align*}
$$

We would like to express $\Delta t$ as a function of the estimation at the first jump, i.e., $\Delta x(t_1^-)$, with everything expressed in terms of the system value before its jump $x(t_1, 0)$. Note that because $\Delta x(t_1^-) = \Psi_F(\hat{x}(0, 0), 0, t_1) - \Psi_F(x(0, 0), 0, t_1)$, we know by differentiability of $\Psi_F$ that $\Delta x(t_1^-)$ goes to zero when $\Delta x_0$ goes to zero, and gives, using the little-o notation,

$$
\Delta x(t_1^-) = \frac{\partial \Psi_F}{\partial \hat{x}_0}(x(0,0), 0, t_1) \Delta x_0 + o(\Delta x_0). \quad (57)
$$

By definition of the guards, we have

$$
\omega(x(t_1, 0)) = \hat{\omega}(x(t_1, 0), y(t_1)) = 0
$$

and

$$
\hat{\omega}(\hat{x}(t_1, 0), y(t_1)) = 0
$$

Since $\hat{x}$ flows with $F$ between times $t_1$ and $\hat{t}_1$, and recalling that both $\Delta t$ and $\Delta x(t_1^-)$ go to zero when $\Delta x_0$ goes, we have

$$
\begin{align*}
\hat{x}(\hat{t}_1, 0) &= \hat{x}(t_1, 0) + F(\hat{x}(t_1, 0), y(t_1))\Delta t + o(\Delta x_0) \\
&= x(t_1, 0) + \Delta x(t_1^-) \\
&\quad + F(x(t_1, 0) + \Delta x(t_1^-), y(t_1))\Delta t + o(\Delta x_0) \\
&= x(t_1, 0) + \Delta x(t_1^-) + F(x(t_1, 0), y(t_1))\Delta t + o(\Delta x_0) \\
&= x(t_1, 0) + \Delta x(t_1^-) + f(x(t_1, 0))\Delta t + o(\Delta x_0) \quad (58)
\end{align*}
$$

On the other hand, by continuous-differentiability of $t \mapsto y(t)$ on $[t_1, \hat{t}_1]$,

$$
y(\hat{t}_1) = y(t_1) + \dot{y}(t_1^+) \Delta t + o(\Delta x_0) \quad (59)
$$

where $\dot{y}(t_1^+)$ is the right-derivative of $y$ at time $t_1$.

Then, by continuous-differentiability of $\hat{\omega}$,

$$
\begin{align*}
0 &= \hat{\omega}(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1)) \\
&= \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1)) \Delta x(t_1^-) \\
&\quad + \left[ \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1)) f(x(t_1, 0)) \right. \\
&\qquad \left. + \frac{\partial \hat{\omega}}{\partial y}(x(t_1, 0), y(t_1)) \dot{y}(t_1^+) \right] \Delta t + o(\Delta x_0) \tag{60}
\end{align*}
$$

Since $y(t) = h(x(t, 1))$ for $t \ge t_1$, we have

$$
\dot{y}(t_1^+) = \frac{\partial h}{\partial x}(x(t_1, 1)) f(x(t_1, 1)) = \mathcal{L}_f h(g(x(t_1, 0))) \quad (61a)
$$

while $y(t) = h(x(t, 0))$ for $t \le t_1$, so that

$$
\dot{y}(\hat{t}_1^-) = \frac{\partial h}{\partial x}(x(t_1, 0)) f(x(t_1, 0)) = \mathcal{L}_f h(x(t_1, 0)). \quad (61b)
$$

so that, (60) rewrites as

$$
\begin{align}
0 ={}& \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1)) \Delta x(\hat{t}_1^-) \nonumber \\
     & + \left[ \frac{d\omega}{dx}(x(t_1, 0)) f(x(t_1, 0)) \right. \nonumber \\
     & \qquad \left. + \frac{\partial \hat{\omega}}{\partial y}(x(t_1, 0), y(t_1)) (\dot{y}(\hat{t}_1^+) - \dot{y}(\hat{t}_1^-)) \right] \Delta t + o(\Delta x_0). \tag{62}
\end{align}
$$

According to (8) and (61), the term multiplying $\Delta t$ is negative and we finally deduce

$$
\Delta t = - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))}{\frac{\partial \omega}{\partial x}(x(t_1, 0)) f(x(t_1, 0)) + \Lambda_{\hat{\omega}}(x(t_1, 0))} \Delta x(t_1^-) \\
\qquad + o(\Delta x_0) \quad (63)
$$

Combining with (57), we recover the second case of (21).

Remark 1: If the time dependence of $F$ and $G$ through $t \mapsto y(t)$ had been $C^1$, we would have been able to apply the results of [11] off-the-shelf and obtained

$$
\Delta t = - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1)}{\frac{\partial \omega}{\partial \hat{x}}(x_1, y_1) f(x_1) + \frac{\partial \hat{\omega}}{\partial y}(x_1, y_1) \dot{y}(t_1)} \Delta x(t_1^-) + o(\Delta x_0).
$$

denoting $x_1 = x(t_1, 0)$ and $y_1 = y(t_1)$, which would have given

$$
\Delta t = - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))}{\frac{d\omega}{dx}(x(t_1, 0))f(x(t_1, 0))} \Delta x(t_1^-) + o(\Delta x_0)
$$

thanks to (24), if we had had $\dot{y}(t_1) = \mathcal{L}_f h(x(t_1, 0))$. In (70), an extra term is present due to the mismatch $\dot{y}(t_1^+) - \dot{y}(t_1^-)$.

2) Case 2 : observer jumps before system: In this case, we denote

$$
\begin{align*}
\Delta x(\hat{t}_1^-) &= \hat{x}(\hat{t}_1, 0) - x(\hat{t}_1, 0) \\
\Delta x(\hat{t}_1^+) &= \hat{x}(\hat{t}_1, 1) - x(\hat{t}_1, 0) \\
\Delta x(t_1^-) &= \hat{x}(t_1, 1) - x(t_1, 0) \\
\Delta x(t_1^+) &= \hat{x}(t_1, 1) - x(t_1, 1)
\end{align*}
$$

We would like to express $\Delta t$ as a function of the estimation error at the first jump, which is this time $\Delta x(\hat{t}_1^-)$. Because $\Delta x(\hat{t}_1^-) = \Psi_F(\hat{x}(0, 0), 0, \hat{t}_1) - \Psi_F(x(0, 0), 0, \hat{t}_1)$, we know by differentiability of $\Psi_F$ that $\Delta x(\hat{t}_1^-)$ goes to zero when $\Delta x_0$ goes to zero, and more precisely

$$
\begin{align*}
\Delta x(\hat{t}_1^-) &= \Psi_F(\hat{x}(0, 0), 0, t_1 + \Delta t) - \Psi_F(x(0, 0), 0, t_1 + \Delta t) \\
&= \frac{\partial \Psi_F}{\partial \hat{x}_0}(x(0, 0), 0, t_1 + \Delta t) \Delta x_0 + o(\Delta x_0) \\
&= \frac{\partial \Psi_F}{\partial \hat{x}_0}(x(0, 0), 0, t_1) \Delta x_0 + o(\Delta x_0) \tag{64}
\end{align*}
$$

where we used the continuity of $t \mapsto \frac{\partial \Psi_F}{\partial \hat{x}_0}(x(0, 0), 0, t)$ and the fact that $\Delta t$ goes to zero when $\Delta x_0$ goes to zero.
By definition of the guards, we still have

$$\omega(x(t_1, 0)) = \hat{\omega}(x(t_1, 0), y(t_1)) = 0$$

and

$$\hat{\omega}(\hat{x}(t_1, 0), y(\hat{t}_1)) = 0$$

Since the system flows between times $\hat{t}_1$ and $t_1$, we have

$$x(\hat{t}_1, 0) = x(t_1, 0) + f(x(t_1, 0))\Delta t + o(\Delta x_0)$$

with $\Delta t < 0$, and on the observer side,

$$\begin{aligned} \hat{x}(\hat{t}_1, 0) &= x(\hat{t}_1, 0) + \Delta x(\hat{t}_1^{-}) \\ &= x(t_1, 0) + \Delta x(\hat{t}_1^{-}) + f(x(t_1, 0))\Delta t + o(\Delta x_0). \end{aligned} \quad (65)$$

On the other hand, by continuous differentiability of $t \mapsto y(t)$ on $[\hat{t}_1, t_1]$,

$$y(\hat{t}_1) = y(t_1) + \dot{y}(\hat{t}_1^{-})\Delta t + o(\Delta x_0) \quad (66)$$

Then, by continuous-differentiability of $\hat{\omega}$,

$$\begin{aligned} 0 &= \hat{\omega}(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1)) \\ &= \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))\Delta x(\hat{t}_1^{-}) \\ &\quad + \left[ \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))f(x(t_1, 0)) + \frac{\partial \hat{\omega}}{\partial y}(x(t_1, 0), y(t_1))\dot{y}(\hat{t}_1^{-}) \right] \Delta t + o(\Delta x_0) \end{aligned} \quad (67)$$

Notice that we recover (60), but with $\dot{y}(\hat{t}_1^{-})$ in place of $\dot{y}(\hat{t}_1^{-})$. Using (24) and (61b), (68) reduces this time to

$$\begin{aligned} 0 &= \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))\Delta x(\hat{t}_1^{-}) \\ &\quad + \left[ \frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))f(x(t_1, 0)) \right] \Delta t + o(\Delta x_0) \end{aligned} \quad (69)$$

so that, according to (5), we finally obtain

$$\Delta t = - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x(t_1, 0), y(t_1))}{\frac{\partial \omega}{\partial x}(x(t_1, 0))f(x(t_1, 0))} \Delta x(\hat{t}_1^{-}) + o(\Delta x_0). \quad (70)$$

Combining with (64), we recover the second case of (21).

**Remark 2:** If the time dependence of $F$ and $G$ through $t \mapsto y(t)$ had been $C^1$, we would have been able to apply the results of [11] off-the-shelf and obtained

$$\Delta t = - \frac{\frac{\partial \hat{\omega}}{\partial \hat{x}}(x_1, y_1)}{\frac{\partial \omega}{\partial x}(x_1, y_1)f(x_1) + \frac{\partial \hat{\omega}}{\partial y}(x_1, y_1)\dot{y}(t_1)} \Delta x(\hat{t}_1^{-}) + o(\Delta x_0). \Delta x(\hat{t}_1^{+}) = \Psi_F(G(\Psi_F(x(0, 0) + \Delta x_0, 0, t_1 + \Delta t), y(t_1 + \Delta t)), t_1 + \Delta t, t_1) - G(\Psi_F(x(0, 0), 0, t_1), y(t_1)) \quad (72)$$

denoting $x_1 = x(t_1, 0)$ and $y_1 = y(t_1)$, which coincides with (70) when $\dot{y}(t_1) = \mathcal{L}_f h(x(t_1, 0))$ and using (24).

## B. Evolution of the error through a jump time mismatch

**1) Observer jumps after system:** We would now like to relate the final error $\Delta x(\hat{t}_1^+)$ to the initial one $\Delta x(\hat{t}_1^-)$, with everything expressed in terms of the system value before its jump $x(t_1, 0)$.

Using (58), (59), the differentiability of $G$ and the fact that

$$\hat{x}(\hat{t}_1, 1) = G(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1))$$

we get

$$\begin{aligned} \hat{x}(\hat{t}_1, 1) &= G(x(t_1, 0), y(t_1)) \\ &\quad + \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1)) [\Delta x(\hat{t}_1^{-}) + f(x(t_1, 0))\Delta t] \\ &\quad + \frac{\partial G}{\partial y}(x(t_1, 0), y(t_1))\dot{y}(\hat{t}_1^{+})\Delta t + o(\Delta x(\hat{t}_1^{-})) \\ &= g(x(t_1, 0)) \\ &\quad + \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1)) [\Delta x(\hat{t}_1^{-}) + f(x(t_1, 0))\Delta t] \\ &\quad + \frac{\partial G}{\partial y}(x(t_1, 0), y(t_1))\dot{y}(\hat{t}_1^{+})\Delta t + o(\Delta x(\hat{t}_1^{-})) \\ &= g(x(t_1, 0)) + \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1))\Delta x(\hat{t}_1^{-}) + o(\Delta x(\hat{t}_1^{-})) \\ &\quad + \left[ \frac{dg}{dx}(x(t_1, 0))f(x(t_1, 0)) + \frac{\partial G}{\partial y}(x(t_1, 0), y(t_1)) (\dot{y}(\hat{t}_1^{+}) - \dot{y}(\hat{t}_1^{-})) \right] \Delta t \\ &\quad + o(\Delta x(\hat{t}_1^{-})) \end{aligned}$$

where we used (61a) and (50).

On the other hand,

$$x(\hat{t}_1, 1) = g(x(t_1, 0)) + f(g(x(t_1, 0)))\Delta t + o(\Delta x(\hat{t}_1^{-}))$$

so that we finally get

$$\begin{aligned} \Delta x(\hat{t}_1^{+}) = & \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1))\Delta x(\hat{t}_1^{-}) \\ & + \left[ \frac{dg}{dx}(x(t_1, 0))f(x(t_1, 0)) - f(g(x(t_1, 0))) \right. \\ & \left. + \frac{\partial G}{\partial y}(x(t_1, 0), y(t_1)) (\dot{y}(\hat{t}_1^{+}) - \dot{y}(\hat{t}_1^{-})) \right] \Delta t \\ & + o(\Delta x(\hat{t}_1^{-})) \end{aligned}$$

Replacing $\Delta t$ by its expression (63) and using (61), we obtain that

$$\Delta x(\hat{t}_1^{+}) = M_{\text{after}}(x(t_1, 0))\Delta x(\hat{t}_1^{-}) + o(\Delta x(\hat{t}_1^{-})) \quad (71)$$

with $M_{\text{after}}$ defined in (18b).

**2) Observer jumps before system:** We would like to relate the final error $\Delta x(\hat{t}_1^+)$ to the initial one $\Delta x(\hat{t}_1^-)$, with everything expressed in terms of the system value before its jump $x(t_1, 0)$.

First, note that

tends to zero when $\Delta x_0$ tends to zero, by continuity of $G$ and $\Psi_F$.
Because the observer flows with $F$ between times $\hat{t}_1$ and $t_1$, starting from its value after its jump $G(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1))$, we have

$$ 
\begin{aligned}
\hat{x}(t_1, 1) &= G(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1)) \\
&\quad - F(\hat{x}(t_1, 1), y(t_1))\Delta t + o(\Delta x_0) \\
&= G(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1)) \\
&\quad - F(x(t_1, 1), y(t_1))\Delta t + o(\Delta x_0) \\
&= G(\hat{x}(\hat{t}_1, 0), y(\hat{t}_1)) \\
&\quad - f(g(x(t_1, 0)))\Delta t + o(\Delta x_0)
\end{aligned}
$$

where we used $x(t_1, 1) = g(x(t_1, 0))$, as well as the continuity of $x \mapsto F(x, y(t_1))$ and the fact that both $\Delta x(t_1^+)$ and $\Delta t$ tend to zero when $\Delta x_0$ does. By continuous differentiability of $G$,

$$ 
\begin{aligned}
\hat{x}(t_1, 1) &= G(x(t_1, 0), y(t_1)) \\
&\quad + \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1)) [\Delta x(\hat{t}_1^-) + f(x(t_1, 0))\Delta t] \\
&\quad + \frac{\partial G}{\partial y}(x(t_1, 0), y(t_1)) \dot{y}(\hat{t}_1^-) \Delta t - f(g(x(t_1, 0)))\Delta t \\
&\quad + o(\Delta x(\hat{t}_1^-)) \\
&= g(x(t_1, 0)) + \frac{\partial G}{\partial \hat{x}}(x(t_1, 0), y(t_1)) \Delta x(\hat{t}_1^-) \\
&\quad + \frac{dg}{dx}(x(t_1, 0)f(x(t_1, 0))\Delta t - f(g(x(t_1, 0)))\Delta t) \\
&\quad + o(\Delta x(\hat{t}_1^-))
\end{aligned}
$$

where we used (65) and (66) in the first equality and (61b) and (50) in the second.

Replacing $\Delta t$ by its expression (70), we obtain that

$$ \Delta x(t_1^+) = M_{\text{before}}(x(t_1, 0))\Delta x(\hat{t}_1^-) + o(\Delta x(\hat{t}_1^-)) \quad (73) $$

with $M_{\text{before}}$ defined in (18a).

## REFERENCES

[1] A. Balluchi, L. Benvenutia, M. D. Di Benedetto, and A. Sangiovanni-Vincentelli. The Design of Dynamical Observers for Hybrid Systems: Theory and Application to an Automotive Control Problem. Automatica, 49(4):915-925, 2013.

[2] P. Bernard and R. Sanfelice. On Notions of Detectability and Observers for Hybrid Systems. IEEE Conference on Decision and Control, pages 5767-5772, 2020.

[3] P. Bernard and R. Sanfelice. Observer design for hybrid dynamical systems with approximately known jump times. Automatica, 141, 2022.

[4] P. Bernard and R. G. Sanfelice. A Local Hybrid Observer for a Class of Hybrid Dynamical Systems with Linear Maps and Unknown Jump Times. In 2021 60th IEEE Conference on Decision and Control (CDC), pages 5362-5367, 2021.

[5] P. Bernard and R. G Sanfelice. Semiglobal High-Gain Hybrid Observer for a Class of Hybrid Dynamical Systems with Unknown Jump Times. IEEE Transactions on Automatic Control, 69(9):5804-5819, 2024.

[6] S. A. Burden and S. D. Coogan. On Infinitesimal Contraction Analysis for Hybrid Systems. In IEEE Conference on Decision and Control, pages 1980-1985, 2022.

[7] F. Forni, A. R. Teel, and L. Zaccarian. Follow the bouncing ball: global results on tracking and state estimation with impacts. IEEE Transactions on Automatic Control, 58(6):1470-1485, 2013.

[8] R. Goebel, R. G. Sanfelice, and A. R. Teel. Hybrid Dynamical Systems: Modeling Stability, and Robustness. Princeton University Press Princeton, NJ, 2012.

[9] J. K. Hale. Ordinary Differential Equations. Courier Corporation, 2009.

[10] Jisu K., Hyungbo S., and Jin Heon S. State Estimation and Tracking Control for Hybrid Systems by Gluing the Domains. IEEE Transactions on Automatic Control, 64(7):3026-3033, 2019.

[11] N. J. Kong, J. J. Payne, J. Zhu, and A. M. Johnson. Saltation matrices: The essential tool for linearizing hybrid dynamical systems. Proceedings of the IEEE, 112(6):585-608, 2024.

[12] N. J. Kong, J. J. Payne, G. Council, and A. M. Johnson. The Salted Kalman Filter: Kalman Filtering on Hybrid Dynamical Systems. Automatica, 131:109752, 2021.

[13] L. Menini and A. Tornambè. State Immersion Observers for Mechanical Systems with Impacts. IEEE Conference on Decision and Control, pages 7117-7122, 2016.

[14] Z. Ping, C. Lee, and H. Shim. Robust Estimation Algorithm for both Switching Signal and State of Switched Linear Systems. Int. Journal of Control, Automation and Systems, 15(1):95-103, 2017.

[15] P. V. Preiswerk and R. I. Leine. State Observers for the Time Discretization of a Class of Impulsive Mechanical Systems. International Journal of Robust and Nonlinear Control, 32(12):6667-6683, 2022.

[16] H. Ríos, Jorge Dávila, and A. R. Teel. State Estimation for Linear Hybrid Systems with Periodic Jumps and Unknown Inputs. International Journal of Robust and Nonlinear Control, 30(15):5966-5988, 2020.

[17] R. Sanfelice, D. Copp, and P. Nanez. A toolbox for simulation of hybrid systems in matlab/simulink. In Proceedings of the 16th international conference on Hybrid systems: computation and control - HSCC '13. ACM Press, 2013.

[18] S. Scholtes. Introduction to Piecewise Differentiable Equations. SpringerBriefs in Optimization. Springer New York, 2012.

[19] S. C. Shankar, G. Yang, and J. P. Hespanha. State Estimation for Asynchronously Switched Sampled-Data Systems. In IEEE Conference on Decision and Control, pages 1-7, 2022.

[20] G. Q. B. Tran. Observer Design for Hybrid Systems. Ph.d. thesis, Mines Paris - PSL, November 2024.

[21] G. Q. B. Tran, S. Garcia, P. Bernard, R. G. Sanfelice, and F. Di Meglio. Towards Gluing KKL Observer for Hybrid Systems with Unknown Jump Times. IEEE Conference on Decision and Control, pages 7092-7097, 2024.

[22] W. Xiang, J. Xiao, and M. N. Iqbal. Robust Observer Design for Nonlinear Uncertain Switched Systems under Asynchronous Switching. Nonlinear Analysis: Hybrid Systems., 6(1):754-773, 2012.