Hello,
I am trying to import ‘lite6’ URDF file in one of example file ‘hello_world.py’. The URDF import example I’m using is from 4.5.0 URDF example. This file works with ‘panda arm’. However, when I try .urdf file, it has following errors:
2025-06-11 16:55:45 [Error] [isaacsim.asset.importer.urdf] *** Failed to load '/home/user/xarm_ws/src/xarm_ros2/xarm_description/urdf/lite6.urdf'
2025-06-11 16:55:45 [Error] [isaacsim.asset.importer.urdf] Failed to parse URDF file 'lite6.urdf'
Manually importing the same URDF via the USD File→Import menu succeeds without issue. Here’s the relevant portion of my scene setup:
def setup_scene(self):
world = self.get_world()
world.scene.add_default_ground_plane()
# Acquire the URDF extension interface for parsing and importing URDF files
urdf_interface = _urdf.acquire_urdf_interface()
# Configure the settings for importing the URDF file
import_config = _urdf.ImportConfig()
import_config.convex_decomp = False # Disable convex decomposition for simplicity
import_config.fix_base = True # Fix the base of the robot to the ground
import_config.make_default_prim = True # Make the robot the default prim in the scene
import_config.self_collision = False # Disable self-collision for performance
import_config.distance_scale = 1 # Set distance scale for the robot
import_config.density = 0.0 # Set density to 0 (use default values)
# Retrieve the path of the URDF file from the extension
extension_path = get_extension_path_from_name("isaacsim.asset.importer.urdf")
# root_path = extension_path + "/data/urdf/robots/franka_description/robots"
root_path = '/home/user/xarm_ws/src/xarm_ros2/xarm_description/urdf'
# file_name = "panda_arm_hand.urdf"
file_name = 'lite6.urdf'
# Parse the robot's URDF file to generate a robot model
result, robot_model = omni.kit.commands.execute(
"URDFParseFile",
urdf_path="{}/{}".format(root_path, file_name),
import_config=import_config
)
# Update the joint drive parameters for better stiffness and damping
for joint in robot_model.joints:
robot_model.joints[joint].drive.strength = 1047.19751 # High stiffness value
robot_model.joints[joint].drive.damping = 52.35988 # Moderate damping value
# Import the robot onto the current stage and retrieve its prim path
result, prim_path = omni.kit.commands.execute(
"URDFImportRobot",
urdf_robot=robot_model,
import_config=import_config,
)
# Initialize a predefined task for the robot (e.g., following a target)
my_task = FollowTarget(
name="follow_target_task",
franka_prim_path=prim_path, # Path to the robot's prim in the scene
franka_robot_name="fancy_franka", # Name for the robot instance
target_name="target" # Name of the target object the robot should follow
)
# Add the task to the simulation world
world.add_task(my_task)
return
Any assistance on this problem will be helpful.
Thank you.