Go to the documentation of this file.
12 #ifndef KINETICSOBSERVER_HPP
13 #define KINETICSOBSERVER_HPP
17 #include <boost/utility.hpp>
19 #include <state-observation/api.h>
78 double getSamplingTime()
const;
82 void setSamplingTime(
double);
91 void setWithUnmodeledWrench(
bool b =
true);
99 void setWithAccelerationEstimation(
bool b =
true);
104 bool getWithAccelerationEstimation()
const;
110 void setWithGyroBias(
bool b =
true);
115 void setMass(
double);
120 double getMass()
const;
160 Vector6 getAdditionalWrench()
const;
212 void setIMUDefaultCovarianceMatrix(
const Matrix3 & acceleroCov,
const Matrix3 & gyroCov);
220 void setAbsolutePoseSensor(
const Kinematics & measurement);
227 void setAbsolutePoseSensor(
const Kinematics & measurement,
const Matrix6 & CovarianceMatrix);
231 void setAbsolutePoseSensorDefaultCovarianceMatrix(
const Matrix6 & covMat);
237 void setAbsoluteOriSensor(
const Orientation & measurement);
244 void setAbsoluteOriSensor(
const Orientation & measurement,
const Matrix3 & CovarianceMatrix);
248 void setAbsoluteOriSensorDefaultCovarianceMatrix(
const Matrix3 & covMat);
284 const Matrix12 & initialCovarianceMatrix,
285 const Matrix12 & processCovarianceMatrix,
286 Index contactNumber = -1,
287 const Matrix3 & linearStiffness = Matrix3::Constant(-1),
288 const Matrix3 & linearDamping = Matrix3::Constant(-1),
289 const Matrix3 & angularStiffness = Matrix3::Constant(-1),
290 const Matrix3 & angularDamping = Matrix3::Constant(-1));
308 Index contactNumber = -1,
309 const Matrix3 & linearStiffness = Matrix3::Constant(-1),
310 const Matrix3 & linearDamping = Matrix3::Constant(-1),
311 const Matrix3 & angularStiffness = Matrix3::Constant(-1),
312 const Matrix3 & angularDamping = Matrix3::Constant(-1));
317 void removeContact(
Index contactnbr);
320 void clearContacts();
325 Index getNumberOfSetContacts()
const;
330 std::vector<Index> getListOfContacts()
const;
349 void updateContactWithNoSensor(
const Kinematics & localKine,
unsigned contactNumber);
355 void updateContactWithWrenchSensor(
const Vector6 & wrenchMeasurement,
357 unsigned contactNumber);
364 void updateContactWithWrenchSensor(
const Vector6 & wrenchMeasurement,
365 const Matrix6 & wrenchCovMatrix,
367 unsigned contactNumber);
372 void setContactWrenchSensorDefaultCovarianceMatrix(
const Matrix6 & wrenchSensorCovMat);
394 void setCenterOfMass(
const Vector3 & com,
const Vector3 & com_dot);
400 void setCenterOfMass(
const Vector3 & com);
406 void setCoMInertiaMatrix(
const Matrix3 & I,
const Matrix3 & I_dot);
413 void setCoMInertiaMatrix(
const Matrix3 & I);
420 void setCoMInertiaMatrix(
const Vector6 & I,
const Vector6 & I_dot);
427 void setCoMInertiaMatrix(
const Vector6 & I);
433 void setCoMAngularMomentum(
const Vector3 & sigma,
const Vector3 & sigma_dot);
439 void setCoMAngularMomentum(
const Vector3 & sigma);
447 void setAdditionalWrench(
const Vector3 & force,
const Vector3 & torque);
458 void updateMeasurements();
474 void convertWrenchFromUserToCentroid(
const Vector3 & forceUserFrame,
475 const Vector3 & momentUserFrame,
477 Vector3 & momentCentroidFrame);
494 Kinematics getGlobalCentroidKinematics()
const;
541 Vector6 getUnmodeledWrench()
const;
556 void setWorldCentroidStateKinematics(
const LocalKinematics & localKine,
557 bool resetContactWrenches =
true,
558 bool resetCovariance =
true);
566 void setWorldCentroidStateKinematics(
const Kinematics & kine,
bool resetCovariance =
true);
575 void setStateContact(
Index index,
578 bool resetCovariance =
true);
589 void setGyroBias(
const Vector3 &,
unsigned numberOfIMU = 1,
bool resetCovariance =
true);
597 void setStateUnmodeledWrench(
const Vector6 &,
bool resetCovariance =
true);
609 void resetSensorsDefaultCovMats();
621 void setKinematicsInitCovarianceDefault(
const Matrix &);
623 void setKinematicsInitCovarianceDefault(
const Matrix3 & P_pos,
629 void setGyroBiasInitCovarianceDefault(
const Matrix3 & covMat);
634 void setUnmodeledWrenchInitCovMatDefault(
const Matrix6 & initCovMat);
639 void setContactInitCovMatDefault(
const Matrix12 & contactCovMat);
642 void setKinematicsStateCovariance(
const Matrix &);
648 void setGyroBiasStateCovariance(
const Matrix3 & covMat,
unsigned imuNumber);
653 void setUnmodeledWrenchStateCovMat(
const Matrix6 & newCovMat);
659 void setContactStateCovMat(
Index contactNbr,
const Matrix12 & contactCovMat);
662 void setKinematicsProcessCovarianceDefault(
const Matrix12 &);
665 void setKinematicsProcessCovarianceDefault(
const Matrix3 & P_pos,
671 void setGyroBiasProcessCovarianceDefault(
const Matrix3 & covMat);
674 void setUnmodeledWrenchProcessCovarianceDefault(
const Matrix6 & covMat);
677 void setContactProcessCovarianceDefault(
const Matrix12 & covMat);
680 void setKinematicsProcessCovariance(
const Matrix12 &);
686 void setGyroBiasProcessCovariance(
const Matrix3 & covMat,
unsigned imuNumber);
691 void setUnmodeledWrenchProcessCovMat(
const Matrix6 & processCovMat);
697 void setContactProcessCovMat(
Index contactNbr,
const Matrix12 & contactCovMat);
700 void resetStateCovarianceMat();
701 void resetStateKinematicsCovMat();
702 void resetStateGyroBiasCovMat(
Index i);
703 void resetStateUnmodeledWrenchCovMat();
704 void resetStateContactsCovMat();
705 void resetStateContactCovMat(
Index contactNbr);
707 void resetProcessCovarianceMat();
708 void resetProcessKinematicsCovMat();
709 void resetProcessGyroBiasCovMat(
Index i);
710 void resetProcessUnmodeledWrenchCovMat();
711 void resetProcessContactsCovMat();
712 void resetProcessContactCovMat(
Index contactNbr);
731 Index getStateSize()
const;
737 Index getStateTangentSize()
const;
742 Index getMeasurementSize()
const;
747 Matrix getStateCovarianceMat()
const;
753 void setStateCovarianceMat(
const Matrix & P);
758 void setProcessNoiseCovarianceMat(
const Matrix & Q);
767 const Vector & getCurrentStateVector()
const;
773 TimeIndex getStateVectorTimeIndex()
const;
777 void setInitWorldCentroidStateVector(
const Vector & initStateVector);
784 void setStateVector(
const Vector & newvalue,
bool resetCovariance =
true);
789 Vector getMeasurementVector();
798 inline Index kineIndex()
const;
803 inline Index posIndex()
const;
808 inline Index oriIndex()
const;
813 inline Index linVelIndex()
const;
818 inline Index angVelIndex()
const;
823 inline Index gyroBiasIndex(
Index IMUNumber)
const;
828 inline Index unmodeledWrenchIndex()
const;
833 inline Index unmodeledForceIndex()
const;
838 inline Index unmodeledTorqueIndex()
const;
843 inline Index contactsIndex()
const;
849 inline Index contactIndex(
Index contactNbr)
const;
855 inline Index contactKineIndex(
Index contactNbr)
const;
861 inline Index contactPosIndex(
Index contactNbr)
const;
867 inline Index contactOriIndex(
Index contactNbr)
const;
873 inline Index contactForceIndex(
Index contactNbr)
const;
879 inline Index contactTorqueIndex(
Index contactNbr)
const;
885 inline Index contactWrenchIndex(
Index contactNbr)
const;
894 inline Index kineIndexTangent()
const;
899 inline Index posIndexTangent()
const;
904 inline Index oriIndexTangent()
const;
909 inline Index linVelIndexTangent()
const;
914 inline Index angVelIndexTangent()
const;
919 inline Index gyroBiasIndexTangent(
Index IMUNumber)
const;
924 inline Index unmodeledWrenchIndexTangent()
const;
929 inline Index unmodeledForceIndexTangent()
const;
934 inline Index unmodeledTorqueIndexTangent()
const;
939 inline Index contactsIndexTangent()
const;
945 inline Index contactIndexTangent(
Index contactNbr)
const;
951 inline Index contactKineIndexTangent(
Index contactNbr)
const;
957 inline Index contactPosIndexTangent(
Index contactNbr)
const;
963 inline Index contactOriIndexTangent(
Index contactNbr)
const;
969 inline Index contactForceIndexTangent(
Index contactNbr)
const;
975 inline Index contactTorqueIndexTangent(
Index contactNbr)
const;
981 inline Index contactWrenchIndexTangent(
Index contactNbr)
const;
1001 Sensor(
Index signalSize) : measIndex(-1), measIndexTangent(-1), size(signalSize), time(0) {}
1010 return v.segment(size, measIndex);
1028 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
1031 typedef std::vector<IMU, Eigen::aligned_allocator<IMU>>
VectorIMU;
1037 Contact() :
Sensor(sizeWrench), isSet(false), withRealSensor(false), stateIndex(-1), stateIndexTangent(-1)
1039 worldRestPose.angVel = worldRestPose.linVel = Vector3::Zero();
1066 static const Kinematics::Flags::Byte contactKineFlags =
1067 Kinematics::Flags::position | Kinematics::Flags::orientation | Kinematics::Flags::linVel
1068 | Kinematics::Flags::angVel;
1070 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
1082 static const Kinematics::Flags::Byte poseFlags = Kinematics::Flags::position | Kinematics::Flags::orientation;
1116 void addUnmodeledAndContactWrench_(
const Vector & centroidStateVector,
Vector3 & force,
Vector3 & torque);
1122 void addUnmodeledWrench_(
const Vector & centroidStateVector,
Vector3 & force,
Vector3 & torque);
1132 void addContactWrench_(
const Kinematics & centroidContactKine,
1133 const Vector3 & centroidContactForce,
1134 const Vector3 & centroidContactTorque,
1136 Vector3 & totalCentroidTorque);
1150 const Vector3 & totalForceLocal,
1151 const Vector3 & totalMomentLocal,
1173 void computeContactForces_(
LocalKinematics & worldCentroidStateKinematics,
1178 virtual void setProcessNoise(
NoiseBase *);
1181 virtual void resetProcessNoise();
1183 virtual NoiseBase * getProcessNoise()
const;
1186 virtual void setMeasurementNoise(
NoiseBase *);
1188 virtual void resetMeasurementNoise();
1190 virtual NoiseBase * getMeasurementNoise()
const;
1193 virtual Index getInputSize()
const;
1199 Vector6 getCentroidContactWrench(
Index numContact)
const;
1225 Index getContactMeasIndexByNum(
Index num)
const;
1227 bool getContactIsSetByNum(
Index num)
const;
1245 virtual void stateSum(
const Vector & stateVector,
const Vector & tangentVector,
Vector & sum);
1253 inline Vector stateDifference(
const Vector & stateVector1,
const Vector & stateVector2);
1258 virtual void stateDifference(
const Vector & stateVector1,
const Vector & stateVector2,
Vector & difference);
1267 virtual void measurementDifference(
const Vector & measureVector1,
const Vector & measureVector2,
Vector & difference);
1272 virtual void useFiniteDifferencesJacobians(
bool b =
true);
1277 virtual void setFiniteDifferenceStep(
const Vector & dx);
1279 virtual Matrix computeAMatrix();
1281 virtual Matrix computeCMatrix();
1284 void computeLocalAccelerations(
const Vector & x,
Vector & acceleration);
1290 double relativeErrorThreshold,
1298 double relativeErrorThreshold,
1303 double relativeErrorThreshold,
1310 double relativeErrorThreshold,
1315 void stateNaNCorrection_();
1319 void updateLocalKineAndContacts_();
1322 void updateGlobalKine_();
1380 void startNewIteration_();
1421 inline static constexpr
Index sizeAcceleroSignal = 3;
1422 inline static constexpr
Index sizeGyroSignal = 3;
1423 inline static constexpr
Index sizeIMUSignal = sizeAcceleroSignal + sizeGyroSignal;
1425 inline static constexpr
Index sizePos = 3;
1426 inline static constexpr
Index sizePosTangent = 3;
1427 inline static constexpr
Index sizeOri = 4;
1428 inline static constexpr
Index sizeOriTangent = 3;
1429 inline static constexpr
Index sizeLinVel = sizePos;
1430 inline static constexpr
Index sizeLinVelTangent = sizeLinVel;
1431 inline static constexpr
Index sizeLinAccTangent = sizeLinVelTangent;
1432 inline static constexpr
Index sizeAngVel = sizeOriTangent;
1433 inline static constexpr
Index sizeAngVelTangent = sizeAngVel;
1434 inline static constexpr
Index sizeGyroBias = sizeGyroSignal;
1435 inline static constexpr
Index sizeGyroBiasTangent = sizeGyroBias;
1437 inline static constexpr
Index sizeForce = 3;
1438 inline static constexpr
Index sizeForceTangent = sizeForce;
1439 inline static constexpr
Index sizeTorque = 3;
1440 inline static constexpr
Index sizeTorqueTangent = sizeTorque;
1442 inline static constexpr
Index sizeWrench = sizeForce + sizeTorque;
1444 inline static constexpr
Index sizeStateKine = sizePos + sizeOri + sizeLinVel + sizeAngVel;
1445 inline static constexpr
Index sizeStateBase = sizeStateKine + sizeForce + sizeTorque;
1446 inline static constexpr
Index sizeStateKineTangent = sizePos + sizeOriTangent + sizeLinVel + sizeAngVel;
1447 inline static constexpr
Index sizeStateTangentBase = sizeStateKineTangent + sizeForce + sizeTorque;
1449 inline static constexpr
Index sizePose = sizePos + sizeOri;
1450 inline static constexpr
Index sizePoseTangent = sizePos + sizeOriTangent;
1452 inline static constexpr
Index sizeContactKine = sizePose;
1453 inline static constexpr
Index sizeContactKineTangent = sizePoseTangent;
1455 inline static constexpr
Index sizeContact = sizeContactKine + sizeWrench;
1456 inline static constexpr
Index sizeContactTangent = sizeContactKineTangent + sizeWrench;
1458 inline static constexpr Kinematics::Flags::Byte flagsStateKine =
1459 Kinematics::Flags::position | Kinematics::Flags::orientation | Kinematics::Flags::linVel
1460 | Kinematics::Flags::angVel;
1462 inline static constexpr Kinematics::Flags::Byte flagsContactKine =
1463 Kinematics::Flags::position | Kinematics::Flags::orientation;
1465 inline static constexpr Kinematics::Flags::Byte flagsPoseKine =
1466 Kinematics::Flags::position | Kinematics::Flags::orientation;
1468 inline static constexpr Kinematics::Flags::Byte flagsPosKine = Kinematics::Flags::position;
1470 inline static constexpr Kinematics::Flags::Byte flagsIMUKine =
1471 Kinematics::Flags::position | Kinematics::Flags::orientation | Kinematics::Flags::linVel
1472 | Kinematics::Flags::angVel | Kinematics::Flags::linAcc | Kinematics::Flags::angAcc;
1511 bool nanDetected_ =
false;
1512 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
1557 Opt() : locKine(locKine1), ori(locKine.orientation), ori1(locKine1.orientation), ori2(locKine2.orientation) {}
1575 #include <state-observation/dynamics-estimators/kinetics-observer.hxx>
Eigen::VectorXd Vector
Dynamic sized scalar vector.
Definition: definitions.hpp:76
stateObservation::ExtendedKalmanFilter ekf_
Definition: kinetics-observer.hpp:1354
static const double gyroVarianceDefault
Definition: kinetics-observer.hpp:1498
Vector worldCentroidStateVectorDx_
Definition: kinetics-observer.hpp:1339
Opt()
Definition: kinetics-observer.hpp:1557
Implements the accelerometer-gyrometer inertial measuremen.
IndexedVector3 sigmad_
Definition: kinetics-observer.hpp:1361
Matrix3 contactOrientationProcessCovMat_
Definition: kinetics-observer.hpp:1543
bool withAccelerationEstimation_
Definition: kinetics-observer.hpp:1358
LocalKinematics locKine2
Definition: kinetics-observer.hpp:1559
Definition: kinetics-observer.hpp:1086
Matrix3 stateLinVelProcessCovMat_
Definition: kinetics-observer.hpp:1538
Matrix3 contactPositionProcessCovMat_
Definition: kinetics-observer.hpp:1542
static const double angularStiffnessDefault
Definition: kinetics-observer.hpp:1505
~Sensor()
Definition: kinetics-observer.hpp:1002
Matrix3 stateAngVelProcessCovMat_
Definition: kinetics-observer.hpp:1539
static const double contactTorqueInitVarianceDefault
Definition: kinetics-observer.hpp:1484
Index size
Definition: kinetics-observer.hpp:1005
Matrix3 absOriSensorCovMatDefault_
Definition: kinetics-observer.hpp:1526
CheckedMatrix3 covMatrix
Definition: kinetics-observer.hpp:1091
VectorIMU imuSensors_
Definition: kinetics-observer.hpp:1331
TimeIndex time
Definition: kinetics-observer.hpp:1006
static const double stateAngVelInitVarianceDefault
Definition: kinetics-observer.hpp:1480
Matrix3 angularStiffnessMatDefault_
Definition: kinetics-observer.hpp:1517
Matrix3 stateOriProcessCovMat_
Definition: kinetics-observer.hpp:1537
Matrix3 angularDampingMatDefault_
Definition: kinetics-observer.hpp:1519
static const double unmodeledWrenchInitVarianceDefault
Definition: kinetics-observer.hpp:1482
Eigen::Matrix< double, 6, 6 > Matrix6
6x6 Scalar Matrix
Definition: definitions.hpp:121
static const double defaultMass
Definition: kinetics-observer.hpp:1475
static const double defaultdx
default derivation steps
Definition: kinetics-observer.hpp:1552
Index measIndexTangent
Definition: kinetics-observer.hpp:1004
std::vector< IMU, Eigen::aligned_allocator< IMU > > VectorIMU
Definition: kinetics-observer.hpp:1031
Matrix3 linearStiffnessMatDefault_
Default Stiffness and damping.
Definition: kinetics-observer.hpp:1516
This class is used to customize the way the difference between measurements, the state update functio...
Definition: state-vector-arithmetics.hpp:27
static const double orientationSensorVarianceDefault
Definition: kinetics-observer.hpp:1502
This is the base class of any functor that describes the dynamics of the state and the measurement....
Definition: dynamical-system-functor-base.hpp:32
Matrix measurementCovMatrix_
Definition: kinetics-observer.hpp:1352
Vector oldWorldCentroidStateVector_
Definition: kinetics-observer.hpp:1340
VectorIMU::const_iterator VectorIMUConstIterator
Definition: kinetics-observer.hpp:1033
Matrix12 contactProcessCovMatDefault_
Definition: kinetics-observer.hpp:1546
bool finiteDifferencesJacobians_
Definition: kinetics-observer.hpp:1355
Definition: extended-kalman-filter.hpp:42
static const double stateOriInitVarianceDefault
Definition: kinetics-observer.hpp:1478
static const double positionSensorVarianceDefault
Definition: kinetics-observer.hpp:1501
kine::Kinematics Kinematics
Definition: kinetics-observer.hpp:44
Definition: kinetics-observer.hpp:999
unsigned maxImuNumber_
Definition: kinetics-observer.hpp:1326
Vector3 additionalTorque_
Definition: kinetics-observer.hpp:1346
Definition: kinetics-observer.hpp:1077
static const double stateAngVelProcessVarianceDefault
Definition: kinetics-observer.hpp:1489
Matrix6 contactWrenchSensorCovMatDefault_
Definition: kinetics-observer.hpp:1524
bool withUnmodeledWrench_
Definition: kinetics-observer.hpp:1357
double dt_
Definition: kinetics-observer.hpp:1369
Orientation & ori2
Definition: kinetics-observer.hpp:1563
Definition: noise-base.hpp:28
Orientation ori
Definition: kinetics-observer.hpp:1090
Matrix12 stateKinematicsInitCovMat_
Definition: kinetics-observer.hpp:1548
Matrix3 statePosProcessCovMat_
Definition: kinetics-observer.hpp:1536
Class facilitating the manipulation of the kinematics of a frame within another and the associated op...
Definition: rigid-body-kinematics.hpp:584
bool withGyroBias_
Definition: kinetics-observer.hpp:1356
static const double statePoseProcessVarianceDefault
Definition: kinetics-observer.hpp:1486
Vector6 acceleroGyro
Definition: kinetics-observer.hpp:1021
a structure to optimize computations
Definition: kinetics-observer.hpp:1555
kine::LocalKinematics LocalKinematics
Definition: kinetics-observer.hpp:45
IndexedVector3 comdd_
Definition: kinetics-observer.hpp:1360
Index measurementTangentSize_
Definition: kinetics-observer.hpp:1336
Implements integrators for the kinematics, in terms or rotations and translations.
VectorContact::iterator VectorContactIterator
Definition: kinetics-observer.hpp:1074
Eigen::MatrixXd Matrix
Dynamic sized Matrix.
Definition: definitions.hpp:100
This observer estimates the kinematics, the external forces, the bias on the gyrometers measurements,...
Definition: kinetics-observer.hpp:41
Index stateSize_
Definition: kinetics-observer.hpp:1333
Matrix12 stateKinematicsProcessCovMat_
Definition: kinetics-observer.hpp:1549
Matrix3 gyroBiasInitCovMat_
Definition: kinetics-observer.hpp:1532
Matrix3 gyroBiasProcessCovMat_
Definition: kinetics-observer.hpp:1540
static const double contactForceInitVarianceDefault
Definition: kinetics-observer.hpp:1483
Index measIndex
Definition: kinetics-observer.hpp:1003
NoiseBase * measurementNoise_
Definition: kinetics-observer.hpp:1372
AbsolutePoseSensor absPoseSensor_
Definition: kinetics-observer.hpp:1328
Vector3 initTotalCentroidTorque_
Definition: kinetics-observer.hpp:1349
Index currentIMUSensorNumber_
Definition: kinetics-observer.hpp:1375
Matrix3 stateAngVelInitCovMat_
Definition: kinetics-observer.hpp:1531
Matrix3 stateOriInitCovMat_
Definition: kinetics-observer.hpp:1529
long int TimeIndex
Definition: definitions.hpp:139
static const double linearDampingDefault
Definition: kinetics-observer.hpp:1506
kine::Orientation Orientation
Definition: kinetics-observer.hpp:46
Class facilitating the manipulation of the local kinematics of a frame within another and the associa...
Definition: rigid-body-kinematics.hpp:677
static const double stateOriProcessVarianceDefault
Definition: kinetics-observer.hpp:1487
unsigned maxContacts_
Definition: kinetics-observer.hpp:1325
Eigen::Matrix3d Matrix3
3x3 Scalar Matrix
Definition: definitions.hpp:109
Index numberOfContactRealSensors_
Definition: kinetics-observer.hpp:1374
Matrix3 statePosInitCovMat_
Definition: kinetics-observer.hpp:1528
static const double gyroBiasProcessVarianceDefault
Definition: kinetics-observer.hpp:1490
Matrix3 covMatrixAccelero
Definition: kinetics-observer.hpp:1022
Eigen::Matrix< double, 6, 1 > Vector6
6D vector
Definition: definitions.hpp:97
Eigen::Index Index
Definition: definitions.hpp:138
static const double contactForceProcessVarianceDefault
Definition: kinetics-observer.hpp:1494
static const double unmodeledWrenchProcessVarianceDefault
Definition: kinetics-observer.hpp:1491
Index measurementSize_
Definition: kinetics-observer.hpp:1335
static const double forceSensorVarianceDefault
Definition: kinetics-observer.hpp:1499
Definitions of types and some structures.
std::vector< Contact, Eigen::aligned_allocator< Contact > > VectorContact
Definition: kinetics-observer.hpp:1073
Matrix6 unmodeledWrenchProcessCovMat_
Definition: kinetics-observer.hpp:1541
Matrix3 contactForceProcessCovMat_
Definition: kinetics-observer.hpp:1544
static const double angularDampingDefault
Definition: kinetics-observer.hpp:1507
Kinematics userImuKinematics
Definition: kinetics-observer.hpp:1019
static const double gyroBiasInitVarianceDefault
Definition: kinetics-observer.hpp:1481
static const double acceleroVarianceDefault
Definition: kinetics-observer.hpp:1497
Vector worldCentroidStateVector_
Definition: kinetics-observer.hpp:1338
VectorIMU::iterator VectorIMUIterator
Definition: kinetics-observer.hpp:1032
Matrix3 acceleroCovMatDefault_
Definition: kinetics-observer.hpp:1522
VectorContact contacts_
Definition: kinetics-observer.hpp:1330
AbsolutePoseSensor()
Definition: kinetics-observer.hpp:1079
Vector measurementVector_
Definition: kinetics-observer.hpp:1351
Matrix3 covMatrixGyro
Definition: kinetics-observer.hpp:1023
VectorContact::const_iterator VectorContactConstIterator
Definition: kinetics-observer.hpp:1075
Vector extractFromVector(const Vector &v)
Definition: kinetics-observer.hpp:1008
Matrix3 gyroCovMatDefault_
Definition: kinetics-observer.hpp:1523
Orientation & ori
Definition: kinetics-observer.hpp:1561
Definition: rigid-body-kinematics.hpp:354
static const double linearStiffnessDefault
Definition: kinetics-observer.hpp:1504
AbsoluteOriSensor absOriSensor_
Definition: kinetics-observer.hpp:1329
Matrix6 absPoseSensorCovMatDefault_
Definition: kinetics-observer.hpp:1525
Eigen::Matrix< double, 12, 12 > Matrix12
12x12 scalar Matrix
Definition: definitions.hpp:124
TimeIndex k_est_
Definition: kinetics-observer.hpp:1364
static const double contactOrientationProcessVarianceDefault
Definition: kinetics-observer.hpp:1493
static const double statePoseInitVarianceDefault
Definition: kinetics-observer.hpp:1477
NoiseBase * processNoise_
Definition: kinetics-observer.hpp:1371
Kinematics worldCentroidKinematics_
Definition: kinetics-observer.hpp:1343
Matrix12 contactInitCovMatDefault_
Definition: kinetics-observer.hpp:1534
static const double contactTorqueProcessVarianceDefault
Definition: kinetics-observer.hpp:1495
Index stateIndexTangent
Definition: kinetics-observer.hpp:1026
~IMU()
Definition: kinetics-observer.hpp:1016
Kinematics pose
Definition: kinetics-observer.hpp:1081
static const double stateLinVelInitVarianceDefault
Definition: kinetics-observer.hpp:1479
LocalKinematics worldCentroidStateKinematics_
Definition: kinetics-observer.hpp:1342
Vector3 initTotalCentroidForce_
Definition: kinetics-observer.hpp:1348
Eigen::Vector3d Vector3
3D vector
Definition: definitions.hpp:85
Matrix3 contactTorqueProcessCovMat_
Definition: kinetics-observer.hpp:1545
Sensor(Index signalSize)
Definition: kinetics-observer.hpp:1001
Index stateIndex
Definition: kinetics-observer.hpp:1025
CheckedMatrix6 covMatrix
Definition: kinetics-observer.hpp:1083
Matrix6 unmodeledWrenchInitCovMat_
Definition: kinetics-observer.hpp:1533
double mass_
Definition: kinetics-observer.hpp:1367
Definition: bidim-elastic-inv-pendulum-dyn-sys.hpp:20
TimeIndex k_data_
Definition: kinetics-observer.hpp:1365
static const double stateLinVelProcessVarianceDefault
Definition: kinetics-observer.hpp:1488
Matrix3 linearDampingMatDefault_
Definition: kinetics-observer.hpp:1518
static const double contactPositionProcessVarianceDefault
Definition: kinetics-observer.hpp:1492
LocalKinematics & locKine
Definition: kinetics-observer.hpp:1560
Index stateTangentSize_
Definition: kinetics-observer.hpp:1334
Definition: kinetics-observer.hpp:1014
static const double torqueSensorVarianceDefault
Definition: kinetics-observer.hpp:1500
AbsoluteOriSensor()
Definition: kinetics-observer.hpp:1088
Matrix3 stateLinVelInitCovMat_
Definition: kinetics-observer.hpp:1530
IndexedMatrix3 Id_
Definition: kinetics-observer.hpp:1362
LocalKinematics centroidImuKinematics
Definition: kinetics-observer.hpp:1020
Orientation & ori1
Definition: kinetics-observer.hpp:1562
Vector3 additionalForce_
Definition: kinetics-observer.hpp:1345
IMU()
Definition: kinetics-observer.hpp:1017