21 #ifndef KDL_CHAIN_EXTERNAL_WRENCH_ESTIMATOR_HPP 22 #define KDL_CHAIN_EXTERNAL_WRENCH_ESTIMATOR_HPP 67 ChainExternalWrenchEstimator(
const Chain &chain,
const Vector &gravity,
const double sample_frequency,
const double estimation_gain,
const double filter_constant,
const double eps = 0.00001,
const int maxiter = 150);
static const int E_JACSOLVER_FAILED
Internally-used Forward Position Kinematics (Recursive) solver failed.
static const int E_FKSOLVERPOS_FAILED
Eigen::VectorXd ESTIMATION_GAIN
Jacobian jacobian_end_eff
This class encapsulates a serial kinematic interconnection structure. It is built out of segments...
This class represents an fixed size array containing joint values of a KDL::Chain.
JntArray initial_jnt_momentum
int JntToExtWrench(const JntArray &joint_position, const JntArray &joint_velocity, const JntArray &joint_torque, Wrench &external_wrench)
JntArray estimated_ext_torque
Eigen::MatrixXd jacobian_end_eff_transpose_inv
~ChainExternalWrenchEstimator()
void setSVDEps(const double eps_in)
static const int E_DYNPARAMSOLVERMASS_FAILED
Internally-used Jacobian solver failed.
Class to calculate the jacobian of a general KDL::Chain, it is used by other solvers.
ChainJntToJacSolver jacobian_solver
A concrete implementation of a 3 dimensional vector class.
ChainFkSolverPos_recursive fk_pos_solver
ChainDynParam dynparam_solver
virtual const char * strError(const int error) const
ChainExternalWrenchEstimator(const Chain &chain, const Vector &gravity, const double sample_frequency, const double estimation_gain, const double filter_constant, const double eps=0.00001, const int maxiter=150)
Internally-used Dynamics Parameters (Gravity) solver failed.
JntArray filtered_estimated_ext_torque
virtual void updateInternalDataStructures()
const double FILTER_CONST
static const int E_DYNPARAMSOLVERGRAVITY_FAILED
Internally-used Dynamics Parameters (Coriolis) solver failed.
JntSpaceInertiaMatrix jnt_mass_matrix_dot
First-order momentum observer for the estimation of external wrenches applied on the robot's end-effe...
JntSpaceInertiaMatrix jnt_mass_matrix
int setInitialMomentum(const JntArray &joint_position, const JntArray &joint_velocity)
void getEstimatedJntTorque(JntArray &external_joint_torque)
represents both translational and rotational acceleration.
Eigen::MatrixXd jacobian_end_eff_transpose
Eigen::Matrix< double, 6, 1 > Vector6d
JntSpaceInertiaMatrix previous_jnt_mass_matrix
void setSVDMaxIter(const int maxiter_in)
static const int E_DYNPARAMSOLVERCORIOLIS_FAILED
Internally-used Dynamics Parameters (Mass) solver failed.
int error
Latest error, initialized to E_NOERROR in constructor.
JntArray estimated_momentum_integral