# Event-Triggered Pose Estimation of a Unicycle Mobile Robot

Denis Efimov, Shiyu Liu, Mata Khalili

***Abstract***— This work introduces an event-triggered method for data exchange between sensors and a localization system for pose estimation, optimizing both sensor data transmission and the delivery of pose information to the control unit of an autonomous unicycle mobile robot. The proposed approach guarantees a desired quality of pose estimation under constrained computational or communication resources, which is critical for maintaining the safety, stability, and performance of the robot. The effectiveness of the proposed method was validated through implementation on a physical testbed in a real-world environment.

***Keywords***—Networked Robots, Localization, Wheeled Robots, Event-Triggered State Estimation, Observers

## I. INTRODUCTION

Mobile robotics has numerous applications nowadays, relying on the sequential use of localization, path-planning, and control navigation algorithms [1]. In conventional methods, sensor data for mobile robot pose estimation is acquired and processed at fixed, periodic intervals, either by the robot itself or through a remote computer.

The frequency of the localization process is typically determined by several factors, including the mobile device's velocity, the dynamic nature of its operational environment, sensor characteristics, and the specific localization and positioning algorithms used. When pose estimation algorithms are time- and energy-consuming, or if onboard computational power is limited, it becomes more efficient to offload the data to the cloud for processing. This not only enhances the robot's autonomy but also enables the use of centralized data fusion, path-planning, and collision avoidance algorithms for multiple robots.

However, state estimation for a dynamic system over a communication channel introduces significant challenges. When sensor data is transmitted over a network to a remote decoder or observer, issues such as network-induced delays, packet loss, and increased demands on computational and communication resources can hinder performance in networked control systems [2].

To address these challenges, a promising solution is to shift from periodic data exchange, between the sensor and the localization system, to an event-triggered approach. In this method, sensor data transfer occurs only when specific conditions are met, indicating that new information is required to maintain the desired accuracy in the robot's localization and control.

In the context of mobile robots, observer-based event-triggered state estimation has been proposed as an effective strategy. For instance, the study in [3] introduces a triggering mechanism based on the estimation error covariance matrix of an Unscented Kalman Filter (UKF) to determine when sensor measurements should be requested. However, a significant limitation of applying nonlinear Kalman filters lies in their reliance on an approximated covariance matrix, which can compromise the accuracy of event-based state estimation and, consequently, degrade overall system performance.

Similarly, the work in [4] presents an event-triggered approach for cooperative localization using an Extended Kalman Filter (EKF) tailored for mobile robots. This method employs an event-driven data transmission mechanism, wherein sensor data is transmitted only when the deviation between the most recently transmitted measurement and the current measurement exceeds a predefined threshold. Despite its advantages, the EKF faces inherent limitations, including suboptimal performance under high nonlinearity and significant computational demands.

Building on this concept, we introduce an event-triggered pose estimation framework for a unicycle mobile robot. This framework, grounded in Lyapunov analysis and developed from a navigation and control perspective, is designed to minimize sensor data transmission to the localization processing unit. The localization computation can either be embedded within the device or executed in the cloud, as in cloud-based localization systems. Our approach is demonstrated using LiDAR-based localization with the method presented in [5], but unlike conventional methods, it does not rely on periodic execution of the localization algorithm.

In contrast to [3] and [4], our method incorporates an internal model accessible to both the localization system and the sensor data collection unit. In the context of network-controlled mobile devices, this internal model is shared between the cloud and the robot, enabling both entities to maintain a more accurate estimate of the mobile device's pose even when no event-triggered updates occur—that is, when no new sensor data is transmitted for localization.

The remainder of this paper is organized as follows: Section II defines the problem statement, outlining the key challenges and objectives addressed in this study. Section III details the design of the event-triggered pose estimation framework for a unicycle mobile robot, leveraging its internal dynamic model. Section IV presents the experimental validation of the proposed method through implementation on a physical robot, highlighting its effectiveness and performance.

<footnote>Efimov is with Inria, University of Lille, CNRS, UMR 9189 - CRISTAL, F-59000 Lille, France. Khalili is with Nokia Bell Labs, 91300 Massy, France. The work was conducted when Liu was at Nokia Bell Labs. (email: denis.efimov@inria.fr, shiyu.liu27@outlook.com, mata.khalili@nokia-bell-labs.com)</footnote>
## Notation

* Denote by $\mathbb{R}$ and $\mathbb{Z}$ the set of real and integer numbers respectively, $\mathbb{Z}_+ = \{j \in \mathbb{Z}: j \ge 0\}$.

* The symbol $| \cdot |$ is used to denote the absolute value of a real, while $|| \cdot ||$ for the Euclidean norm of a vector.

* The symbols $\vee$ and $\wedge$ are stated for logical “OR” and “AND”.

* The Young's inequality claims that for any $a, b \in \mathbb{R}_+$:

$$ab \le \frac{1}{p}a^p + \frac{p-1}{p}b^{\frac{p}{p-1}}$$

for any $p > 1$.

* The definitions of the used stability properties and notions can be found in [6].

## II. PROBLEM STATEMENT

Consider a mobile robot, whose dynamics can be presented by a disturbed unicycle kinematic model:

$$ 
\begin{aligned}
\dot{x}(t) &= u_1(t)(1 + d_1(t)) \cos(\theta(t)), \\
\dot{y}(t) &= u_1(t)(1 + d_1(t)) \sin(\theta(t)), \\
\dot{\theta}(t) &= u_2(t)(1 + d_2(t)),
\end{aligned}
\quad (1) $$

