Go to the documentation of this file.
11 #include <boost/test/unit_test.hpp>
12 #include <boost/utility/binary.hpp>
16 BOOST_AUTO_TEST_SUITE(BOOST_TEST_MODULE)
21 typedef CppAD::cg::CG<Scalar> CGScalar;
22 typedef CppAD::AD<CGScalar> ADScalar;
24 typedef Eigen::Matrix<ADScalar, Eigen::Dynamic, 1> ADVector;
34 model.lowerPositionLimit.head<3>().
fill(-1.);
35 model.upperPositionLimit.head<3>().
fill(1.);
38 const std::string RF =
"rleg6_joint";
39 const std::string LF =
"lleg6_joint";
45 contact_models_6D3D.push_back(ci_RF);
48 contact_models_6D3D.push_back(ci_LF);
51 Eigen::VectorXd
q = Eigen::VectorXd::Random(
model.nq);
52 Eigen::VectorXd
v = Eigen::VectorXd::Random(
model.nv);
53 Eigen::VectorXd
tau = Eigen::VectorXd::Random(
model.nv);
54 std::vector<Eigen::VectorXd> results_q(2, Eigen::VectorXd::Zero(
model.nq));
55 std::vector<Eigen::VectorXd> results_v(2, Eigen::VectorXd::Zero(
model.nv));
58 cg_constraintDynamics.
initLib();
59 cg_constraintDynamics.
loadLib();
64 model,
data,
q,
v,
tau, contact_models_6D3D, contact_datas_6D3D, 0.);
69 BOOST_AUTO_TEST_SUITE_END()
RigidConstraintDataTpl< context::Scalar, context::Options > RigidConstraintData
void humanoidRandom(ModelTpl< Scalar, Options, JointCollectionTpl > &model, bool usingFF=true)
Create a humanoid kinematic tree with 6-DOF limbs and random joint placements.
void evalFunction(const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVector1 > &v, const Eigen::MatrixBase< TangentVector2 > &tau)
@ CONTACT_6D
Point contact model.
void loadLib(const bool generate_if_not_exist=true, const std::string &gcc_path="/usr/bin/gcc", const std::string &compile_options="-Ofast")
DataTpl< Scalar, Options > Data
DataTpl< context::Scalar, context::Options > Data
void initConstraintDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const std::vector< RigidConstraintModelTpl< Scalar, Options >, Allocator > &contact_models)
Init the forward dynamics data according to the contact information contained in contact_models.
#define PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(T)
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
const DataTpl< Scalar, Options, JointCollectionTpl >::TangentVectorType & constraintDynamics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType1 > &v, const Eigen::MatrixBase< TangentVectorType2 > &tau, const std::vector< RigidConstraintModelTpl< Scalar, Options >, ConstraintModelAllocator > &contact_models, std::vector< RigidConstraintDataTpl< Scalar, Options >, ConstraintDataAllocator > &contact_datas, ProximalSettingsTpl< Scalar > &settings)
Computes the forward dynamics with contact constraints according to a given list of Contact informati...
ModelTpl< context::Scalar, context::Options > Model
JointCollectionTpl & model
Main pinocchio namespace.
#define BOOST_CHECK(check)
pinocchio
Author(s):
autogenerated on Tue Jun 25 2024 02:42:36