Skip to content

Commit e4d354d

Browse files
committed
refactor: renaming of env creator classes
- env creator classes named accordingly - hardware env creator extend a specific class to allow checking on type
1 parent 4c459a3 commit e4d354d

5 files changed

Lines changed: 58 additions & 48 deletions

File tree

python/examples/env_cartesian_control.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from rcsss.control.fr3_desk import FCI, ContextManager, Desk, load_creds_fr3_desk
44
from rcsss.envs.base import ControlMode, RelativeTo, RobotInstance
5-
from rcsss.envs.creators import RCSFR3Env, RCSSimEnv
5+
from rcsss.envs.creators import RCSFR3EnvCreator, RCSSimEnvCreator
66
from rcsss.envs.utils import (
77
default_fr3_hw_gripper_cfg,
88
default_fr3_hw_robot_cfg,
@@ -51,7 +51,7 @@ def main():
5151

5252
with context_manger:
5353
if ROBOT_INSTANCE == RobotInstance.HARDWARE:
54-
env_rel = RCSFR3Env()(
54+
env_rel = RCSFR3EnvCreator()(
5555
ip=ROBOT_IP,
5656
control_mode=ControlMode.CARTESIAN_TQuat,
5757
robot_cfg=default_fr3_hw_robot_cfg(),
@@ -61,7 +61,7 @@ def main():
6161
relative_to=RelativeTo.LAST_STEP,
6262
)
6363
else:
64-
env_rel = RCSSimEnv()(
64+
env_rel = RCSSimEnvCreator()(
6565
control_mode=ControlMode.CARTESIAN_TQuat,
6666
robot_cfg=default_fr3_sim_robot_cfg(),
6767
collision_guard=False,

python/examples/env_joint_control.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import numpy as np
44
from rcsss.control.fr3_desk import FCI, ContextManager, Desk, load_creds_fr3_desk
55
from rcsss.envs.base import ControlMode, RelativeTo, RobotInstance
6-
from rcsss.envs.creators import RCSFR3Env, RCSSimEnv
6+
from rcsss.envs.creators import RCSFR3EnvCreator, RCSSimEnvCreator
77
from rcsss.envs.utils import (
88
default_fr3_hw_gripper_cfg,
99
default_fr3_hw_robot_cfg,
@@ -52,7 +52,7 @@ def main():
5252
with context_manger:
5353

5454
if ROBOT_INSTANCE == RobotInstance.HARDWARE:
55-
env_rel = RCSFR3Env()(
55+
env_rel = RCSFR3EnvCreator()(
5656
ip=ROBOT_IP,
5757
control_mode=ControlMode.JOINTS,
5858
robot_cfg=default_fr3_hw_robot_cfg(),
@@ -62,7 +62,7 @@ def main():
6262
relative_to=RelativeTo.LAST_STEP,
6363
)
6464
else:
65-
env_rel = RCSSimEnv()(
65+
env_rel = RCSSimEnvCreator()(
6666
control_mode=ControlMode.JOINTS,
6767
collision_guard=False,
6868
robot_cfg=default_fr3_sim_robot_cfg(),

python/rcsss/__init__.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
from rcsss import camera, control, envs, sim
88
from rcsss._core import __version__, common, hw
99
from rcsss.envs.creators import (
10-
FR3LabPickUpSimDigitHand,
11-
FR3SimplePickUpSim,
12-
FR3SimplePickUpSimDigitHand,
13-
RCSFR3Default,
14-
RCSFR3Env,
10+
FR3LabPickUpSimDigitHandEnvCreator,
11+
FR3SimplePickUpSimDigitHandEnvCreator,
12+
FR3SimplePickUpSimEnvCreator,
13+
RCSFR3DefaultEnvCreator,
14+
RCSFR3EnvCreator,
1515
)
1616

1717
# available mujoco scenes
@@ -25,24 +25,24 @@
2525
# register gymnasium environments
2626
register(
2727
id="rcs/SimplePickUpSim-v0",
28-
entry_point=FR3SimplePickUpSim(),
28+
entry_point=FR3SimplePickUpSimEnvCreator(),
2929
)
3030

3131
register(
3232
id="rcs/SimplePickUpSimDigitHand-v0",
33-
entry_point=FR3SimplePickUpSimDigitHand(),
33+
entry_point=FR3SimplePickUpSimDigitHandEnvCreator(),
3434
)
3535
register(
3636
id="rcs/LabPickUpSimDigitHand-v0",
37-
entry_point=FR3LabPickUpSimDigitHand(),
37+
entry_point=FR3LabPickUpSimDigitHandEnvCreator(),
3838
)
3939

4040
register(
4141
id="rcs/FR3Env-v0",
42-
entry_point=RCSFR3Env(),
42+
entry_point=RCSFR3EnvCreator(),
4343
)
4444

4545
register(
4646
id="rcs/FR3Default-v0",
47-
entry_point=RCSFR3Default(),
47+
entry_point=RCSFR3DefaultEnvCreator(),
4848
)

python/rcsss/envs/creators.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@
4242
logger.setLevel(logging.INFO)
4343

4444

45-
class RCSFR3Env(EnvCreator):
45+
class RCSHardwareEnvCreator(EnvCreator):
46+
pass
47+
48+
49+
class RCSFR3EnvCreator(RCSHardwareEnvCreator):
4650
def __call__( # type: ignore
4751
self,
4852
ip: str,
@@ -114,7 +118,7 @@ def __call__( # type: ignore
114118
return env
115119

116120

117-
class RCSFR3Default(EnvCreator):
121+
class RCSFR3DefaultEnvCreator(RCSHardwareEnvCreator):
118122
def __call__( # type: ignore
119123
self,
120124
robot_ip: str,
@@ -124,7 +128,7 @@ def __call__( # type: ignore
124128
gripper: bool = True,
125129
) -> gym.Env:
126130
camera_set = default_realsense(camera_config)
127-
return RCSFR3Env()(
131+
return RCSFR3EnvCreator()(
128132
ip=robot_ip,
129133
camera_set=camera_set,
130134
control_mode=control_mode,
@@ -136,7 +140,7 @@ def __call__( # type: ignore
136140
)
137141

138142

139-
class RCSSimEnv(EnvCreator):
143+
class RCSSimEnvCreator(EnvCreator):
140144
def __call__( # type: ignore
141145
self,
142146
control_mode: ControlMode,
@@ -212,7 +216,7 @@ def __call__( # type: ignore
212216
return env
213217

214218

215-
class SimTaskEnv(EnvCreator):
219+
class SimTaskEnvCreator(EnvCreator):
216220
def __call__( # type: ignore
217221
self,
218222
mjcf: str,
@@ -222,7 +226,7 @@ def __call__( # type: ignore
222226
camera_cfg: SimCameraSetConfig | None = None,
223227
) -> gym.Env:
224228

225-
env_rel = RCSSimEnv()(
229+
env_rel = RCSSimEnvCreator()(
226230
control_mode=control_mode,
227231
robot_cfg=default_fr3_sim_robot_cfg(mjcf),
228232
collision_guard=False,
@@ -240,7 +244,7 @@ def __call__( # type: ignore
240244
return env_rel
241245

242246

243-
class FR3SimplePickUpSim(EnvCreator):
247+
class FR3SimplePickUpSimEnvCreator(EnvCreator):
244248
def __call__( # type: ignore
245249
self,
246250
render_mode: str = "human",
@@ -268,10 +272,10 @@ def __call__( # type: ignore
268272
frame_rate=frame_rate,
269273
physical_units=True,
270274
)
271-
return SimTaskEnv()("fr3_simple_pick_up", render_mode, control_mode, delta_actions, camera_cfg)
275+
return SimTaskEnvCreator()("fr3_simple_pick_up", render_mode, control_mode, delta_actions, camera_cfg)
272276

273277

274-
class FR3SimplePickUpSimDigitHand(EnvCreator):
278+
class FR3SimplePickUpSimDigitHandEnvCreator(EnvCreator):
275279
def __call__( # type: ignore
276280
self,
277281
render_mode: str = "human",
@@ -292,10 +296,12 @@ def __call__( # type: ignore
292296
frame_rate=frame_rate,
293297
physical_units=True,
294298
)
295-
return SimTaskEnv()("fr3_simple_pick_up_digit_hand", render_mode, control_mode, delta_actions, camera_cfg)
299+
return SimTaskEnvCreator()(
300+
"fr3_simple_pick_up_digit_hand", render_mode, control_mode, delta_actions, camera_cfg
301+
)
296302

297303

298-
class FR3LabPickUpSimDigitHand(EnvCreator):
304+
class FR3LabPickUpSimDigitHandEnvCreator(EnvCreator):
299305
def __call__( # type: ignore
300306
self,
301307
cam_robot_joints: Vec7Type,
@@ -320,7 +326,7 @@ def __call__( # type: ignore
320326
frame_rate=frame_rate,
321327
physical_units=True,
322328
)
323-
env_rel = SimTaskEnv()(
329+
env_rel = SimTaskEnvCreator()(
324330
"lab_simple_pick_up_digit_hand",
325331
render_mode,
326332
control_mode,

python/tests/test_sim_envs.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
TQuatDictType,
1212
TRPYDictType,
1313
)
14-
from rcsss.envs.creators import RCSSimEnv
14+
from rcsss.envs.creators import RCSSimEnvCreator
1515
from rcsss.envs.utils import (
1616
default_fr3_sim_gripper_cfg,
1717
default_fr3_sim_robot_cfg,
@@ -64,7 +64,7 @@ def test_reset(self, cfg, gripper_cfg, cam_cfg):
6464
# TODO:
6565
# - test initial pose after reset.
6666
# - test initial gripper config.
67-
env = RCSSimEnv()(
67+
env = RCSSimEnvCreator()(
6868
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=cam_cfg, max_relative_movement=None
6969
)
7070
# Test double reset. Regression test. A lot can go wrong when resetting.
@@ -75,7 +75,7 @@ def test_zero_action_trpy(self, cfg):
7575
"""
7676
Test that a zero action does not change the state significantly
7777
"""
78-
env = RCSSimEnv()(
78+
env = RCSSimEnvCreator()(
7979
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
8080
)
8181
obs_initial, _ = env.reset()
@@ -88,7 +88,7 @@ def test_non_zero_action_trpy(self, cfg):
8888
This is for testing that a certain action leads to the expected change in state
8989
"""
9090
# env creation
91-
env = RCSSimEnv()(
91+
env = RCSSimEnvCreator()(
9292
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
9393
)
9494
obs_initial, _ = env.reset()
@@ -110,7 +110,7 @@ def test_non_zero_action_trpy(self, cfg):
110110

111111
def test_relative_zero_action_trpy(self, cfg, gripper_cfg):
112112
# env creation
113-
env = RCSSimEnv()(
113+
env = RCSSimEnvCreator()(
114114
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=None, max_relative_movement=0.5
115115
)
116116
obs_initial, _ = env.reset()
@@ -122,7 +122,7 @@ def test_relative_zero_action_trpy(self, cfg, gripper_cfg):
122122

123123
def test_relative_non_zero_action(self, cfg, gripper_cfg):
124124
# env creation
125-
env = RCSSimEnv()(
125+
env = RCSSimEnvCreator()(
126126
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=None, max_relative_movement=0.5
127127
)
128128
obs_initial, _ = env.reset()
@@ -140,7 +140,7 @@ def test_collision_trpy(self, cfg, gripper_cfg):
140140
Check that an obvious collision is detected by sim
141141
"""
142142
# env creation
143-
env = RCSSimEnv()(
143+
env = RCSSimEnvCreator()(
144144
ControlMode.CARTESIAN_TRPY, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=None, max_relative_movement=None
145145
)
146146
obs, _ = env.reset()
@@ -157,7 +157,7 @@ def test_collision_guard_trpy(self, cfg, gripper_cfg):
157157
Check that an obvious collision is detected by the CollisionGuard
158158
"""
159159
# env creation
160-
env = RCSSimEnv()(
160+
env = RCSSimEnvCreator()(
161161
ControlMode.CARTESIAN_TRPY,
162162
cfg,
163163
gripper_cfg=gripper_cfg,
@@ -190,7 +190,7 @@ def test_reset(self, cfg, gripper_cfg, cam_cfg):
190190
# TODO:
191191
# - test initial pose after reset.
192192
# - test initial gripper config.
193-
env = RCSSimEnv()(
193+
env = RCSSimEnvCreator()(
194194
ControlMode.CARTESIAN_TQuat,
195195
cfg,
196196
gripper_cfg=gripper_cfg,
@@ -206,7 +206,7 @@ def test_non_zero_action_tquat(self, cfg):
206206
Test that a zero action does not change the state significantly in the tquat configuration
207207
"""
208208
# env creation
209-
env = RCSSimEnv()(
209+
env = RCSSimEnvCreator()(
210210
ControlMode.CARTESIAN_TQuat, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
211211
)
212212
obs_initial, _ = env.reset()
@@ -227,7 +227,7 @@ def test_zero_action_tquat(self, cfg):
227227
Test that a zero action does not change the state significantly in the tquat configuration
228228
"""
229229
# env creation
230-
env = RCSSimEnv()(
230+
env = RCSSimEnvCreator()(
231231
ControlMode.CARTESIAN_TQuat, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
232232
)
233233
obs_initial, info_ = env.reset()
@@ -238,7 +238,7 @@ def test_zero_action_tquat(self, cfg):
238238

239239
def test_relative_zero_action_tquat(self, cfg, gripper_cfg):
240240
# env creation
241-
env_rel = RCSSimEnv()(
241+
env_rel = RCSSimEnvCreator()(
242242
ControlMode.CARTESIAN_TQuat,
243243
cfg,
244244
gripper_cfg=gripper_cfg,
@@ -256,7 +256,7 @@ def test_collision_tquat(self, cfg, gripper_cfg):
256256
Check that an obvious collision is detected by sim
257257
"""
258258
# env creation
259-
env = RCSSimEnv()(
259+
env = RCSSimEnvCreator()(
260260
ControlMode.CARTESIAN_TQuat,
261261
cfg,
262262
gripper_cfg=gripper_cfg,
@@ -277,7 +277,7 @@ def test_collision_guard_tquat(self, cfg, gripper_cfg):
277277
Check that an obvious collision is detected by the CollisionGuard
278278
"""
279279
# env creation
280-
env = RCSSimEnv()(
280+
env = RCSSimEnvCreator()(
281281
ControlMode.CARTESIAN_TQuat,
282282
cfg,
283283
gripper_cfg=gripper_cfg,
@@ -310,7 +310,7 @@ def test_reset(self, cfg, gripper_cfg, cam_cfg):
310310
# TODO:
311311
# - test initial pose after reset.
312312
# - test initial gripper config.
313-
env = RCSSimEnv()(
313+
env = RCSSimEnvCreator()(
314314
ControlMode.JOINTS, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=cam_cfg, max_relative_movement=None
315315
)
316316
# Test double reset. Regression test. A lot can go wrong when resetting.
@@ -322,7 +322,9 @@ def test_zero_action_joints(self, cfg):
322322
This is for testing that a certain action leads to the expected change in state
323323
"""
324324
# env creation
325-
env = RCSSimEnv()(ControlMode.JOINTS, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None)
325+
env = RCSSimEnvCreator()(
326+
ControlMode.JOINTS, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
327+
)
326328
obs_initial, _ = env.reset()
327329
# action to be performed
328330
zero_action = JointsDictType(joints=np.array(obs_initial["joints"]))
@@ -336,7 +338,9 @@ def test_non_zero_action_joints(self, cfg):
336338
This is for testing that a certain action leads to the expected change in state
337339
"""
338340
# env creation
339-
env = RCSSimEnv()(ControlMode.JOINTS, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None)
341+
env = RCSSimEnvCreator()(
342+
ControlMode.JOINTS, cfg, gripper_cfg=None, camera_set_cfg=None, max_relative_movement=None
343+
)
340344
obs_initial, _ = env.reset()
341345
new_joint_vals = obs_initial["joints"] + np.array([0.1, 0.1, 0.1, 0.1, -0.1, -0.1, 0.1], dtype=np.float32)
342346
# action to be performed
@@ -351,7 +355,7 @@ def test_collision_joints(self, cfg, gripper_cfg):
351355
Check that an obvious collision is detected by the CollisionGuard
352356
"""
353357
# env creation
354-
env = RCSSimEnv()(
358+
env = RCSSimEnvCreator()(
355359
ControlMode.JOINTS, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=None, max_relative_movement=None
356360
)
357361
env.reset()
@@ -366,7 +370,7 @@ def test_collision_guard_joints(self, cfg, gripper_cfg):
366370
Check that an obvious collision is detected by sim
367371
"""
368372
# env creation
369-
env = RCSSimEnv()(
373+
env = RCSSimEnvCreator()(
370374
ControlMode.JOINTS,
371375
cfg,
372376
gripper_cfg=gripper_cfg,
@@ -392,7 +396,7 @@ def test_relative_zero_action_joints(self, cfg, gripper_cfg):
392396
Check that an obvious collision is detected by the CollisionGuard
393397
"""
394398
# env creation
395-
env = RCSSimEnv()(
399+
env = RCSSimEnvCreator()(
396400
ControlMode.JOINTS, cfg, gripper_cfg=gripper_cfg, camera_set_cfg=None, max_relative_movement=0.5
397401
)
398402
obs_initial, _ = env.reset()

0 commit comments

Comments
 (0)