where $x(t), y(t) \in \mathbb{R}$ determine the robot's position on the plane, and $\theta(t) \in [-\pi, \pi)$ is the heading angle that tabulates the orientation, $X(t) = [x(t), y(t), \theta(t)]^\top$ denotes the state vector of the system (the pose of the robot); $u_1(t) \in [-u_{\max}^1, u_{\max}^1]$, $u_2(t) \in [-u_{\max}^2, u_{\max}^2]$ are bounded controls corresponding to linear and angular velocities, respectively, with $u_{\max}^i > 0$ for $i = 1, 2$ being the known maximal admissible control amplitudes, $U(t) = [u_1(t), u_2(t)]^\top$; $-1 < -d_i^{\max} \le d_i(t) \le d_i^{\max}$ are disturbances for $i = 1, 2$ with known upper bound $d_i^{\max} \in (0, 1)$ (the fact that $d_i^{\max} < 1$ implies that the disturbance cannot change the sign of the velocity $u_i(t)$, and that for $u_i \equiv 0$ the disturbance cannot force the robot to move); $t \ge 0$.

**Remark 1.** A more complex model that includes the dynamics of robot and influence of the environment (mass load, friction characteristics, etc.) can be considered instead of (1) without significantly changing our methodology. However, presenting here the main ideas of the approach, for brevity we prefer to utilize a simple but relevant model (1).

The problem of reconstructing state $X(t)$ is studied in this paper under the restriction that the main localization and estimation algorithms are implemented remotely, in the cloud, and the robot serves as a mobile sensor, that transmits sensor data (e.g., onboard LiDAR, IMU) to a centralized computer, where all measured information is fused and processed, as shown in Fig. 1. The objective is to provide a required quality of the state estimation while minimizing the network load, which can be used in parallel for different objectives and by multiple agents, hence, avoiding the data congestion.

The assumption of remote implementation of the localization procedures does not prevent the application of the

proposed methods in systems equipped with an onboard localization system. In such cases, the approach contributes to reducing the computational load associated with the localization process, thereby decreasing overall energy consumption.

In this study, we introduce two components, $C_1$ and $C_2$, located on the robot and cloud sides, respectively, to facilitate the implementation of the proposed method. A more detailed discussion of these components will be provided later.

In this note we will mainly focus on the networked aspects and communication constraints, and will not consider the estimation algorithms in detail assuming only some of their basic properties. Consequently, we will assume that the pose $X(t)$ is measured directly, while in reality, only part of it is accessible for the explicit assessment, i.e., the plane coordinates $x(t)$ and $y(t)$, then the remaining component $\theta(t)$ is reconstructed using different estimation algorithms. Thus, consider that the following noisy measurements are available in the system with some sampling:

* at the robot side, there is an odometer sensor (e.g., wheel encoders, IMUs) for the state measurement:

$$Y_r(t_{k_r}^r) = X(t_{k_r}^r) + v_r(t_{k_r}^r),$$

this measurement is available to $C_1$ in Fig. 1;

* the onboarded camera or LiDAR-based measurements of the robot, sent by the network and available at the localization system at the cloud side:

$$Y_{c_1}(t_{k_{c_1}}^{c_1}) = X(t_{k_{c_1}}^{c_1} - \tau_u) + v_{c_1}(t_{k_{c_1}}^{c_1}),$$

where $\tau_u > 0$ is the known uplink communication time and the data processing time (which introduce delay). If the localization system is implemented on the robot itself, $\tau_u$ corresponds to the localization process time, and it is also a part of $C_1$ in Fig. 1;

* the optional external sensors, such as environmental cameras, provide independent measurements of the robot's position to the cloud side:

$$Y_{c_2}(t_{k_{c_2}}^{c_2}) = X(t_{k_{c_2}}^{c_2}) + v_{c_2}(t_{k_{c_2}}^{c_2}),$$

this measurement is available to $C_2$ in Fig. 1;

here $v_j(t) \in \mathbb{R}^3$ are the bounded measurement perturbations for $j \in \{r, c_1, c_2\}$, while $t_{k_j}^j, k_j \in \mathbb{Z}_+$ are the instants when the measurements are available for $j \in \{r, c_1, c_2\}$. The perturbations $v_j(t)$ can represent the measurement noise and the errors introduced by the estimation algorithms used. We assume that there exist known bounds $v_j^{\max} > 0$ such that $\|v_j(t)\| \le v_j^{\max}$ for all $t \ge 0$, $j \in \{r, c_1, c_2\}$. Processing the information provided by the odometry sensor typically requires minimal computation, resulting in negligible induced delay, which is therefore omitted in the above discussion. Similarly, for the external cameras treatment in $Y_{c_2}(t)$, the network communications may be avoided, and a, the delay is not introduced (for simplicity). However, due to obligatory network exchanges for the robot's LiDAR or camera measurements, we cannot neglect the delay in $Y_{c_1}(t)$.
<figure><img src="image_1.png" /><figcaption>Fig. 1. Proposed method in the context of a cloud-based localization system</figcaption></figure>

There is another important and the principal difference between the measurements $Y_j(t_k^j)$ for $j \in \{r, c_1, c_2\}$ and $k \in \mathbb{Z}_+$: the robot camera or LiDAR measurements $Y_{c_1}(t_k^{c_1})$ can be obtained for any chosen instant of time $t_k^{c_1} \ge 0$ (the robot can send it if it finds it desirable, or the cloud can request these measurements, then the delay $\tau_u$ accounts for the time needed for all these communications), but the instants of measurements for other outputs, $t_k^r$ and $t_k^{c_2}$, cannot be arbitrary. Indeed, the odometry sensor has a growing with time error that requires a periodical resetting based on additional (camera or LiDAR) measurements, and to guarantee that $\|v_r(t)\| \le v_r^{\max}$ with a reasonable accuracy $v_r^{\max}$, we can use this sensor only at the time instants that are close to the communication of the real position from the cloud (i.e., we assume that the odometry sensor is reset following the measurement $Y_{c_1}(t_k^{c_1})$). The external camera information $Y_{c_2}(t_k^{c_2})$, also with a reasonable accuracy $v_{c_2}^{\max}$, may be available not everywhere but at specific locations of the robot when it passes close enough to the fixed cameras' positions. Therefore, the main source of information about the robot's pose is $Y_{c_1}(t_k^{c_1})$, but the price for its use is the excessive load on the network and computational resources, which we would like to avoid.

