Skip to content

Commit 634a845

Browse files
committed
justify caption text
no hyphenation in abstract text
1 parent 5848404 commit 634a845

5 files changed

Lines changed: 422 additions & 339 deletions

File tree

content/_index.md

Lines changed: 93 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
+++
2-
title = "Lies We Can Trust: Quantifying Action Uncertainty with Inaccurate Stochastic Dynamics Through Conformalized Nonholonomic Lie Groups"
2+
title = "Lies We Can Trust"
33
[extra]
44
display_title = "<em>Lies</em> We Can Trust: Quantifying Action Uncertainty with Inaccurate Stochastic Dynamics Through Conformalized Nonholonomic <em>Lie</em> Groups"
55
authors = [
@@ -9,8 +9,8 @@ authors = [
99
]
1010
venue = {name = "Under Review", url = ""}
1111
buttons = [
12-
{name = "ArXiv", url = ""},
13-
{name = "PDF", url = ""},
12+
{name = "ArXiv", url = "https://arxiv.org/abs/2512.10294"},
13+
{name = "PDF", url = "https://arxiv.org/pdf/2512.10294"},
1414
{name = "Code", url = "https://github.com/UM-ARM-Lab/claps_code"}
1515
]
1616
katex = true
@@ -42,56 +42,106 @@ In this work, we rigorously analyze configuration errors using Lie groups, exten
4242

4343
# Problem Statement
4444

45-
**Problem.** TBD - sumamrize key assumpt, goals, ...
46-
47-
Our goal is to provide, for a given admissible action `$u_{des}$`, a C-Space prediction region `$C^q \subseteq \mathcal Q$` that provably contains the next true unknown system configuration `$q_1$` with, at
48-
least, a user-defined probability `$(1-\alpha)$`, i.e.
49-
`$ \mathbb{P}(q_1 \in \mathcal C^q ) \ge (1 − \alpha)$`,
50-
where `$\alpha \in (0,1)$ is the user-set acceptable failure-probability.
51-
Following CP literature, the likelihood is taken on average
52-
over the test-time scenarios, not for a specific $q_1$, and we
53-
assume the initial system state to be known (i.e., ˜s0 = s0).
54-
While purely achieving (2) is trivial, e.g., by predicting the
55-
entire space Cq = Q, we additionally want Cq to be as
56-
tight/volume-efficient as possible to make it practical for
57-
downstream robotic tasks such as safe control. This is a chal-
58-
lenging problem. We consider both aleatoric and epistemic
59-
uncertainty, and do not make strong assumptions about the fi-
60-
delity of ˜f , or the nature of the stochastic disturbances. While
61-
we make no claims about how efficient our prediction regions
62-
are, we show they can be tighter than existing methods.
63-
45+
**Setting**: Let `$q\in \mathcal Q$` be the configuration of a
46+
robot, `$\dot q \in Tq \mathcal Q$` be
47+
the generalized velocity, and `$s := (q,\dot q) \in T\mathcal Q$` its state.
48+
We consider both holonomic systems and robots subject to
49+
*nonholonomic constraints*, i.e., non-integrable constraints on
50+
the allowable velocities. We observe
51+
the true dynamical system state at discrete points `$s_k := s(k\Delta t)$`, where `$\Delta t$` is the sampling time between
52+
measurements. We consider systems with time-invariant
53+
stochastic dynamics whose `$\mathcal Q$` can be represented by the
54+
matrix Lie group `$SE(2)$` and `$SE(3)$`. This class is broad,
55+
encompassing unicycles, differential drive vehicles, car-like
56+
systems, quadrotors, surface vessels, underwater vehicles,
57+
satellites, quadrupeds modeled by their center of mass,
58+
and so on. We write the true
59+
unknown dynamics of the observable discrete process as
60+
```
61+
$$
62+
s_{k+1} = f(s_k, u_k, w_k), w_k ∼ P_{noise},
63+
$$
64+
```
65+
where `$f$` is an *unknown* deterministic function, `$w_k$` is a
66+
stochastic term drawn iid from an *unknown* distribution `$P_{noise}$`, and `$u_k \in \mathbb R^m$` is the known control input. Inaccuracies in
67+
modeling `$f$` may arise e.g., from domain shifts between fitting
68+
and deployment, and result in *epistemic uncertainty*. On the
69+
other hand, `$w_k$` makes the dynamics stochastic, introducing
70+
*aleatoric uncertainty*, and may represent external disturbances
71+
such as wind gusts, wheel slippage, or terrain bumps.
72+
73+
**Objective**: Our goal is to provide, for a given admissible action `$u_{des}$`, a C-Space prediction region `$C^q \subseteq \mathcal Q$` that provably contains the next true *unknown system configuration* `$q_1$` with, at
74+
least, a *user-defined probability* `$(1-\alpha)$`, i.e.
75+
```
76+
$$
77+
\mathbb{P}(q_1 \in \mathcal C^q ) \ge (1 − \alpha),
78+
$$
79+
```
80+
where `$\alpha \in (0,1)$` is the user-set acceptable failure-probability.
81+
While purely achieving this is trivial, e.g., by predicting the
82+
entire space `$C^q =\mathcal Q$`, we additionally want `$C^q$` to be as
83+
*tight/volume-efficient* as possible to make it practical for
84+
downstream robotic tasks such as *safe control*. We do not make strong assumptions about the fidelity of `$\tilde f$`, or the nature of the stochastic disturbances.
6485

6586
# CLAPS
6687

67-
TBD - explain method, include algorithm blocks
88+
**CLAPS** uses a dataset of state transitions `$(D_{cal})$` to *calibrate* the uncertainty estimates provided by approximate dynamics models.
89+
**CLAPS** can be applied as a *post-hoc calibration layer* on top of existing Lie-algebraic Gaussian uncertainty estimators (e.g., Invariant EKF), turning their approximate covariances into *provably calibrated ones*.
90+
By using a *symmetry-respective score metric*, our approach produces prediction regions that are more smaller than existing conformal prediction baselines that treat the robot's configuration as Euclidean.
6891

6992
{% figure(alt=["CLAPS Method Diagram"] src=["./method_diagram3v2.png"] dark_invert=[true]) %}
7093
**Method Figure.** **C**onformal **L**ie-Group **A**ction **P**rediction **S**ets | Offline: a dataset of state transitions is used jointly with an approximate dynamical model to derive a rigorous symmetry-aware probabilistic error bound on the configuration predictions. Online: our algorithm takes in a desired action `$u_{des}$` and computes a *calibrated C-Space prediction region* `$\mathcal{C}^q$` that is marginally guaranteed to contain the true configuration resulting from executing `$u_{des}$`.
7194
{% end %}
7295

96+
The prediction region constructed by **CLAPS** `$(C^q \subseteq Q)$` can be used for probably-safe control in three main ways:
97+
- Configuration Check: a (sample) configuration `$g$` belongs in `$C^q$` if `$\sqrt{\log(\tilde{g}^{-1}g)^\top \tilde{\Sigma}^{-1}\log(\tilde{g}^{-1}g)} \le \chi^2_{\alpha}(\dim \mathfrak g)$` --- quick to evaluate in batch
98+
- C-space set: The `$C^q$` can be reconstructed by Alg. 2, for example to check if `$C^q \subseteq \mathcal Q_{safe}$`, for a known safe set `$\mathcal Q_{safe} \subseteq \mathcal Q$`.
99+
- Workspace set: `$C^q$` can be inflated by the robot's radius and mapped to the workspace `$(\mathbb R^2)$` to perform collision checks with known obstacles.
100+
101+
For more details, please refer to Section `$\S$`V-C in the paper.
102+
73103
# Experiments
74-
TBD - explain
104+
We compare **CLAPS** in both simulation (JetBot) and hardware (MBot) against seven baselines to demonstrate its improved *efficiency* and *representation quality*.
105+
In both cases, we model the system as a second-order unicycle.
106+
We perform standard system identification to estimate the inertial properties (mass and inertia)
107+
75108

76109
## JetBot Experiments (Simulation)
77110

78-
put table, explain c-space below
111+
In Isaac Sim, we independently sampled perturbations to the commanded actions to introduce aleatoric uncertainty into the system. Additionally, epistemic uncertainty arose from unmodeled effects (see paper) and imperfections in the inertial property estimation.
112+
113+
The Figure below demonstrates **CLAPS**' ability to represent the underlying dynamics uncertainty of the unknown system (MC particles).
114+
{% figure(alt=["Workspace method comparison plot"] src=["contour_comparison_val_isaac_0007_vs_val_isaac_0590_clear.png"] dark_invert=[true] style="width:80%") %}
115+
**Workspace (`$\mathbb{R}^2$`) footprint**. Workspace marginalization of the C-Space regions generated by the methods, over two of the 625 JetBot validation trials. Left: lower linear and angular velocity. Right: higher velocity case.
116+
InEKF+MLE has expected pose `$\tilde{g}_1$` shown as the gray dot. All other methods
117+
have the same expected pose, which is represented by the blue dot. Both InEKF+2M and InEKF+MLE produce the same uncertainty covariance for all initial states and control inputs.
118+
The Point Prediction (PP) methods generate large regions with boundaries lying
119+
outside the plots’ margins. SS EKF, InEKF, InEKF+2M, and InEKF+MLE
120+
are not guaranteed to contain the resulting configuration at the user-set
121+
likelihood.
122+
Qualitatively, CLAPS appears to more accurately represent the
123+
underlying uncertainty distribution than the symmetry-unaware baselines.
124+
{% end %}
79125

80-
{{ figure(src = ["./cspace_videos/Isaac_Jetbot_over_confident_0300_3D_rotation.mp4", "./cspace_videos/Isaac_Jetbot_over_confident_0330_3D_rotation.mp4","./cspace_videos/Isaac_Jetbot_over_confident_0336_3D_rotation.mp4"], alt = ["C-space visualization - scenario 0300", "C-space visualization - scenario 0301"], dark_background=[true]) }}
126+
Quantitatively, **CLAPS** achieves the highest average Intersection over Union (IoU) with the MC particles, validating its alignment with the systems' uncertainty propagation, and **CLAPS** has a smaller C-space volume than all calibrated baselines in each of the 625 validation trials we tested.
81127

128+
{{ figure(alt=["JetBot Performance Table"] src=["table_jetbot.svg"] dark_invert=[true] style="width:80%") }}
82129

83-
{{ figure(alt=["LUCCa vs Baseline Performance Table"] src=["table_jetbot.svg"] dark_invert=[true] style="width:80%") }}
130+
Below we showcase a visualization of the C-space regions `$C^q$` constructed by the different methods in three of the 625 validation trials. The State Space (SS) baselines produce hyperellipsoids in configuration space, due to treating it as Euclidean. Instead, both InEKF and CLAPS produce symmetry-respective prediction regions, better capturing the underlying uncertainty.
131+
{{ figure(src = ["./cspace_videos/Isaac_Jetbot_over_confident_0300_3D_rotation.mp4", "./cspace_videos/Isaac_Jetbot_over_confident_0330_3D_rotation.mp4","./cspace_videos/Isaac_Jetbot_over_confident_0336_3D_rotation.mp4"], alt = ["C-space visualization - scenario 0300", "C-space visualization - scenario 0301"], dark_background=[true]) }}
84132

85-
## MBot Experiments (Hardware)
86133

87-
epxlain
88134

89-
{{ figure(alt=["LUCCa in Action", "Baseline Comparison"] src=["./mbot_videos/mbot_clip1.mp4", "./mbot_videos/mbot_clip2.mp4", "./mbot_videos/mbot_clip3.mp4"] subcaption=["**LUCCa in Action** - Robot navigating with calibrated uncertainty estimates", "**Baseline Comparison** - Traditional approach without conformal calibration"]) }}
135+
## MBot Experiments (Hardware)
90136

91-
explain
137+
We also validated our method on an MBot, a differential-drive vehicle shown below.
138+
Despite a relatively-small calibration dataset corresponding to `$\approx$`2 min of driving data `$(\lvert D_{cal}\rvert = 237)$`, our method provably satisfied the user-specified safety specifications, thanks to its *non-asymptotic guarantees*.
139+
**CLAPS** uses `$D_{cal}$` to derive data-driven provable (probabilistic) bounds on the uncertainty arising from both model mismatch, and inherent stochasticity.
92140

93-
put runtime in words.
141+
{{ figure(alt=["MBot data collection clips"] src=["./mbot_videos/mbot_clip1.mp4", "./mbot_videos/mbot_clip2.mp4", "./mbot_videos/mbot_clip3.mp4"] subcaption=["Data collection videos"]) }}
94142

143+
The system configuration and velocity were estimated using a motion capture system. Uncertainty in the resulting configuration arises due to inaccuracies in inertial property estimation, actuation delays, center-of-mass deviation from the body-fixed origin, ground-surface imperfections, friction, network jitter, etc.
144+
The collection procedure of system transitions that make up `$D_{cal}$` and the validation set is shown below.
95145
<figure class="single-video-figure">
96146
<div class="single-video-wrapper">
97147
<iframe
@@ -104,6 +154,8 @@ put runtime in words.
104154
</div>
105155
</figure>
106156

157+
Our Python-implementation of **CLAPS** can run at 25 Hz, the sampling frequency of the MBot's sensors, making it serviceable for online use.
158+
107159
<style>
108160
.single-video-figure {
109161
max-width: 1000px;
@@ -152,6 +204,13 @@ put runtime in words.
152204
# BibTeX <small><small>(cite this!)</small></small>
153205

154206
```
155-
TBD
156-
207+
@misc{marques2025liestrustquantifyingaction,
208+
title={Lies We Can Trust: Quantifying Action Uncertainty with Inaccurate Stochastic Dynamics through Conformalized Nonholonomic Lie Groups},
209+
author={Luís Marques and Maani Ghaffari and Dmitry Berenson},
210+
year={2025},
211+
eprint={2512.10294},
212+
archivePrefix={arXiv},
213+
primaryClass={cs.RO},
214+
url={https://arxiv.org/abs/2512.10294},
215+
}
157216
```
1.42 MB
Loading

sass/_figures.scss

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,37 @@ figure {
33
display: flex;
44
flex-direction: column;
55
align-items: center;
6+
67
video {
78
border: 1px solid var(--color-border);
89
border-radius: 0.25rem;
910
}
10-
img, video {
11+
12+
img,
13+
video {
1114
margin-bottom: 0.5rem;
1215
}
13-
> div {
16+
17+
>div {
1418
display: flex;
1519
flex-direction: column;
1620
align-items: center;
1721
}
22+
1823
figure {
1924
margin-left: 1rem;
2025
margin-right: 1rem;
2126
}
27+
28+
figcaption {
29+
text-align: justify;
30+
}
2231
}
2332

2433
@media (min-width: $responsive-cutoff) {
25-
figure > div {
34+
figure>div {
2635
flex-direction: row;
2736
align-items: baseline;
2837
justify-content: center;
2938
}
30-
}
39+
}

sass/main.scss

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,23 @@ $color-selection-dark: false !default;
4444

4545
.katex-display {
4646
text-align: center;
47-
font-size: 1em; /* Default size */
47+
font-size: 1em;
48+
/* Default size */
4849
}
4950

5051
/* Scale down when the equation gets too wide */
5152
@media (max-width: 600px) {
5253
.katex-display {
53-
font-size: 0.65em; /* Reduce font size */
54+
font-size: 0.65em;
55+
/* Reduce font size */
5456
}
5557
}
5658

5759
/* Second threshold for even smaller screens */
5860
@media (max-width: 400px) {
5961
.katex-display {
60-
font-size: 0.55em; /* Scale down again at 400px */
62+
font-size: 0.55em;
63+
/* Scale down again at 400px */
6164
}
6265
}
6366

@@ -80,6 +83,15 @@ $color-selection-dark: false !default;
8083
.text-column {
8184
flex: 1;
8285
min-width: 0;
86+
hyphens: none;
87+
word-break: normal;
88+
overflow-wrap: normal;
89+
90+
p {
91+
hyphens: none !important;
92+
word-break: normal !important;
93+
overflow-wrap: normal !important;
94+
}
8395
}
8496

8597
/* Responsive: stack vertically on mobile */
@@ -93,5 +105,4 @@ $color-selection-dark: false !default;
93105
flex: none;
94106
width: 100%;
95107
}
96-
}
97-
108+
}

0 commit comments

Comments
 (0)