Files
isaac/scripts/exc_test.py
T
dasha_f 0d32f32db0 Сортировочная ячейка Isaac Sim: CV-пайплайн и меши товаров
Замкнутый контур "поток -> CV -> механика": товары идут по конвейеру с шагом 700 мм,
класс определяется стереопайплайном во время движения, пушер и плуг реагируют физически.

Состав:
* control_test/ - ячейка и CV. run_sorting_cv.py + cv_worker.py (два процесса, потому что
  torch внутри Isaac роняет сцену), cell.py (физика лент, плуга, пушера), measure_plane.py
  (замер габаритов), README.md и .memory.md с замерами, проблемами и ловушками
* robozon_sorter/ - модули симуляции, scripts/ - утилиты, scene/ - сцены
* assets/ - меши товаров, плуг, объекты Objaverse

Бейзлайн CV: DEFOM-Stereo vitl, вход 480, iters 24, кроп зоны осмотра, без сегментации.
На потоке 700 мм - классы 8/9, габариты MAE 32.8 мм, 469 мс на товар при такте 700 мс.

Веса моделей (4.5 ГБ) и пропсы конвейера NVIDIA (274 МБ) не включены - источники и
команды скачивания в MODELS.md. Выход прогонов (captures/, runtime/) не включён:
воспроизводится.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 13:07:24 +00:00

19 lines
665 B
Python

"""Minimal repro: can Python catch the Tf threading-violation error at all?"""
import omni.usd
from pxr import UsdPhysics
import isaacsim.core.experimental.utils.app as app_utils
omni.usd.get_context().open_stage("/home/dasha/robozon-sorter/scene/plow_cell_90_45_test.usd")
await app_utils.update_app_async(steps=30)
stage = omni.usd.get_context().get_stage()
print("attempting Scene.Define with bare except:")
try:
scene = UsdPhysics.Scene.Define(stage, "/World/PhysicsScene").GetPrim()
print("SUCCESS, no exception")
except:
import traceback
print("CAUGHT something:")
traceback.print_exc()
print("after try/except block, script continues")