Skip to content
Snippets Groups Projects
Commit a66c65f4 authored by Joan Solà Ortega's avatar Joan Solà Ortega
Browse files

Add setCalibration() and setCalibrationPreint()

parent 8162955b
No related branches found
No related tags found
No related merge requests found
...@@ -53,6 +53,22 @@ VectorXs CaptureMotion::getCalibration() const ...@@ -53,6 +53,22 @@ VectorXs CaptureMotion::getCalibration() const
return calib; return calib;
} }
void CaptureMotion::setCalibration(const VectorXs& _calib)
{
assert(_calib.size() == calib_size_ && "Wrong size of calibration vector");
Size index = 0;
for (Size i = 0; i < getStateBlockVec().size(); i++)
{
auto sb = getStateBlockPtr(i);
if (sb && !sb->isFixed())
{
sb->setState(_calib.segment(index, sb->getSize()));
index += sb->getSize();
}
}
}
Eigen::VectorXs CaptureMotion::getDelta() Eigen::VectorXs CaptureMotion::getDelta()
{ {
VectorXs calib_preint = getCalibrationPreint(); VectorXs calib_preint = getCalibrationPreint();
......
...@@ -73,7 +73,9 @@ class CaptureMotion : public CaptureBase ...@@ -73,7 +73,9 @@ class CaptureMotion : public CaptureBase
// Buffer's initial conditions for pre-integration // Buffer's initial conditions for pre-integration
VectorXs getCalibrationPreint() const; VectorXs getCalibrationPreint() const;
void setCalibrationPreint(const VectorXs& _calib_preint);
virtual VectorXs getCalibration() const; virtual VectorXs getCalibration() const;
void setCalibration(const VectorXs& _calib);
MatrixXs getJacobianCalib(); MatrixXs getJacobianCalib();
MatrixXs getJacobianCalib(const TimeStamp& _ts); MatrixXs getJacobianCalib(const TimeStamp& _ts);
...@@ -174,6 +176,11 @@ inline VectorXs CaptureMotion::getCalibrationPreint() const ...@@ -174,6 +176,11 @@ inline VectorXs CaptureMotion::getCalibrationPreint() const
return getBuffer().getCalibrationPreint(); return getBuffer().getCalibrationPreint();
} }
inline void CaptureMotion::setCalibrationPreint(const VectorXs& _calib_preint)
{
getBuffer().setCalibrationPreint(_calib_preint);
}
} // namespace wolf } // namespace wolf
#endif /* SRC_CAPTURE_MOTION_H_ */ #endif /* SRC_CAPTURE_MOTION_H_ */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment