Commit graph

235 commits

Author SHA1 Message Date
Mateo de Mayo 67a5946778 xrt: Add units to xrt_imu_sample fields
After using the structure a bit more, and realizing that while different components
sometimes use different units, it is easier to force them to send the imu_samples
in a standardized unit.
2021-10-06 16:41:18 -03:00
Mateo de Mayo f88befbdbc t/slam: Replace assertion with return -1 if SLAM_CONFIG is not provided 2021-09-28 16:06:52 -03:00
Mateo de Mayo debdb11e02 t/slam: Miscelaneous NFC changes
- Use @todo instead of TODO for doxygen
- Improve the slam_tracker interface documentation
- Move euroc functions declared by macros into extern C
2021-09-28 12:49:36 +00:00
Mateo de Mayo 1a5af03111 t/slam: Move pose corrections into the tracked devices
This discards the pose correction logic used that was for the D455 not for
an euroc dataset. It will be reintroduced in a later commit with an
appropriate device.
2021-09-28 12:49:36 +00:00
Jakob Bornecrantz de283a8b0c t/calibration: Add support for findChessboardCornersSB 2021-09-20 15:54:00 +00:00
Jakob Bornecrantz 0157b2d4b0 t/debug: Update HelperDebugSink to use new u_debug_sink 2021-09-17 13:39:50 +01:00
Jakob Bornecrantz 2404257077 t/hsv: Switch to u_sink_debug 2021-09-17 13:39:50 +01:00
Christoph Haag a3b453dae7 t/slam: Print an error when SLAM_CONFIG is not set
Fixes crash

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
2021-09-16 23:33:05 +02:00
Christoph Haag ec5b5f9e1d t/slam: Only warn for incompatible OpenCV 2021-09-16 23:33:05 +02:00
Mateo de Mayo 549c59a493 t/slam: Add SLAM tracking module 2021-09-15 19:03:55 +00:00
Jakob Bornecrantz 3bab14fa3b t/psmv: Fix misconception with disparity transform 2021-09-01 22:00:46 +01:00
Jakob Bornecrantz a8251815af t/framemat: Update confusing comments, sorry. 2021-08-23 19:42:45 +01:00
Jakob Bornecrantz cb9ce8b34e t/calibration: Add support for RGB images 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz dbb6b1f43c t/calibration: Make it possible to select number distortion parameters 2021-07-13 15:01:00 +00:00
Jakob Bornecrantz c278618ec1 t/hsv: Add tracing support 2021-07-09 21:38:02 +01:00
Jakob Bornecrantz b7b469089c t/fm: Add simple FrameMat that wraps a cv::Mat 2021-05-31 13:43:19 +00:00
Ryan Pavlik b6f440fa26 aux/tracking: Move general docs to a separate header. 2021-05-04 11:21:46 -05:00
Ryan Pavlik 265c49d337 a/math: Move functionality into official namespaces. 2021-05-04 11:04:32 -05:00
Ryan Pavlik d88aefafbc a/tracking: Migrate C++ APIs to the official namespaces now that we have some. 2021-05-04 10:34:43 -05:00
Jakob Bornecrantz 05f14461a3 t/psvr: Fix warning 2021-04-15 17:38:01 +01:00
iVRy VR 0064989e8b t/psvr: Various fixes and changes
- Fix out of array bounds crash, curr_y can be out of bounds.
- Set tracked bits appropriately.
- Use m_imu_3dof for orientation.
2021-04-12 15:02:16 +00:00
Jakob Bornecrantz 6f10f474fa t/psvr: Ensure that m_mathinclude.h is included 2021-03-30 21:27:29 +01:00
Ryan Pavlik b93b082bd3 aux: Fix doxygen warnings 2021-03-26 17:10:53 -05:00
Ryan Pavlik 3414f62ccf aux: fix or silence warnings 2021-03-26 17:06:17 -05:00
Mateo de Mayo 75e908552f doc: Fix missing entities from modules documentation 2021-03-06 20:34:35 -03:00
Jakob Bornecrantz 2b996f30c4 xrt: Reflow after column change 2021-01-15 13:50:32 +00:00
Lubosz Sarnecki 58ecf67515 aux/tracking: Port to u_logging. 2020-12-28 13:04:11 +00:00
Jakob Bornecrantz a5bf14502c t/hand: Remove per frame printing 2020-12-09 21:03:50 +00:00
Christoph Haag 7b4ac89a8f t/hand: warn when rectification matrix doesn't match image matrix 2020-12-07 12:30:26 +00:00
Christoph Haag 693cd77ca3 t/hand: Add comment that rectification is expensive 2020-12-07 12:30:26 +00:00
Christoph Haag e480352cee t/hand: Add hand tracking module 2020-12-07 12:30:26 +00:00
Pete Black 3f197eeffd t/psmv: Use the same filtering as in PSVR tracker 2020-08-28 11:38:03 +00:00
Pete Black 76a439bd59 t/psvr: Add a functional PSVR tracker 2020-08-28 11:38:03 +00:00
Ryan Pavlik 146218b346 xrt: Some clang tidy fixes.
A few suppressions as well where clang-tidy did the wrong thing.
2020-08-12 17:11:42 -05:00
Ryan Pavlik 4220638afd xrt: use _USE_MATH_DEFINES to make sure M_PI gets defined. 2020-07-17 13:53:39 -05:00
Ryan Pavlik bc6cc85e7d xrt: Improve doxygen documentation. 2020-06-03 16:28:18 -05:00
Jakob Bornecrantz ac38679641 r/debug: Fix ODR rule violation
Closes #79
2020-05-12 22:06:10 +01:00
Jakob Bornecrantz c7903e2d5e u/sink: Add support for XRT_FORMAT_UYVY422 2020-04-28 11:46:31 +00:00
Jakob Bornecrantz 1de7eb7cc9 t/calibration: Add support for XRT_FORMAT_UYVY422 2020-04-28 11:46:31 +00:00
Jakob Bornecrantz 59b7794172 xrt: Rename XRT_FORMAT_YUV422 to XRT_FORMAT_YUYV422 2020-04-28 11:46:31 +00:00
Ryan Pavlik 75d5e5b9f2 t/psmv: Fix FTBFS on PPC.
Apparently EIGEN_PI isn't a double by default.
2020-04-27 20:18:31 +00:00
Jakob Bornecrantz e37d8f4cf5 xrt: Remove timestate from xrt_device interface 2020-04-16 17:29:34 +01:00
Jakob Bornecrantz 231d39185e t/file: Remove hacky file handling functions 2020-04-10 12:29:21 +00:00
Jakob Bornecrantz 7b049a9d65 t/file: Expose non-hack version of the calibration data save function 2020-04-10 12:29:21 +00:00
Ryan Pavlik bc53be8562 t/imu_fusion: Clean up and improve comments 2020-03-26 12:00:26 +00:00
Ryan Pavlik 86b3d9f587 t/calibration: Provide read-only access to size as cv::Size in calibration wrapper 2020-03-26 12:00:26 +00:00
Ryan Pavlik 4f5e2aea4e aux/tracking: Fix the API that led to the error I hit. 2020-03-26 12:00:26 +00:00
Ryan Pavlik c6a574191d aux/tracking: Add image undistort/normalize cache mechanism 2020-03-26 12:00:26 +00:00
Ryan Pavlik cf883817c2 t/psmv: Retrieve more data from camera calib. 2020-03-26 12:00:26 +00:00
Ryan Pavlik d198e93fcb external: Update flexkalman 2020-03-26 12:00:26 +00:00
Jakob Bornecrantz 622c848fa2 t/calib: Silence missing reference warning 2020-03-25 16:32:16 +00:00
Jakob Bornecrantz 6ecc1e30f3 xrt: Make stereo_camera_calibration refcounted
This allows the data to be safely shared and passed around, even allowing us
to tag frames with the data and passed around that way instead.

