You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: config.toml
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
base_url = "https://um-arm-lab.github.io/lucca"
1
+
base_url = "https://um-arm-lab.github.io/claps"
2
2
compile_sass = true
3
3
build_search_index = false
4
4
generate_feeds = false
@@ -13,4 +13,4 @@ smart_punctuation = true
13
13
favicon = false
14
14
large_card = true
15
15
footer_text = "This website is built using <a href='https://www.getzola.org' target='_blank'>Zola</a> and the <a href='http://github.com/aterenin/academic-paper/' target='_blank'>Academic Paper</a> theme, which is <a href='https://jeffhuang.com/designed_to_last/' target='_blank'>designed to last</a>."
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
43
+
{% problem_columns() %}
44
+
### Problem Setting
45
+
Let `$q\in \mathcal Q$` be the robot configuration, `$\dot q \in T_q \mathcal Q$` the generalized velocity, and `$s := (q,\dot q) \in T\mathcal Q$` the state. We consider holonomic and *nonholonomic* systems whose `$\mathcal Q$` is the Lie group `$SE(2)$` or `$SE(3)$` (unicycles, car-like robots, quadrotors, surface/underwater vehicles, satellites, quadrupeds’ COM, ...). The *unknown dynamics* evolve as
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.
51
+
where `$f$` is *unknown*, `$w_k$` is an iid disturbance drawn from an *unknown* distribution, and `$u_k \in \mathbb R^m$` is the control input. Inaccuracies
52
+
in modeling `$f$` may arise e.g., from domain shifts between fitting and deployment, and result in *epistemic uncertainty*. Additionally,
53
+
`$w_k$` introduces *aleatoric uncertainty*, and may represent external disturbances such as wind gusts, wheel slippage, or terrain bumps.
54
+
---
55
+
### Objective
56
+
For a given admissible action `$u_{des}$`, provide a C-Space prediction region `$C^q \subseteq \mathcal Q$` that contains the resulting (unknown) configuration `$q_1$` with probability at least `$(1-\alpha)$`:
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.
62
+
where `$\alpha$` is the user-set acceptable failure probability. While purely achieving this goal is trivial, e.g., by predicting the entire space `$(C^q = \mathcal Q)$`, we additionally want `$C^q$` to be as *tight/volume-efficient* as possible, to make it practical for 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.
63
+
{% end %}
85
64
86
65
# CLAPS
87
66
@@ -93,22 +72,18 @@ By using a *symmetry-respective score metric*, our approach produces prediction
93
72
**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}$`.
94
73
{% end %}
95
74
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.
75
+
The prediction region constructed by **CLAPS**`$(C^q \subseteq Q)$` can be used for probably-safe control in three main ways (for more details refer to Section `$\S$`V-C):
76
+
1. 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
77
+
2. 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$`.
78
+
3. 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.
102
79
103
80
# Experiments
104
81
We compare **CLAPS** in both simulation (JetBot) and hardware (MBot) against seven baselines to demonstrate its improved *efficiency* and *representation quality*.
105
82
In both cases, we model the system as a second-order unicycle.
106
83
We perform standard system identification to estimate the inertial properties (mass and inertia)
107
84
108
-
109
-
## JetBot Experiments (Simulation)
110
-
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.
85
+
**JetBot Experiments (Simulation)**<br>
86
+
 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
87
113
88
The Figure below demonstrates **CLAPS**' ability to represent the underlying dynamics uncertainty of the unknown system (MC particles).
@@ -132,9 +107,8 @@ Below we showcase a visualization of the C-space regions `$C^q$` constructed by
132
107
133
108
134
109
135
-
## MBot Experiments (Hardware)
136
-
137
-
We also validated our method on an MBot, a differential-drive vehicle shown below.
110
+
**MBot Experiments (Hardware)**<br>
111
+
 We also validated our method on an MBot, a differential-drive vehicle shown below.
138
112
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
113
**CLAPS** uses `$D_{cal}$` to derive data-driven provable (probabilistic) bounds on the uncertainty arising from both model mismatch, and inherent stochasticity.
0 commit comments