Skip to content

Commit 5349e15

Browse files
committed
refactor: rename body_name → base_name across backends and env configs
The parameter body_name was misleading — it refers specifically to the floating base link, not an arbitrary body. Renamed everywhere: - mujoco_backend, motrix_backend, motrix_numba_backend: constructor parameter body_name → base_name - g1/base.py, go1/base.py, go2/base.py: Asset.body_name → base_name - g1/joystick.py, g1/joystick_sac.py, go1/joystick.py, go2/joystick.py, g1/motion_tracking/tracking.py: call sites updated to base_name= - motrix_backend._process_rigid_body_props: cfg.asset.body_name → cfg.asset.base_name - tests/base/test_sim_backend.py: all body_name keys/kwargs updated
1 parent f98db3c commit 5349e15

12 files changed

Lines changed: 39 additions & 39 deletions

File tree

‎src/unilab/base/backend/motrix_backend.py‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __init__(
2121
model_file: str,
2222
num_envs: int,
2323
sim_dt: float,
24-
body_name: str = "base",
24+
base_name: str = "base",
2525
np_dtype=np.float32,
2626
add_body_sensors: bool = False,
2727
):
@@ -34,7 +34,7 @@ def __init__(
3434
from unilab.utils.xml_utils import inject_motrix_tracking_sensors
3535

3636
tmp_path, _, valid_bnames = inject_motrix_tracking_sensors(
37-
model_file, baselink_name=body_name
37+
model_file, baselink_name=base_name
3838
)
3939
try:
4040
self._model = mtx.load_model(tmp_path) # pyright: ignore[reportPossiblyUnbound]
@@ -60,8 +60,8 @@ def __init__(
6060
self._np_dtype = np_dtype
6161

6262
self._data = mtx.SceneData(self._model, batch=[num_envs]) # pyright: ignore[reportPossiblyUnbound]
63-
self._body = self._model.get_body(body_name)
64-
self._body_link = self._model.get_link(body_name)
63+
self._body = self._model.get_body(base_name)
64+
self._body_link = self._model.get_link(base_name)
6565
self._render_app: "RenderApp | None" = None
6666
self.backend_type = "motrix"
6767

@@ -258,12 +258,12 @@ def _xyzw_to_wxyz(self, q: np.ndarray) -> np.ndarray:
258258

259259
def _process_rigid_body_props(self, cfg) -> None:
260260
if cfg.domain_rand.randomize_base_mass:
261-
mass = self._model.get_link(cfg.asset.body_name).get_mass_override(self._data)
261+
mass = self._model.get_link(cfg.asset.base_name).get_mass_override(self._data)
262262
mass_low = cfg.domain_rand.added_mass_range[0]
263263
mass_high = cfg.domain_rand.added_mass_range[1]
264264
random_mass = mass + np.random.uniform(mass_low, mass_high, size=(self._num_envs,))
265-
self._model.get_link(cfg.asset.body_name).set_mass_override(self._data, random_mass)
266-
mass = self._model.get_link(cfg.asset.body_name).get_mass_override(self._data)
265+
self._model.get_link(cfg.asset.base_name).set_mass_override(self._data, random_mass)
266+
mass = self._model.get_link(cfg.asset.base_name).get_mass_override(self._data)
267267

268268
if cfg.domain_rand.random_com:
269269
com_offset = np.zeros(
@@ -272,10 +272,10 @@ def _process_rigid_body_props(self, cfg) -> None:
272272
x_low = cfg.domain_rand.com_offset_x[0]
273273
x_high = cfg.domain_rand.com_offset_x[1]
274274
com_offset[:, 0] = np.random.uniform(x_low, x_high, self._num_envs)
275-
self._model.get_link(cfg.asset.body_name).set_center_of_mass_override(
275+
self._model.get_link(cfg.asset.base_name).set_center_of_mass_override(
276276
self._data, com_offset
277277
)
278-
self._model.get_link(cfg.asset.body_name).get_center_of_mass_override(self._data)
278+
self._model.get_link(cfg.asset.base_name).get_center_of_mass_override(self._data)
279279

280280
def push_robots(self, force_range):
281281
ex_force = np.random.rand(self.num_envs, 3) * 2 - 1 # [x_force, y_force, z_force]

‎src/unilab/base/backend/motrix_numba_backend.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(
6464
model_file: str,
6565
num_envs: int,
6666
sim_dt: float,
67-
body_name: str = "base",
67+
base_name: str = "base",
6868
np_dtype=np.float32,
6969
):
7070
if not MOTRIX_AVAILABLE:
@@ -76,7 +76,7 @@ def __init__(
7676
self._np_dtype = np_dtype
7777

7878
self._data = mtx.SceneData(self._model, batch=[num_envs])
79-
self._body = self._model.get_body(body_name)
79+
self._body = self._model.get_body(base_name)
8080
self._render_app: "RenderApp | None" = None
8181

8282
def step(self, ctrl: np.ndarray, nsteps: int = 1) -> None:

‎src/unilab/base/backend/mujoco_backend.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def __init__(
1818
model_file: str,
1919
num_envs: int,
2020
sim_dt: float,
21-
body_name: Optional[str] = None,
21+
base_name: Optional[str] = None,
2222
np_dtype=None,
2323
add_body_sensors: bool = False,
2424
):
@@ -28,7 +28,7 @@ def __init__(
2828
from unilab.utils.xml_utils import inject_mujoco_tracking_sensors
2929

3030
tmp_path, self._tracked_body_ids, valid_bnames = inject_mujoco_tracking_sensors(
31-
model_file, baselink_name=body_name
31+
model_file, baselink_name=base_name
3232
)
3333
try:
3434
self._model = mujoco.MjModel.from_xml_path(tmp_path)

‎src/unilab/envs/locomotion/g1/base.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class ControlConfig:
2929

3030
@dataclass
3131
class Asset:
32-
body_name = "pelvis"
32+
base_name = "pelvis"
3333
foot_name = "ankle_roll_link"
3434
ground = "floor"
3535

‎src/unilab/envs/locomotion/g1/joystick.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class G1JoystickPPO(G1BaseEnv):
121121

122122
def __init__(self, cfg: G1JoystickPPOCfg, num_envs=1, backend_type="mujoco"):
123123
backend = create_backend(
124-
backend_type, cfg.model_file, num_envs, cfg.sim_dt, body_name=cfg.asset.body_name
124+
backend_type, cfg.model_file, num_envs, cfg.sim_dt, base_name=cfg.asset.base_name
125125
)
126126
super().__init__(cfg, backend, num_envs)
127127
self._enable_reward_log = True

‎src/unilab/envs/locomotion/g1/joystick_sac.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ class G1WalkTaskMjSAC(G1JoystickPPO):
114114

115115
def __init__(self, cfg: G1JoystickSACCfg, num_envs=1, backend_type="mujoco"):
116116
backend = create_backend(
117-
backend_type, cfg.model_file, num_envs, cfg.sim_dt, body_name=cfg.asset.body_name
117+
backend_type, cfg.model_file, num_envs, cfg.sim_dt, base_name=cfg.asset.base_name
118118
)
119119
G1BaseEnv.__init__(self, cfg, backend, num_envs)
120120
self._enable_reward_log = True

‎src/unilab/envs/locomotion/g1/motion_tracking/tracking.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def __init__(self, cfg: G1MotionTrackingCfg, num_envs=1, backend_type="mujoco"):
138138
raise ValueError("motion_file must be specified in config")
139139

140140
backend = create_backend(
141-
backend_type, cfg.model_file, num_envs, cfg.sim_dt, body_name=cfg.asset.body_name
141+
backend_type, cfg.model_file, num_envs, cfg.sim_dt, base_name=cfg.asset.base_name
142142
)
143143
super().__init__(cfg, backend, num_envs)
144144

‎src/unilab/envs/locomotion/go1/base.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class ControlConfig:
3232

3333
@dataclass
3434
class Asset:
35-
body_name = "trunk"
35+
base_name = "trunk"
3636
foot_name = "foot"
3737
ground = "floor"
3838

‎src/unilab/envs/locomotion/go1/joystick.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class Go1WalkTask(Go1BaseEnv):
103103

104104
def __init__(self, cfg: Go1JoystickCfg, num_envs=1, backend_type="mujoco"):
105105
backend = create_backend(
106-
backend_type, cfg.model_file, num_envs, cfg.sim_dt, body_name=cfg.asset.body_name
106+
backend_type, cfg.model_file, num_envs, cfg.sim_dt, base_name=cfg.asset.base_name
107107
)
108108
super().__init__(cfg, backend, num_envs)
109109
self._enable_reward_log = True

‎src/unilab/envs/locomotion/go2/base.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class ControlConfig:
3131

3232
@dataclass
3333
class Asset:
34-
body_name = "base"
34+
base_name = "base"
3535
foot_name = "foot"
3636
ground = "floor"
3737

0 commit comments

Comments
 (0)