2 from test_case
import PinocchioTestCase
as TestCase
4 import pinocchio
as pin
10 self.
model = pin.buildSampleModelHumanoidRandom()
13 qmax = np.full((self.
model.nq,1),np.pi)
14 self.
q = pin.randomConfiguration(self.
model,-qmax,qmax)
15 self.
v = np.random.rand(self.
model.nv)
19 for _
in range(self.
model.njoints):
26 null_fext = pin.StdVec_Force()
27 for _
in range(model.njoints):
28 null_fext.append(pin.Force.Zero())
30 ddq_null_fext = pin.aba(self.
model,self.
data,self.
q,self.
v,self.
ddq,null_fext)
31 self.assertApprox(ddq_null_fext,ddq)
35 null_fext_list.append(f)
37 print(
'size:',len(null_fext_list))
38 ddq_null_fext_list = pin.aba(self.
model,self.
data,self.
q,self.
v,self.
ddq,null_fext_list)
39 self.assertApprox(ddq_null_fext_list,ddq)
43 Minv = pin.computeMinverse(model,self.
data,self.
q)
45 data2 = model.createData()
46 M = pin.crba(model,data2,self.
q)
48 self.assertApprox(np.linalg.inv(M),Minv)
50 if __name__ ==
'__main__':
result_of::push_front< V const, T >::type append(T const &t, V const &v)
Append the element T at the front of boost fusion vector V.
JointDataTpl< Scalar, Options, JointCollectionTpl > createData(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through CreateData visitor to create a JointDataTpl.
def test_computeMinverse(self)