@@ -690,13 +690,40 @@ struct TestJointData
690690 JointModel jmodel = init<JointModel>::run ();
691691 JointData jdata = jmodel.createData ();
692692
693+ Eigen::VectorXd lb (Eigen::VectorXd::Constant (jmodel.nq (), 0 ));
694+ Eigen::VectorXd ub (Eigen::VectorXd::Constant (jmodel.nq (), 1 .));
693695 Eigen::VectorXd q_random = Eigen::VectorXd::Random (jmodel.jmodel ().nq ());
694696 Eigen::VectorXd v_random = Eigen::VectorXd::Random (jmodel.jmodel ().nv ());
695697 jmodel.calc (jdata, q_random, v_random);
696698
697699 test (jdata);
698700 }
699701
702+ template <typename Scalar, int Options>
703+ void operator ()(const pinocchio::JointModelSplineTpl<Scalar, Options> &)
704+ {
705+ typedef pinocchio::JointModelSplineTpl<Scalar, Options> JointModel;
706+ typedef typename JointModel::JointDerived JointDerived;
707+ typedef typename pinocchio::traits<JointDerived>::JointDataDerived JointData;
708+
709+ JointModel jmodel = init<JointModel>::run ();
710+ JointData jdata = jmodel.createData ();
711+
712+ typedef typename pinocchio::LieGroup<JointModel>::type LieGroupType;
713+ LieGroupType lg;
714+
715+ Eigen::VectorXd lb (Eigen::VectorXd::Constant (jmodel.nq (), 0 ));
716+ Eigen::VectorXd ub (Eigen::VectorXd::Constant (jmodel.nq (), 1 .));
717+
718+ Eigen::VectorXd q_random = lg.randomConfiguration (lb, ub);
719+ Eigen::VectorXd v_random = Eigen::VectorXd::Random (jmodel.nv ());
720+
721+ jmodel.calc (jdata, q_random, v_random);
722+ pinocchio::Inertia::Matrix6 I (pinocchio::Inertia::Matrix6::Identity ());
723+ jmodel.calc_aba (jdata, Eigen::VectorXd::Zero (jmodel.nv ()), I, false );
724+ test (jdata);
725+ }
726+
700727 template <typename JointData>
701728 static void test (JointData & joint_data)
702729 {
0 commit comments