From 2f4b1db2615a997a1954ea4ac1d272eaf9092911 Mon Sep 17 00:00:00 2001 From: ydepledt <yanndepledt360@gmail.com> Date: Thu, 9 Jun 2022 11:27:47 +0200 Subject: [PATCH] Code refactored --- .../processor_tracker_landmark_object.h | 6 ---- .../processor_tracker_landmark_object.cpp | 33 ++++--------------- 2 files changed, 7 insertions(+), 32 deletions(-) diff --git a/include/objectslam/processor/processor_tracker_landmark_object.h b/include/objectslam/processor/processor_tracker_landmark_object.h index 5df5ab9..46efd0c 100644 --- a/include/objectslam/processor/processor_tracker_landmark_object.h +++ b/include/objectslam/processor/processor_tracker_landmark_object.h @@ -110,13 +110,7 @@ class ProcessorTrackerLandmarkObject : public ProcessorTrackerLandmark std::pair<double,double> errorsComputations(Eigen::Isometry3d _w_M_f, std::shared_ptr<wolf::LandmarkObject> _lmk_obj); - - Eigen::Isometry3d getw_M_r(); - Eigen::Isometry3d getr_M_c(); - Eigen::Isometry3d getc_M_f(FeatureBasePtr _feat); - - unsigned int multiviewTypeMatching(const CaptureBasePtr& _capture, FeatureBasePtrList& _features_out_last, FeatureBasePtrList& _features_out_incoming); diff --git a/src/processor/processor_tracker_landmark_object.cpp b/src/processor/processor_tracker_landmark_object.cpp index 852e625..ba8d3db 100644 --- a/src/processor/processor_tracker_landmark_object.cpp +++ b/src/processor/processor_tracker_landmark_object.cpp @@ -225,16 +225,18 @@ unsigned int ProcessorTrackerLandmarkObject::firstLmkMatching(const LandmarkBase } // world to rob - Eigen::Isometry3d w_M_r = posevec_to_isometry(getLast()->getFrame()->getStateVector()); + + Eigen::Isometry3d w_M_r = posevec_to_isometry(getLast()->getFrame()->getStateVector("PO")); + // rob to sensor - Eigen::Isometry3d r_M_c = posevec_to_isometry(getSensor()->getStateVector()); + Eigen::Isometry3d r_M_c = posevec_to_isometry(getSensor()->getStateVector("PO")); for (auto feat : detections_incoming_) { std::string object_type = std::static_pointer_cast<FeatureObject>(feat)->getObjectType(); // camera to feat - Eigen::Isometry3d c_M_f = getc_M_f(feat); + Eigen::Isometry3d c_M_f = posevec_to_isometry(feat->getMeasurement()); if (feat->getCapture() != nullptr){ break; @@ -265,27 +267,6 @@ unsigned int ProcessorTrackerLandmarkObject::firstLmkMatching(const LandmarkBase return _features_out.size(); } -Eigen::Isometry3d ProcessorTrackerLandmarkObject::getw_M_r() -{ - Vector3d pos_rob = getLast()->getFrame()->getP()->getState(); - Quaterniond quat_rob (getLast()->getFrame()->getO()->getState().data()); - return Eigen::Translation<double,3>(pos_rob.head(3)) * quat_rob; -} - -Eigen::Isometry3d ProcessorTrackerLandmarkObject::getr_M_c() -{ - Vector3d pos_sen = getSensor()->getP()->getState(); - Quaterniond quat_sen (getSensor()->getO()->getState().data()); - return Eigen::Translation<double,3>(pos_sen.head(3)) * quat_sen; -} - -Eigen::Isometry3d ProcessorTrackerLandmarkObject::getc_M_f(FeatureBasePtr _feat) -{ - Vector3d pos_obj = _feat->getMeasurement().head(3); - Quaterniond quat_obj (_feat->getMeasurement().tail(4).data()); - return Eigen::Translation<double,3>(pos_obj) * quat_obj; -} - std::pair<double,double> ProcessorTrackerLandmarkObject::errorsComputations(Eigen::Isometry3d _w_M_f, std::shared_ptr<wolf::LandmarkObject> _lmk_obj) { Quaterniond quat_feat; @@ -315,9 +296,9 @@ unsigned int ProcessorTrackerLandmarkObject::bestLmkMatching(const LandmarkBaseP } // world to rob - Eigen::Isometry3d w_M_r = posevec_to_isometry(getLast()->getFrame()->getStateVector()); + Eigen::Isometry3d w_M_r = posevec_to_isometry(getLast()->getFrame()->getStateVector("PO")); // rob to sensor - Eigen::Isometry3d r_M_c = posevec_to_isometry(getSensor()->getStateVector()); + Eigen::Isometry3d r_M_c = posevec_to_isometry(getSensor()->getStateVector("PO")); if (_landmarks_in.size() == 0) return _features_out.size(); -- GitLab