diff --git a/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h b/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h index 92fe3ca902450760dcdfdf54594b04f39d4801c0..abece6e0d706e25da604a03d8c13f70dafdb2ed6 100644 --- a/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h +++ b/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h @@ -149,9 +149,9 @@ inline FactorForceTorqueInertialDynamics::FactorForceTorqueInertialDynamics(cons _ftr->getFrame()->getStateBlock('O'), // current frame O _ftr->getFrame()->getStateBlock('V'), // current frame V _ftr->getFrame()->getStateBlock('L'), // current frame L - _capture_origin->getSensor()->getStateBlock('C'), // sensor C - _capture_origin->getSensor()->getStateBlock('i'), // sensor i - _capture_origin->getSensor()->getStateBlock('m')), // sensor m + _ftr->getCapture()->getStateBlock('C'), // sensor C + _ftr->getCapture()->getStateBlock('i'), // sensor i + _ftr->getCapture()->getStateBlock('m')), // sensor m dt_(_ftr->getFrame()->getTimeStamp() - _capture_origin->getFrame()->getTimeStamp()), delta_preint_(_ftr->getDeltaPreint()), calib_preint_(_ftr->getCalibrationPreint()), @@ -238,9 +238,9 @@ inline VectorXd FactorForceTorqueInertialDynamics::residual() const Quaterniond q1 = Quaterniond(getFrame()->getStateBlock('O')->getState().data()); Vector3d v1 = getFrame()->getStateBlock('V')->getState(); Vector3d L1 = getFrame()->getStateBlock('L')->getState(); - Vector3d C = getCapture()->getSensor()->getStateBlock('C')->getState(); - Vector3d i = getCapture()->getSensor()->getStateBlock('i')->getState(); - double m = getCapture()->getSensor()->getStateBlock('m')->getState()(0); + Vector3d C = getCapture()->getSensor()->getStateBlockDynamic('C')->getState(); + Vector3d i = getCapture()->getSensor()->getStateBlockDynamic('i')->getState(); + double m = getCapture()->getSensor()->getStateBlockDynamic('m')->getState()(0); residual(p0, q0, v0, L0, bias, p1, q1, v1, L1, C, i, m, res); return res; diff --git a/src/capture/capture_force_torque_inertial.cpp b/src/capture/capture_force_torque_inertial.cpp index 6a15c13a51ae57e098aec6c903844ce4ec9814e6..597c09391670c82610f6035c57c18124c42b4c46 100644 --- a/src/capture/capture_force_torque_inertial.cpp +++ b/src/capture/capture_force_torque_inertial.cpp @@ -18,7 +18,7 @@ CaptureForceTorqueInertial::CaptureForceTorqueInertial(const TimeStamp& _i nullptr, // position is static nullptr, // orientation is static (_sensor_ptr->isStateBlockDynamic('I') // dynamic intrinsics are IMU bias - ? std::make_shared<StateParams6>(_sensor_ptr->getStateBlock('I')->getState(), false) + ? std::make_shared<StateParams6>(_sensor_ptr->getStateBlockDynamic('I')->getState(), false) : nullptr)) { // diff --git a/src/processor/processor_force_torque_inertial_dynamics.cpp b/src/processor/processor_force_torque_inertial_dynamics.cpp index 90746a9adca85359bac3178971c66e56b312d907..77bc249abbec9a59a048e9a5c7faae94beef0447 100644 --- a/src/processor/processor_force_torque_inertial_dynamics.cpp +++ b/src/processor/processor_force_torque_inertial_dynamics.cpp @@ -469,10 +469,10 @@ VectorXd ProcessorForceTorqueInertialDynamics::getCalibration(const CaptureBaseC else { VectorXd calibration(13); - const Vector6d& I_calib = getSensor()->getStateBlock('I')->getState(); - const Vector3d& C_calib = getSensor()->getStateBlock('C')->getState(); - const Vector3d& i_calib = getSensor()->getStateBlock('i')->getState(); - const Vector1d& m_calib = getSensor()->getStateBlock('m')->getState(); + const Vector6d& I_calib = getSensor()->getStateBlockDynamic('I')->getState(); + const Vector3d& C_calib = getSensor()->getStateBlockDynamic('C')->getState(); + const Vector3d& i_calib = getSensor()->getStateBlockDynamic('i')->getState(); + const Vector1d& m_calib = getSensor()->getStateBlockDynamic('m')->getState(); calibration << I_calib, C_calib, i_calib, m_calib; return calibration; }