Ryan Pavlik
fcdebc6e9d
aux/tracking: Re-organize structs related to camera calibration.
...
Removes the "raw" data structures for camera calibration, not needed.
The only thing they contained beyond the revised regular structures
was derived data that the consumer might parameterize differently.
Renames t_settings_stereo to t_stereo_camera_calibration.
The calibration info is data (that could be stored on the device, etc),
not settings.
2020-01-16 09:07:52 -06:00
Jakob Bornecrantz
771006f97b
t/calib: Fix OpenCV type-related assertions and some perf enhancments
...
Pre-reserve, use emplace to avoid copies.
This is a combination of Ryan's patches and mine.
t/calib: performance improvements
t/calib: Fix doxygen warning
t/calib: Fix asserts and some perf enhancments
2020-01-16 00:02:56 +00:00
Ryan Pavlik
9790ca7602
t/calib: Add interface for getting some status info on calib process.
2020-01-14 15:55:50 -06:00
Ryan Pavlik
47f704277a
xrt: Let BUILD_TRACKING mean you need more than just the IMU fusion.
...
This is required to build anything that uses the IMU fusion module
without OpenCV.
2020-01-14 11:51:12 -06:00
Jakob Bornecrantz
796d9c49ec
t/calib: Support stereo fisheye in the config file
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
4ae650a006
t/calib: Support stereo fisheye in stereo calibration
2020-01-14 15:42:31 +00:00
Jakob Bornecrantz
0e6b908f80
t/callib: Move stereo calibration to new interaction
2020-01-14 15:42:31 +00:00
Ryan Pavlik
56f8e3272e
a/tracking: clang-tidy
2019-12-07 18:25:36 +00:00
Jakob Bornecrantz
cdec2ca367
t/calib: Add resolution size to image name
2019-11-22 23:59:35 +00:00
Jakob Bornecrantz
ab0d94201a
t/calib: s/grey/gray/g
2019-11-22 15:53:17 +00:00
Jakob Bornecrantz
6cba920668
t/calib: Force the principal point to the center of the image
2019-11-22 15:51:58 +00:00
Jakob Bornecrantz
9b60bd7c77
t/calib: Add support to load images
2019-11-22 14:20:56 +00:00
Jakob Bornecrantz
0cbd3e8601
t/calib: Do not fix principal point and tweak balance
2019-11-22 14:19:22 +00:00
Jakob Bornecrantz
392b42e900
t/calib: Don't double wait for frame after finding a measurement
2019-11-22 14:09:29 +00:00
Jakob Bornecrantz
3f202d0d6f
t/calib: Make cooldown period separate from wait period
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
86dc9e1a6b
t/calib: Re-organize parameters and make it possible to select board type
2019-11-22 12:36:23 +00:00
Jakob Bornecrantz
de67590bbf
t/calib: Tweak defaults
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
504a34bc95
t/calib: Tidy messages
2019-11-21 22:43:04 +00:00
Jakob Bornecrantz
276e81c373
t/calib: Add option to mirror RGB image
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
94c55fc206
t/calib: Ensure that camera is still before taking measurment
2019-11-21 22:40:00 +00:00
Jakob Bornecrantz
50d28369c4
m/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 14:54:17 +00:00
Jakob Bornecrantz
54f7c2ed1d
t/headers: Rename C++ headers to hpp and tidy headers
2019-11-21 13:00:52 +00:00
Jakob Bornecrantz
d6317b2a14
st/gui: Expose new parameters to calibration
2019-11-20 23:50:42 +00:00
Jakob Bornecrantz
587c71182b
t/calib: Make it possible to use fisheye functions (mono only)
2019-11-20 23:50:26 +00:00
Jakob Bornecrantz
a36af4227f
t/calib: Make it possible to save images used during calibration (mono only)
2019-11-20 23:49:56 +00:00
Jakob Bornecrantz
26d7e91615
t/calib: Even more docs
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
4925ea657f
t/calib: Add support for [asym]circles grid, not active right now
2019-11-20 22:05:23 +00:00
Jakob Bornecrantz
bd02e47078
t/calib: Add mono calibration
2019-11-20 22:05:16 +00:00
Jakob Bornecrantz
49f9a1a46f
t/calib: Add stub for hacking in measurments
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
6bc617b8e3
t/calib: Tidy TermCriteria
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
645a45c167
t/calib: Tweak default params
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
c16756c330
t/calib: Ensure everything have initializers
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
ebb41601ed
t/calib: Some doc-comments and typedefs to clarify code
2019-11-20 22:03:20 +00:00
Jakob Bornecrantz
79b7d2504a
t/calib: Expand mono calibration a bit
2019-11-18 19:14:02 +00:00
Jakob Bornecrantz
b358e22fd7
t/calib: Stub in support for mono calibration
2019-11-17 22:11:41 +00:00
Jakob Bornecrantz
ad45aeb0a7
t/calib: Refactor loading a bit more
2019-11-17 22:09:01 +00:00
Jakob Bornecrantz
2ad2243fe7
t/doc: Do not put directory in aux_tracking group
2019-11-16 23:29:29 +00:00
Jakob Bornecrantz
38ec113c04
t/calib: Add comments to sizes
2019-11-16 23:29:10 +00:00
Jakob Bornecrantz
8917607a49
t/calib: Also expose disparity_to_depth on both raw and refined settings
2019-11-16 23:27:32 +00:00
Jakob Bornecrantz
6d8abd87a8
t/calib: Tidy and rename calibration data to settings
2019-11-16 23:17:11 +00:00
Jakob Bornecrantz
f364b7a45b
t/calib: Make prober load calibration data instead of trackers
2019-11-16 12:17:07 +00:00
Jakob Bornecrantz
5a600ffbcf
t/calib: Make destroy funcitons take pointer to pointer
2019-11-16 11:42:33 +00:00
Jakob Bornecrantz
419f038017
t/calib: Also save the fisheye distortion always
2019-11-14 17:05:16 +00:00
Jakob Bornecrantz
f9599a6763
t/imu: Make sure imu_fusion is aligned
2019-11-14 16:35:56 +00:00
Ryan Pavlik
e01cf5efd3
t_imu: Actually return non-zero leftover acceleration data.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
2823193302
t_imu_fusion: Add capability to get world non-gravity acceleration
2019-11-14 12:14:58 +00:00
Ryan Pavlik
21352ca338
t_imu: Add param for accelerometer output
2019-11-14 12:14:58 +00:00
Ryan Pavlik
a17413744b
t_calibration: clang-tidy
2019-11-14 12:14:58 +00:00
Ryan Pavlik
4d411723a1
t/psvr: Fix parameter names
2019-11-14 12:14:58 +00:00
Ryan Pavlik
0a9efbf443
t_imu: Comments
2019-11-14 12:14:58 +00:00
Ryan Pavlik
958c1b7df9
t_imu_fusion: Perform some filtering of accelerometer signal
2019-11-14 12:14:58 +00:00
Ryan Pavlik
29c630cec8
d/psvr: Port PSVR to use timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
194938c405
d/psmv: Port positional tracking to use t_imu_fusion with timestamps
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7bb9fad5e6
t_imu_fusion: adjust to use timepoints directly
2019-11-14 12:14:58 +00:00
Ryan Pavlik
7314bd75b7
t_imu: Change C API to take timestamps instead of dt
2019-11-14 12:14:58 +00:00
Ryan Pavlik
1440c95f78
t/psmv: Angular rate limit.
2019-11-14 12:14:58 +00:00
Ryan Pavlik
83f652bda1
aux/tracking: Add low-pass IIR filter
2019-11-14 12:14:58 +00:00
Ryan Pavlik
af0515232f
t_imu_fusion: Fix initialization of orientation from accelerometer.
2019-11-11 18:14:44 -06:00
Ryan Pavlik
355476d6b7
aux/tracking: Remove accidentally-left-in parameters from t_imu
2019-11-11 17:57:40 -06:00
Ryan Pavlik
5eaced0e4d
aux/tracking: Use define for standard gravity
2019-11-11 17:57:40 -06:00
Ryan Pavlik
8a0ab71c09
t_imu: Comments.
2019-11-11 17:57:40 -06:00
Jakob Bornecrantz
c6e6ba7485
t/psmv: Expose ball last position to debug gui
2019-11-10 01:36:44 +00:00
Jakob Bornecrantz
47bc4de56d
t/doc: Fallout from latest codespell version
2019-11-09 12:53:42 +00:00
Jakob Bornecrantz
072e9afb54
t/psvr: Counter tracking origin offset
...
At least until we have proper tracking for the PSVR.
2019-11-03 14:23:03 +00:00
Jakob Bornecrantz
46b9d28e8d
t/imu: No fancy new c++ syntax until clang-format-8 is used on CI
...
Go to your room clang-format and think about what you have done.
2019-10-29 20:08:59 +00:00
Ryan Pavlik
6b0f18bf6e
tracking: Build kalman things as a single TU
2019-10-24 18:51:21 +02:00
Ryan Pavlik
1ce0124d5c
t/psmv: Simple two-state machine for tracking.
2019-10-24 15:45:41 +01:00
Ryan Pavlik
af85f6af6b
t/psmv: Reset filter if we get non-finite
2019-10-24 15:44:01 +01:00
Ryan Pavlik
28abcf7ce6
t/psmv: Filter the blobs selected
2019-10-24 15:44:01 +01:00
Ryan Pavlik
c713ca61f2
t/psmv: Rotate IMU into something like camera space
2019-10-24 15:44:01 +01:00
Jakob Bornecrantz
24bc8135e0
t/hsv: Add a debug sink
2019-10-19 23:15:51 +01:00
Ryan Pavlik
f4f07da0c2
t/file: Comment matrix sizes since entirely generic matrix types used.
2019-10-15 20:50:32 +02:00
Ryan Pavlik
bc081bee80
t/psmv: cleanup/comments
2019-10-15 20:50:32 +02:00
Jakob Bornecrantz
f8ee9281f8
t/calibration: Move more data storage to C portion
2019-10-13 10:48:07 +01:00
Jakob Bornecrantz
43c366ad41
t/file: Save more calibration data
2019-10-12 22:07:49 +01:00
Jakob Bornecrantz
9ec1205f37
t/api: Add comments and put all files in tracking group
2019-10-12 12:24:19 +01:00
Jakob Bornecrantz
a435817a6f
t/file: Add comments and restyle (NFC)
2019-10-12 12:23:42 +01:00
Jakob Bornecrantz
fece0458b6
t/psmv: Make it possible to get the tracked ball pose
2019-10-11 15:40:42 +01:00
Jakob Bornecrantz
bffe802449
t/psmv: Adjust room position in prober instead
2019-10-10 23:47:51 +01:00
Ryan Pavlik
3630dae537
t/psmv: FindLowestScore template param renames
...
Less terse
2019-10-10 21:48:09 +00:00
Ryan Pavlik
430e27d084
t/psmv: Use new imu fusion in psmv positional tracking.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
18f9760986
tracking: Add t_imu: simple IMU fusion for absolute orientation
2019-10-10 21:48:09 +00:00
Ryan Pavlik
b00f5315c2
t/psmv: Initial Kalman filter.
...
Rotation a little out of control right now because still using bad fusion.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
85b6c7222d
tracking: Add t_fusion for Kalman filter added code.
2019-10-10 21:48:09 +00:00
Ryan Pavlik
23e7f99a71
t/psmv: More algorithm simplification/optimization
2019-10-07 12:39:56 +00:00
Ryan Pavlik
7e358ea721
t/psmv: Simplify final stage of tracking.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
d7d12a69f8
aux/tracking: Remove unused functions.
...
Use cv::norm instead.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
09f984258f
t/psmv: Improve finding the nearest blob.
...
No more need to construct a vector every time.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
76aa839f5b
a/track: Simplify.
2019-10-07 12:39:56 +00:00
Ryan Pavlik
37d4eae37a
a/track: Fix typo.
2019-10-07 12:39:56 +00:00
Jakob Bornecrantz
51f3fac192
aux/tracking: Refactor calibration data handling
2019-09-29 15:43:54 +01:00
Jakob Bornecrantz
423da670fa
aux/tracking: Code style, pointer star location
2019-09-29 11:45:23 +01:00
Jakob Bornecrantz
70f632be10
aux/tracking: Refactor PS Move tracking code
2019-09-28 18:06:05 +01:00
pblack
5d616cd077
aux/tracking: Port PS Move tracker
2019-09-28 18:04:19 +01:00
Jakob Bornecrantz
bc26f68c74
aux/calibration: Do fast pass for checkerboard detection and tidy file
2019-09-28 15:17:48 +01:00
Jakob Bornecrantz
b5eae545e7
aux/tracking: Fix build on new OpenCV versions
2019-09-28 02:55:37 +01:00
Jakob Bornecrantz
6dcf69df83
aux/tracking: Adjust checkerboard corners for subpixel accuracy
2019-09-28 02:47:42 +01:00
Jakob Bornecrantz
ee3f54adb6
aux/tracking: Add parameters to calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
8d0aa220c1
aux/tracking: Tidy calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
ea5203fbc0
aux/tracking: Fix position hack in PSVR
2019-09-27 20:28:04 +01:00