24#ifndef KDL_CHAINHDSOLVER_VERESHCHAGIN_HPP
25#define KDL_CHAINHDSOLVER_VERESHCHAGIN_HPP
27#include "chainidsolver.hpp"
29#include "articulatedbodyinertia.hpp"
31#include<Eigen/StdVector>
409 typedef std::vector<Twist> Twists;
410 typedef std::vector<Frame> Frames;
411 typedef Eigen::Matrix<double, 6, 1 > Vector6d;
412 typedef Eigen::Matrix<double, 6, 6 > Matrix6d;
413 typedef Eigen::Matrix<double, 6, Eigen::Dynamic> Matrix6Xd;
518 void constraint_calculation(
const JntArray& beta);
533 Eigen::MatrixXd M_0_inverse;
538 Eigen::VectorXd nu_sum;
540 Eigen::VectorXd tmpm;
541 Eigen::VectorXd total_torques;
544 Eigen::VectorXd w_f_ext, w_ff_torques;
545 Matrix6Xd alpha_root;
570 double nullspaceAccComp;
579 Wrench U_fext, R_fext, R_tilde_fext;
580 Wrench U_ff, R_ff, R_tilde_ff;
582 Eigen::VectorXd G_fext, G_ff;
584 segment_info(
unsigned int nc):
585 D(0),nullspaceAccComp(0),constAccComp(0),biasAccComp(0),totalBias(0),u(0),
589 E_tilde.resize(6, nc);
605 std::vector<segment_info, Eigen::aligned_allocator<segment_info> > results;
6D Inertia of a articulated body
Definition articulatedbodyinertia.hpp:40
void getTotalTorque(JntArray &total_tau)
ChainHdSolver_Vereshchagin(const Chain &chain, const Twist &root_acc, const unsigned int nc)
virtual void updateInternalDataStructures()
int CartToJnt(const JntArray &q, const JntArray &q_dot, JntArray &q_dotdot, const Jacobian &alfa, const JntArray &beta, const Wrenches &f_ext, const JntArray &ff_torques, JntArray &constraint_torques)
~ChainHdSolver_Vereshchagin()
Definition chainhdsolver_vereshchagin.hpp:425
void getContraintForceMagnitude(Eigen::VectorXd &nu_)
void getTransformedLinkAcceleration(Twists &x_dotdot)
int setDriverWeights(const Eigen::VectorXd &w_f_ext, const Eigen::VectorXd &w_ff_torques)
This class encapsulates a serial kinematic interconnection structure. It is built out of segments.
Definition chain.hpp:35
represents a frame transformation in 3D space (rotation + translation)
Definition frames.hpp:572
Definition jacobian.hpp:37
Definition jntarray.hpp:70
Definition solveri.hpp:85
represents both translational and rotational velocities.
Definition frames.hpp:723
represents both translational and rotational acceleration.
Definition frames.hpp:882
Definition articulatedbodyinertia.hpp:32
std::vector< Wrench > Wrenches
Definition chainfdsolver.hpp:34