Commit 69f5bee
Fix marginalization of non-stamped variables in fixed-lag smoother
Old stamped variables (e.g. expired poses) were incorrectly shielded
from marginalization when they shared a cross-window constraint with a
recent stamped variable (e.g. an odometry factor linking kf_N to
kf_N+1). This prevented prompt marginalization of expired poses and,
more importantly, kept non-stamped variables like landmarks alive in the
graph indefinitely even after all their associated poses left the
sliding window.
The fix skips old stamped variables when building the connected
(protected) set in VariableStampIndex::query(), so they are returned as
marginalization candidates alongside any exclusively-attached landmarks.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent bec8515 commit 69f5bee
3 files changed
Lines changed: 27 additions & 8 deletions
File tree
- vesta_optimizers
- include/vesta_optimizers
- src
- test
Lines changed: 14 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
146 | 151 | | |
147 | 152 | | |
148 | 153 | | |
| |||
160 | 165 | | |
161 | 166 | | |
162 | 167 | | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
163 | 176 | | |
164 | 177 | | |
165 | 178 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
164 | 164 | | |
165 | 165 | | |
166 | 166 | | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | 167 | | |
171 | 168 | | |
172 | 169 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
310 | 310 | | |
311 | 311 | | |
312 | 312 | | |
313 | | - | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
314 | 318 | | |
315 | 319 | | |
| 320 | + | |
316 | 321 | | |
317 | 322 | | |
318 | | - | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
319 | 326 | | |
320 | 327 | | |
321 | 328 | | |
| |||
367 | 374 | | |
368 | 375 | | |
369 | 376 | | |
370 | | - | |
371 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
372 | 381 | | |
373 | 382 | | |
374 | 383 | | |
| |||
0 commit comments