fix: IS 4.5.0 -> 5.0.0 migration — USD metadata, DomeLight, scene reuse
- Fix USD metersPerUnit/upAxis for IS 5.0.0 (no longer auto-compensated) - Batch fix all Aligned_obj.usd, table, and art USD files with backups - Fix DomeLight rotation to Z-axis only (prevent tilted environment map) - Fix scene reuse across episodes (arena_file caching, task clearing, prim guard) - Add migration tools: scan_usd_metadata.py, fix_usd_metadata.py - Add migration guide: migerate/migerate.md - Add nvidia-curobo to .gitignore - Fix sort_the_rubbish config: obj_0 -> obj_1 (obj_0 does not exist) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -159,13 +159,44 @@ class SimBoxDualWorkFlow(NimbusWorkFlow):
|
||||
global_collision_paths,
|
||||
)
|
||||
self.world.reset()
|
||||
# [RESET_DBG] Check object xformOps right after world.reset()
|
||||
try:
|
||||
from pxr import UsdGeom
|
||||
for obj_name, obj in self.task.objects.items():
|
||||
_xf = UsdGeom.Xformable(get_prim_at_path(obj.prim_path))
|
||||
for _op in _xf.GetOrderedXformOps():
|
||||
if 'translate' in _op.GetName().lower():
|
||||
print(f"[RESET_DBG] {obj_name} after_world_reset: {_op.GetName()} = {_op.Get()}", flush=True)
|
||||
except Exception as _e:
|
||||
print(f"[RESET_DBG] after_world_reset error: {_e}", flush=True)
|
||||
|
||||
self.world.step(render=True)
|
||||
# [RESET_DBG] Check after first world.step(render=True)
|
||||
try:
|
||||
for obj_name, obj in self.task.objects.items():
|
||||
_xf = UsdGeom.Xformable(get_prim_at_path(obj.prim_path))
|
||||
for _op in _xf.GetOrderedXformOps():
|
||||
if 'translate' in _op.GetName().lower():
|
||||
print(f"[RESET_DBG] {obj_name} after_first_step: {_op.GetName()} = {_op.Get()}", flush=True)
|
||||
except Exception as _e:
|
||||
print(f"[RESET_DBG] after_first_step error: {_e}", flush=True)
|
||||
|
||||
self.controllers = self._initialize_controllers(self.task, self.task_cfg, self.world)
|
||||
self.skills = self._initialize_skills(self.task, self.task_cfg, self.controllers, self.world)
|
||||
|
||||
for _ in range(50):
|
||||
for _i in range(50):
|
||||
self._init_static_objects(self.task)
|
||||
self.world.step(render=False)
|
||||
# [RESET_DBG] Check at step 0, 1, 49
|
||||
if _i in (0, 1, 49):
|
||||
try:
|
||||
for obj_name, obj in self.task.objects.items():
|
||||
_xf = UsdGeom.Xformable(get_prim_at_path(obj.prim_path))
|
||||
for _op in _xf.GetOrderedXformOps():
|
||||
if 'translate' in _op.GetName().lower():
|
||||
print(f"[RESET_DBG] {obj_name} after_warmup_step_{_i}: {_op.GetName()} = {_op.Get()}", flush=True)
|
||||
except Exception as _e:
|
||||
print(f"[RESET_DBG] after_warmup_step_{_i} error: {_e}", flush=True)
|
||||
|
||||
self.logger = LmdbLogger(
|
||||
task_dir=self.task_cfg["data"]["task_dir"],
|
||||
|
||||
Reference in New Issue
Block a user