本文整理汇总了C++中VectorNd::transpose方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorNd::transpose方法的具体用法?C++ VectorNd::transpose怎么用?C++ VectorNd::transpose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorNd
的用法示例。
在下文中一共展示了VectorNd::transpose方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char const *argv[])
{
// Small test case for model wrapper
cout << "Leo Model Test Case" << endl;
// Initialize model from lua file
cout << "Initializing model ..." << endl;
LeoModel leo;
leo.loadModelFromFile (model_path.c_str());
cout << "... successful!" << endl << endl;
// Load contact points
cout << "Loading points ..." << endl;
leo.loadPointsFromFile (model_path.c_str(), true);
cout << "... successful!" << endl << endl;
// Load constraint sets
cout << "Loading constraint sets ..." << endl;
leo.loadConstraintSetsFromFile (model_path.c_str(), true);
cout << "... successful!" << endl;
VectorNd q = VectorNd::Zero(leo.nDof);
VectorNd qdot = VectorNd::Zero(leo.nDof);
VectorNd qddot = VectorNd::Zero(leo.nDof);
VectorNd tau = VectorNd::Zero(leo.nDof);
VectorNd rhs = VectorNd::Zero(2*leo.nDof);
// provide initial values
q <<
0.05,
-0.1,
0.1,
0.0;
// 0.1,
// -0.1,
// 0.05;
// assign them to model
leo.q = q;
leo.qdot = qdot;
leo.qddot = qddot;
leo.activeConstraintSet = "";
cout << "Computing inverse dynamics ... " << endl;
cout << " q: " << leo.q.transpose() << endl;
cout << " qdot: " << leo.qdot.transpose() << endl;
cout << "for desired accelerations:" << endl;
cout << " qddot: " << leo.qddot.transpose() << endl;
leo.updateInverseDynamics();
cout << "needed torques:" << endl;
cout << " taus: " << leo.tau.transpose() << endl;
cout << "... successful!" << endl;
cout << "Checking forward dynamics ... " << endl;
cout << " q: " << leo.q.transpose() << endl;
cout << " qdot: " << leo.qdot.transpose() << endl;
cout << "for given torques:" << endl;
cout << " taus: " << leo.tau.transpose() << endl;
leo.updateForwardDynamics();
cout << "resulting accelerations:" << endl;
cout << " qddot: " << leo.qddot.transpose() << endl;
leo.calcForwardDynamicsRhs(rhs.data());
cout << "resulting accelerations:" << endl;
cout << " rhs: " << rhs.transpose() << endl;
cout << "... successful!" << endl;
cout << endl;
// provide initial values
leo.tau <<
0.1,
0.1,
0.1,
0.1;
// 0.1,
// -0.1,
// 0.05;
cout << "Checking forward dynamics ... " << endl;
cout << " q: " << leo.q.transpose() << endl;
cout << " qdot: " << leo.qdot.transpose() << endl;
cout << "for given torques:" << endl;
cout << " taus: " << leo.tau.transpose() << endl;
leo.updateForwardDynamics();
cout << "resulting accelerations:" << endl;
cout << " qddot: " << leo.qddot.transpose() << endl;
cout << endl;
leo.calcForwardDynamicsRhs(rhs.data());
cout << "resulting accelerations:" << endl;
cout << " rhs: " << rhs.transpose() << endl;
cout << "... successful!" << endl;
cout << endl;
return 0;
// // calculate mass matrix
// MatrixNd H = leo.calcMassMatrix();
// cout << "Computing mass matrix ... " << endl;
// cout << H << endl;
// cout << "... successful!" << endl;
// // calculate constraint Jacobian for given constraint set
// MatrixNd G = leo.calcContactJacobian();
// cout << "Computing contact Jacobian ... " << endl;
//.........这里部分代码省略.........