2 from test_case
import PinocchioTestCase
as TestCase
4 import pinocchio
as pin
10 self.
model = pin.buildSampleModelHumanoidRandom()
11 self.
data = self.model.createData()
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)
16 self.
a = np.random.rand(self.model.nv)
19 for _
in range(self.model.njoints):
20 self.fext.append(pin.Force.Random())
24 tau = pin.rnea(self.
model,self.
data,self.
q,self.
v,self.
a)
26 null_fext = pin.StdVec_Force()
27 for k
in range(model.njoints):
28 null_fext.append(pin.Force.Zero())
30 tau_null_fext = pin.rnea(self.
model,self.
data,self.
q,self.
v,self.
a,null_fext)
31 self.assertApprox(tau_null_fext,tau)
35 null_fext_list.append(f)
37 print(
'size:',len(null_fext_list))
38 tau_null_fext_list = pin.rnea(self.
model,self.
data,self.
q,self.
v,self.
a,null_fext_list)
39 self.assertApprox(tau_null_fext_list,tau)
44 tau = pin.nonLinearEffects(model,self.
data,self.
q,self.
v)
46 data2 = model.createData()
47 tau_ref = pin.rnea(model,data2,self.
q,self.
v,self.
a*0)
49 self.assertApprox(tau,tau_ref)
54 tau = pin.computeGeneralizedGravity(model,self.
data,self.
q)
56 data2 = model.createData()
57 tau_ref = pin.rnea(model,data2,self.
q,self.
v*0,self.
a*0)
59 self.assertApprox(tau,tau_ref)
64 tau = pin.computeStaticTorque(model,self.
data,self.
q,self.
fext)
66 data2 = model.createData()
67 tau_ref = pin.rnea(model,data2,self.
q,self.
v*0,self.
a*0,self.
fext)
69 self.assertApprox(tau,tau_ref)
74 C = pin.computeCoriolisMatrix(model,self.
data,self.
q,self.
v)
76 data2 = model.createData()
77 tau_coriolis_ref = pin.rnea(model,data2,self.
q,self.
v,self.
a*0) - pin.rnea(model,data2,self.
q,self.
v*0,self.
a*0)
79 self.assertApprox(tau_coriolis_ref,C.dot(self.
v))
81 if __name__ ==
'__main__':
def test_static_torque(self)
def test_coriolis_matrix(self)
def test_generalized_gravity(self)