[535f03]: / tests / test.activations.py

Download this file

50 lines (37 with data), 1.6 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from osim.env import L2RunEnv
import numpy as np
import unittest
class ActivationsTest(unittest.TestCase):
def test_activations(self):
env = L2RunEnv(visualize=False)
observation = env.reset()
newact = np.array([0.0] * 18)
env.osim_model.set_activations(newact)
current = np.array(env.osim_model.get_activations())
dist = np.linalg.norm(newact - current)
self.assertTrue(dist < 0.05)
newact = np.array([1.0] * 18)
env.osim_model.set_activations(newact)
current = np.array(env.osim_model.get_activations())
dist = np.linalg.norm(newact - current)
self.assertTrue(dist < 0.05)
def test_activations_changes(self):
env = L2RunEnv(visualize=False)
# Do not set new activations
newAct = [0.9] * 18
observation = env.reset()
env.osim_model.set_activations(newAct)
for i in range(5):
withoutAct = env.osim_model.get_activations()
observation, reward, done, info = env.step([0.5]*18)
# Set new activations
newAct = [0.1] * 18
observation = env.reset()
env.osim_model.set_activations(newAct)
for i in range(5):
withAct = env.osim_model.get_activations()
observation, reward, done, info = env.step([0.5]*18)
dist = np.linalg.norm(np.array(withAct) - np.array(withoutAct))
self.assertFalse(dist < 1e-2,"Activations after 5 steps haven't changed (despite different initial conditions)")
if __name__ == '__main__':
unittest.main()