Skip to content

Commit 5bfd52f

Browse files
committed
pass precommit
1 parent 1e9a36a commit 5bfd52f

File tree

8 files changed

+78
-63
lines changed

8 files changed

+78
-63
lines changed

scripts/demos/h1_locomotion.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,10 @@
4545

4646
import carb
4747
import omni
48-
from omni.kit.viewport.utility import get_viewport_from_window_name
49-
from omni.kit.viewport.utility.camera_state import ViewportCameraState
5048
from pxr import Gf, Sdf
5149
from rsl_rl.runners import OnPolicyRunner
5250

51+
from isaaclab import lazy
5352
from isaaclab.envs import ManagerBasedRLEnv
5453
from isaaclab.sim.utils.stage import get_current_stage
5554
from isaaclab.utils.math import quat_apply
@@ -112,7 +111,7 @@ def __init__(self):
112111
def create_camera(self):
113112
"""Creates a camera to be used for third-person view."""
114113
stage = get_current_stage()
115-
self.viewport = get_viewport_from_window_name("Viewport")
114+
self.viewport = lazy.omni_kit_viewport_utility.get_viewport_from_window_name("Viewport")
116115
# Create camera
117116
self.camera_path = "/World/Camera"
118117
self.perspective_path = "/OmniverseKit_Persp"
@@ -200,7 +199,7 @@ def _update_camera(self):
200199

201200
camera_pos = quat_apply(base_quat, self._camera_local_transform) + base_pos
202201

203-
camera_state = ViewportCameraState(self.camera_path, self.viewport)
202+
camera_state = lazy.omni_kit_viewport_utility.camera_state.ViewportCameraState(self.camera_path, self.viewport)
204203
eye = Gf.Vec3d(camera_pos[0].item(), camera_pos[1].item(), camera_pos[2].item())
205204
target = Gf.Vec3d(base_pos[0].item(), base_pos[1].item(), base_pos[2].item() + 0.6)
206205
camera_state.set_position_world(eye, True)

source/isaaclab/isaaclab/envs/ui/base_env_window.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def _build_sim_frame(self):
115115
width=omni.ui.Fraction(1),
116116
height=0,
117117
collapsed=False,
118-
style=lazy.lazy.isaacsim.gui.components.ui_utils.get_style(),
118+
style=lazy.isaacsim.gui.components.ui_utils.get_style(),
119119
horizontal_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_AS_NEEDED,
120120
vertical_scrollbar_policy=omni.ui.ScrollBarPolicy.SCROLLBAR_ALWAYS_ON,
121121
)

source/isaaclab/isaaclab/lazy.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,15 @@
88
# Lazily import heavy dependencies so importing ``isaaclab`` does not
99
# immediately import them. Currently only ``isaacsim`` is required.
1010
isaacsim = LazyImporter("isaacsim")
11+
isaacsim_core_utils_viewports = LazyImporter("isaacsim.core.utils.viewports")
12+
omni = LazyImporter("omni")
13+
omni_metrics_assembler_core = LazyImporter("omni.metrics.assembler.core")
14+
omni_kit_viewport_utility = LazyImporter("omni.kit.viewport.utility")
1115

12-
__all__ = ["isaacsim"]
16+
__all__ = [
17+
"isaacsim",
18+
"isaacsim_core_utils_viewports",
19+
"omni",
20+
"omni_metrics_assembler_core",
21+
"omni_kit_viewport_utility",
22+
]

source/isaaclab/isaaclab/scene/interactive_scene.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -783,7 +783,9 @@ def _add_entities_from_cfg(self):
783783
)
784784
# store xform prim view corresponding to this asset
785785
# all prims in the scene are Xform prims (i.e. have a transform component)
786-
self._extras[asset_name] = XFormPrim(asset_cfg.prim_path, reset_xform_properties=False)
786+
self._extras[asset_name] = lazy.isaacsim.core.prims.XFormPrim(
787+
asset_cfg.prim_path, reset_xform_properties=False
788+
)
787789
else:
788790
raise ValueError(f"Unknown asset config type for {asset_name}: {asset_cfg}")
789791
# store global collision paths

source/isaaclab/isaaclab/sensors/camera/tiled_camera.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
from typing import TYPE_CHECKING, Any
1414

