コード例 #1
0
def test_SetGetAngularAccelerationVector_random():
    kine = Kinematic()
    Ntests = 100
    for i in range(Ntests):
        new_acceleration = np.random.rand(3)
        kine.q = new_acceleration
        np.testing.assert_almost_equal(new_acceleration, kine.q)
コード例 #2
0
def test_SetGetLinearPosition_random():
    kine = Kinematic()
    Ntests = 100
    for i in range(Ntests):
        new_position = np.random.rand(3)
        kine.p = new_position
        np.testing.assert_almost_equal(new_position, kine.p)
コード例 #3
0
def test_SetGetAngularSpeedVector_random():
    kine = Kinematic()
    Ntests = 100
    for i in range(Ntests):
        new_speed = np.random.rand(3)
        kine.w = new_speed
        np.testing.assert_almost_equal(new_speed, kine.w)
コード例 #4
0
def test_SetGetLinearSpeed_random():
    kine = Kinematic()
    Ntests = 100
    for i in range(Ntests):
        new_speed = np.random.rand(3)
        kine.v = new_speed
        np.testing.assert_almost_equal(new_speed, kine.v)
コード例 #5
0
def test_SetGetAngularAccelerationVector_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.q = 1
    with pytest.raises(TypeError):
        kine.q = None
    with pytest.raises(ValueError):
        kine.q = (1, 0, 0, 0)
コード例 #6
0
def test_SetGetLinearPosition_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.p = 1
    with pytest.raises(TypeError):
        kine.p = None
    with pytest.raises(ValueError):
        kine.p = (1, 0, 0, 0)
コード例 #7
0
def test_SetGetAngularSpeedVector_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.w = 1
    with pytest.raises(TypeError):
        kine.w = None
    with pytest.raises(ValueError):
        kine.w = (1, 0, 0, 0)
コード例 #8
0
def test_SetGetAngularPositionVector_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.r = 1
    with pytest.raises(TypeError):
        kine.r = None
    with pytest.raises(ValueError):
        kine.r = (1, 0, 0, 0)
コード例 #9
0
def test_SetGetLinearSpeed_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.v = 1
    with pytest.raises(TypeError):
        kine.v = None
    with pytest.raises(ValueError):
        kine.v = (1, 0, 0, 0)
コード例 #10
0
def test_SetGetLinearAcceleration_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.w = 1
    with pytest.raises(TypeError):
        kine.w = None
    with pytest.raises(ValueError):
        kine.w = (1, 0, 0, 0)
コード例 #11
0
def test_NonInitialValues():
    kine = Kinematic(init=False)
    assert kine.p is None
    assert kine.v is None
    assert kine.a is None
    assert kine.r is None
    assert kine.w is None
    assert kine.q is None
    assert kine.R is None
    assert kine.W is None
    assert kine.Q is None
コード例 #12
0
def test_InitialValues():
    kine = Kinematic(init=True)
    np.testing.assert_almost_equal(kine.p, np.zeros(3))
    np.testing.assert_almost_equal(kine.v, np.zeros(3))
    np.testing.assert_almost_equal(kine.a, np.zeros(3))
    np.testing.assert_almost_equal(kine.r, np.zeros(3))
    np.testing.assert_almost_equal(kine.w, np.zeros(3))
    np.testing.assert_almost_equal(kine.q, np.zeros(3))
    np.testing.assert_almost_equal(kine.R, np.eye(3))
    np.testing.assert_almost_equal(kine.W, np.zeros((3, 3)))
    np.testing.assert_almost_equal(kine.Q, np.zeros((3, 3)))
コード例 #13
0
def test_SetGetAngularPositionTensor_fails():
    kine = Kinematic(False)
    with pytest.raises(TypeError):
        kine.R = 1
    with pytest.raises(TypeError):
        kine.R = None
    with pytest.raises(ValueError):
        kine.R = np.zeros(3)
    with pytest.raises(ValueError):
        kine.R = np.zeros((3, 3))
コード例 #14
0
 def __init(self, base, translation, rotation):
     self.baseframe = base
     self._id = len(FrameReference.instances) - 1
     self._kine = Kinematic(init=False)
     if translation is None:
         translation = np.zeros(3)
     if rotation is None:
         rotation = np.zeros(3)
     self._kine.p = translation
     self._kine.v = np.zeros(3, dtype="object")
     self._kine.a = np.zeros(3, dtype="object")
     self._kine.r = rotation
     self._kine.w = np.zeros(3, dtype="object")
     self._kine.q = np.zeros(3, dtype="object")
     for i in range(3):
         self._kine.v[i] = sp.diff(self._kine.p[i], timesymb)
         self._kine.a[i] = sp.diff(self._kine.v[i], timesymb)
         self._kine.w[i] = sp.diff(self._kine.r[i], timesymb)
         self._kine.q[i] = sp.diff(self._kine.w[i], timesymb)
コード例 #15
0
def test_SetGetLinearAcceleration_standard():
    kine = Kinematic()
    kine.w = (0, 0, 5)
コード例 #16
0
def test_SetGetAngularPositionVector_standard():
    kine = Kinematic()
    kine.w = (0, 0, 5)
コード例 #17
0
def test_BuildKinematic():
    kine = Kinematic()
コード例 #18
0
def test_SetGetAngularSpeedVector_standard():
    kine = Kinematic()
    kine.w = (0, 0, 3)
コード例 #19
0
def test_SetGetLinearSpeed_standard():
    kine = Kinematic()
    kine.w = (0, 0, 5)
コード例 #20
0
def test_SetGetLinearPosition_standard():
    kine = Kinematic()
    kine.p = (0, 0, 5)
コード例 #21
0
def test_SetGetAngularAccelerationVector_standard():
    kine = Kinematic()
    kine.q = (1, 0, 0)
コード例 #22
0
def test_SetGetAngularPositionTensor_standard():
    kine = Kinematic()
    kine.R = np.eye(3)
    np.testing.assert_almost_equal(kine.R, np.eye(3))
コード例 #23
0
def test_SetGetAngularAccelerationTensor_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.Q = 3
    with pytest.raises(ValueError):
        kine.Q = np.eye(3)
コード例 #24
0
def test_SetGetAngularAccelerationTensor_standard():
    kine = Kinematic()
    kine.Q = np.zeros((3, 3))
コード例 #25
0
def test_SetGetAngularSpeedTensor_fails():
    kine = Kinematic()
    with pytest.raises(TypeError):
        kine.W = 3
    with pytest.raises(ValueError):
        kine.W = np.eye(3)
コード例 #26
0
def test_SetGetAngularSpeedTensor_standard():
    kine = Kinematic()
    kine.W = np.zeros((3, 3))