Based on the features of the studied setup, and given a threshold $\Delta > 0$, our goal is to construct a networked estimation scheme that using $Y_j(t)$ for $j \in \{r, c_1, c_2\}$ guarantees

$$ \|\hat{X}(t) - X(t)\| \le \Delta, \forall t \ge 0, \quad (2) $$

where $\hat{X}(t) \in \mathbb{R}^3$ is the robot pose estimate, which is simultaneously available on the robot and cloud sides (on component $C_1$ and $C_2$, respectively), and that minimizes the network load for communication between the robot and the cloud (in both uplink and downlink directions, but especially in the uplink direction for the measurement $Y_{c_1}(t)$, as the onboard sensors generate large volumes of data, that could saturate the network capacity). This problem statement implies that this constraint is satisfied in the initial time instant,

meaning we dispose a sufficiently accurate initial guess $\hat{X}(0)$ for $X(0)$. The constant $\Delta$, defining the admissible range of estimation error, should be dependent on $d_i^{\max}$ for $i = 1, 2$ (maximum disturbances), moreover, it has to be obviously bigger than the measurement errors $v_j^{\max}$ for $j \in \{r, c_1, c_2\}$:

$$ \Delta > \bar{v} := 2 \max\{v_r^{\max}, v_{c_1}^{\max}, v_{c_2}^{\max}\}, \quad (3) $$

which means that we cannot guarantee an estimation accuracy that is better than any of the available measurements of the state.

We will also assume that the instantaneous control values, $u_1(t)$ and $u_2(t)$, are accessible by both the robot and by the cloud for all $t \ge 0$ (e.g., In the case where the controller unit also resides in the cloud, the latter generates the control signals and sends them to the former, and the communication delay is either predictable or negligible). In addition, the presence of disturbances $d_i(t)$ for $i = 1, 2$ on the robot side may incorporate the influence of network communication on the control values used by the robot.

### III. THE PROPOSED METHOD

Our principal approach to addressing the stated problem – determining the instances of data exchange between the sensor and the localization system, as well as the instances of providing localization information to ensure the desired quality of pose estimation – relies on the utilization of internal dynamical models. These models are implemented both on the robot and within the cloud-based localization system, denoted as $C_1$ and $C_2$, respectively. The models are synchronized to provide continuous-time pose estimates of the robot, thereby reducing the need for persistent communication between these entities:

$$ \begin{aligned} \dot{x}_s(t) &= u_1(t) \cos(\hat{\theta}_s(t)), \\ \dot{y}_s(t) &= u_1(t) \sin(\hat{\theta}_s(t)), \\ \dot{\theta}_s(t) &= u_2(t) \end{aligned} \quad (4) $$

for $t \in [t_{k_{c_1}}, t_{k_{c_1}+1})$ and $k_{c_1} \in \mathbb{Z}_+$, where $\hat{x}_s(t) \in \mathbb{R}$, $\hat{y}_s(t) \in \mathbb{R}$, $\hat{\theta}_s(t) \in [-\pi, \pi)$ are the estimates for $x(t)$, $y(t)$, $\theta(t)$, respectively, and $s \in \{r, c\}$ corresponds to the robot and the cloud model's implementation; denote $\hat{X}_s(t) = [\hat{x}_s(t), \hat{y}_s(t), \hat{\theta}_s(t)]^\top$ for $s \in \{r, c\}$ as the respective state estimates. We assume that $t_{k_{c_1}}^{c_1} = 0$ and that $\hat{X}_s(0) = \hat{X}(0)$ (the assumed known initial guess for the robot state). The continuous-time model (4) is executed on the time interval $[t_{k_{c_1}}, t_{k_{c_1}+1})$, and at the beginning of each interval, at $t = t_{k_{c_1}}^{c_1}$ an update of the initial conditions for (4) is performed based on the available measurements $Y_{c_1}(t_{k_{c_1}}^{c_1})$ as we will explain below. Thus, our internal model has hybrid dynamics with continuous-time flow and discontinuous updates at isolated time instants (we will demonstrate that always there is a non-zero difference between the state jumps, consequently, avoiding Zeno behavior and problems with the definition of solutions).
We want to have $\hat{X}_r(t) = \hat{X}_c(t) = \hat{X}(t)$ for all $t \ge 0$, and ensure that it satisfies the goal relation (2) (below we will use both variables, $\hat{X}_r(t)$ and $\hat{X}_c(t)$, separately until we demonstrate that they are indeed identical in our approach).

