diff --git a/src/examples/processor_imu.yaml b/src/examples/processor_imu.yaml index 9d3d4fb807f1cecd9b3fe99ffe733a69622af4be..8e8a6c8cd0b75c0366a7aa83db4f3d54e4687fa6 100644 --- a/src/examples/processor_imu.yaml +++ b/src/examples/processor_imu.yaml @@ -1,6 +1,7 @@ processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails unmeasured perturbation std: 0.00001 +time tolerance: 0.0025 # Time tolerance for joining KFs keyframe vote: max time span: 2.0 # seconds max buffer length: 20000 # motion deltas diff --git a/src/examples/processor_imu_no_vote.yaml b/src/examples/processor_imu_no_vote.yaml index 4a1dd140e695cefc4590feb9213df76639cc7282..678867b719b191b6ba980a5c712f5164a9f83e28 100644 --- a/src/examples/processor_imu_no_vote.yaml +++ b/src/examples/processor_imu_no_vote.yaml @@ -1,5 +1,6 @@ processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails +time tolerance: 0.0025 # Time tolerance for joining KFs unmeasured perturbation std: 0.00001 keyframe vote: max time span: 999999.0 # seconds diff --git a/src/examples/processor_imu_t1.yaml b/src/examples/processor_imu_t1.yaml index e290b5ac495cffcd20ae7b8bd2ee4a809fc05c9e..b68740d245b4922a4a095b2a0ac1b2ce5becbd52 100644 --- a/src/examples/processor_imu_t1.yaml +++ b/src/examples/processor_imu_t1.yaml @@ -1,6 +1,7 @@ processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails unmeasured perturbation std: 0.00001 +time tolerance: 0.0025 # Time tolerance for joining KFs keyframe vote: max time span: 0.9999 # seconds max buffer length: 10000 # motion deltas diff --git a/src/examples/processor_imu_t6.yaml b/src/examples/processor_imu_t6.yaml index b864e9859a4df06048e61ac83ec48ce18fbcf96c..511a917c7500abbb445c7bfb016737c881dc400a 100644 --- a/src/examples/processor_imu_t6.yaml +++ b/src/examples/processor_imu_t6.yaml @@ -1,6 +1,7 @@ processor type: "IMU" # This must match the KEY used in the SensorFactory. Otherwise it is an error. processor name: "Main imu" # This is ignored. The name provided to the SensorFactory prevails unmeasured perturbation std: 0.00001 +time tolerance: 0.0025 # Time tolerance for joining KFs keyframe vote: max time span: 5.9999 # seconds max buffer length: 10000 # motion deltas diff --git a/test/gtest_processor_tracker_landmark_apriltag.cpp b/test/gtest_processor_tracker_landmark_apriltag.cpp index e3cd1cfb06aa66df7a2e277728b122f56c73f26b..f3b3e160788059125d879acfa2b88cff7baada5e 100644 --- a/test/gtest_processor_tracker_landmark_apriltag.cpp +++ b/test/gtest_processor_tracker_landmark_apriltag.cpp @@ -126,26 +126,47 @@ TEST(ProcessorTrackerLandmarkApriltag, Constructor) std::string s2; ProcessorParamsTrackerLandmarkApriltagPtr params = std::make_shared<ProcessorParamsTrackerLandmarkApriltag>(); - params->tag_family_ = "tag36h11"; - ProcessorTrackerLandmarkApriltagPtr p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); + + ProcessorTrackerLandmarkApriltagPtr p; + + params->tag_family_ = "tag16h5"; + p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); ASSERT_TRUE(p->getTagFamily() == params->tag_family_); - params->tag_family_ = "tag36h10"; + params->tag_family_ = "tag25h9"; p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); ASSERT_TRUE(p->getTagFamily() == params->tag_family_); - params->tag_family_ = "tag36artoolkit"; + params->tag_family_ = "tag36h11"; p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); - ASSERT_TRUE(p->getTagFamily() == "artoolkit"); // This tagfamily is stored differently by apriltag library + ASSERT_TRUE(p->getTagFamily() == params->tag_family_); - params->tag_family_ = "tag25h9"; + params->tag_family_ = "tagCircle21h7"; p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); ASSERT_TRUE(p->getTagFamily() == params->tag_family_); - params->tag_family_ = "tag25h7"; + params->tag_family_ = "tagStandard41h12"; p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); ASSERT_TRUE(p->getTagFamily() == params->tag_family_); + // ! At the time of this test rewriting, Apriltag3 bugs on the creation of the + // subsequent family's detector + + // NOPE + // params->tag_family_ = "tagCircle49h12"; + // p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); + // ASSERT_TRUE(p->getTagFamily() == params->tag_family_); + + // NOPE + // params->tag_family_ = "tagCustom48h12"; + // p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); + // ASSERT_TRUE(p->getTagFamily() == params->tag_family_); + + // NOPE + // params->tag_family_ = "tagStandard52h13"; + // p = std::make_shared<ProcessorTrackerLandmarkApriltag>(params); + // ASSERT_TRUE(p->getTagFamily() == params->tag_family_); + params->tag_family_ = "wrong_family"; WOLF_INFO("The following runtime error \"Unrecognized tag family name. Use e.g. \"tag36h11\".\" is expected and does not imply a failed test:"); ASSERT_DEATH( { std::make_shared<ProcessorTrackerLandmarkApriltag>(params); }, "" );