imt-ring 1.6.0__py3-none-any.whl → 1.6.2__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {imt_ring-1.6.0.dist-info → imt_ring-1.6.2.dist-info}/METADATA +1 -1
- {imt_ring-1.6.0.dist-info → imt_ring-1.6.2.dist-info}/RECORD +8 -8
- {imt_ring-1.6.0.dist-info → imt_ring-1.6.2.dist-info}/WHEEL +1 -1
- ring/algorithms/sensors.py +4 -2
- ring/maths.py +1 -1
- ring/rendering/mujoco_render.py +4 -1
- ring/utils/register_gym_envs/__init__.py +1 -1
- {imt_ring-1.6.0.dist-info → imt_ring-1.6.2.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
|
|
1
1
|
ring/__init__.py,sha256=2v6WHlNPucj1XGhDYw-3AlMQGTqH-e4KYK0IaMnBV5s,4760
|
2
2
|
ring/algebra.py,sha256=F0GwbP8LQP5qGVkoMUYJmkp9Hn2nKAVIkCVYDEjNjGU,3128
|
3
3
|
ring/base.py,sha256=kzBQ54V2xq4KsqRzflyMQ64V-jl8j7eIAsIPIE0gFDk,33127
|
4
|
-
ring/maths.py,sha256=
|
4
|
+
ring/maths.py,sha256=zGm5XagiKTaIJp310VcqVEVUuLhv3FPS-TJ-TFzIrwM,12207
|
5
5
|
ring/spatial.py,sha256=nmZ-UhRanhyM34bez8uCS4wMwaKqLkuEbgKGP5XNH60,2351
|
6
6
|
ring/algorithms/__init__.py,sha256=IiK9EN5Xgs3dB075-A-H-Yad0Z7vzvKIJF2g6X_-C_8,1224
|
7
7
|
ring/algorithms/_random.py,sha256=fc26yEQjSjtf0NluZ41CyeGIRci0ldrRlThueHR9H7U,14007
|
8
8
|
ring/algorithms/dynamics.py,sha256=_TwclBXe6vi5C5iJWAIeUIJEIMHQ_1QTmnHvCEpVO0M,10867
|
9
9
|
ring/algorithms/jcalc.py,sha256=bM8VARgqEiVPy7632geKYGk4MZddZfI8XHdW5kXF3HI,28594
|
10
10
|
ring/algorithms/kinematics.py,sha256=DOboHI517Vx0pRJUFZtZPmK_qFaiKiQe-37B-M0aC-c,7422
|
11
|
-
ring/algorithms/sensors.py,sha256=
|
11
|
+
ring/algorithms/sensors.py,sha256=QSIcU_sEB_tRo-ADD_66ZD01LMmJlSG0op6YnM-Gai8,17965
|
12
12
|
ring/algorithms/custom_joints/__init__.py,sha256=fzeE7TdUhmGgbbFAyis1tKcyQ4Fo8LigDwD3hUVnH_w,316
|
13
13
|
ring/algorithms/custom_joints/rr_imp_joint.py,sha256=_YJK0p8_0MHFtr1NuGnNZoxTbwaMQyUjYv7EtsPiU3A,2402
|
14
14
|
ring/algorithms/custom_joints/rr_joint.py,sha256=jnRtjtOCALMaq2_0bcu2d7qgfQ6etXpoh43MioRaDmY,1000
|
@@ -63,7 +63,7 @@ ring/ml/params/0x13e3518065c21cd8.pickle,sha256=Zh2k1zK-TNxJl5F7nyTeQ9001qqRE_df
|
|
63
63
|
ring/ml/params/0x1d76628065a71e0f.pickle,sha256=YTNVuvfw-nCRD9BH1PZYcR9uCFpNWDhw8Lc50eDn_EE,9351038
|
64
64
|
ring/rendering/__init__.py,sha256=Zf7qOdzK3t2hljIrs5P4zFhzHljLSMRyDDZO2YlZk4k,75
|
65
65
|
ring/rendering/base_render.py,sha256=Mv9SRLEmuoPVhi46UIjb6xCkKmbWCwIyENGx7nu9REM,9617
|
66
|
-
ring/rendering/mujoco_render.py,sha256=
|
66
|
+
ring/rendering/mujoco_render.py,sha256=R8qxqItakBlptbQpCzsZoVfdWYhSMwZYQzaCKbUigYU,7987
|
67
67
|
ring/rendering/vispy_render.py,sha256=QmRyA7Hqk3uS1SKjcncwc4_vd1m4yWryW2X0i4jRvCw,10260
|
68
68
|
ring/rendering/vispy_visuals.py,sha256=ooBZqppnebeL0ANe6V6zUgnNTtDcdkOsa4vZuM4sx-I,7873
|
69
69
|
ring/sim2real/__init__.py,sha256=gCLYg8IoMdzUagzhCFcfjZ5GavtIU772L7HR0G5hUtM,251
|
@@ -81,9 +81,9 @@ ring/utils/normalizer.py,sha256=67L2BU1MRsMT4pD41ta3JJMppLN0ozFmnwrmXDtnqrQ,1698
|
|
81
81
|
ring/utils/path.py,sha256=hAfSlqRi-ew536RnjDDM7IKapdMJc-EvhrR0Y-BCFWc,1265
|
82
82
|
ring/utils/randomize_sys.py,sha256=G_vBIo0OwQkXL2u0djwbaoaeb02C4LQCTNNloOYIU2M,3699
|
83
83
|
ring/utils/utils.py,sha256=k7t-QxMWrNRnjfNB9rSobmLCmhJigE8__gkT-Il0Ee4,6492
|
84
|
-
ring/utils/register_gym_envs/__init__.py,sha256=
|
84
|
+
ring/utils/register_gym_envs/__init__.py,sha256=PtPIRBQJ16339xZ9G9VpvqrvcGbQ_Pk_SUz4tQPa9nQ,94
|
85
85
|
ring/utils/register_gym_envs/saddle.py,sha256=tA5CyW_akSXyDm0xJ83CtOrUMVElH0f9vZtEDDJQalI,4422
|
86
|
-
imt_ring-1.6.
|
87
|
-
imt_ring-1.6.
|
88
|
-
imt_ring-1.6.
|
89
|
-
imt_ring-1.6.
|
86
|
+
imt_ring-1.6.2.dist-info/METADATA,sha256=S_LlVrmdRPQCzT5aeRoSWyOQ3eBJBL1D33tUgXMUEso,3104
|
87
|
+
imt_ring-1.6.2.dist-info/WHEEL,sha256=Wyh-_nZ0DJYolHNn1_hMa4lM7uDedD_RGVwbmTjyItk,91
|
88
|
+
imt_ring-1.6.2.dist-info/top_level.txt,sha256=EiT790-lAyi8iwTzJArH3f2k77rwhDn00q-4PlmvDQo,5
|
89
|
+
imt_ring-1.6.2.dist-info/RECORD,,
|
ring/algorithms/sensors.py
CHANGED
@@ -341,7 +341,8 @@ def root_incl(
|
|
341
341
|
def f(_, __, name: str, parent: int):
|
342
342
|
if parent != -1:
|
343
343
|
return
|
344
|
-
|
344
|
+
q_eps_to_i = maths.quat_project(rots[l_map[name]], jnp.array([0.0, 0, 1]))[1]
|
345
|
+
y[name] = maths.quat_inv(q_eps_to_i)
|
345
346
|
|
346
347
|
sys.scan(f, "ll", sys.link_names, sys.link_parents)
|
347
348
|
|
@@ -360,7 +361,8 @@ def root_full(
|
|
360
361
|
def f(_, __, name: str, parent: int):
|
361
362
|
if parent != -1:
|
362
363
|
return
|
363
|
-
|
364
|
+
q_eps_to_i = rots[l_map[name]]
|
365
|
+
y[name] = maths.quat_inv(q_eps_to_i)
|
364
366
|
|
365
367
|
sys.scan(f, "ll", sys.link_names, sys.link_parents)
|
366
368
|
|
ring/maths.py
CHANGED
@@ -119,7 +119,7 @@ def quat_inv(q: jnp.ndarray) -> jnp.ndarray:
|
|
119
119
|
|
120
120
|
@partial(jnp.vectorize, signature="(3),(4)->(3)")
|
121
121
|
def rotate(vector: jnp.ndarray, quat: jnp.ndarray):
|
122
|
-
"""Rotates a vector `vector` by a *unit* quaternion `quat`."""
|
122
|
+
"""Rotates a vector `vector` by a *unit* quaternion `quat`. q x vec x q^*"""
|
123
123
|
qvec = jnp.array([0, *vector])
|
124
124
|
return rotate_quat(qvec, quat)[1:4]
|
125
125
|
|
ring/rendering/mujoco_render.py
CHANGED
@@ -157,13 +157,16 @@ def _array_to_str(arr: Sequence[float]) -> str:
|
|
157
157
|
return "".join(["{:.4f} ".format(np.round(value, 4)) for value in arr])[:-1]
|
158
158
|
|
159
159
|
|
160
|
+
_default_lights = {-1: '<light pos="0 0 4" dir="0 0 -1"/>'}
|
161
|
+
|
162
|
+
|
160
163
|
class MujocoScene:
|
161
164
|
def __init__(
|
162
165
|
self,
|
163
166
|
height: int = 240,
|
164
167
|
width: int = 320,
|
165
168
|
add_cameras: dict[int, str | Sequence[str]] = {},
|
166
|
-
add_lights: dict[int, str | Sequence[str]] =
|
169
|
+
add_lights: dict[int, str | Sequence[str]] = _default_lights,
|
167
170
|
show_stars: bool = True,
|
168
171
|
show_floor: bool = True,
|
169
172
|
debug: bool = False,
|
File without changes
|