To ensure (2), we need to synthesize a rule for the selection of the time of uplink communication (when robot's onboard LiDAR or camera measurements are received, and state of (4) is updated). The three different instances of uplink communication are:

* **Condition 1:** $\|Y_r(t) - \hat{X}_r(t)\| > \Delta - v_r^{\max}$, represents the instances in which $C_1$ detects, based on odometry measurements, that the state error of the internal model exceeds $\Delta$ (the predefined admissible range of estimation error).

* **Condition 2:** $\|Y_{c_2}(t) - \hat{X}_c(t)\| > \Delta - v_{c_2}^{\max}$, represents the instances in which $C_2$ detects, based on optionally available external sensor measurements, that the state error of the internal model exceeds $\Delta$.

* **Condition 3:** $E_c(t) > \Delta$, with $E_c(t)$ provides an upper bound on the internal model error, ensuring that $E_c(t) \ge \|X(t) - \hat{X}_c(t)\|$. This represents a “worst-case” estimate of the internal model error that will be derived below.

The uplink communication instances associated to these three conditions are defined as follows:

$$ t_{k_{c1}}^{c_1+1} = \arg \min_{t \ge t_{k_{c1}}^{c_1}} \left\{ \begin{aligned} & \left(t = t_{k_r}^r \wedge \|Y_r(t) - \hat{X}_r(t)\| > \Delta - v_r^{\max}\right) \\ & \vee \left(t = t_{k_{c2}}^{c_2} \wedge \|Y_{c2}(t) - \hat{X}_c(t)\| > \Delta - v_{c2}^{\max}\right) \\ & \vee (E_c(t) > \Delta) \end{aligned} \right\}, \quad (5) $$

These conditions account for scenarios where the estimation errors between the available estimates, $\hat{X}_r(t)$ and $\hat{X}_c(t)$, and the state $X(t)$ may exceed the threshold $\Delta$ in the worst case. The third condition is based on the evaluation of the internal model accuracy, and if it is found too big. Then the ultimate next state measurement $Y_{c_1}(t_{k_{c1}}^{c_1+1})$ is requested.

Once $Y_{c_1}(t_{k_{c1}}^{c_1}) = X(t_{k_{c1}}^{c_1} - \tau_u) + v_{c_1}(t_{k_{c1}}^{c_1})$ is received, it represents a delayed estimate of the robot's position. This delay arises because the sensor data is collected prior to being processed by the localization system. Consequently, it is necessary to predict the robot's current pose using the available information on the control inputs $u_1(t)$ and $u_2(t)$:

$$ \hat{X}_c(t_{k_{c1}}^{c_1}) = [\xi(t_{k_{c1}}^{c_1}), \psi(t_{k_{c1}}^{c_1}), q(t_{k_{c1}}^{c_1})]^\top, \quad (6) $$

where $[\xi(t_{k_{c1}}^{c_1} - \tau_u), \psi(t_{k_{c1}}^{c_1} - \tau_u), q(t_{k_{c1}}^{c_1} - \tau_u)]^\top = Y_{c_1}(t_{k_{c1}}^{c_1})$ and for $t \in [t_{k_{c1}}^{c_1} - \tau_u, t_{k_{c1}}^{c_1}]$:

$$ \dot{\xi}(t) = u_1(t) \cos(q(t)), $$

$$ \dot{\psi}(t) = u_1(t) \sin(q(t)), $$

$$ \dot{q}(t) = u_2(t). $$

Hence, we use the differential equations of the model (4) to predict the current values of the robot state, then the error upper bound can be estimated as follows:

**Proposition 1.** In (1) and (4) with $s \in \{r, c\}$, for an initial time instant $t_0 \ge 0$ and the respective initial conditions $\hat{X}_s(t_0)$ satisfying $\|\hat{X}_s(t_0) - X(t_0)\| \le \delta$ for some known constant $\delta > 0$, the following property is verified:

$$ \|X(t) - \hat{X}_s(t)\|^2 \le \omega_{u_1, u_2}(t, t_0, \delta), \\ \omega_{u_1, u_2}(t, t_0, e_0) = e^{B(t, t_0)} e_0^2 + \int_{t_0}^{t} e^{B(t, \sigma)} (|u_1(\sigma)| [(d_1^{\max})^2 \\ +4(d_1^{\max} + 1)] + |u_2(\sigma)| (d_2^{\max})^2) d\sigma, \\ B(t, t_0) = \int_{t_0}^{t} \max\{|u_1(\rho)|, |u_2(\rho)|\} d\rho $$

for all $t \ge t_0$ and $-d_i^{\max} \le d_i(t) \le d_i^{\max}$ with $i = 1, 2$.

The proofs of intermediate results are provided in the Appendix.

In this result, $\delta$ is a function of the maximum measurement noise of the localization system, odometry based state and external sensor state measurement system. This result shows that, starting from any known initial error in the internal model $\delta$, having the control inputs $u_i$ and the bounds on the disturbances $d_i^{\max}$ for $i = 1, 2$, we can estimate the propagation of this error through the time. Hence, we have a worst-case upper bound for the estimation error. In particular this result implies that

$$ \|\hat{X}_c(t_{k_{c1}}^{c_1}) - X(t_{k_{c1}}^{c_1})\| \le \sqrt{\omega_{u_1, u_2}(t_{k_{c1}}^{c_1}, t_{k_{c1}}^{c_1} - \tau_u, v_{c1}^{\max})}, $$

where the right-hand side represents an estimate of the initial estimation error we have for the internal model after the update at $t = t_{k_{c1}}^{c_1}$. Moreover, the direct computations show that

$$ \omega_{u_1, u_2}(t, t_0, e_0) \le \bar{\omega}(t - t_0), \\ \bar{\omega}(t) = e^{t \max_i u_i^{\max}} e_0^2 + a (e^{t \max_i u_i^{\max}} - 1), \\ a = \frac{u_{\max}^1 [(d_1^{\max})^2 + 4(d_1^{\max} + 1)] + u_{\max}^2 (d_2^{\max})^2}{\max_i u_i^{\max}}, $$

i.e., the obtained upper bound on the worst-case error of the internal model (4) is strictly growing (that shows its conservatism, but from another side, it allows us to get the main qualitative properties of the approach). However, we obtain a static upper bound estimate on the initial error after getting the measurement $Y_{c_1}(t_{k_{c1}}^{c_1})$:

$$ \sqrt{\omega_{u_1, u_2}(t_{k_{c1}}^{c_1}, t_{k_{c1}}^{c_1} - \tau_u, v_{c1}^{\max})} \le \bar{\omega}(\tau_u), $$

which is a reasonable result, taking into account the boundedness of the disturbances and the velocities of the robot over a bounded interval of time determined by the delay $\tau_u$. Next, there are two implementation options:

* **Mode 1:** unconditionally communicate this new estimate $\hat{X}_c(t_{k_{c1}}^{c_1})$ to the robot side, initializing $\hat{X}_r(t_{k_{c1}}^{c_1}) = \hat{X}_c(t_{k_{c1}}^{c_1})$ (assuming that the delay of downlink communication is negligible; we can also make the prediction as before to compensate for such a delay), or
• Mode 2: check the condition

and

$$
\| \hat{X}_c(t_{k_{c_1}}^{c_1}) - X(t_{k_{c_1}}^{c_1}) \| > \Delta - \sqrt{\omega_{u_1, u_2}(t_{k_{c_1}}^{c_1}, t_{k_{c_1}}^{c_1} - \tau_u, v_{c_1}^{\max})}
$$

evaluating the worst case error of the internal model,
and if this condition is satisfied (the error of the internal
model may be indeed significant and larger than Δ),
then update the robot side.

As the main scenario in this note, we will select the first
variant in order to keep the internal models of the robot
and the cloud to be always synchronized, while the second
option will be evaluated and compared with the first one in
the experiments, as discussed in the next section. In any case,
this scenario requires

$$
\Delta > \bar{\omega}(\tau_u) \quad (7)
$$

and we will impose this restriction further in this section.

We can also use the result of Proposition 1 in order to
derive the expression for $E_c(t)$ in (5):

$$
E_c(t) = \sqrt{\omega_{u_1, u_2}(t, t_{k_{c_1}}^{c_1}, \sqrt{\omega_{u_1, u_2}(t_{k_{c_1}}^{c_1}, t_{k_{c_1}}^{c_1} - \tau_u, v_{c_1}^{\max})})}, \quad (8)
$$

which can be easily calculated online in the cloud. Another
approach proposed in our work is to apply an interval
predictor for (1):

**Proposition 2.** In (1) with $-d_i^{\max} \le d_i(t) \le d_i^{\max}$ for all $t \ge 0$ and $i = 1, 2$, let

$$
\begin{align*}
\underline{x}_0 \le x(t_0) &\le \bar{x}_0, \quad \underline{y}_0 \le y(t_0) \le \bar{y}_0, \\
\underline{\theta}_0 \le \theta(t_0) &\le \bar{\theta}_0
\end{align*}
$$

for some given $\underline{x}_0, \bar{x}_0, \underline{y}_0, \bar{y}_0 \in \mathbb{R}$, $\underline{\theta}_0, \bar{\theta}_0 \in [-\pi, \pi)$ and a
fixed $t_0 \ge 0$. Then,

$$
\begin{array}{l}
\underline{x}(t) \le x(t) \le \bar{x}(t), \quad \underline{y}(t) \le y(t) \le \bar{y}(t), \\
\underline{\theta}(t) \le \theta(t) \le \bar{\theta}(t)
\end{array}
$$

for all $t \ge t_0$, where

$$
\begin{align}
\dot{\underline{x}}(t) &= \min\{z_x(t)\}, \nonumber \\
\dot{\underline{x}}(t) &= \max\{z_x(t)\}, \quad \underline{x}(t_0) = \underline{x}_0, \quad \bar{x}(t_0) = \bar{x}_0, \nonumber \\
\dot{\underline{y}}(t) &= \min\{z_y(t)\}, \nonumber \\
\dot{\underline{y}}(t) &= \max\{z_y(t)\}, \quad \underline{y}(t_0) = \underline{y}_0, \quad \bar{y}(t_0) = \bar{y}_0, \tag{9} \\
\dot{\underline{\theta}}(t) &= \min\{z_{\theta}(t)\}, \nonumber \\
\dot{\underline{\theta}}(t) &= \max\{z_{\theta}(t)\}, \quad \underline{\theta}(t_0) = \underline{\theta}_0, \quad \bar{\theta}(t_0) = \bar{\theta}_0 \nonumber
\end{align}
$$

$$
\begin{align*}
z_x(t) &= \begin{bmatrix} \underline{c}(t)(1 + d_1^{\max})u_1(t) \\ \underline{c}(t)(1 + d_1^{\max})u_1(t) \\ \underline{c}(t)(1 - d_1^{\max})u_1(t) \\ \underline{c}(t)(1 - d_1^{\max})u_1(t) \end{bmatrix}, \\
z_y(t) &= \begin{bmatrix} \underline{s}(t)(1 + d_1^{\max})u_1(t) \\ \underline{s}(t)(1 + d_1^{\max})u_1(t) \\ \underline{s}(t)(1 - d_1^{\max})u_1(t) \\ \underline{s}(t)(1 - d_1^{\max})u_1(t) \end{bmatrix}, \\
z_{\theta}(t) &= \begin{bmatrix} (1 - d_2^{\max})u_2(t) \\ (1 + d_2^{\max})u_2(t) \end{bmatrix},
\end{align*}
$$

$$
\begin{align*}
\underline{c}(t) &= \min_{\underline{\theta}(t) \le \underline{\theta} \le \bar{\theta}(t)} \cos(\underline{\theta}), \quad \bar{c}(t) = \max_{\underline{\theta}(t) \le \underline{\theta} \le \bar{\theta}(t)} \cos(\bar{\theta}), \\
\underline{s}(t) &= \min_{\underline{\theta}(t) \le \underline{\theta} \le \bar{\theta}(t)} \sin(\underline{\theta}), \quad \bar{s}(t) = \max_{\underline{\theta}(t) \le \underline{\theta} \le \bar{\theta}(t)} \sin(\bar{\theta}).
\end{align*}
$$

The result of this proposition is an analogue of the
previous one, which may be less restrictive, and where the
discrepancies $\bar{x}_0 - \underline{x}_0$, $\bar{y}_0 - \underline{y}_0$ and $\bar{\theta}_0 - \underline{\theta}_0$ represent the initial
error for the internal model (proportional $\delta$ in Proposition 1).
The difference between these propositions lies in the norm
used for error evaluation: Euclidean one in Proposition 1
versus componentwise interval estimation in Proposition 2.

Using this result, the upper bound on the error of the
internal model can be calculated as follows:

$$
\begin{equation}
\begin{split}
E_c^2(t) = \max\{|\underline{x}(t) - \hat{x}_c(t)|, |\bar{x}(t) - \hat{x}_c(t)|\}^2 & \\
+ \max\{|\underline{y}(t) - \hat{y}_c(t)|, |\bar{y}(t) - \hat{y}_c(t)|\}^2 & \tag{10} \\
+ \max\{|\underline{\theta}(t) - \hat{\theta}_c(t)|, |\bar{\theta}(t) - \hat{\theta}_c(t)|\}^2 & ,
\end{split}
\end{equation}
$$

where (9) is used with $t_0 = t_{k_{c_1}}^{c_1}$ and

$$
\begin{bmatrix} \underline{x}_0 \\ \underline{y}_0 \\ \underline{\theta}_0 \end{bmatrix} = \hat{X}_c(t_{k_{c_1}}^{c_1}) - \sqrt{\omega_{u_1, u_2}(t_{k_{c_1}}^{c_1}, t_{k_{c_1}}^{c_1} - \tau_u, v_{c_1}^{\max})}, \\
\begin{bmatrix} \bar{x}_0 \\ \bar{y}_0 \\ \bar{\theta}_0 \end{bmatrix} = \hat{X}_c(t_{k_{c_1}}^{c_1}) + \sqrt{\omega_{u_1, u_2}(t_{k_{c_1}}^{c_1}, t_{k_{c_1}}^{c_1} - \tau_u, v_{c_1}^{\max})}.
$$

In principle, the minimum of both expressions, given in (8)
and in (10), can be applied.

Now we are in a position to formulate the main result of
this work:

**Theorem 1.** For (1) with $-d_i^{\max} \le d_i(t) \le d_i^{\max}$ and $u_i(t) \in [-u_i^{\max}, u_i^{\max}]$ for all $t \ge 0$ and $i = 1, 2$, considering the internal models (4) for $s \in \{r, c\}$ with $\dot{X}_s(0) = \dot{X}(0)$ and updated following (6) at the time instants generated by (5), the respective solutions $\dot{X}_s(t)$ are well defined for all $t \ge 0$ and verify $\dot{X}_r(t) = \dot{X}_c(t) = \dot{X}(t)$. Moreover, the goal relation (2) holds provided that $\Delta$ is chosen in accordance with (3) and (7).

*Proof:* The proof follows the construction steps pre-
sented above and the results given in propositions 1 and 2.
We just need to show that there is no infinite switching in (4)
and $t_{k_{c1}}^{c1} + 1 > t_{k_{c1}}^{c1}$. To this end note that due to (3) and (7), $E_c(t_{k_{c1}}^{c1}) < \Delta$ (independently, (8) or (10), or their combination is used), and similarly $\|Y_r(t) - \hat{X}_r(t)\| < \Delta - v_r^{\max}$ and $\|Y_{c2}(t) - \hat{X}_c(t)\| < \Delta - v_{c2}^{\max}$. Thus, there always exists a non-empty time interval in which the inverse sign inequalities can be verified on the trajectories of a continuous system. ■

This result only establishes accuracy of the provided state estimates on both sides, but it does not evaluates the frequency of communication, whose analytical analysis we leave for future research, and whose experimental assessment is provided in the next section.

## IV. EXPERIMENTAL RESULTS

We validate the proposed Event-Triggered (ET) estimator on a physical robot in a real-world scenario. The tests were performed on a ClearPath Jackal robot, shown in Fig. 2, which is equipped with a Velodyne VLP-16 LiDAR as the onboard sensor for localization based on LSM algorithm [7]. While evaluating our ET estimator, we employed the Dynamic Window Approach (DWA) planner [8] as the control strategy, operating under a maximum admissible linear velocity of 0.5 m/s. This configuration is implemented within the standard ROS Navigation stack [9], a widely used framework for autonomous navigation. However, it is important to note that our method is not bound to a specific planner or controller. Any classical motion controller can be used as long as it can guide the robot to track a trajectory or a list of waypoints, an example of which is in [10].

All computational processes, including the localization algorithm, motion planner, and controller, are offloaded to an edge cloud installed remotely in our lab, with the communication between the robot and the cloud achieved via a WiFi-6E network. The default sensor data collection rate of the LiDAR scans is 10 Hz, necessitating seamless communication between the cloud and the robot at the same frequency with a default periodic localization paradigm. We therefore run our ET estimator with internal models maintained on both the robot and the cloud at 10 Hz to reduce the required communication between them.

<figure><img src="image_2.png" /><figcaption>Fig. 2. Experimental setup in the lab</figcaption></figure>

We evaluated the performance of the proposed ET estimator by guiding the robot through a sequence of 7 waypoints, shown as red crosses in Fig. 3. The lab space where we

conducted the tests consists of an open area with random clutter and narrow corridors, representing typical features that can be seen in a factory or warehouse environment. An external camera-based localization system was not utilized. The triggering instances were implemented to transmit onboard sensor data to the cloud-based localization system, in accordance with the implementation of Conditions 1 and 3, as described in III. The localization system used was a standalone fusion algorithm hosted on the cloud, designed to estimate the robot's pose by integrating data from multiple sources, including onboard LiDAR, IMU, and encoder measurements. The resulting output is sufficiently accurate to be considered as the ground truth for evaluating the performance of the ET estimation proposed in this study.

<figure><img src="image_3.png" /><figcaption>Fig. 3. Robot pose comparison between the ground truth (blue dashed curve) and internal model states estimated in the cloud (orange curve) and on the robot (green curve), using Mode 1. Blue cross point is the robot's initial position and red cross points indicate the waypoints that navigate the robot in the lab space.</figcaption></figure>

We evaluate our proposed ET estimator with two different modes by the following factors: 1) communication reduction between the robot and the cloud; 2) pose estimation performance quantified by the Root-Mean-Square Error (RMSE) compared with the ground truth. Recall that two modes are determined by whether the downlink communication is economized in the meantime, i.e.,

