diff --git a/components/operators/src/aruco.cpp b/components/operators/src/aruco.cpp index b4f26183fe5c18f40f700ea762a47ee8d3756f83..3c7f0a11fe9280629ebd672694f78567ecc77765 100644 --- a/components/operators/src/aruco.cpp +++ b/components/operators/src/aruco.cpp @@ -47,9 +47,10 @@ ArUco::ArUco(ftl::operators::Graph *g, ftl::Configurable *cfg) : ftl::operators: params_->cornerRefinementMinAccuracy = 0.01; params_->cornerRefinementMaxIterations = 20; - params_->adaptiveThreshWinSizeMin = 7; - params_->adaptiveThreshWinSizeMax = 17; - params_->adaptiveThreshWinSizeStep = 10; + // default values 13, 23, 10, for speed just one thresholding window size + params_->adaptiveThreshWinSizeMin = 15; + params_->adaptiveThreshWinSizeMax = 15; + params_->adaptiveThreshWinSizeStep = 1; channel_in_ = Channel::Colour; channel_out_ = Channel::Shapes3D; diff --git a/components/streams/src/renderers/openvr_render.cpp b/components/streams/src/renderers/openvr_render.cpp index a448206e2812f07bb8359dfd040e55b2f9577bec..5c299083ebb2a8d421e674ac31b725014e80e117 100644 --- a/components/streams/src/renderers/openvr_render.cpp +++ b/components/streams/src/renderers/openvr_render.cpp @@ -329,6 +329,11 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) { if (headset_origin.size() > 0) { ftl::operators::Poser::get(headset_origin, horigin); + double headset_offset = host_->value("headset_offset_z", 0.0); + // move z-axis by offset + Eigen::Vector3d offset = + horigin.block<3, 3>(0, 0)*Eigen::Vector3d(0.0, 0.0, headset_offset); + horigin.block<3, 1>(0, 3) -= offset; } Eigen::Matrix4d new_pose = horigin*viewPose.inverse();