isaac sim

URDF 파일을 USD 파일로 변환하는 방법

hyuh0810 2023. 4. 10. 20:37

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 버튼을 누르고 마찬가지로 하면 된다