From 5c3c3b7f124ce03639a7280828416c991684d1d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20Sol=C3=A0?= <jsola@iri.upc.edu> Date: Mon, 8 Aug 2022 16:56:05 +0200 Subject: [PATCH] Use dynamic state blocks from Sensor --- .../factor/factor_force_torque_inertial_dynamics.h | 12 ++++++------ src/capture/capture_force_torque_inertial.cpp | 2 +- .../processor_force_torque_inertial_dynamics.cpp | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h b/include/bodydynamics/factor/factor_force_torque_inertial_dynamics.h index 92fe3ca..abece6e 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 6a15c13..597c093 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 90746a9..77bc249 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; } -- GitLab