URDF 파일을 USD 파일로 변환하는 방법
isaac sim을 실행시켜서 urdf를 불러온다
참고 :
https://docs.omniverse.nvidia.com/py/isaacsim/source/extensions/omni.isaac.urdf/docs/index.html
URDF Import Extension [omni.isaac.urdf] — isaac_sim 2022.2.1-beta.29 documentation
© Copyright 2018-2023, NVIDIA. Last updated on Mar 17, 2023.
docs.omniverse.nvidia.com
def setup_scene(self):
world = self.get_world()
world.scene.add_default_ground_plane()
# Acquire the URDF extension interface
urdf_interface = _urdf.acquire_urdf_interface()
# Set the settings in the import config
import_config = _urdf.ImportConfig()
import_config.merge_fixed_joints = False
import_config.convex_decomp = True
import_config.import_inertia_tensor = True
import_config.fix_base = True
import_config.make_default_prim = True
import_config.self_collision = False
import_config.create_physics_scene = True
import_config.import_inertia_tensor = False
import_config.default_drive_strength = 1047.19751
import_config.default_position_drive_damping = 52.35988
import_config.default_drive_type = _urdf.UrdfJointTargetType.JOINT_DRIVE_POSITION
import_config.distance_scale = 1
import_config.density = 0.0
# Get the urdf file path
custom_urdf_path = "/panda.urdf"
result, prim_path = omni.kit.commands.execute( "URDFParseAndImportFile", urdf_path=custom_urdf_path,
import_config=import_config,)
필자는 tutorial의 setup_scene에 urdf import code를 추가하였다
https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_core_hello_world.html
이후에는
Save Selected를 누르고 원하는 폴더를 선택한 뒤 파일명을 입력하면 USD 파일로 추출된다 !
pybullet에서는 urdf를 사용했는데, isaac에서는 USD(Universal Scene Description) 형식이 메인이된다
https://developer.nvidia.com/usd
Pixar Universal Scene Description USD
An open source 3D scene description for 3D content creation.
developer.nvidia.com
USD는 object를 표현하기 위해 Pixar에서 만든 파일 형식이라고 한다
---
간단하게 하려면
headless 방식 말고 isaac sim을 켜서 Isaac Utils > Workflows > URDF Importer를 선택한 후,
input file에 원하는 urdf를 입력하고 각 옵션에 대한 설정 완료하여 IMPORT 버튼을 누르고 마찬가지로 하면 된다