1515
import carb
16-
import lazy
1716
import warp as wp
1817
from pxr import UsdGeom
1918

19+
from isaaclab import lazy
2020
from isaaclab.utils.warp.kernels import reshape_tiled_image
2121

2222
from ..sensor_base import SensorBase

source/isaaclab/isaaclab/sim/simulation_context.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,12 @@ def __init__(self, cfg: SimulationCfg | None = None):
191191
else:
192192
# note: need to import here in case the UI is not available (ex. headless mode)
193193
import omni.ui as ui
194-
from omni.kit.viewport.utility import get_active_viewport
195194

196195
# set default render mode
197196
# note: this can be changed by calling the `set_render_mode` function
198197
self.render_mode = self.RenderMode.FULL_RENDERING
199198
# acquire viewport context
200-
self._viewport_context = get_active_viewport()
199+
self._viewport_context = lazy.omni_kit_viewport_utility.get_active_viewport()
201200
self._viewport_context.updates_enabled = True # pyright: ignore [reportOptionalMemberAccess]
202201
# acquire viewport window
203202
# TODO @mayank: Why not just use get_active_viewport_and_window() directly?
@@ -210,10 +209,8 @@ def __init__(self, cfg: SimulationCfg | None = None):
210209
# check the case where we don't need to render the viewport
211210
# since render_viewport can only be False in headless mode, we only need to check for offscreen_render
212211
if not self._render_viewport and self._offscreen_render:
213-
# disable the viewport if offscreen_render is enabled
214-
from omni.kit.viewport.utility import get_active_viewport
215212

216-
get_active_viewport().updates_enabled = False
213+
lazy.omni_kit_viewport_utility.get_active_viewport().updates_enabled = False
217214