* **Mode 1:** only uplink communication for the sensor data is economized, and every uplink request for sensor data to the localization system, will systematically follow with downlink synchronization between the internal models at the cloud and robot sides, with the updated accurate pose estimation (i.e., providing that $\hat{X}_r(t) = \hat{X}_c(t)$ for all $t \ge 0$);

* **Mode 2:** both uplink and downlink communications are economized, in which the synchronization of both internal models at two sides happens only when needed.

The parameters used in the experiments were determined based on preliminary tests, and based on the characteristics of the localization algorithms, the network infrastructure, and
<table><caption>TABLE I
PARAMETER SETS UTILIZED IN THE EXPERIMENTS</caption><thead><tr><th>Max. perturbation of control signals<br>(d<sup>max</sup>)</th><th>Max. error of odometry-based localization<br>(v<sup>max</sup><sub>t</sub>)</th><th>Max. error of communication delay<br>(v<sup>max</sup><sub>c</sub>)</th><th>Average cloud-based localization<br>(τ<sub>u</sub>)</th><th>Max. admissible estimation error<br>(Δ<sup>max</sup>)</th></tr></thead><tbody><tr><td>0.1</td><td>0.2</td><td>0.2</td><td>50 (ms)</td><td>0.2</td></tr></tbody></table>

