当前位置: 首页>>代码示例>>C++>>正文


C++ VectorNd::transpose方法代码示例

本文整理汇总了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;
//.........这里部分代码省略.........
开发者ID:ikoryakovskiy,项目名称:grl,代码行数:101,代码来源:leomodel.cpp


注:本文中的VectorNd::transpose方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。