Skip to content

Commit 86b47cb

Browse files
committed
formats
1 parent 8b3b751 commit 86b47cb

File tree

2 files changed

+66
-62
lines changed

2 files changed

+66
-62
lines changed

source/isaaclab/isaaclab/devices/phone/se2_phone.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,12 @@ def _cb(_pose_unused: np.ndarray, message: dict) -> None:
160160

161161
# --- Parse position ---
162162
p = message.get("position", {})
163-
self._latest_v_x = -float(p.get("z", 0.0))
164-
self._latest_v_y = -float(p.get("x", 0.0))
163+
self._latest_v_x = torch.tensor(
164+
[-float(p.get("z", 0.0))], device=self._sim_device, dtype=torch.float32
165+
).unsqueeze(0)
166+
self._latest_v_y = torch.tensor(
167+
[-float(p.get("x", 0.0))], device=self._sim_device, dtype=torch.float32
168+
).unsqueeze(0)
165169

166170
# --- Parse quaternion (x, y, z, w) and normalize ---
167171
qd = message.get("orientation", {})

source/isaaclab/test/devices/test_device_constructors.py

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -330,66 +330,6 @@ def emit(self, msg: dict):
330330
assert torch.allclose(out2, expected, atol=1e-5)
331331

332332

333-
"""
334-
Test OpenXR devices.
335-
"""
336-
337-
338-
def test_openxr_constructors(mock_environment, mocker):
339-
"""Test constructor for OpenXRDevice."""
340-
# Test config-based constructor with custom XrCfg
341-
xr_cfg = XrCfg(
342-
anchor_pos=(1.0, 2.0, 3.0),
343-
anchor_rot=(0.0, 0.1, 0.2, 0.3),
344-
near_plane=0.2,
345-
)
346-
config = OpenXRDeviceCfg(xr_cfg=xr_cfg)
347-
348-
# Create mock retargeters
349-
mock_controller_retargeter = mocker.MagicMock()
350-
mock_head_retargeter = mocker.MagicMock()
351-
retargeters = [mock_controller_retargeter, mock_head_retargeter]
352-
353-
device_mod = importlib.import_module("isaaclab.devices.openxr.openxr_device")
354-
mocker.patch.dict(
355-
"sys.modules",
356-
{
357-
"carb": mock_environment["carb"],
358-
"omni.kit.xr.core": mock_environment["omni"].kit.xr.core,
359-
"isaacsim.core.prims": mocker.MagicMock(),
360-
},
361-
)
362-
mocker.patch.object(device_mod, "XRCore", mock_environment["omni"].kit.xr.core.XRCore)
363-
mocker.patch.object(device_mod, "XRPoseValidityFlags", mock_environment["omni"].kit.xr.core.XRPoseValidityFlags)
364-
mock_single_xform = mocker.patch.object(device_mod, "SingleXFormPrim")
365-
366-
# Configure the mock to return a string for prim_path
367-
mock_instance = mock_single_xform.return_value
368-
mock_instance.prim_path = "/XRAnchor"
369-
370-
# Create the device using the factory
371-
device = OpenXRDevice(config)
372-
373-
# Verify the device was created successfully
374-
assert device._xr_cfg == xr_cfg
375-
376-
# Test with retargeters
377-
device = OpenXRDevice(cfg=config, retargeters=retargeters)
378-
379-
# Verify retargeters were correctly assigned as a list
380-
assert device._retargeters == retargeters
381-
382-
# Test with config and retargeters
383-
device = OpenXRDevice(cfg=config, retargeters=retargeters)
384-
385-
# Verify both config and retargeters were correctly assigned
386-
assert device._xr_cfg == xr_cfg
387-
assert device._retargeters == retargeters
388-
389-
# Test reset functionality
390-
device.reset()
391-
392-
393333
def test_se3phone_constructor(mocker):
394334
"""Test constructor and delta-output behavior for Se3Phone."""
395335

@@ -484,6 +424,66 @@ def emit(self, msg: dict):
484424
assert torch.allclose(out3, expected3, atol=1e-6)
485425

486426

427+
"""
428+
Test OpenXR devices.
429+
"""
430+
431+
432+
def test_openxr_constructors(mock_environment, mocker):
433+
"""Test constructor for OpenXRDevice."""
434+
# Test config-based constructor with custom XrCfg
435+
xr_cfg = XrCfg(
436+
anchor_pos=(1.0, 2.0, 3.0),
437+
anchor_rot=(0.0, 0.1, 0.2, 0.3),
438+
near_plane=0.2,
439+
)
440+
config = OpenXRDeviceCfg(xr_cfg=xr_cfg)
441+
442+
# Create mock retargeters
443+
mock_controller_retargeter = mocker.MagicMock()
444+
mock_head_retargeter = mocker.MagicMock()
445+
retargeters = [mock_controller_retargeter, mock_head_retargeter]
446+
447+
device_mod = importlib.import_module("isaaclab.devices.openxr.openxr_device")
448+
mocker.patch.dict(
449+
"sys.modules",
450+
{
451+
"carb": mock_environment["carb"],
452+
"omni.kit.xr.core": mock_environment["omni"].kit.xr.core,
453+
"isaacsim.core.prims": mocker.MagicMock(),
454+
},
455+
)
456+
mocker.patch.object(device_mod, "XRCore", mock_environment["omni"].kit.xr.core.XRCore)
457+
mocker.patch.object(device_mod, "XRPoseValidityFlags", mock_environment["omni"].kit.xr.core.XRPoseValidityFlags)
458+
mock_single_xform = mocker.patch.object(device_mod, "SingleXFormPrim")
459+
460+
# Configure the mock to return a string for prim_path
461+
mock_instance = mock_single_xform.return_value
462+
mock_instance.prim_path = "/XRAnchor"
463+
464+
# Create the device using the factory
465+
device = OpenXRDevice(config)
466+
467+
# Verify the device was created successfully
468+
assert device._xr_cfg == xr_cfg
469+
470+
# Test with retargeters
471+
device = OpenXRDevice(cfg=config, retargeters=retargeters)
472+
473+
# Verify retargeters were correctly assigned as a list
474+
assert device._retargeters == retargeters
475+
476+
# Test with config and retargeters
477+
device = OpenXRDevice(cfg=config, retargeters=retargeters)
478+
479+
# Verify both config and retargeters were correctly assigned
480+
assert device._xr_cfg == xr_cfg
481+
assert device._retargeters == retargeters
482+
483+
# Test reset functionality
484+
device.reset()
485+
486+
487487
"""
488488
Test teleop device factory.
489489
"""

0 commit comments

Comments
 (0)