<figure><img src="image_4.png" /><figcaption>Fig. 4. Time instances of uplink, donlink communications and sensor data collection using (a): mode 1, (b): mode 2 of the proposed ET estimator. Note that the sensor data is collected at 10 Hz.</figcaption></figure>

the system's acceptable safety and performance requirements. These parameters are summarized in Table I.

In terms of results, Table II summarizes the communication reduction performance using two different modes of our proposed ET estimator, with time instances of communications illustrated in Table 4. Both modes achieve a significant reduction in uplink communication for sending the LiDAR data. Compared to the original sensor data collection rate of 10 Hz, 88.4% and 71.5% of the communication for sensor data sharing are economized using two modes, respectively. While the uplink communication frequency is slightly higher using Mode 2, the downlink communication rate for synchronizing the internal models between the cloud and robot sides is further reduced to a very low value. This is, however achieved at the cost of degraded performance in pose estimation, as shown in Table III.

The ET estimation using Mode 1 can achieve an overall positioning RMSE of less than 4 cm and heading RMSE of less than 8°. Its performance can be visualized in the actual robot trajectory shown in Fig. 3, where all three curves representing the ground truth and ET pose estimates are mostly aligned, except for one location in front of the doorway due to perturbations in LiDAR scans in that area. The pose estimation accuracy for Mode 2 is worse but still remains within an acceptable range considering the size of the robot (a 50×43 cm rectangle) and the total distance of the traversed trajectory in the performed test (approximately 27 m).

