I’m very happy to have waited for Isaac Sim 5.0.
I tried it out as soon as possible because the RTX Sensor has undergone significant changes. However, during the creation process, I encountered many, many questions.
The first method: I needed to customize a sensor, which is a “Planar Array LiDAR Sensor” LiDAR. So I followed the documentation to create the sensor. But the documentation didn’t provide very detailed explanations. It only mentioned that I needed to set config=None.
However, when I executed it, it didn’t succeed. My code was
import omni
from pxr import Gfsensor_attributes = {
‘omni:sensor:Core:scanRateBaseHz’: 30,
‘omni:sensor:Core:minReturnDistance’: 0.5,
‘OmniSensorGenericLidarCoreEmitterStateAPI:s001:azimuthDeg’: 0,
‘OmniSensorGenericLidarCoreEmitterStateAPI:s001:elevationDeg’: 15
}_, sensor = omni.kit.commands.execute(
“IsaacSensorCreateRtxLidar”,
translation=Gf.Vec3d(0, 0, 2),
orientation=Gf.Quatd(1, 0, 0, 0),
path=“/CustomLidar”,
parent=None,
config=None,
visibility=False,
variant=None,
force_camera_prim=False,
**sensor_attributes
)
2025-08-12 08:22:30 [Warning] [omni.replicator.core.scripts.functional.create_batch] World/CustomLidar is an invalid prim path. Renaming to World_CustomLidar. 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] Failed to execute a command: IsaacSensorCreateRtxLidar. 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/kit/extscore/omni.kit.async_engine/omni/kit/async_engine/async_engine.py”, line 296, in 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] on_event=lambda _: self._loop.run_once() 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/kit/extscore/omni.kit.async_engine/omni/kit/async_engine/async_engine.py”, line 228, in run_once 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] self._run_once() 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/kit/python/lib/python3.11/asyncio/base_events.py”, line 1936, in _run_once 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] handle._run() 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/kit/python/lib/python3.11/asyncio/events.py”, line 84, in _run 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] self._context.run(self._callback, *self._args) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.kit.window.script_editor-2.0.1+8131b85d/omni/kit/window/script_editor/script_editor_widget.py”, line 154, in _execute_script_async 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] omni.kit.app.get_app_interface().get_python_scripting().execute_string( 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/tmp/carb.E8jNh7/script_1754986950.py”, line 15, in 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] _, sensor = omni.kit.commands.execute( 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.kit.commands-1.4.10+8131b85d.lx64.r.cp311/omni/kit/commands/command.py”, line 463, in execute 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] result = omni.kit.undo.execute(command, name, kwargs) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] […skipped…] 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.kit.commands-1.4.10+8131b85d.lx64.r.cp311/omni/kit/undo/undo.py”, line 78, in execute 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] result = _execute(command, name, level, history_key) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.kit.commands-1.4.10+8131b85d.lx64.r.cp311/omni/kit/undo/undo.py”, line 459, in _execute 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] raise error 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.kit.commands-1.4.10+8131b85d.lx64.r.cp311/omni/kit/undo/undo.py”, line 420, in _execute 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] result = command.do() 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/exts/isaacsim.sensors.rtx/isaacsim/sensors/rtx/impl/commands.py”, line 277, in do 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] prim = super().do() 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/exts/isaacsim.sensors.rtx/isaacsim/sensors/rtx/impl/commands.py”, line 225, in do 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] not self._force_camera_prim and (self._add_reference() or self._call_replicator_api()) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/exts/isaacsim.sensors.rtx/isaacsim/sensors/rtx/impl/commands.py”, line 176, in _call_replicator_api 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] return self._replicator_api( 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.replicator.core-1.12.16+107.3.1.lx64.r.cp311/omni/replicator/core/scripts/functional/create.py”, line 1019, in omni_lidar 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] return create_batch.omni_lidar( 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.replicator.core-1.12.16+107.3.1.lx64.r.cp311/omni/replicator/core/scripts/functional/create_batch.py”, line 2367, in omni_lidar 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] return _create_prim_generic( 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] ^^^^^^^^^^^^^^^^^^^^^ 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.replicator.core-1.12.16+107.3.1.lx64.r.cp311/omni/replicator/core/scripts/functional/create_batch.py”, line 620, in _create_prim_generic 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] modify.attribute(prim, k, v[i]) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.replicator.core-1.12.16+107.3.1.lx64.r.cp311/omni/replicator/core/scripts/functional/modify.py”, line 550, in attribute 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] set_attributes(prims, attribute_name, value) 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] File “/home/shubao/isaacsim50/isaac-sim-standalone-5.0.0-linux-x86_64/extscache/omni.replicator.core-1.12.16+107.3.1.lx64.r.cp311/omni/replicator/core/scripts/functional/modify.py”, line 527, in set_attributes 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] raise ValueError(f"No attribute ‘{attribute}’ exists for prim ‘{p}’.") 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] 2025-08-12 08:22:30 [Error] [omni.kit.commands.command] <class ‘ValueError’> No attribute ‘omni:sensor:Core:minReturnDistance’ exists for prim ‘Usd.Prim(</World_CustomLidar_01>)’.
Then I tried the second method because I wanted to configure my own sensor, but it also failed. My code was
import numpy as np
from isaacsim.sensors.rtx import LidarRtxsensor_attributes = {
‘omni:sensor:Core:scanRateBaseHz’: 20,
‘omni:sensor:Core:horizontalFovDeg’: 360.0,
‘omni:sensor:Core:verticalFovDeg’: 30.0
}sensor = LidarRtx(
prim_path=“/World/CustomLidar”,
translation=np.array([0.0, 0.0, 1.5]),
orientation=np.array([1.0, 0.0, 0.0, 0.0]),
config_file_name=None,
**sensor_attributes
)
It still failed. The official documentation only uses “Example_Rotary” as a case study but doesn’t explain how this example was created—it only describes how to load it, which I find inappropriate. In versions before Isaac Sim 5.0, we loaded a “json” file, and I could simply configure that json. Even if I wanted to load “sensor_attributes,” I hoped there would be a template or documentation for it, but currently, there is no documentation or example available.
First, I couldn’t create it successfully because the documentation is too sparse, and I don’t know where I went wrong with the configuration. In the package files, I found the json file for “Example_Rotary,” but I couldn’t locate the “.usda” file, making it difficult to use as a reference.
I also have another issue that the documentation doesn’t address: If I create an “Example_Rotary,” do parameter adjustments through the “GUI” panel take effect? It doesn’t seem to work.
