Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wpimath] Add 3d odometry and pose estimation #7119

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

KangarooKoala
Copy link
Contributor

Opening mostly just to get the code out there.

Resolves #4933.

Still needs to be timed to determine whether the performance is good enough to always use 3D or if we need to maintain a separate 2D implementation to not affect performance for the 2D case too much. Local accuracy tests show very similar results, though, on the order of 1e-12 meters and 1e-12 radians. (Local accuracy tests were done by adding some logging code to testFollowTrajectory() in SwerveDrivePoseEstimatorTest.cpp, copying into SwerveDrivePoseEstimator3dTest.cpp, replacing SwerveDrivePoseEstimator with SwerveDrivePoseEstimator3d, and then running tests. Hopefully in the next few weeks I can document the process more precisely.)

Also needs 3D-specific tests added at some point.

@KangarooKoala
Copy link
Contributor Author

Timing summary is below. I'm skeptical of the results, though, given the large disparity between C++ debug and Java debug, and the very low difference between release and debug. If someone knows of any pitfalls in running tests in release vs debug mode in cmake, please let me know so I can try to run the tests more accurately:

C++ release:
  2d odometry update: 130 ns
  3d odometry update: 260 ns
  2d pose estimator update: 200 ns
  3d pose estimator update: 350 ns
C++ debug:
  2d odometry update: 130 ns
  3d odometry update: 290 ns
  2d pose estimator update: 200 ns
  3d pose estimator update: 360 ns
Java debug:
  2d odometry update: 225 ns
  3d odometry update: 30000 ns
  2d pose estimator update: 500 ns
  3d pose estimator update: 32000 ns

Below are snippets from running tests on 6a13f34:

C++ release:
[ RUN      ] TimeTest.Time
Odometry update (2d):
  Warmup: (100,000 iterations):
    Mean: 135.88317 ns, Std dev: 226.69650712079516 ns
    First 10: [3182 ns, 169 ns, 141 ns, 139 ns, 141 ns, 138 ns, 143 ns, 140 ns, 140 ns, 141 ns]
    Last 10: [128 ns, 137 ns, 125 ns, 127 ns, 126 ns, 125 ns, 138 ns, 127 ns, 126 ns, 126 ns]
    Fastest 10: [121 ns, 121 ns, 122 ns, 122 ns, 122 ns, 122 ns, 122 ns, 122 ns, 122 ns, 122 ns]
    Slowest 10: [12259 ns, 12303 ns, 12303 ns, 12309 ns, 12320 ns, 12377 ns, 12425 ns, 12470 ns, 12688 ns, 18808 ns]
  Run 0:
    Mean: 167.779 ns, Std dev: 636.8682486660794 ns
    First 10: [630 ns, 137 ns, 135 ns, 134 ns, 127 ns, 135 ns, 134 ns, 135 ns, 141 ns, 127 ns]
    Last 10: [125 ns, 126 ns, 138 ns, 126 ns, 126 ns, 125 ns, 125 ns, 138 ns, 128 ns, 126 ns]
    Fastest 10: [125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [202 ns, 213 ns, 213 ns, 219 ns, 300 ns, 398 ns, 630 ns, 9333 ns, 12357 ns, 13257 ns]
  Run 1:
    Mean: 128.595 ns, Std dev: 5.196053791099574 ns
    First 10: [171 ns, 127 ns, 139 ns, 125 ns, 126 ns, 126 ns, 126 ns, 139 ns, 126 ns, 126 ns]
    Last 10: [126 ns, 139 ns, 125 ns, 125 ns, 127 ns, 126 ns, 138 ns, 126 ns, 126 ns, 126 ns]
    Fastest 10: [125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [139 ns, 139 ns, 139 ns, 139 ns, 139 ns, 139 ns, 139 ns, 139 ns, 140 ns, 171 ns]
  Run 2:
    Mean: 138.882 ns, Std dev: 322.66141398686017 ns
    First 10: [142 ns, 139 ns, 127 ns, 127 ns, 126 ns, 126 ns, 139 ns, 126 ns, 127 ns, 127 ns]
    Last 10: [134 ns, 134 ns, 128 ns, 130 ns, 129 ns, 136 ns, 135 ns, 134 ns, 136 ns, 128 ns]
    Fastest 10: [125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 142 ns, 142 ns, 10336 ns]
  Run 3:
    Mean: 149.385 ns, Std dev: 433.1201158743348 ns
    First 10: [141 ns, 129 ns, 129 ns, 126 ns, 134 ns, 136 ns, 129 ns, 128 ns, 128 ns, 133 ns]
    Last 10: [126 ns, 127 ns, 127 ns, 126 ns, 140 ns, 126 ns, 125 ns, 125 ns, 126 ns, 139 ns]
    Fastest 10: [124 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 141 ns, 181 ns, 804 ns, 9295 ns, 10303 ns]
  Run 4:
    Mean: 129.768 ns, Std dev: 5.400571821575907 ns
    First 10: [143 ns, 139 ns, 127 ns, 127 ns, 126 ns, 126 ns, 139 ns, 126 ns, 128 ns, 126 ns]
    Last 10: [126 ns, 127 ns, 126 ns, 140 ns, 125 ns, 127 ns, 127 ns, 126 ns, 140 ns, 137 ns]
    Fastest 10: [125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 143 ns]
Odometry update (3d):
  Warmup: (100,000 iterations):
    Mean: 269.95084 ns, Std dev: 332.04459420868255 ns
    First 10: [3212 ns, 270 ns, 254 ns, 267 ns, 256 ns, 267 ns, 255 ns, 268 ns, 267 ns, 255 ns]
    Last 10: [256 ns, 267 ns, 255 ns, 253 ns, 267 ns, 255 ns, 267 ns, 255 ns, 266 ns, 267 ns]
    Fastest 10: [251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns]
    Slowest 10: [12165 ns, 12188 ns, 12351 ns, 12867 ns, 14388 ns, 15634 ns, 17786 ns, 18810 ns, 22543 ns, 28783 ns]
  Run 0:
    Mean: 261.355 ns, Std dev: 12.41712426449865 ns
    First 10: [602 ns, 254 ns, 267 ns, 255 ns, 268 ns, 254 ns, 253 ns, 265 ns, 257 ns, 268 ns]
    Last 10: [254 ns, 268 ns, 268 ns, 254 ns, 267 ns, 256 ns, 268 ns, 256 ns, 267 ns, 255 ns]
    Fastest 10: [252 ns, 252 ns, 252 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 602 ns]
  Run 1:
    Mean: 261.059 ns, Std dev: 6.183972752203904 ns
    First 10: [254 ns, 267 ns, 255 ns, 267 ns, 257 ns, 268 ns, 254 ns, 268 ns, 256 ns, 268 ns]
    Last 10: [267 ns, 267 ns, 253 ns, 268 ns, 255 ns, 266 ns, 255 ns, 267 ns, 256 ns, 269 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 270 ns]
  Run 2:
    Mean: 260.948 ns, Std dev: 6.190581232808471 ns
    First 10: [266 ns, 255 ns, 269 ns, 255 ns, 267 ns, 266 ns, 255 ns, 267 ns, 255 ns, 267 ns]
    Last 10: [267 ns, 254 ns, 267 ns, 255 ns, 267 ns, 255 ns, 255 ns, 268 ns, 255 ns, 266 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns]
  Run 3:
    Mean: 261.015 ns, Std dev: 6.189569855813886 ns
    First 10: [257 ns, 266 ns, 255 ns, 267 ns, 256 ns, 267 ns, 255 ns, 255 ns, 267 ns, 256 ns]
    Last 10: [267 ns, 256 ns, 266 ns, 254 ns, 255 ns, 267 ns, 254 ns, 267 ns, 255 ns, 268 ns]
    Fastest 10: [252 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns]
  Run 4:
    Mean: 274.02 ns, Std dev: 273.9810606593089 ns
    First 10: [268 ns, 256 ns, 255 ns, 269 ns, 255 ns, 267 ns, 256 ns, 266 ns, 257 ns, 267 ns]
    Last 10: [328 ns, 327 ns, 327 ns, 328 ns, 328 ns, 326 ns, 330 ns, 334 ns, 333 ns, 328 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [334 ns, 334 ns, 334 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 336 ns, 8916 ns]
Pose estimator update (2d):
  Warmup: (100,000 iterations):
    Mean: 205.30536 ns, Std dev: 262.2031606889788 ns
    First 10: [4006 ns, 293 ns, 254 ns, 243 ns, 274 ns, 253 ns, 245 ns, 241 ns, 244 ns, 245 ns]
    Last 10: [195 ns, 192 ns, 191 ns, 193 ns, 191 ns, 192 ns, 192 ns, 196 ns, 192 ns, 189 ns]
    Fastest 10: [181 ns, 181 ns, 181 ns, 181 ns, 181 ns, 181 ns, 181 ns, 181 ns, 181 ns, 181 ns]
    Slowest 10: [12258 ns, 13063 ns, 13141 ns, 13158 ns, 13255 ns, 13517 ns, 17788 ns, 22684 ns, 27176 ns, 29416 ns]
  Run 0:
    Mean: 193.504 ns, Std dev: 6.8502543018489614 ns
    First 10: [374 ns, 194 ns, 192 ns, 210 ns, 190 ns, 190 ns, 191 ns, 190 ns, 193 ns, 191 ns]
    Last 10: [197 ns, 191 ns, 191 ns, 190 ns, 192 ns, 190 ns, 192 ns, 210 ns, 192 ns, 191 ns]
    Fastest 10: [187 ns, 187 ns, 187 ns, 187 ns, 187 ns, 187 ns, 187 ns, 189 ns, 189 ns, 189 ns]
    Slowest 10: [213 ns, 214 ns, 216 ns, 216 ns, 216 ns, 216 ns, 216 ns, 217 ns, 217 ns, 374 ns]
  Run 1:
    Mean: 212.098 ns, Std dev: 440.4550106378647 ns
    First 10: [196 ns, 192 ns, 191 ns, 192 ns, 209 ns, 192 ns, 189 ns, 190 ns, 190 ns, 193 ns]
    Last 10: [190 ns, 190 ns, 211 ns, 191 ns, 196 ns, 188 ns, 192 ns, 191 ns, 191 ns, 190 ns]
    Fastest 10: [184 ns, 185 ns, 185 ns, 185 ns, 185 ns, 185 ns, 185 ns, 185 ns, 185 ns, 185 ns]
    Slowest 10: [210 ns, 210 ns, 211 ns, 211 ns, 211 ns, 211 ns, 221 ns, 221 ns, 9370 ns, 10687 ns]
  Run 2:
    Mean: 192.343 ns, Std dev: 3.497048898714455 ns
    First 10: [227 ns, 194 ns, 190 ns, 190 ns, 190 ns, 192 ns, 191 ns, 192 ns, 189 ns, 191 ns]
    Last 10: [192 ns, 195 ns, 192 ns, 192 ns, 192 ns, 191 ns, 191 ns, 191 ns, 196 ns, 191 ns]
    Fastest 10: [186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns]
    Slowest 10: [211 ns, 211 ns, 211 ns, 212 ns, 212 ns, 212 ns, 213 ns, 215 ns, 217 ns, 227 ns]
  Run 3:
    Mean: 192.352 ns, Std dev: 3.462094163941818 ns
    First 10: [219 ns, 214 ns, 192 ns, 193 ns, 192 ns, 195 ns, 191 ns, 189 ns, 191 ns, 191 ns]
    Last 10: [195 ns, 190 ns, 190 ns, 186 ns, 193 ns, 191 ns, 193 ns, 189 ns, 192 ns, 191 ns]
    Fastest 10: [185 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns, 186 ns]
    Slowest 10: [211 ns, 211 ns, 211 ns, 211 ns, 212 ns, 212 ns, 212 ns, 214 ns, 215 ns, 219 ns]
  Run 4:
    Mean: 196.923 ns, Std dev: 4.937719210323734 ns
    First 10: [200 ns, 193 ns, 192 ns, 191 ns, 193 ns, 192 ns, 197 ns, 193 ns, 206 ns, 191 ns]
    Last 10: [198 ns, 185 ns, 199 ns, 199 ns, 199 ns, 198 ns, 198 ns, 198 ns, 187 ns, 198 ns]
    Fastest 10: [183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns]
    Slowest 10: [212 ns, 212 ns, 212 ns, 213 ns, 221 ns, 222 ns, 223 ns, 224 ns, 225 ns, 226 ns]
Pose estimator update (3d):
  Warmup: (100,000 iterations):
    Mean: 367.72547 ns, Std dev: 479.5382744508664 ns
    First 10: [2631 ns, 359 ns, 353 ns, 352 ns, 339 ns, 350 ns, 350 ns, 350 ns, 340 ns, 351 ns]
    Last 10: [351 ns, 339 ns, 349 ns, 350 ns, 338 ns, 351 ns, 351 ns, 350 ns, 340 ns, 353 ns]
    Fastest 10: [335 ns, 335 ns, 335 ns, 336 ns, 336 ns, 336 ns, 336 ns, 336 ns, 336 ns, 336 ns]
    Slowest 10: [22989 ns, 23681 ns, 24777 ns, 26147 ns, 26650 ns, 27723 ns, 30926 ns, 31991 ns, 46658 ns, 55399 ns]
  Run 0:
    Mean: 387.482 ns, Std dev: 613.0014711858363 ns
    First 10: [486 ns, 343 ns, 342 ns, 353 ns, 351 ns, 351 ns, 340 ns, 350 ns, 351 ns, 350 ns]
    Last 10: [351 ns, 353 ns, 340 ns, 350 ns, 351 ns, 352 ns, 339 ns, 351 ns, 351 ns, 353 ns]
    Fastest 10: [336 ns, 336 ns, 336 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [378 ns, 378 ns, 378 ns, 386 ns, 400 ns, 486 ns, 9380 ns, 9536 ns, 10595 ns, 10656 ns]
  Run 1:
    Mean: 346.758 ns, Std dev: 6.4754487103211575 ns
    First 10: [338 ns, 351 ns, 351 ns, 339 ns, 351 ns, 351 ns, 350 ns, 339 ns, 351 ns, 349 ns]
    Last 10: [351 ns, 351 ns, 352 ns, 339 ns, 351 ns, 350 ns, 352 ns, 340 ns, 352 ns, 350 ns]
    Fastest 10: [336 ns, 336 ns, 336 ns, 336 ns, 336 ns, 336 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [365 ns, 365 ns, 365 ns, 366 ns, 366 ns, 366 ns, 366 ns, 375 ns, 376 ns, 377 ns]
  Run 2:
    Mean: 346.842 ns, Std dev: 6.447560468890529 ns
    First 10: [338 ns, 340 ns, 352 ns, 351 ns, 338 ns, 339 ns, 350 ns, 351 ns, 340 ns, 351 ns]
    Last 10: [351 ns, 351 ns, 338 ns, 353 ns, 348 ns, 350 ns, 340 ns, 352 ns, 351 ns, 353 ns]
    Fastest 10: [336 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [364 ns, 364 ns, 364 ns, 365 ns, 365 ns, 365 ns, 365 ns, 365 ns, 365 ns, 366 ns]
  Run 3:
    Mean: 346.7 ns, Std dev: 6.466219915839538 ns
    First 10: [340 ns, 352 ns, 351 ns, 339 ns, 340 ns, 350 ns, 349 ns, 339 ns, 338 ns, 351 ns]
    Last 10: [350 ns, 339 ns, 349 ns, 350 ns, 340 ns, 338 ns, 352 ns, 351 ns, 338 ns, 351 ns]
    Fastest 10: [336 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [364 ns, 364 ns, 364 ns, 364 ns, 365 ns, 365 ns, 366 ns, 366 ns, 377 ns, 377 ns]
  Run 4:
    Mean: 346.889 ns, Std dev: 6.322236866805933 ns
    First 10: [355 ns, 349 ns, 352 ns, 340 ns, 340 ns, 351 ns, 353 ns, 337 ns, 350 ns, 350 ns]
    Last 10: [339 ns, 352 ns, 349 ns, 340 ns, 338 ns, 351 ns, 350 ns, 341 ns, 350 ns, 365 ns]
    Fastest 10: [336 ns, 336 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [365 ns, 365 ns, 365 ns, 365 ns, 366 ns, 366 ns, 366 ns, 367 ns, 376 ns, 377 ns]
[       OK ] TimeTest.Time (149 ms)

C++ debug:
[ RUN      ] TimeTest.Time
Odometry update (2d):
  Warmup: (100,000 iterations):
    Mean: 140.4313 ns, Std dev: 219.13942872123334 ns
    First 10: [3657 ns, 159 ns, 138 ns, 127 ns, 126 ns, 126 ns, 124 ns, 139 ns, 139 ns, 125 ns]
    Last 10: [128 ns, 126 ns, 126 ns, 125 ns, 139 ns, 126 ns, 126 ns, 128 ns, 126 ns, 126 ns]
    Fastest 10: [123 ns, 123 ns, 123 ns, 123 ns, 123 ns, 123 ns, 124 ns, 124 ns, 124 ns, 124 ns]
    Slowest 10: [12301 ns, 12415 ns, 12423 ns, 12449 ns, 12589 ns, 12596 ns, 12784 ns, 12794 ns, 14393 ns, 25157 ns]
  Run 0:
    Mean: 128.993 ns, Std dev: 10.641473159295039 ns
    First 10: [423 ns, 143 ns, 139 ns, 125 ns, 125 ns, 126 ns, 139 ns, 140 ns, 125 ns, 126 ns]
    Last 10: [126 ns, 139 ns, 126 ns, 126 ns, 125 ns, 137 ns, 126 ns, 127 ns, 126 ns, 127 ns]
    Fastest 10: [124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 143 ns, 423 ns]
  Run 1:
    Mean: 128.585 ns, Std dev: 5.032770111976115 ns
    First 10: [130 ns, 126 ns, 138 ns, 141 ns, 127 ns, 127 ns, 126 ns, 126 ns, 139 ns, 126 ns]
    Last 10: [127 ns, 138 ns, 127 ns, 126 ns, 126 ns, 127 ns, 139 ns, 126 ns, 125 ns, 126 ns]
    Fastest 10: [124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 141 ns, 141 ns]
  Run 2:
    Mean: 129.67 ns, Std dev: 5.346316488948254 ns
    First 10: [130 ns, 127 ns, 127 ns, 128 ns, 128 ns, 137 ns, 127 ns, 126 ns, 127 ns, 128 ns]
    Last 10: [125 ns, 127 ns, 138 ns, 140 ns, 126 ns, 127 ns, 127 ns, 126 ns, 140 ns, 125 ns]
    Fastest 10: [125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns, 141 ns]
  Run 3:
    Mean: 128.649 ns, Std dev: 5.188622071417411 ns
    First 10: [162 ns, 138 ns, 140 ns, 127 ns, 126 ns, 127 ns, 126 ns, 139 ns, 128 ns, 126 ns]
    Last 10: [140 ns, 126 ns, 128 ns, 126 ns, 126 ns, 139 ns, 126 ns, 126 ns, 126 ns, 126 ns]
    Fastest 10: [124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 162 ns]
  Run 4:
    Mean: 128.502 ns, Std dev: 5.009590402418139 ns
    First 10: [133 ns, 156 ns, 138 ns, 126 ns, 126 ns, 128 ns, 126 ns, 138 ns, 126 ns, 127 ns]
    Last 10: [139 ns, 128 ns, 126 ns, 126 ns, 127 ns, 138 ns, 126 ns, 125 ns, 126 ns, 137 ns]
    Fastest 10: [124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 124 ns, 125 ns, 125 ns, 125 ns, 125 ns]
    Slowest 10: [140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 140 ns, 156 ns]
Odometry update (3d):
  Warmup: (100,000 iterations):
    Mean: 271.8337 ns, Std dev: 281.8103118487748 ns
    First 10: [2686 ns, 268 ns, 268 ns, 268 ns, 255 ns, 267 ns, 256 ns, 267 ns, 253 ns, 267 ns]
    Last 10: [255 ns, 267 ns, 255 ns, 255 ns, 267 ns, 253 ns, 267 ns, 255 ns, 266 ns, 255 ns]
    Fastest 10: [251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns, 251 ns]
    Slowest 10: [12114 ns, 12123 ns, 12184 ns, 12244 ns, 12428 ns, 12522 ns, 13795 ns, 15499 ns, 18913 ns, 33778 ns]
  Run 0:
    Mean: 272.706 ns, Std dev: 292.42434160651084 ns
    First 10: [810 ns, 267 ns, 265 ns, 272 ns, 265 ns, 267 ns, 271 ns, 265 ns, 266 ns, 272 ns]
    Last 10: [256 ns, 268 ns, 255 ns, 268 ns, 254 ns, 255 ns, 266 ns, 255 ns, 266 ns, 255 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [273 ns, 273 ns, 273 ns, 273 ns, 273 ns, 274 ns, 274 ns, 274 ns, 810 ns, 9497 ns]
  Run 1:
    Mean: 261.129 ns, Std dev: 6.176111964658669 ns
    First 10: [268 ns, 266 ns, 266 ns, 254 ns, 267 ns, 255 ns, 267 ns, 256 ns, 268 ns, 256 ns]
    Last 10: [255 ns, 266 ns, 257 ns, 266 ns, 255 ns, 268 ns, 254 ns, 267 ns, 267 ns, 254 ns]
    Fastest 10: [252 ns, 252 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns]
  Run 2:
    Mean: 261.085 ns, Std dev: 6.168774189415563 ns
    First 10: [266 ns, 255 ns, 269 ns, 256 ns, 267 ns, 255 ns, 268 ns, 254 ns, 255 ns, 266 ns]
    Last 10: [256 ns, 267 ns, 256 ns, 267 ns, 256 ns, 268 ns, 266 ns, 255 ns, 267 ns, 253 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns]
  Run 3:
    Mean: 272.75 ns, Std dev: 282.24707881570714 ns
    First 10: [268 ns, 254 ns, 255 ns, 267 ns, 255 ns, 267 ns, 255 ns, 267 ns, 255 ns, 255 ns]
    Last 10: [267 ns, 255 ns, 266 ns, 256 ns, 267 ns, 255 ns, 267 ns, 255 ns, 267 ns, 255 ns]
    Fastest 10: [253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [274 ns, 274 ns, 274 ns, 275 ns, 280 ns, 283 ns, 298 ns, 316 ns, 327 ns, 9191 ns]
  Run 4:
    Mean: 260.999 ns, Std dev: 6.174382479244391 ns
    First 10: [267 ns, 255 ns, 254 ns, 267 ns, 254 ns, 268 ns, 255 ns, 267 ns, 254 ns, 266 ns]
    Last 10: [267 ns, 255 ns, 267 ns, 255 ns, 266 ns, 255 ns, 254 ns, 268 ns, 254 ns, 268 ns]
    Fastest 10: [252 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns, 253 ns]
    Slowest 10: [269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns, 269 ns]
Pose estimator update (2d):
  Warmup: (100,000 iterations):
    Mean: 209.89107 ns, Std dev: 294.7522868515264 ns
    First 10: [3471 ns, 207 ns, 196 ns, 197 ns, 196 ns, 196 ns, 198 ns, 198 ns, 184 ns, 197 ns]
    Last 10: [197 ns, 197 ns, 195 ns, 198 ns, 197 ns, 195 ns, 196 ns, 197 ns, 196 ns, 198 ns]
    Fastest 10: [182 ns, 182 ns, 182 ns, 182 ns, 182 ns, 182 ns, 182 ns, 182 ns, 182 ns, 182 ns]
    Slowest 10: [12376 ns, 12396 ns, 12475 ns, 12798 ns, 13447 ns, 14901 ns, 16737 ns, 17554 ns, 27832 ns, 30368 ns]
  Run 0:
    Mean: 196.776 ns, Std dev: 10.578743970812377 ns
    First 10: [499 ns, 224 ns, 198 ns, 198 ns, 197 ns, 199 ns, 198 ns, 198 ns, 197 ns, 198 ns]
    Last 10: [183 ns, 196 ns, 185 ns, 199 ns, 211 ns, 198 ns, 197 ns, 197 ns, 196 ns, 198 ns]
    Fastest 10: [183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 184 ns]
    Slowest 10: [211 ns, 212 ns, 212 ns, 222 ns, 222 ns, 222 ns, 224 ns, 224 ns, 225 ns, 499 ns]
  Run 1:
    Mean: 196.23 ns, Std dev: 5.104223741177493 ns
    First 10: [201 ns, 196 ns, 198 ns, 198 ns, 221 ns, 197 ns, 198 ns, 198 ns, 196 ns, 197 ns]
    Last 10: [198 ns, 197 ns, 196 ns, 196 ns, 197 ns, 196 ns, 196 ns, 184 ns, 196 ns, 187 ns]
    Fastest 10: [183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns]
    Slowest 10: [221 ns, 221 ns, 221 ns, 221 ns, 221 ns, 221 ns, 222 ns, 223 ns, 224 ns, 225 ns]
  Run 2:
    Mean: 196.262 ns, Std dev: 4.837288083213587 ns
    First 10: [220 ns, 199 ns, 186 ns, 198 ns, 185 ns, 198 ns, 198 ns, 222 ns, 199 ns, 197 ns]
    Last 10: [197 ns, 198 ns, 197 ns, 198 ns, 197 ns, 197 ns, 197 ns, 198 ns, 198 ns, 198 ns]
    Fastest 10: [182 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns]
    Slowest 10: [211 ns, 212 ns, 212 ns, 220 ns, 221 ns, 221 ns, 221 ns, 222 ns, 222 ns, 223 ns]
  Run 3:
    Mean: 196.415 ns, Std dev: 4.9429520531763105 ns
    First 10: [241 ns, 200 ns, 200 ns, 200 ns, 185 ns, 197 ns, 199 ns, 195 ns, 183 ns, 198 ns]
    Last 10: [198 ns, 198 ns, 197 ns, 198 ns, 199 ns, 185 ns, 197 ns, 185 ns, 198 ns, 198 ns]
    Fastest 10: [183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns]
    Slowest 10: [212 ns, 213 ns, 213 ns, 221 ns, 221 ns, 223 ns, 224 ns, 224 ns, 224 ns, 241 ns]
  Run 4:
    Mean: 196.246 ns, Std dev: 4.858959147801096 ns
    First 10: [230 ns, 199 ns, 200 ns, 186 ns, 196 ns, 183 ns, 197 ns, 184 ns, 198 ns, 186 ns]
    Last 10: [198 ns, 185 ns, 195 ns, 186 ns, 196 ns, 185 ns, 198 ns, 196 ns, 198 ns, 197 ns]
    Fastest 10: [183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 183 ns, 184 ns, 184 ns, 184 ns]
    Slowest 10: [212 ns, 212 ns, 212 ns, 212 ns, 221 ns, 221 ns, 222 ns, 222 ns, 223 ns, 230 ns]
Pose estimator update (3d):
  Warmup: (100,000 iterations):
    Mean: 362.39402 ns, Std dev: 463.4171931730896 ns
    First 10: [6440 ns, 372 ns, 363 ns, 341 ns, 353 ns, 352 ns, 352 ns, 339 ns, 351 ns, 350 ns]
    Last 10: [338 ns, 337 ns, 340 ns, 341 ns, 341 ns, 337 ns, 339 ns, 356 ns, 337 ns, 339 ns]
    Fastest 10: [334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns]
    Slowest 10: [22468 ns, 26383 ns, 27966 ns, 28021 ns, 28143 ns, 29241 ns, 29299 ns, 32784 ns, 38886 ns, 39805 ns]
  Run 0:
    Mean: 339.245 ns, Std dev: 28.162368064493496 ns
    First 10: [1223 ns, 341 ns, 340 ns, 340 ns, 337 ns, 337 ns, 340 ns, 339 ns, 335 ns, 336 ns]
    Last 10: [336 ns, 338 ns, 338 ns, 336 ns, 340 ns, 335 ns, 338 ns, 336 ns, 338 ns, 339 ns]
    Fastest 10: [333 ns, 333 ns, 333 ns, 333 ns, 333 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns]
    Slowest 10: [358 ns, 358 ns, 358 ns, 358 ns, 359 ns, 359 ns, 359 ns, 360 ns, 360 ns, 1223 ns]
  Run 1:
    Mean: 338.274 ns, Std dev: 3.071957682000188 ns
    First 10: [341 ns, 340 ns, 339 ns, 340 ns, 335 ns, 339 ns, 339 ns, 340 ns, 340 ns, 336 ns]
    Last 10: [339 ns, 338 ns, 336 ns, 339 ns, 340 ns, 339 ns, 335 ns, 339 ns, 334 ns, 337 ns]
    Fastest 10: [333 ns, 333 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns]
    Slowest 10: [357 ns, 358 ns, 358 ns, 358 ns, 358 ns, 358 ns, 358 ns, 359 ns, 360 ns, 360 ns]
  Run 2:
    Mean: 389.203 ns, Std dev: 1304.6394428312362 ns
    First 10: [336 ns, 337 ns, 337 ns, 339 ns, 338 ns, 336 ns, 339 ns, 338 ns, 339 ns, 335 ns]
    Last 10: [351 ns, 338 ns, 352 ns, 353 ns, 351 ns, 339 ns, 353 ns, 351 ns, 352 ns, 351 ns]
    Fastest 10: [333 ns, 333 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns, 334 ns]
    Slowest 10: [359 ns, 359 ns, 359 ns, 359 ns, 360 ns, 360 ns, 360 ns, 1150 ns, 9688 ns, 40545 ns]
  Run 3:
    Mean: 343.665 ns, Std dev: 6.176793261879513 ns
    First 10: [364 ns, 356 ns, 351 ns, 352 ns, 341 ns, 338 ns, 351 ns, 350 ns, 341 ns, 340 ns]
    Last 10: [351 ns, 350 ns, 352 ns, 339 ns, 350 ns, 351 ns, 352 ns, 340 ns, 353 ns, 351 ns]
    Fastest 10: [335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns, 335 ns]
    Slowest 10: [356 ns, 356 ns, 358 ns, 358 ns, 363 ns, 364 ns, 364 ns, 366 ns, 366 ns, 366 ns]
  Run 4:
    Mean: 347.668 ns, Std dev: 6.05605283992798 ns
    First 10: [352 ns, 350 ns, 340 ns, 339 ns, 352 ns, 352 ns, 352 ns, 340 ns, 351 ns, 350 ns]
    Last 10: [351 ns, 339 ns, 351 ns, 353 ns, 352 ns, 340 ns, 351 ns, 351 ns, 351 ns, 341 ns]
    Fastest 10: [336 ns, 336 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns, 337 ns]
    Slowest 10: [354 ns, 355 ns, 363 ns, 364 ns, 364 ns, 364 ns, 365 ns, 365 ns, 366 ns, 366 ns]
[       OK ] TimeTest.Time (150 ms)

Java debug:
TimeTest > testTime() STANDARD_OUT
    Odometry update (2d):
      Warmup: (100,000 iterations):
        Mean: 496.43007, Std dev: 18511.89120356293
        First 10: [5840832, 33017, 8025, 11292, 7381, 6471, 6359, 7145, 6325, 6371]
        Last 10: [123, 123, 123, 130, 122, 141, 123, 122, 130, 1561]
        Fastest 10: [120, 120, 120, 121, 121, 121, 121, 121, 121, 121]
        Slowest 10: [35456, 46164, 46365, 51847, 53516, 58033, 75471, 85059, 143248, 5840832]
      Run 0:
        Mean: 164.278, Std dev: 255.6717010464784
        First 10: [3620, 160, 132, 129, 122, 142, 121, 123, 130, 125]
        Last 10: [133, 131, 124, 122, 129, 122, 122, 122, 125, 122]
        Fastest 10: [120, 121, 121, 121, 121, 121, 121, 121, 121, 121]
        Slowest 10: [1751, 1754, 1759, 1784, 1806, 1815, 1820, 1921, 1927, 3620]
      Run 1:
        Mean: 220.155, Std dev: 300.8048353584104
        First 10: [560, 239, 212, 232, 185, 212, 213, 2422, 189, 213]
        Last 10: [123, 143, 122, 123, 128, 122, 122, 122, 122, 130]
        Fastest 10: [121, 121, 121, 121, 121, 121, 121, 121, 121, 121]
        Slowest 10: [1851, 2098, 2334, 2376, 2391, 2422, 2507, 2628, 2820, 3262]
      Run 2:
        Mean: 225.01, Std dev: 511.61156153863465
        First 10: [701, 234, 220, 202, 214, 215, 205, 196, 229, 219]
        Last 10: [124, 124, 127, 130, 124, 123, 131, 124, 124, 124]
        Fastest 10: [121, 121, 121, 121, 121, 121, 121, 121, 121, 121]
        Slowest 10: [2474, 2576, 2577, 2637, 2651, 2780, 2798, 2890, 5071, 12096]
      Run 3:
        Mean: 239.718, Std dev: 674.4104747674105
        First 10: [514, 2289, 209, 232, 232, 227, 228, 252, 239, 236]
        Last 10: [122, 124, 129, 123, 123, 123, 123, 123, 123, 125]
        Fastest 10: [121, 121, 121, 121, 121, 121, 121, 121, 121, 121]
        Slowest 10: [2524, 2583, 2661, 2667, 2784, 3100, 4366, 4696, 6946, 16826]
      Run 4:
        Mean: 286.628, Std dev: 364.10095799928854
        First 10: [539, 227, 243, 237, 2867, 241, 225, 202, 210, 203]
        Last 10: [234, 234, 229, 198, 192, 204, 239, 238, 2856, 259]
        Fastest 10: [171, 172, 179, 180, 180, 182, 184, 184, 186, 186]
        Slowest 10: [2657, 2659, 2684, 2729, 2731, 2762, 2856, 2867, 2907, 3007]
    Odometry update (3d):
      Warmup: (100,000 iterations):
        Mean: 41014.78963, Std dev: 3066750.69327112
        First 10: [969825055, 79444, 49789, 52628, 54079, 48111, 48133, 60978, 80973, 48554]
        Last 10: [28272, 28217, 28226, 28320, 28326, 28369, 30735, 29837, 28491, 28300]
        Fastest 10: [27710, 27755, 27758, 27778, 27782, 27782, 27783, 27785, 27785, 27786]
        Slowest 10: [172428, 201738, 211233, 214589, 221854, 243983, 373780, 416551, 567109, 969825055]
      Run 0:
        Mean: 30822.662, Std dev: 6433.712458429893
        First 10: [109112, 39858, 31496, 31149, 30455, 30335, 30274, 39293, 29316, 29189]
        Last 10: [29051, 29053, 28971, 28939, 28928, 29024, 31388, 30319, 28845, 28866]
        Fastest 10: [28580, 28618, 28648, 28660, 28669, 28672, 28679, 28697, 28699, 28700]
        Slowest 10: [62229, 64352, 68701, 70957, 72042, 73787, 75609, 101696, 109091, 109112]
      Run 1:
        Mean: 31036.418, Std dev: 5399.6754192521585
        First 10: [86602, 83052, 43530, 33329, 32320, 32033, 60727, 36984, 32509, 44434]
        Last 10: [31535, 31434, 31357, 31520, 35250, 31785, 31792, 31467, 31642, 31544]
        Fastest 10: [28581, 28596, 28600, 28604, 28610, 28631, 28634, 28643, 28654, 28662]
        Slowest 10: [59920, 60727, 67374, 68948, 70221, 71264, 71351, 80058, 83052, 86602]
      Run 2:
        Mean: 30709.464, Std dev: 5791.054785848949
        First 10: [72496, 51249, 36132, 30766, 30507, 30231, 30307, 33420, 32003, 30209]
        Last 10: [30083, 34532, 77075, 48843, 53233, 57318, 31441, 30595, 34992, 45117]
        Fastest 10: [27977, 28067, 28076, 28082, 28084, 28112, 28114, 28114, 28115, 28116]
        Slowest 10: [57318, 68291, 71507, 72496, 73520, 75858, 76472, 77075, 77076, 93320]
      Run 3:
        Mean: 30139.765, Std dev: 3847.2932770683055
        First 10: [59256, 32125, 30754, 30360, 30281, 30286, 30368, 30121, 31815, 30350]
        Last 10: [29634, 29917, 32091, 30946, 29750, 29635, 38792, 39760, 29876, 38916]
        Fastest 10: [28115, 28117, 28139, 28145, 28150, 28151, 28159, 28162, 28163, 28167]
        Slowest 10: [50012, 50625, 51963, 53289, 53392, 54011, 57753, 59256, 63452, 66364]
      Run 4:
        Mean: 30353.377, Std dev: 4447.505856417844
        First 10: [94559, 33076, 30582, 30638, 30277, 30471, 34581, 32984, 30607, 30530]
        Last 10: [28064, 28159, 30098, 29368, 28313, 28155, 28105, 28139, 28143, 28147]
        Fastest 10: [27981, 27987, 28008, 28012, 28020, 28033, 28036, 28036, 28041, 28042]
        Slowest 10: [47230, 50162, 50891, 51670, 52692, 60783, 63629, 64506, 79925, 94559]
    Pose estimator update (2d):
      Warmup: (100,000 iterations):
        Mean: 511.8434, Std dev: 10538.076772122771
        First 10: [3324685, 4368, 2243, 4332, 1934, 1614, 1527, 1474, 1491, 1480]
        Last 10: [348, 338, 1845, 341, 333, 351, 335, 355, 335, 349]
        Fastest 10: [328, 328, 329, 329, 330, 330, 330, 330, 330, 330]
        Slowest 10: [27670, 28359, 29064, 30506, 31475, 35028, 35212, 43668, 104040, 3324685]
      Run 0:
        Mean: 572.08, Std dev: 578.295929088213
        First 10: [8868, 422, 346, 344, 341, 341, 341, 345, 373, 364]
        Last 10: [343, 330, 333, 2125, 348, 354, 343, 349, 361, 345]
        Fastest 10: [330, 333, 333, 333, 338, 338, 339, 339, 339, 339]
        Slowest 10: [2998, 3027, 3054, 3201, 3246, 3325, 3342, 4147, 7229, 8868]
      Run 1:
        Mean: 485.727, Std dev: 599.4325820899282
        First 10: [3382, 2160, 3266, 659, 538, 556, 625, 603, 633, 562]
        Last 10: [342, 342, 331, 1969, 348, 351, 343, 352, 346, 350]
        Fastest 10: [331, 332, 332, 332, 332, 333, 333, 333, 333, 338]
        Slowest 10: [2944, 3247, 3266, 3307, 3382, 3445, 4160, 4822, 8801, 10637]
      Run 2:
        Mean: 491.132, Std dev: 579.9485223500498
        First 10: [3004, 396, 2238, 400, 344, 343, 342, 342, 342, 463]
        Last 10: [341, 374, 345, 350, 344, 343, 346, 352, 347, 345]
        Fastest 10: [332, 332, 333, 334, 334, 336, 338, 338, 338, 339]
        Slowest 10: [2305, 2462, 2607, 3004, 3037, 3640, 3687, 3982, 7169, 11867]
      Run 3:
        Mean: 478.355, Std dev: 944.4609652997798
        First 10: [4879, 748, 605, 583, 542, 570, 574, 564, 584, 564]
        Last 10: [346, 342, 349, 369, 344, 351, 345, 340, 341, 343]
        Fastest 10: [331, 333, 333, 333, 333, 333, 334, 337, 337, 338]
        Slowest 10: [2073, 2138, 2154, 2355, 2439, 3827, 4179, 4879, 12514, 24967]
      Run 4:
        Mean: 493.514, Std dev: 799.613445237125
        First 10: [4008, 476, 2229, 350, 349, 342, 342, 351, 341, 344]
        Last 10: [343, 349, 349, 1573, 355, 348, 349, 342, 343, 343]
        Fastest 10: [330, 330, 331, 332, 332, 338, 338, 338, 338, 339]
        Slowest 10: [2588, 2857, 3005, 3564, 4008, 4111, 4366, 11419, 11511, 15874]
    Pose estimator update (3d):
      Warmup: (100,000 iterations):
        Mean: 31876.98298, Std dev: 108646.444869849
        First 10: [126063, 39436, 34978, 34178, 38396, 36359, 33872, 33780, 33785, 33806]
        Last 10: [31748, 31616, 31765, 31717, 31786, 31749, 31666, 31657, 31684, 31780]
        Fastest 10: [28165, 28185, 28206, 28208, 28208, 28212, 28214, 28219, 28224, 28236]
        Slowest 10: [1048918, 1390220, 1547333, 1636516, 2401641, 2494222, 2928834, 5540676, 5766347, 32897429]
      Run 0:
        Mean: 33699.054, Std dev: 8138.430048792209
        First 10: [155308, 66383, 55123, 54148, 50774, 50888, 54927, 55965, 56504, 37986]
        Last 10: [31979, 32082, 31721, 32251, 31886, 31860, 32229, 31775, 32183, 32308]
        Fastest 10: [29179, 29192, 29205, 29207, 29207, 29224, 29231, 29237, 29242, 29254]
        Slowest 10: [65475, 66383, 68966, 69600, 70200, 71979, 89098, 104680, 112603, 155308]
      Run 1:
        Mean: 31997.663, Std dev: 7715.026043729928
        First 10: [141260, 63464, 61353, 57585, 37755, 37754, 55751, 60260, 62131, 61344]
        Last 10: [28679, 28642, 28674, 28709, 28726, 28666, 28733, 28597, 28635, 28654]
        Fastest 10: [28426, 28440, 28441, 28449, 28475, 28479, 28480, 28481, 28488, 28488]
        Slowest 10: [62603, 63102, 63464, 69183, 71046, 78952, 88029, 92586, 118364, 141260]
      Run 2:
        Mean: 33985.666, Std dev: 8753.429003678733
        First 10: [121015, 105350, 54584, 49243, 48217, 48674, 48249, 50844, 53619, 49463]
        Last 10: [30478, 39749, 29618, 40175, 40368, 49935, 29609, 29660, 29730, 29647]
        Fastest 10: [28436, 28493, 28546, 28549, 28554, 28557, 28575, 28577, 28581, 28582]
        Slowest 10: [76159, 76642, 79756, 80824, 90702, 93238, 95994, 98183, 105350, 121015]
      Run 3:
        Mean: 30255.816, Std dev: 4206.93273563341
        First 10: [82833, 51343, 36079, 31305, 30783, 30603, 30637, 30647, 30516, 30374]
        Last 10: [28634, 28727, 28750, 50975, 39284, 37992, 28637, 28640, 28606, 28541]
        Fastest 10: [28406, 28435, 28490, 28493, 28493, 28508, 28508, 28509, 28509, 28514]
        Slowest 10: [51051, 51343, 52623, 52782, 58302, 63607, 64030, 66963, 74009, 82833]
      Run 4:
        Mean: 31896.516, Std dev: 7874.708276231186
        First 10: [86686, 65102, 35703, 32973, 31335, 30967, 30892, 35959, 35248, 32914]
        Last 10: [29305, 29361, 29181, 29220, 29176, 29285, 29183, 29443, 29511, 29518]
        Fastest 10: [28357, 28404, 28439, 28439, 28440, 28454, 28456, 28466, 28469, 28471]
        Slowest 10: [68705, 71458, 73464, 73729, 73982, 80433, 85151, 86686, 106875, 117521]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generalize the odometry and pose estimator classes to 3D
1 participant