The degradation in pose estimation using Mode 2 is

reasonable, because while economizing on downlink communication at the same time, the internal models are not systematically updated every time a new pose is received, but only when the downlink condition is satisfied. This design is intentional to save downlink communications, which allows the internal model states to be deviate further from the latest pose measurements. In contrast, using Mode 1, internal model states are always synchronized and updated when a new pose measurement is received, i.e., after an uplink communication instance occurs. It is also worth mentioning that downlink communication requires synchronization of the internal model state, a vector composed of only three floating-point numbers, which should be much lighter compared to the uplink sensor data. Therefore, the results demonstrate that the ET estimator with Mode 1 is more appropriate for reducing the load on the uplink communication channel while maintaining good pose estimation accuracy.

<table><caption>TABLE II
COMMUNICATION REDUCTION PERFORMANCE OF THE ET ESTIMATOR WITH TWO MODES.</caption><thead><tr><th rowspan="2">ET Mode</th><th colspan="2">Communication Frequency</th><th rowspan="2">Uplink Reduction<br>(%)</th></tr><tr><th>Uplink [Hz]</th><th>Downlink [Hz]</th></tr></thead><tbody><tr><td>Mode-1</td><td><strong>2.17</strong></td><td>2.17</td><td><strong>88.4</strong></td></tr><tr><td>Mode-2</td><td>2.86</td><td><strong>0.21</strong></td><td>71.5</td></tr></tbody></table>

## V. CONCLUSIONS

This study presented an event-triggered pose estimation framework for a unicycle mobile robot, designed to optimize

<footnote>*Note that the uplink reduction rate is computed compared with the default sensor data collection and communication rate at 10 Hz.</footnote>
<table><caption>TABLE III
POSE ESTIMATION PERFORMANCE OF THE ET ESTIMATOR WITH TWO MODES.</caption><thead><tr><th rowspan="2">ET Mode</th><th colspan="2">Cloud State RMSE</th><th colspan="2">Robot State RMSE</th></tr><tr><th>Positioning [m]</th><th>Heading [°]</th><th>Positioning [m]</th><th>Heading [°]</th></tr></thead><tbody><tr><td>Mode-1</td><td><b>0.024</b></td><td><b>8.12</b></td><td><b>0.041</b></td><td><b>4.94</b></td></tr><tr><td>Mode-2</td><td>0.198</td><td>13.61</td><td>0.132</td><td>14.34</td></tr></tbody></table>

