diff --git a/src/processor/processor_motion.cpp b/src/processor/processor_motion.cpp index 894507c17da4b767c6971bbdaa6865b9c1481258..11dee8587c0e1ba03a77f23902f6a7a18c00e6ec 100644 --- a/src/processor/processor_motion.cpp +++ b/src/processor/processor_motion.cpp @@ -60,7 +60,6 @@ void ProcessorMotion::mergeCaptures(CaptureMotionConstPtr cap_prev, { assert(cap_prev != nullptr); assert(cap_target != nullptr); - assert(cap_target->getOriginCapture() != nullptr); assert(cap_prev == cap_target->getOriginCapture() && "merging not consecutive capture motions"); // add prev buffer (discarding the first zero motion) @@ -88,7 +87,7 @@ void ProcessorMotion::mergeCaptures(CaptureMotionConstPtr cap_prev, } // emplace new feature and factor (if origin has frame) - if (cap_prev->getOriginCapture()->getFrame()) + if (cap_prev->getOriginCapture() and cap_prev->getOriginCapture()->getFrame()) { auto new_feature = emplaceFeature(cap_target); emplaceFactor(new_feature, cap_prev->getOriginCapture()); diff --git a/test/gtest_processor_motion.cpp b/test/gtest_processor_motion.cpp index e531defd5721e3374308d67e793a01f682701577..92bf678d4ba06af85c6c0da5724f9b7f4908f186 100644 --- a/test/gtest_processor_motion.cpp +++ b/test/gtest_processor_motion.cpp @@ -315,7 +315,7 @@ TEST_F(ProcessorMotion_test, mergeCaptures) FrameBasePtr F_target = problem->emplaceFrame(t_target); CaptureMotionPtr C_source = std::dynamic_pointer_cast<CaptureMotion>(processor->getLast()); CaptureMotionPtr C_target = CaptureBase::emplace<CaptureMotion>(F_target, - "ODOM 2d", + "CaptureOdom2d", t_target, sensor, data,