Mateo de Mayo
c181909b0d
t/slam: Add debug sinks
2022-07-22 16:19:49 +00:00
Mateo de Mayo
f55ac05578
t/slam: Implement feature count metric UI and recording
2022-07-12 12:47:05 +00:00
Mateo de Mayo
c2009b6acc
t/slam: Allow timing extension to be toggled on runtime
2022-07-12 12:47:05 +00:00
Mateo de Mayo
536001e2ad
external/slam: Update header to 4.0.0
...
1. Add feature info pose extension
2. Make pose extensions toggleable on runtime
3. Add timestats helper for external system to keep track of info for pose extensions
2022-07-12 12:47:05 +00:00
Mateo de Mayo
6bc551d004
t/slam: Prioritize SLAM_CONFIG over driver calibration if set
2022-06-02 15:47:57 +00:00
Jakob Bornecrantz
fc469e7d5f
a/tracking: Document and fix cond var loop in psvr
2022-05-31 13:38:56 +00:00
Jakob Bornecrantz
d2a2005212
a/tracking: Document and fix cond var loop in psmv
2022-05-31 13:38:56 +00:00
Mateo de Mayo
29aefe2ba8
misc: Use pretty printers and remove stale matrix print functions
...
Use u_pp_matrix_* instead.
2022-05-26 18:35:39 +00:00
Mateo de Mayo
8adbdc27e5
t/slam: Allow drivers to send calibration info to SLAM tracker
...
There were a couple of properties that didn't fit well in our current
calibration structs and so I created t_slam_calib_extras struct to store them.
2022-05-26 18:35:39 +00:00
Mateo de Mayo
02abc49313
t/calib: Add IMU intrinsics struct
2022-05-26 18:35:39 +00:00
Mateo de Mayo
2cf07dedf2
t/euroc: Fix crash when recording euroc dataset by providing UI button
...
Previously, a crash occurred in some situations when the second sample was
written before the first sample was able to create the necessary CSV files.
2022-05-23 17:51:11 -03:00
Jakob Bornecrantz
a4983fa5b1
auxiliary: Break apart CMakeLists.txt file
2022-05-23 09:12:54 -05:00
Ryan Pavlik
ea4c14c3aa
a/os: Rename os_thread_helper_stop to os_thread_helper_stop_and_wait
2022-05-20 18:46:37 +01:00
Ryan Pavlik
276f24c9ad
a/tracking: Improve word choice/clarity
2022-05-17 17:39:52 -05:00
Moses Turner
e25ee4058d
xrt: Remove xrt_tracked_hand
2022-05-10 18:53:58 +01:00
Jakob Bornecrantz
4ba23faa6b
auxiliary: Deal with clang-format-14 fallout (NFC)
2022-05-04 15:58:01 +01:00
Ryan Pavlik
f9b4af04e4
a/tracking: Fix conversion warnings
2022-05-03 22:44:37 +01:00
Ryan Pavlik
a55a5a54b3
a/math: Normalize argument order of one euro filter initializing functions.
2022-04-13 09:40:40 -05:00
Ryan Pavlik
3e6ec47296
monado: Apply clang-tidy fixes to most of the codebase.
...
All at least visually inspected, some revised from the auto-fixit
2022-04-13 09:34:54 -05:00
Mateo de Mayo
4c85e3fbb3
t/slam: Refactor tracker to accept a config struct on creation
2022-04-06 11:50:17 -03:00
Mateo de Mayo
2a4a9aa210
t/slam: Add configuration options to tracker
...
Specifically:
- SLAM_PREDICTION_TYPE
- SLAM_CSV_PATH
2022-04-06 11:50:17 -03:00
Jakob Bornecrantz
716ba4db60
tracking: Predeclare struct instead of including cJSON in header
2022-04-06 15:38:44 +01:00
Moses Turner
9417fe8d7f
a/tracking: Support different numbers of calib parameters
2022-03-23 20:56:15 +00:00
Mateo de Mayo
2bb0c5cda5
t/slam: Implement CSV writers for trajectories and timing info
...
This CSV files can be used for offline analysis.
2022-03-14 23:42:13 +00:00
Mateo de Mayo
c9f7184d64
t/slam: Implement timing and trajectory error UI graphs
2022-03-14 23:42:13 +00:00
Mateo de Mayo
af2dde11c3
misc: Fix some release build warnings and minor changes
...
- Add CMakeUserPresets.json to .gitignore
- Fix DASSERTs warning for release builds
- Do not use one euro filter with invalid poses
- Other NFC style changes
2022-03-14 23:42:13 +00:00
Mateo de Mayo
1dbda3d8c8
t/euroc: Tie CSV file opening to recorder lifecycle
...
This is a better way of handling writing small but high frequency data
like IMU samples so as to avoid continuous opening and closing of a file.
2022-03-14 23:42:13 +00:00
Jakob Bornecrantz
0ebb1c3be9
t/psmv: Make TrackerPSMV be standard layout
2022-03-07 16:48:28 +00:00
Mateo de Mayo
a0021dc7d0
t/euroc: Fix memory leak in euroc recorder
...
This was the reason the recorder was eating so much RAM.
SSD write speeds should be enough for common use cases to keep RAM stable.
2022-02-22 22:56:07 +00:00
Ryan Pavlik
a0e2df4cf0
tracking/math: Move the generic low pass filters to a/math
2022-02-22 16:42:53 -06:00
Ryan Pavlik
4156cabedf
a/tracking: Add an integer version of the low-pass filter.
2022-02-22 09:58:19 -06:00
Mateo de Mayo
4b94d83c11
a/math: Fix one euro implementations not dividing by dt
...
The dy name was kept. It can now be thought of as "[d]erivative of [y]"
instead of the previous "change of y". Also, the beta parameters of the
one-euro users were adjusted by approximately multiplying them by 0.016
to compensate.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
17dee2bb68
t/slam: Cache tracked pose timestamp
...
This is mainly to avoid problems with filters that calculate
their dt from previous calls. In particular the one euro filter fix
that gets implemented in the next commit would crash because of dt=0.
2022-02-22 13:34:45 +00:00
Mateo de Mayo
83fceec521
t/slam: Add filtering methods to the tracker
...
Adds three toggleable filters:
- Moving average
- Exponential smoothing
- One euro filter
2022-02-14 10:22:05 -03:00
Mateo de Mayo
b90d60a9ce
t/slam: Add prediction types that integrate gyro and accel samples
2022-02-14 10:22:05 -03:00
Moses Turner
7b3378b28a
aux/tracking; st/gui: save/load calibration gui state to file
2022-01-18 17:18:43 +00:00
Moses Turner
17034f0283
aux/tracking: assert on fisheye mat size for fisheye path
2022-01-04 18:19:17 +00:00
Mateo de Mayo
70576c2f02
t/slam: Implement basic prediction from last tracked poses
2021-12-21 11:43:17 +00:00
Mateo de Mayo
090e465dda
external: Add semver to slam_tracker (1.0.0) and pose timestamps
2021-12-21 11:43:17 +00:00
Mateo de Mayo
74e149159b
t/slam: Add SLAM_SUBMIT_FROM_START envvar
...
Useful for setups that need some tuning to their sensors before sending
data to a SLAM system.
Removes the submit_frames property from wmr_camera as this replaces it.
2021-12-21 11:43:17 +00:00
Christoph Haag
8bbaf2a05b
a/tracking: Use #pragma message instead of #warning
...
Avoids warning
../src/xrt/auxiliary/tracking/t_tracker_slam.cpp:66:2: warning: #warning is a GCC extension
2021-12-14 13:51:16 +01:00
Mateo de Mayo
fe4f6c6eb0
misc: Improve wmr and euroc docs, fix ht memory leak, stride for cv::Mats
2021-12-12 13:13:18 -03:00
Mateo de Mayo
07bd614930
t/file: Extend calibration save/load interfaces with new v2 format
2021-12-02 11:27:42 -03:00
Mateo de Mayo
1483ec32c5
t/file: Implement json save/load for v2 calibration
2021-12-02 11:26:11 -03:00
Mateo de Mayo
31f71251e0
t/util: Add dump function for single camera calibration struct
2021-12-01 18:32:16 +00:00
Mateo de Mayo
1cc80f5476
t/slam: Use euroc recorder in slam tracker
2021-12-01 13:45:18 +00:00
Mateo de Mayo
91ecbdb7fb
t/euroc: Add euroc dataset recorder
2021-12-01 13:45:18 +00:00
Mateo de Mayo
33d360083f
external/slam: Update slam_tracker interface to support dynamic features
2021-11-30 10:01:33 -03:00
Jakob Bornecrantz
3f98ea5595
xrt: Tidy s/ll/log_level/g
...
Also make sure all variable logging uses the right type for logging variables.
2021-11-22 14:29:10 -06:00
Ryan Pavlik
334bd83619
a/tracking: Fix some it's vs its and other minor doc tweaks
2021-11-03 17:27:36 -05:00