Skip to content

Commit 6908f80

Browse files
committed
Use forward difference for synthetic imu measurements
1 parent 298dfdc commit 6908f80

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

wave_vision/src/dataset/VioDatasetGenerator.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,20 @@ VioDataset VioDatasetGenerator::generate() {
109109

110110
// Handle measurements
111111
for (auto i = 0u; i < vo.states.size(); ++i) {
112-
addVoStateToDataset(i, time_start, vo.states[i], dataset);
112+
const auto time_point =
113+
timePointAfterStartTime(time_start, vo.states[i].time);
114+
115+
addVoStateToDataset(i, time_point, vo.states[i], dataset);
113116

114117
// Calculate imu measurements
115-
// (the last one is missing)
116-
if (i > 0) {
118+
// (use forward difference)
119+
if (i + 1 < vo.states.size()) {
120+
addImuStatesToDataset(
121+
time_point, vo.states[i], vo.states[i + 1], dataset);
122+
} else {
123+
// for simplicity just copy the second-last imu reading as the last
117124
addImuStatesToDataset(
118-
time_start, vo.states[i - 1], vo.states[i], dataset);
125+
time_point, vo.states[i - 1], vo.states[i], dataset);
119126
}
120127
}
121128

0 commit comments

Comments
 (0)