Loading urdf file force closes omniverse - i keep breaking it!

I am uploaded a sample urdf, maxwell arm (converted from xacro) and killed omniverse.

[NvIsaac::Info] Stream Importing robot from ‘/home/roboubuntu/Downloads/maxwell-ros2/maxwell/urdf/arm.urdf’
Model @Collection1 loaded!
Fatal Python error: Segmentation fault

Current thread 0x00007f3e445e1740 (most recent call first):
File “/home/roboubuntu/Downloads/isaac-sim-2020.1.1920-4b1097bc-linux-x86_64-release/_build/linux-x86_64/release/exts/omni.isaac.urdf/omni/isaac/urdf/scripts/extension.py”, line 60 in _select_picked_folder_callback
./isaac-sim.sh: line 4: 15868 Segmentation fault (core dumped) “$SCRIPT_DIR/…/…/target-deps/kit_sdk_release/_build/linux-x86_64/release/omniverse-kit” --config-path "SCRIPT_DIR//experiences/isaac-sim.json" @
roboubuntu@roboubuntu-Adder-WS:~/Downloads/isaac-sim-2020.1.1920

Hi, please take a look at our URDF loader guide for examples and configs to load a custom URDF.

Please also attach the set of URDFs you are using for us to reproduce the error and file a bug. I guess you used ROS2 to convert the xacro file to urdf?

@Sheikh_Dawood Thanks for the response. I was trying to just use the maxwell urdf, from the ROS main wiki, and ran xacro in ROS1 melodic.
For my setup, the SIm will run in ROS1/Ubuntu with NVIDIA GPU
Xavier AGV - ROS2 (ros1 bridge?)

I looked at the output of xacro to urdf and the urdf was empty. user error… but this is the command I ran to try and convert it.
rosrun xacro xacro --inorder -o arm.urdf arm.urdf.xacro

1 Like

Hi,

It is not recommended to convert and import just the maxwell arm (from xacro). This xacro file requires some parent files as dependence and its compilation will generate an empty urdf definition. Instead, it is possible to convert the main xacro file maxwell.urdf.xacro

rosrun xacro xacro maxwell/maxwell/urdf/maxwell.urdf.xacro > maxwell.urdf

Then, you can import it with Isaac-Sim (do not forget to check Merge Fixed Joints)

maxwell

2 Likes

Does it matter from where I launch the command? Like folder root, or can i do it in the urdf folder?

roboubuntu@roboubuntu-Adder-WS:~/Downloads/maxwell-ros2/maxwell/urdf$ rosrun xacro xacro maxwell.urdf.xacro > maxwell.urdf
resource not found: maxwell
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/opt/ros/melodic/share
when processing file: maxwell.urdf.xacro

Hi,

I downloaded the project from GitHub to my Linux virtual machine and executed the next steps to compile the urdf (it copies the urdf description files to /opt and generates some garbage, but does not matter, it is just a testing virtual machine 😅)

toni@ubuntu:~/Downloads$ rosrun xacro xacro maxwell/maxwell/urdf/maxwell.urdf.xacro 
resource not found: maxwell
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/opt/ros/melodic/share
when processing file: maxwell/maxwell/urdf/maxwell.urdf.xacro
toni@ubuntu:~/Downloads$ sudo cp -r maxwell/maxwell /opt/ros/melodic/share
[sudo] password for toni: 
toni@ubuntu:~/Downloads$ rosrun xacro xacro maxwell/maxwell/urdf/maxwell.urdf.xacro > maxwell.urdf 
1 Like

interesting…as I read the xacro documentation on the wiki, didn’t realize I needed to cp the maxwell folder to /opt/ros/melodic/share
Do i need to do this for every xacro I run?

i followed your steps that included copying the maxwell folder to /opt/ros/melodic/share and my maxwell.urdf output was successful.

Thanks!