sensor data transmission while ensuring reliable pose estimation, which is crucial for the robot's safety, stability, and performance. Rooted in Lyapunov analysis and developed from a navigation and control perspective, the framework effectively reduces the communication load between the sensor and localization processing unit. Experimental validation using a LiDAR-based localization system demonstrated up to an 88% reduction in localization processing compared to traditional periodic methods, with minimal impact on pose estimation accuracy. This improvement not only enhances computational energy efficiency but also optimizes network resource usage, making the approach particularly advantageous for cloud-based localization systems.

## REFERENCES

[1] W. Dixon, D. M. Dawson, E. Zergeroglu, and A. Behal, *Nonlinear Control of Wheeled Mobile Robots*, ser. Lecture Notes in Control and Information Sciences. London: Springer-Verlag, 2001.

[2] A. Bemporad, W. P. Heemels, and M. Johansson, *Networked Control Systems*. Heidelberg, Springer-Verlag Berlin, 2010, vol. 406.

[3] M. Martínez-Rey, F. Espinosa, A. Gardel, and C. Santos, "On-board event-based state estimation for trajectory approaching and tracking of a vehicle," *Sensors*, vol. 15, no. 6, pp. 14569–14590, 2015.

[4] T. Kargar Tasooji and H. J. Marquez, "Cooperative localization in mobile robots using event-triggered mechanism: Theory and experiments," *IEEE Transactions on Automation Science and Engineering*, vol. 19, no. 4, pp. 3246–3258, 2022.

[5] A. Censi, "An icp variant using a point-to-line metric," in *2008 IEEE International Conference on Robotics and Automation*, 2008, pp. 19–25.

[6] K. Khalil, *Nonlinear Systems Third Edition*. Prentice Hall, 2002.

[7] "LSM localization algorithm," Web Page (Github repository), 2022, available at https://github.com/ihadzic/lsm_localization.

[8] D. Fox, W. Burgard, and S. Thrun, "The dynamic window approach to collision avoidance," *IEEE Robot. Automat. Mag.*, vol. 4, no. 1, pp. 23–33, 1997.

[9] "ROS navigation package," Web Page (ROS documentation), 2020, available at http://wiki.ros.org/navigation.

[10] D. Efimov, M. Khalili, and S. Liu, "Global event-triggered regulation of unicycle dynamics by bounded control," in *2024 Conference on Decision and Control (CDC)*. IEEE, 2024.

## APPENDIX

### A. *Proof of Proposition 1*

Let us denote the error between solutions of (1) and (4) by $e_s(t) = X(t) - \hat{X}_s(t) = [e_s^x(t) \ e_s^y(t) \ e_s^\theta(t)]^\top$, whose

dynamics take the form:

$$ \dot{e}_s^x(t) = u_1(t) (\cos(\theta(t)) - \cos(\hat{\theta}_s(t))) + u_1(t) d_1(t) \cos(\theta(t)), $$

$$ \dot{e}_s^y(t) = u_1(t) (\sin(\theta(t)) - \sin(\hat{\theta}_s(t))) + u_1(t) d_1(t) \sin(\theta(t)), $$

$$ \dot{e}_s^\theta(t) = u_2(t) d_2(t). $$

In order to evaluate the behavior of the norm of the error $e_s(t)$, consider an auxiliary Lyapunov function $V(e_s) = e_s^\top e_s$, whose dynamics can be calculated as follows for all $t \ge t_0$:

$$ \begin{aligned} \dot{V}(e_s(t)) = & 2u_1(t)e_s^x(t)[\cos(\theta(t)) - \cos(\hat{\theta}_s(t)) \\ & + d_1(t)\cos(\theta(t))] + 2u_1(t)e_s^y(t)[\sin(\theta(t)) - \sin(\hat{\theta}_s(t)) \\ & + d_1(t)\sin(\theta(t))] + 2u_2(t)e_s^\theta(t)d_2(t) \\ \le & \beta(t)V(e_s(t)) + |u_1(t)|[\cos(\theta(t)) - \cos(\hat{\theta}_s(t)) \\ & + d_1(t)\cos(\theta(t))]^2 + |u_1(t)|[\sin(\theta(t)) - \sin(\hat{\theta}_s(t)) \\ & + d_1(t)\sin(\theta(t))]^2 + |u_2(t)|d_2^2(t) \end{aligned} $$

where $\beta(t) = \max\{|u_1(t)|, |u_2(t)|\}$ represents the maximal actual velocity of the robot, and the Young's inequality was used on the last step. Finally, using the bounds on the disturbances and the properties of the sinusoidal functions we obtain:

$$ \begin{aligned} \dot{V}(e_s(t)) \le & \beta(t)V(e_s(t)) + |u_1(t)|[d_1^2(t) \\ & + 4(d_1(t) + 1)\sin^2(0.5e_s^\theta(t))] + |u_2(t)|d_2^2(t) \\ \le & \beta(t)V(e_s(t)) + |u_1(t)|[(d_1^{\max})^2 \\ & + 4(d_1^{\max} + 1)] + |u_2(t)|(d_2^{\max})^2 \end{aligned} $$

for all $t \ge t_0$. Then passing to time domain solution for the above inequality we get the estimate given in the formulation of the proposition.

### B. *Proof of Proposition 2*

The proof follows direct computations: for example, since $\theta(t_0) = \theta_0 \le \theta(t_0) \le \bar{\theta}_0 = \bar{\theta}(t_0)$, the relation $\theta(t) \le \theta(t) \le \bar{\theta}(t)$ is satisfied by construction for $t = t_0$, next it is easy to verify that $\min\{z_\theta(t)\} \le \hat{\theta}(t) \le \max\{z_\theta(t)\}$ and, hence, $\theta(t) \le \theta(t) \le \bar{\theta}(t)$ for $t \ge t_0$. Similar analysis can be performed for $x(t)$ and $y(t)$.