From 6f90216dd09c50d73f0d6b98276f8d8d439a16b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Audren?= Date: Wed, 11 Apr 2018 16:58:58 +0900 Subject: [PATCH] Remove numpy dependency --- examples/pybullet/unittests/unittests.py | 10 ++++------ examples/pybullet/unittests/utils.py | 7 +++++++ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 examples/pybullet/unittests/utils.py diff --git a/examples/pybullet/unittests/unittests.py b/examples/pybullet/unittests/unittests.py index 295403393..469234998 100644 --- a/examples/pybullet/unittests/unittests.py +++ b/examples/pybullet/unittests/unittests.py @@ -2,6 +2,8 @@ import unittest import pybullet import time +from utils import allclose, dot + class TestPybulletMethods(unittest.TestCase): def test_import(self): @@ -63,10 +65,6 @@ class TestPybulletJacobian(unittest.TestCase): positionGains=[kp] * num_joints, velocityGains=[kv] * num_joints) def testJacobian(self): - try: - import numpy as np - except ImportError: - return import pybullet as p clid = p.connect(p.SHARED_MEMORY) @@ -109,8 +107,8 @@ class TestPybulletJacobian(unittest.TestCase): jac_t, jac_r = p.calculateJacobian(robotId, endEffectorIndex, com_trn, mpos, zero_vec, zero_vec) - assert(np.allclose(np.array(jac_t).dot(mvel), link_vt)) - assert(np.allclose(np.array(jac_r).dot(mvel), link_vr)) + assert(allclose(dot(jac_t, mvel), link_vt)) + assert(allclose(dot(jac_r, mvel), link_vr)) p.disconnect() if __name__ == '__main__': diff --git a/examples/pybullet/unittests/utils.py b/examples/pybullet/unittests/utils.py new file mode 100644 index 000000000..b3e5f68fe --- /dev/null +++ b/examples/pybullet/unittests/utils.py @@ -0,0 +1,7 @@ +def dot(A, b): + """Dot product between a 2D matrix and a 1D vector""" + return [sum([aij*bj for aij, bj in zip(ai, b)]) for ai in A] + +def allclose(a, b, tol=1e-7): + """Are all elements of a vector close to one another""" + return all([abs(ai - bi) < tol for ai, bi in zip(a,b)])