2 import pinocchio
as pin
10 self.assertTrue(np.allclose(
zero(3), f.linear))
11 self.assertTrue(np.allclose(
zero(3), f.angular))
12 self.assertTrue(np.allclose(
zero(6), f.vector))
18 self.assertFalse(np.allclose(
zero(3), f.linear))
19 self.assertFalse(np.allclose(
zero(3), f.angular))
20 self.assertFalse(np.allclose(
zero(6), f.vector))
26 self.assertTrue(np.allclose(
zero(3), f.linear))
27 self.assertTrue(np.allclose(
zero(3), f.angular))
28 self.assertTrue(np.allclose(
zero(6), f.vector))
34 self.assertTrue(np.allclose(f.linear, lin))
37 self.assertTrue(f.linear[1] == 1.0)
43 self.assertTrue(np.allclose(f.angular, ang))
46 self.assertTrue(f.angular[1] == 1.0)
52 self.assertTrue(np.allclose(f.vector, vec))
55 f1 = pin.Force.Random()
56 f2 = pin.Force.Random()
57 self.assertTrue(np.allclose((f1 + f2).vector, f1.vector + f2.vector))
58 self.assertTrue(np.allclose((f1 - f2).vector, f1.vector - f2.vector))
61 f = pin.Force.Random()
64 np.allclose((m * f).vector, np.linalg.inv(m.action.T).dot(f.vector))
67 np.allclose(m.act(f).vector, np.linalg.inv(m.action.T).dot(f.vector))
69 self.assertTrue(np.allclose((m.actInv(f)).vector, m.action.T.dot(f.vector)))
70 v = pin.Motion(np.concatenate([f.vector[3:], f.vector[:3]]))
71 self.assertTrue(np.allclose((v ^ f).vector,
zero(6)))
74 f = pin.Force.Random()
77 f_from_array = pin.Force(f_array)
79 self.assertTrue(f_from_array == f)
82 for _
in range(100000):
83 f = pin.Force.Zero() + pin.Force.Zero()
84 self.assertTrue(np.allclose(f.vector,
zero(6)))
87 if __name__ ==
"__main__":