47 unsigned int numJoints_;
50 std::shared_ptr<ArmModel> armModel_;
51 std::shared_ptr<RobotModel> robotModel_;
53 std::vector<Eigen::RotationMatrix> R_;
54 std::vector<Eigen::Vector3d> rhoVec_;
55 Eigen::VectorXd q_, q_dot_, q_ddot_, q_ddot_Ai_, qZeroVec_;
56 Eigen::VectorXd a_column;
57 std::vector<Eigen::Vector3d> omega_, omega_dot_, c_dot_, c_ddot_;
58 Eigen::Vector3d temp1_, temp2_, temp3_, temp4_, omega_prev_;
59 Eigen::Vector3d gravity_, zeroVect3_;
60 std::vector<Eigen::Vector3d> n_, f_;
61 std::vector<Eigen::Vector3d> r_qmc_, r_qpc_;
67 std::vector<Eigen::Vector3d> self_f_, self_n_;
68 std::vector<Eigen::Vector3d> interaction_f_, interaction_n_;
70 std::vector<RobotLink> links_;
75 void AddDummyBaseAndEE();
76 void InterMom2Torque(Eigen::VectorXd& torques)
const;
80 NewtonEuler(std::shared_ptr<RobotModel>& model, std::string& armID, std::string& toolID);
83 void EvaluateAlgorithmStep(
const Eigen::VectorXd& q,
const Eigen::VectorXd& q_dot,
const Eigen::VectorXd& q_ddot,
const Eigen::Vector3d& gravity, Eigen::VectorXd& torques);
void EvaluateAlgorithmStep(const Eigen::VectorXd &q, const Eigen::VectorXd &q_dot, const Eigen::VectorXd &q_ddot, const Eigen::Vector3d &gravity, Eigen::VectorXd &torques)