5 #include "pinocchio/algorithm/copy.hpp" 6 #include "pinocchio/algorithm/kinematics.hpp" 7 #include "pinocchio/algorithm/rnea.hpp" 8 #include "pinocchio/algorithm/joint-configuration.hpp" 9 #include "pinocchio/parsers/sample-models.hpp" 11 #include <boost/test/unit_test.hpp> 12 #include <boost/utility/binary.hpp> 14 BOOST_AUTO_TEST_SUITE(BOOST_TEST_MODULE)
18 using namespace Eigen;
35 rnea(model,data_ref,q,v,a);
41 BOOST_CHECK(data.oMi[
i] == data_ref.oMi[
i]);
48 BOOST_CHECK(data.oMi[
i] == data_ref.oMi[
i]);
49 BOOST_CHECK(data.v[
i] == data_ref.v[
i]);
56 BOOST_CHECK(data.oMi[
i] == data_ref.oMi[
i]);
57 BOOST_CHECK(data.v[
i] == data_ref.v[
i]);
58 BOOST_CHECK(data.a[
i] == data_ref.a[
i]);
59 BOOST_CHECK(data.a_gf[
i] == data_ref.a_gf[
i]);
64 BOOST_AUTO_TEST_SUITE_END()
Refers to the quantities related to the 2nd-order kinematics (joint accelerations, center of mass acceleration, etc.).
BOOST_AUTO_TEST_CASE(test_data_copy)
void rnea(const int num_threads, ModelPoolTpl< Scalar, Options, JointCollectionTpl > &pool, const Eigen::MatrixBase< ConfigVectorPool > &q, const Eigen::MatrixBase< TangentVectorPool1 > &v, const Eigen::MatrixBase< TangentVectorPool2 > &a, const Eigen::MatrixBase< TangentVectorPool3 > &tau)
The Recursive Newton-Euler algorithm. It computes the inverse dynamics, aka the joint torques accordi...
int njoints
Number of joints.
ConfigVectorType lowerPositionLimit
Lower joint configuration limit.
void randomConfiguration(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorIn1 > &lowerLimits, const Eigen::MatrixBase< ConfigVectorIn2 > &upperLimits, const Eigen::MatrixBase< ReturnType > &qout)
Generate a configuration vector uniformly sampled among provided limits.
void forwardKinematics(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< ConfigVectorType > &q)
Update the joint placements according to the current joint configuration.
pinocchio::JointIndex JointIndex
Refers to the quantities related to the 1st-order kinematics (joint velocities, center of mass veloci...
Main pinocchio namespace.
int nv
Dimension of the velocity vector space.
void setOnes(Eigen::Ref< MatType > mat)
void copy(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &origin, DataTpl< Scalar, Options, JointCollectionTpl > &dest, KinematicLevel kinematic_level)
Copy part of the data from origin to dest. Template parameter can be used to select at which differen...
ConfigVectorType upperPositionLimit
Upper joint configuration limit.
void humanoidRandom(ModelTpl< Scalar, Options, JointCollectionTpl > &model, bool usingFF=true)
Create a humanoid kinematic tree with 6-DOF limbs and random joint placements.
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > VectorXd
int nq
Dimension of the configuration vector representation.
Refers to the quantities related to the 0-order kinematics (joint placements, center of mass position...
void fill(Eigen::Ref< MatType > mat, const typename MatType::Scalar &value)