Remove numpy dependency

This commit is contained in:
Hervé Audren 2018-04-11 16:58:58 +09:00
parent c547555848
commit 6f90216dd0
2 changed files with 11 additions and 6 deletions

View File

@ -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__':

View File

@ -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)])