diff --git a/include/gnss/factor/factor_gnss_pseudo_range.h b/include/gnss/factor/factor_gnss_pseudo_range.h index 9dbf1419409e3d6a3b71bb69ac6798420d16883d..17aa7734cca56467daa075d31e748a0d014c31c8 100644 --- a/include/gnss/factor/factor_gnss_pseudo_range.h +++ b/include/gnss/factor/factor_gnss_pseudo_range.h @@ -40,12 +40,12 @@ class FactorGnssPseudoRange : public FactorAutodiff<FactorGnssPseudoRange, 1, 3, _status, _ftr_ptr->getFrame()->getP(), _ftr_ptr->getFrame()->getO(), - _ftr_ptr->getCapture()->getStateBlock("T"), + _ftr_ptr->getCapture()->getStateBlock('T'), (_ftr_ptr->getSatellite().sys == SYS_GLO ? - _ftr_ptr->getCapture()->getStateBlock("G") : + _ftr_ptr->getCapture()->getStateBlock('G') : (_ftr_ptr->getSatellite().sys == SYS_GAL ? - _ftr_ptr->getCapture()->getStateBlock("E") : - _ftr_ptr->getCapture()->getStateBlock("M"))),//in case GPS, M is set but anyway not used + _ftr_ptr->getCapture()->getStateBlock('E') : + _ftr_ptr->getCapture()->getStateBlock('M'))),//in case GPS, M is set but anyway not used _sensor_gnss_ptr->getP(), _sensor_gnss_ptr->getEnuMapTranslation(), _sensor_gnss_ptr->getEnuMapRoll(), diff --git a/include/gnss/factor/factor_gnss_tdcp.h b/include/gnss/factor/factor_gnss_tdcp.h index edc56b4ba211950e0417be1eac7753797b9d2149..0cf18f03d05bfcbf219e17ccc7ee59990cd3f827 100644 --- a/include/gnss/factor/factor_gnss_tdcp.h +++ b/include/gnss/factor/factor_gnss_tdcp.h @@ -41,10 +41,10 @@ class FactorGnssTdcp : public FactorAutodiff<FactorGnssTdcp, 1, 3, 4, 1, 3, 4, 1 _status, _ftr_r->getFrame()->getP(), _ftr_r->getFrame()->getO(), - _ftr_r->getCapture()->getStateBlock("T"), + _ftr_r->getCapture()->getStateBlock('T'), _ftr_k->getFrame()->getP(), _ftr_k->getFrame()->getO(), - _ftr_k->getCapture()->getStateBlock("T"), + _ftr_k->getCapture()->getStateBlock('T'), _sensor_gnss_ptr->getP(), _sensor_gnss_ptr->getEnuMapTranslation(), _sensor_gnss_ptr->getEnuMapRoll(), @@ -56,8 +56,8 @@ class FactorGnssTdcp : public FactorAutodiff<FactorGnssTdcp, 1, 3, 4, 1, 3, 4, 1 satellite_ENU_r_(sensor_gnss_ptr_->getREnuEcef() * _ftr_r->getSatellite().pos + sensor_gnss_ptr_->gettEnuEcef()) { assert(_ftr_r != _ftr_k); - assert(_ftr_r->getCapture()->getStateBlock("T") != nullptr); - assert(_ftr_k->getCapture()->getStateBlock("T") != nullptr); + assert(_ftr_r->getCapture()->getStateBlock('T') != nullptr); + assert(_ftr_k->getCapture()->getStateBlock('T') != nullptr); WOLF_WARN_COND(!sensor_gnss_ptr_->isEnuDefined() && _status == FAC_ACTIVE, "Creating an FactorGnssTdcp without initializing ENU"); diff --git a/include/gnss/sensor/sensor_gnss.h b/include/gnss/sensor/sensor_gnss.h index 96d9dc986bc71da54ca6ba44a7ccdf3480e20cb1..d3406455faa28be57193382dbc5f1b3d54e8850e 100644 --- a/include/gnss/sensor/sensor_gnss.h +++ b/include/gnss/sensor/sensor_gnss.h @@ -8,10 +8,10 @@ namespace wolf { -static std::string CLOCK_BIAS_KEY = "T"; -static std::string CLOCK_BIAS_GPS_GLO_KEY = "G"; -static std::string CLOCK_BIAS_GPS_GAL_KEY = "E"; -static std::string CLOCK_BIAS_GPS_CMP_KEY = "M"; +static char CLOCK_BIAS_KEY = 'T'; +static char CLOCK_BIAS_GPS_GLO_KEY = 'G'; +static char CLOCK_BIAS_GPS_GAL_KEY = 'E'; +static char CLOCK_BIAS_GPS_CMP_KEY = 'M'; WOLF_STRUCT_PTR_TYPEDEFS(ParamsSensorGnss); WOLF_PTR_TYPEDEFS(SensorGnss); @@ -156,22 +156,22 @@ inline bool SensorGnss::isEnuModeAuto() const inline StateBlockPtr SensorGnss::getEnuMapTranslation() const { - return getStateBlock("t"); + return getStateBlock('t'); } inline StateBlockPtr SensorGnss::getEnuMapRoll() const { - return getStateBlock("r"); + return getStateBlock('r'); } inline StateBlockPtr SensorGnss::getEnuMapPitch() const { - return getStateBlock("p"); + return getStateBlock('p'); } inline StateBlockPtr SensorGnss::getEnuMapYaw() const { - return getStateBlock("y"); + return getStateBlock('y'); } inline const Eigen::Matrix3d& SensorGnss::getREnuEcef() const diff --git a/src/capture/capture_gnss.cpp b/src/capture/capture_gnss.cpp index 9294f3c606699432fadce29b0bf075e25a50538f..dba80b6658399b6dc39d82ada38afc5624a446e1 100644 --- a/src/capture/capture_gnss.cpp +++ b/src/capture/capture_gnss.cpp @@ -8,19 +8,19 @@ CaptureGnss::CaptureGnss(const TimeStamp& _ts, SensorBasePtr _sensor_ptr, GnssUt snapshot_(_snapshot) { // Clock bias - assert(_sensor_ptr->getStateBlock("T") != nullptr and _sensor_ptr->isStateBlockDynamic("T")); - addStateBlock("T", std::make_shared<StateBlock>(1,true), nullptr); + assert(_sensor_ptr->getStateBlock('T') != nullptr and _sensor_ptr->isStateBlockDynamic('T')); + addStateBlock('T', std::make_shared<StateBlock>(1,true), nullptr); // interconstellation clock bias - assert(_sensor_ptr->getStateBlock("G") != nullptr); - if(_sensor_ptr->isStateBlockDynamic("G")) - addStateBlock("G", std::make_shared<StateBlock>(1,true), nullptr); - assert(_sensor_ptr->getStateBlock("E") != nullptr); - if(_sensor_ptr->isStateBlockDynamic("E")) - addStateBlock("E", std::make_shared<StateBlock>(1,true), nullptr); - assert(_sensor_ptr->getStateBlock("M") != nullptr); - if(_sensor_ptr->isStateBlockDynamic("M")) - addStateBlock("M", std::make_shared<StateBlock>(1,true), nullptr); + assert(_sensor_ptr->getStateBlock('G') != nullptr); + if(_sensor_ptr->isStateBlockDynamic('G')) + addStateBlock('G', std::make_shared<StateBlock>(1,true), nullptr); + assert(_sensor_ptr->getStateBlock('E') != nullptr); + if(_sensor_ptr->isStateBlockDynamic('E')) + addStateBlock('E', std::make_shared<StateBlock>(1,true), nullptr); + assert(_sensor_ptr->getStateBlock('M') != nullptr); + if(_sensor_ptr->isStateBlockDynamic('M')) + addStateBlock('M', std::make_shared<StateBlock>(1,true), nullptr); } diff --git a/src/processor/processor_tracker_gnss.cpp b/src/processor/processor_tracker_gnss.cpp index 969c7b89e8d3886343c7dfae3d084e3bed69386c..72046d47ef6bf027b5031674bce17539aa7d7a29 100644 --- a/src/processor/processor_tracker_gnss.cpp +++ b/src/processor/processor_tracker_gnss.cpp @@ -44,13 +44,13 @@ void ProcessorTrackerGnss::preProcess() // Initialize clock bias stateblocks in capture if (fix_incoming_.success) { - incoming_ptr_->getStateBlock("T") ->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(0))); - if (sensor_gnss_->isStateBlockDynamic("G")) - incoming_ptr_->getStateBlock("G")->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(1))); - if (sensor_gnss_->isStateBlockDynamic("E")) - incoming_ptr_->getStateBlock("E")->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(2))); - if (sensor_gnss_->isStateBlockDynamic("M")) - incoming_ptr_->getStateBlock("M")->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(3))); + incoming_ptr_->getStateBlock('T') ->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(0))); + if (sensor_gnss_->isStateBlockDynamic('G')) + incoming_ptr_->getStateBlock('G')->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(1))); + if (sensor_gnss_->isStateBlockDynamic('E')) + incoming_ptr_->getStateBlock('E')->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(2))); + if (sensor_gnss_->isStateBlockDynamic('M')) + incoming_ptr_->getStateBlock('M')->setState(Eigen::Vector1d(CLIGHT*fix_incoming_.rcv_bias(3))); } // Set ECEF-ENU @@ -202,14 +202,14 @@ void ProcessorTrackerGnss::establishFactors() } // unfix clock bias - last_ptr_->getStateBlock("T")->unfix(); + last_ptr_->getStateBlock('T')->unfix(); // unfix clock bias inter-constellation (if observed) if (ftr_sat->getSatellite().sys == SYS_GLO) - last_ptr_->getStateBlock("G")->unfix(); + last_ptr_->getStateBlock('G')->unfix(); if (ftr_sat->getSatellite().sys == SYS_GAL) - last_ptr_->getStateBlock("E")->unfix(); + last_ptr_->getStateBlock('E')->unfix(); if (ftr_sat->getSatellite().sys == SYS_CMP) - last_ptr_->getStateBlock("M")->unfix(); + last_ptr_->getStateBlock('M')->unfix(); // Emplace a pseudo range factor auto new_fac = FactorBase::emplace<FactorGnssPseudoRange>(ftr_sat, @@ -239,7 +239,7 @@ void ProcessorTrackerGnss::establishFactors() WOLF_DEBUG("FeatureGnssSatellite sat: ", ftr_k->satNumber(), " id: ", ftr_k->id()); // unfix clock bias - last_ptr_->getStateBlock("T")->unfix(); + last_ptr_->getStateBlock('T')->unfix(); // emplace a tdcp factor from last to each KF auto ts_ftr_r_map = track_matrix_.trackAtKeyframes(ftr_k_pair.first); @@ -358,20 +358,20 @@ void ProcessorTrackerGnss::removeOutliers(FactorBasePtrList fac_list, CaptureBas //std::cout << "x_antena_pr: " << x_antena_pr.transpose() << std::endl; //std::cout << "frame p: " << cap->getFrame()->getP()->getState().transpose() << std::endl; //std::cout << "frame o: " << cap->getFrame()->getO()->getState().transpose() << std::endl; - //std::cout << "sb clock: " << cap->getStateBlock("T")->getState() << std::endl; - //std::cout << "sb clock glo: " << cap->getStateBlock("G")->getState() << std::endl; - //std::cout << "sb clock gal: " << cap->getStateBlock("E")->getState() << std::endl; - //std::cout << "sb clock cmp: " << cap->getStateBlock("M")->getState() << std::endl; + //std::cout << "sb clock: " << cap->getStateBlock('T')->getState() << std::endl; + //std::cout << "sb clock glo: " << cap->getStateBlock('G')->getState() << std::endl; + //std::cout << "sb clock gal: " << cap->getStateBlock('E')->getState() << std::endl; + //std::cout << "sb clock cmp: " << cap->getStateBlock('M')->getState() << std::endl; //std::cout << "sb antena: " << sensor_gnss_->getP()->getState().transpose() << std::endl; } else { x = cap->getFrame()->getP()->getState(); o = cap->getFrame()->getO()->getState(); - clock_bias = cap->getStateBlock("T")->getState(); - clock_bias_glo = cap->getStateBlock("G")->getState(); - clock_bias_gal = cap->getStateBlock("E")->getState(); - clock_bias_cmp = cap->getStateBlock("M")->getState(); + clock_bias = cap->getStateBlock('T')->getState(); + clock_bias_glo = cap->getStateBlock('G')->getState(); + clock_bias_gal = cap->getStateBlock('E')->getState(); + clock_bias_cmp = cap->getStateBlock('M')->getState(); x_antena_pr = sensor_gnss_->getP()->getState(); } @@ -380,8 +380,8 @@ void ProcessorTrackerGnss::removeOutliers(FactorBasePtrList fac_list, CaptureBas Eigen::Vector4d o_k(cap->getFrame()->getO()->getState()); Eigen::Vector3d x_r(cap->getFrame()->getP()->getState()); Eigen::Vector4d o_r(cap->getFrame()->getO()->getState()); - Eigen::Vector1d clock_bias_k(cap->getStateBlock("T")->getState()); - Eigen::Vector1d clock_bias_r(cap->getStateBlock("T")->getState()); + Eigen::Vector1d clock_bias_k(cap->getStateBlock('T')->getState()); + Eigen::Vector1d clock_bias_r(cap->getStateBlock('T')->getState()); Eigen::Vector3d x_antena(sensor_gnss_->getP()->getState()); // Common states @@ -494,7 +494,7 @@ void ProcessorTrackerGnss::removeOutliers(FactorBasePtrList fac_list, CaptureBas // update ref frame x_r = fac_tdcp->getCaptureOther()->getFrame()->getP()->getState(); o_r = fac_tdcp->getCaptureOther()->getFrame()->getO()->getState(); - clock_bias_r = fac_tdcp->getCaptureOther()->getStateBlock("T")->getState(); + clock_bias_r = fac_tdcp->getCaptureOther()->getStateBlock('T')->getState(); parameters_tdcp[0] = x_r.data(); parameters_tdcp[1] = o_r.data(); parameters_tdcp[2] = clock_bias_r.data(); diff --git a/src/sensor/sensor_gnss.cpp b/src/sensor/sensor_gnss.cpp index 36adee111cd3daed2bc7658a025cc7794ee7d11b..9a6d6aae2ce0c05942ef2f7a2edda5bf2cf9f51f 100644 --- a/src/sensor/sensor_gnss.cpp +++ b/src/sensor/sensor_gnss.cpp @@ -24,10 +24,10 @@ SensorGnss::SensorGnss(const Eigen::VectorXd& _extrinsics, assert(_extrinsics.size() == 3 && "Bad extrinsics size"); // ENU - addStateBlock("t", std::make_shared<StateBlock>(3, params_->translation_fixed), false); - addStateBlock("r", std::make_shared<StateAngle>(0.0, params_->roll_fixed), false); - addStateBlock("p", std::make_shared<StateAngle>(0.0, params_->pitch_fixed), false); - addStateBlock("y", std::make_shared<StateAngle>(0.0, params_->yaw_fixed), false); + addStateBlock('t', std::make_shared<StateBlock>(3, params_->translation_fixed), false); + addStateBlock('r', std::make_shared<StateAngle>(0.0, params_->roll_fixed), false); + addStateBlock('p', std::make_shared<StateAngle>(0.0, params_->pitch_fixed), false); + addStateBlock('y', std::make_shared<StateAngle>(0.0, params_->yaw_fixed), false); // clock bias addStateBlock(CLOCK_BIAS_KEY, std::make_shared<StateBlock>(1,false), true); // receiver clock bias diff --git a/test/gtest_factor_gnss_fix_2d.cpp b/test/gtest_factor_gnss_fix_2d.cpp index f283eb6dc5f9270e03c4a5bbc8dc210f20124d8d..60c94cbe85f33e44f202687008479731b79a22f1 100644 --- a/test/gtest_factor_gnss_fix_2d.cpp +++ b/test/gtest_factor_gnss_fix_2d.cpp @@ -167,7 +167,7 @@ TEST(FactorGnssFix2dTest, gnss_1_map_base_position) ASSERT_EQ(solver_ceres->getSummary().num_residuals_reduced, 3); // --------------------------- check solver solution - ASSERT_MATRIX_APPROX(frame_ptr->getState().at("P"), t_map_base.head(2), 1e-6); + ASSERT_MATRIX_APPROX(frame_ptr->getState().at('P'), t_map_base.head(2), 1e-6); } /* diff --git a/test/gtest_factor_gnss_pseudo_range.cpp b/test/gtest_factor_gnss_pseudo_range.cpp index 402608ab90c694826ed3fb55612d34f53b04ded8..9c7f1e36bbe839e321214d0fbdd37e7aadb14cca 100644 --- a/test/gtest_factor_gnss_pseudo_range.cpp +++ b/test/gtest_factor_gnss_pseudo_range.cpp @@ -108,8 +108,8 @@ void setUpProblem() // capture cap = CaptureBase::emplace<CaptureGnss>(frm, TimeStamp(0), gnss_sensor, nullptr); - cap->getStateBlock("T")->unfix(); - cap->getStateBlock("T")->setState(clock_drift); + cap->getStateBlock('T')->unfix(); + cap->getStateBlock('T')->setState(clock_drift); // features ftr1 = FeatureBase::emplace<FeatureGnssSatellite>(cap, obsd_t(), sat1, range1); // obsd_t data is not used in pseudo range factors @@ -135,7 +135,7 @@ void setUpProblem() ASSERT_MATRIX_APPROX(frm->getP()->getState(), t_map_base, 1e-3); ASSERT_MATRIX_APPROX(frm->getO()->getState(), q_map_base.coeffs(), 1e-3); // clock drift - ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock('T')->getState(), 1e-3); } void fixAllStates() @@ -164,10 +164,10 @@ TEST(FactorGnssPreusoRangeTest, observe_clock_drift) // fix/unfix fixAllStates(); - cap->getStateBlock("T")->unfix(); + cap->getStateBlock('T')->unfix(); // perturb - cap->getStateBlock("T")->perturb(1e2); + cap->getStateBlock('T')->perturb(1e2); // Only 1 factor fac2->setStatus(FAC_INACTIVE); @@ -178,7 +178,7 @@ TEST(FactorGnssPreusoRangeTest, observe_clock_drift) std::string report = solver->solve(SolverManager::ReportVerbosity::FULL); //std::cout << report << std::endl; - ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock('T')->getState(), 1e-3); } } @@ -219,11 +219,11 @@ TEST(FactorGnssPreusoRangeTest, observe_frame_p_clock) // fix/unfix fixAllStates(); frm->getP()->unfix(); - cap->getStateBlock("T")->unfix(); + cap->getStateBlock('T')->unfix(); // perturb frm->getP()->perturb(1); - cap->getStateBlock("T")->perturb(1e2); + cap->getStateBlock('T')->perturb(1e2); // all 4 factors @@ -232,7 +232,7 @@ TEST(FactorGnssPreusoRangeTest, observe_frame_p_clock) //std::cout << report << std::endl; ASSERT_MATRIX_APPROX(frm->getP()->getState(), t_map_base, 1e-3); - ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift, cap->getStateBlock('T')->getState(), 1e-3); } } diff --git a/test/gtest_factor_gnss_tdcp.cpp b/test/gtest_factor_gnss_tdcp.cpp index 98e8b75f43b192c9ed9ebdce037c989a401631ae..90c5ab964207fccb52a3ed507f2dedf1487abe81 100644 --- a/test/gtest_factor_gnss_tdcp.cpp +++ b/test/gtest_factor_gnss_tdcp.cpp @@ -129,13 +129,13 @@ void setUpProblem() // capture r cap_r = CaptureBase::emplace<CaptureGnss>(frm_r, TimeStamp(0), gnss_sensor, nullptr); - cap_r->getStateBlock("T")->unfix(); - cap_r->getStateBlock("T")->setState(clock_drift_r); + cap_r->getStateBlock('T')->unfix(); + cap_r->getStateBlock('T')->setState(clock_drift_r); // capture k cap_k = CaptureBase::emplace<CaptureGnss>(frm_k, TimeStamp(1), gnss_sensor, nullptr); - cap_k->getStateBlock("T")->unfix(); - cap_k->getStateBlock("T")->setState(clock_drift_k); + cap_k->getStateBlock('T')->unfix(); + cap_k->getStateBlock('T')->setState(clock_drift_k); // features r ftr1_r = FeatureBase::emplace<FeatureGnssSatellite>(cap_r, obsd_t(), sat1_r, range1_r); @@ -170,8 +170,8 @@ void setUpProblem() ASSERT_MATRIX_APPROX(frm_k->getP()->getState(), t_map_base_k, 1e-3); ASSERT_MATRIX_APPROX(frm_k->getO()->getState(), q_map_base_k.coeffs(), 1e-3); // clock drift - ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock("T")->getState(), 1e-3); - ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock('T')->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock('T')->getState(), 1e-3); } void fixAllStates() @@ -202,10 +202,10 @@ TEST(FactorGnssTdcpTest, observe_clock_drift_r) // fix/unfix fixAllStates(); - cap_r->getStateBlock("T")->unfix(); + cap_r->getStateBlock('T')->unfix(); // perturb - cap_r->getStateBlock("T")->perturb(1e2); + cap_r->getStateBlock('T')->perturb(1e2); // Only 1 factor fac2->setStatus(FAC_INACTIVE); @@ -216,7 +216,7 @@ TEST(FactorGnssTdcpTest, observe_clock_drift_r) std::string report = solver->solve(SolverManager::ReportVerbosity::FULL); //std::cout << report << std::endl; - ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock('T')->getState(), 1e-3); } } @@ -230,10 +230,10 @@ TEST(FactorGnssTdcpTest, observe_clock_drift_k) // fix/unfix fixAllStates(); - cap_k->getStateBlock("T")->unfix(); + cap_k->getStateBlock('T')->unfix(); // perturb - cap_k->getStateBlock("T")->perturb(1e2); + cap_k->getStateBlock('T')->perturb(1e2); // Only 1 factor fac2->setStatus(FAC_INACTIVE); @@ -244,7 +244,7 @@ TEST(FactorGnssTdcpTest, observe_clock_drift_k) std::string report = solver->solve(SolverManager::ReportVerbosity::FULL); //std::cout << report << std::endl; - ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock('T')->getState(), 1e-3); } } @@ -311,11 +311,11 @@ TEST(FactorGnssTdcpTest, observe_frame_p_clock_k) // fix/unfix fixAllStates(); frm_k->getP()->unfix(); - cap_k->getStateBlock("T")->unfix(); + cap_k->getStateBlock('T')->unfix(); // perturb frm_k->getP()->perturb(1); - cap_k->getStateBlock("T")->perturb(1e2); + cap_k->getStateBlock('T')->perturb(1e2); // all 4 factors @@ -324,7 +324,7 @@ TEST(FactorGnssTdcpTest, observe_frame_p_clock_k) //std::cout << report << std::endl; ASSERT_MATRIX_APPROX(frm_k->getP()->getState(), t_map_base_k, 1e-3); - ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_k, cap_k->getStateBlock('T')->getState(), 1e-3); } } @@ -339,11 +339,11 @@ TEST(FactorGnssTdcpTest, observe_frame_p_clock_r) // fix/unfix fixAllStates(); frm_r->getP()->unfix(); - cap_r->getStateBlock("T")->unfix(); + cap_r->getStateBlock('T')->unfix(); // perturb frm_r->getP()->perturb(1); - cap_r->getStateBlock("T")->perturb(1e2); + cap_r->getStateBlock('T')->perturb(1e2); // all 4 factors @@ -352,7 +352,7 @@ TEST(FactorGnssTdcpTest, observe_frame_p_clock_r) //std::cout << report << std::endl; ASSERT_MATRIX_APPROX(frm_r->getP()->getState(), t_map_base_r, 1e-3); - ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock("T")->getState(), 1e-3); + ASSERT_MATRIX_APPROX(clock_drift_r, cap_r->getStateBlock('T')->getState(), 1e-3); } }