Since it now can be passed around more safely make the prober call the save
function instead of the calibration code. This then forms a basis for further
work where we can hook this up into a more proper configuration file.
2020-03-11 22:00:54 +00:00
Ryan Pavlik f3eac87504 xrt: Correct usage of XRT_MAYBE_UNUSED on functions.
It shouldn't be used on a function marked "static inline" - that's
sufficient to avoid the warning. So, it should almost never be in
a header.
2020-03-04 11:15:35 +00:00
Ryan Pavlik 5a633905de t/psvr: Add missing include 2020-03-04 11:15:35 +00:00
Jakob Bornecrantz 63ca028b83 t/hsv: Improve latency when debugging by pushing debug frame after all other frames 2020-02-29 16:20:41 +00:00
Ryan Pavlik f3803f7365 t/imu: Update docs to specify units for gyro. 2020-01-31 17:19:54 +01:00
Ryan Pavlik afd5328bd6 t/imu: Add optional debug prints to simple IMU fusion.
By request of @pblack.
2020-01-31 17:19:48 +01:00
Ryan Pavlik a11ba04b96 aux/tracking: handle loading into empty mat 2020-01-31 17:19:48 +01:00
Ryan Pavlik eaf834249b t/calib: Verify that storage location doesn't move for wrappers. 2020-01-31 10:47:52 +01:00
Jakob Bornecrantz 8aee77401b t/calib: Tweak printing and move assert to after printing 2020-01-26 19:37:37 +00:00
Jakob Bornecrantz be75fe823a t/calib: Fix default asymmetrical circles rows values 2020-01-26 19:37:37 +00:00
Pete Black a80ef43339 t/calib: Also accept L8 frames 2020-01-26 19:37:37 +00:00
Jakob Bornecrantz c2560ae6d2 xrt: Switch to new quirking sink
This is done in one commit as split out they would leave the code
in a fairly broken state.
2020-01-17 14:31:50 +00:00
Jakob Bornecrantz 30e9338aba t/calib: Don't lose any pixels in stereo rectification 2020-01-17 14:01:52 +00:00
Jakob Bornecrantz 1085db150b t/calib: Fix rectify for stereo fisheye camera 2020-01-17 14:00:22 +00:00
Jakob Bornecrantz ba10152765 t/calib: Print out rectify matricies 2020-01-17 14:00:22 +00:00
Jakob Bornecrantz 67d33550cf t/calib: Change how default arguments are applied 2020-01-17 12:09:08 +00:00
Jakob Bornecrantz d1af0b7f15 t/calib: Play around with mono calibration a bit 2020-01-16 22:34:04 +00:00
Jakob Bornecrantz 62013c142b t/helper: Introduce a small debug frame helper 2020-01-16 18:15:21 +00:00
Jakob Bornecrantz 50eda5a262 t/hsv: Copy stereo format to result frame 2020-01-16 17:47:08 +00:00
Ryan Pavlik c957072dfc t/calib: Remove references to left and right from new structs 2020-01-16 09:14:07 -06:00
Ryan Pavlik 81acc290cb t/calib: Clean up emplace_back calls. 2020-01-16 09:14:07 -06:00
Ryan Pavlik 2d20f2066a t/psmv: Update existing blob tracker to work with simpler input 2020-01-16 09:12:50 -06:00
Ryan Pavlik 91fdfd0c94 t/file: Have matrix reader be more careful about loading, and optionally transpose
The, actually consistently use result of matrix read and built-in transpose to simplify code
2020-01-16 09:08:32 -06:00
Ryan Pavlik bc49fd4803 t/calib: Use cv::Mat_<> for wrappers since the element type is known 2020-01-16 09:08:32 -06:00
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