218215
# override enable scene querying if rendering is enabled
219216
# this is needed for some GUI features
@@ -389,7 +386,7 @@ def set_camera_view(
389386
"""
390387
# safe call only if we have a GUI or viewport rendering enabled
391388
if self._has_gui or self._offscreen_render or self._render_viewport:
392-
lazy.isaacsim.core.utils.viewports.set_camera_view(eye, target, camera_prim_path)
389+
lazy.isaacsim_core_utils_viewports.set_camera_view(eye, target, camera_prim_path)
393390

394391
def set_render_mode(self, mode: RenderMode):
395392
"""Change the current render mode of the simulation.

source/isaaclab/isaaclab/sim/utils/stage.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ def add_reference_to_stage(usd_path: str, prim_path: str, prim_type: str = "Xfor
407407
# logger.info(f"Could not get Sdf layer for {usd_path}")
408408
else:
409409
stage_id = UsdUtils.StageCache.Get().GetId(stage).ToLongInt()
410-
ret_val = omni.metrics.assembler.core.get_metrics_assembler_interface().check_layers(
410+
ret_val = lazy.omni_metrics_assembler_core.get_metrics_assembler_interface().check_layers(
411411
stage.GetRootLayer().identifier, sdf_layer.identifier, stage_id
412412
)
413413
if ret_val["ret_val"]:

source/isaaclab_tasks/isaaclab_tasks/direct/locomotion/locomotion_env.py

Lines changed: 55 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ class LocomotionEnv(DirectRLEnv):
2323
def __init__(self, cfg: DirectRLEnvCfg, render_mode: str | None = None, **kwargs):
2424
super().__init__(cfg, render_mode, **kwargs)
2525

26+
self._compute_intermediate_values_fn = _make_compute_intermediate_values(
27+
lazy.isaacsim.core.utils.torch.rotations.compute_heading_and_up,
28+
lazy.isaacsim.core.utils.torch.rotations.compute_rot,
29+
lazy.isaacsim.core.utils.torch.maths.unscale,
30+
)
31+
2632
self.action_scale = self.cfg.action_scale
2733
self.joint_gears = torch.tensor(self.cfg.joint_gears, dtype=torch.float32, device=self.sim.device)
2834
self.motor_effort_ratio = torch.ones_like(self.joint_gears, device=self.sim.device)
@@ -88,7 +94,7 @@ def _compute_intermediate_values(self):
8894
self.dof_pos_scaled,
8995
self.prev_potentials,
9096
self.potentials,
91-
) = compute_intermediate_values(
97+
) = self._compute_intermediate_values_fn(
9298
self.targets,
9399
self.torso_position,
94100
self.torso_rotation,
@@ -228,55 +234,56 @@ def compute_rewards(
228234
return total_reward
229235

230236

231-
@torch.jit.script
232-
def compute_intermediate_values(
233-
targets: torch.Tensor,
234-
torso_position: torch.Tensor,
235-
torso_rotation: torch.Tensor,
236-
velocity: torch.Tensor,
237-
ang_velocity: torch.Tensor,
238-
dof_pos: torch.Tensor,
239-
dof_lower_limits: torch.Tensor,
240-
dof_upper_limits: torch.Tensor,
241-
inv_start_rot: torch.Tensor,
242-
basis_vec0: torch.Tensor,
243-
basis_vec1: torch.Tensor,
244-
potentials: torch.Tensor,
245-
prev_potentials: torch.Tensor,
246-
dt: float,
247-
):
248-
to_target = targets - torso_position
249-
to_target[:, 2] = 0.0
237+
def _make_compute_intermediate_values(compute_heading_and_up_fn, compute_rot_fn, unscale_fn):
238+
@torch.jit.script
239+
def _compute_intermediate_values(
240+
targets: torch.Tensor,
241+
torso_position: torch.Tensor,
242+
torso_rotation: torch.Tensor,
243+
velocity: torch.Tensor,
244+
ang_velocity: torch.Tensor,
245+
dof_pos: torch.Tensor,
246+
dof_lower_limits: torch.Tensor,
247+
dof_upper_limits: torch.Tensor,
248+
inv_start_rot: torch.Tensor,
249+
basis_vec0: torch.Tensor,
250+
basis_vec1: torch.Tensor,
251+
potentials: torch.Tensor,
252+
prev_potentials: torch.Tensor,
253+
dt: float,
254+
):
255+
to_target = targets - torso_position
256+
to_target[:, 2] = 0.0
250257

251-
torso_quat, up_proj, heading_proj, up_vec, heading_vec = (
252-
lazy.isaacsim.core.utils.torch.rotations.compute_heading_and_up(
258+
torso_quat, up_proj, heading_proj, up_vec, heading_vec = compute_heading_and_up_fn(
253259
torso_rotation, inv_start_rot, to_target, basis_vec0, basis_vec1, 2
254260
)
255-
)
256261

257-
vel_loc, angvel_loc, roll, pitch, yaw, angle_to_target = lazy.isaacsim.core.utils.torch.rotations.compute_rot(
258-
torso_quat, velocity, ang_velocity, targets, torso_position
259-
)
262+
vel_loc, angvel_loc, roll, pitch, yaw, angle_to_target = compute_rot_fn(
263+
torso_quat, velocity, ang_velocity, targets, torso_position
264+
)
260265

261-
dof_pos_scaled = lazy.isaacsim.core.utils.torch.maths.unscale(dof_pos, dof_lower_limits, dof_upper_limits)
262-
263-
to_target = targets - torso_position
264-
to_target[:, 2] = 0.0
265-
prev_potentials[:] = potentials
266-
potentials = -torch.norm(to_target, p=2, dim=-1) / dt
267-
268-
return (
269-
up_proj,
270-
heading_proj,
271-
up_vec,
272-
heading_vec,
273-
vel_loc,
274-
angvel_loc,
275-
roll,
276-
pitch,
277-
yaw,
278-
angle_to_target,
279-
dof_pos_scaled,
280-
prev_potentials,
281-
potentials,
282-
)
266+
dof_pos_scaled = unscale_fn(dof_pos, dof_lower_limits, dof_upper_limits)
267+
268+
to_target = targets - torso_position
269+
to_target[:, 2] = 0.0
270+
prev_potentials[:] = potentials
271+
potentials = -torch.norm(to_target, p=2, dim=-1) / dt
272+
273+
return (
274+
up_proj,
275+
heading_proj,
276+
up_vec,
277+
heading_vec,
278+
vel_loc,
279+
angvel_loc,
280+
roll,
281+
pitch,
282+
yaw,
283+
angle_to_target,
284+
dof_pos_scaled,
285+
prev_potentials,
286+
potentials,
287+
)
288+
289+
return _compute_intermediate_values

0 commit comments

Comments
 (0)