[isaacsim.sensors.rtx] Isaac Sim Isaac Sensor Simulation#

Warning

Deprecation: Extension deprecated since Isaac Sim 6.0.0 in favor of the Experimental extension: isaacsim.sensors.experimental.rtx

Version: 15.17.0

Overview#

Deprecated since version 6.0.0: This extension is deprecated in favor of isaacsim.sensors.experimental.rtx.

The isaacsim.sensors.rtx extension provides APIs for creating and managing RTX-based sensors in Isaac Sim, including RTX Lidar, RTX Radar, and RTX Idealized Depth Sensors (IDS). These sensors leverage RTX ray tracing technology for high-fidelity sensor simulation in robotics applications.

Migration#

New code should use the isaacsim.sensors.experimental.rtx extension. The mappings below cover the most common call sites; see the Multitick Rendering section of the Isaac Sim sensors documentation for the full migration guide, including the multi-tick rendering changes that ship with Isaac Sim 6.0.

5.x (this extension)

6.0 replacement (isaacsim.sensors.experimental.rtx)

IsaacSensorCreateRtxLidar Kit command

Lidar.create(path, config=...)

IsaacSensorCreateRtxRadar Kit command

Radar(path, ...)

IsaacSensorCreateRtxIDS Kit command

No equivalent in isaacsim.sensors.experimental.rtx today; may be supported in a future release. In the meantime, continue to use this deprecated command or author the IDS occupancy prim directly in USD.

LidarRtx runtime class

LidarSensor wrapping a Lidar authoring object

omni:sensor:Core:auxOutputType USD attribute (Lidar)

_replicator:rendervar:GenericModelOutput:channels = ["FULL"] on the OmniLidar prim, or aux_output_level="FULL" on the constructor

omni:sensor:WpmDmat:auxOutputType USD attribute (Radar)

_replicator:rendervar:GenericModelOutput:channels = ["BASIC"] on the OmniRadar prim, or aux_output_level="BASIC" on the constructor

IsaacExtractRTXSensorPointCloudNoAccumulator annotator

IsaacCreateRTXLidarScanBuffer with omni:sensor:Core:accumulateOutputs = false on the prim, or the IsaacExtractRTXSensorPointCloud annotator from isaacsim.sensors.rtx.nodes

RtxLidarDebugDrawPointCloudBuffer writer

Same writer; still registered alongside the experimental extension

Implicit “render every frame” sensor scheduling

Set omni:sensor:tickRate on the prim. For OmniLidar it must equal omni:sensor:Core:scanRateBaseHz, otherwise the lidar emits partial scans every frame (see the Multitick Rendering documentation, which notes that the OmniLidar tick rate must match its scan rate)

The deprecated extension still ships and continues to publish RTX sensor data to ROS 2/UCX/HSB pipelines for backward compatibility, but new features are added only to isaacsim.sensors.experimental.rtx.

Key Components#

Sensor Creation Commands#

The extension provides specialized command classes that inherit from IsaacSensorCreateRtxSensor for creating different types of RTX sensors:

These commands support multiple creation methods including USD references, Replicator API integration, or direct camera prim creation based on the configuration and available APIs.

LidarRtx Sensor Interface#

The LidarRtx class provides a comprehensive interface for RTX-based Lidar sensors, extending the base sensor API with RTX-specific functionality:

from isaacsim.sensors.rtx import LidarRtx

# Create and configure a Lidar sensor
lidar = LidarRtx(prim_path="/World/Lidar", name="my_lidar")
lidar.initialize()

# Attach annotators for data collection
lidar.attach_annotator("IsaacComputeRTXLidarFlatScan")
lidar.attach_annotator("IsaacCreateRTXLidarScanBuffer")

# Get sensor data
frame_data = lidar.get_current_frame()

Annotators and Writers#

The extension supports various annotators for different data collection modes:

  • IsaacComputeRTXLidarFlatScan: Generates flat scan data with point clouds and metadata

  • IsaacExtractRTXSensorPointCloudNoAccumulator: Extracts point cloud data without accumulation

  • IsaacCreateRTXLidarScanBuffer: Creates structured scan buffers for processing

  • StableIdMap: Provides stable object identification mapping

  • GenericModelOutput: Outputs standardized sensor data format

Writers enable visualization and debug capabilities, such as RtxLidarDebugDrawPointCloud for real-time point cloud visualization.

Relationships#

Generic Model Output#

The isaacsim.sensors.rtx.generic_model_output module defines a standardized data format for sensor outputs. It provides the GenericModelOutput class and associated enums for sensor modalities (LIDAR, RADAR, USS, IDS), coordinate types (CARTESIAN, SPHERICAL), and frame reference systems. This module enables consistent data exchange between different sensor types and external processing systems.

Nonvisual Materials#

The isaacsim.sensors.rtx.nonvisual_materials module provides functionality for applying and retrieving nonvisual material properties used by RTX sensors like LiDAR and radar. It includes apply_nonvisual_material for setting material properties on USD prims, get_material_id for reading the current material assignment, and decode_material_id for decomposing a material ID into its base, surface, and retroreflective categories. The module contains predefined dictionaries covering metals, non-metals, vegetation, and other material categories.

Sensor Checker#

The isaacsim.sensors.rtx.sensor_checker module provides validation utilities through the SensorCheckerUtil class. It validates sensor configurations, parameters, and AOV (Arbitrary Output Variable) data against predefined schemas, ensuring sensor models conform to expected specifications before deployment.

Functionality#

Configuration Management#

The extension includes predefined sensor configurations accessible through SUPPORTED_LIDAR_CONFIGS, covering various real-world sensor models from manufacturers like Velodyne, Ouster, HESAI, and others. These configurations provide realistic sensor parameters for accurate simulation.

Data Processing Pipeline#

RTX sensors support a flexible data processing pipeline through the annotator system. Users can attach multiple annotators to collect different types of sensor data simultaneously, such as point clouds, depth maps, intensity values, and object identification information.

Motion Compensation#

RTX Radar sensors include motion compensation capabilities when Motion BVH is enabled, providing accurate velocity measurements for moving objects in the simulation environment.

Enable Extension#

The extension can be enabled (if not already) in one of the following ways:

Define the next entry as an application argument from a terminal.

APP_SCRIPT.(sh|bat) --enable isaacsim.sensors.rtx

Define the next entry under [dependencies] in an experience (.kit) file or an extension configuration (extension.toml) file.

[dependencies]
"isaacsim.sensors.rtx" = {}

Open the Window > Extensions menu in a running application instance and search for isaacsim.sensors.rtx. Then, toggle the enable control button if it is not already active.

Extension: {{ extension_version }}

Documentation Generated: Jun 05, 2026

Settings#

Settings Provided by the Extension#

app.sensors.nv.lidar.profileBaseFolder#

  • Default Value: [ “${omni.sensors.nv.common}/data/lidar/”, “${isaacsim.sensors.rtx}/data/lidar_configs/HESAI/”, “${isaacsim.sensors.rtx}/data/lidar_configs/NVIDIA/”, “${isaacsim.sensors.rtx}/data/lidar_configs/Ouster/OS0/”, “${isaacsim.sensors.rtx}/data/lidar_configs/Ouster/OS1/”, “${isaacsim.sensors.rtx}/data/lidar_configs/Ouster/OS2/”, “${isaacsim.sensors.rtx}/data/lidar_configs/SICK/”, “${isaacsim.sensors.rtx}/data/lidar_configs/SLAMTEC/”, “${isaacsim.sensors.rtx}/data/lidar_configs/Velodyne/”, “${isaacsim.sensors.rtx}/data/lidar_configs/ZVISION/”, “${isaacsim.sensors.rtx}/data/lidar_configs/” ]

  • Description: List of directories which renderer will search to find Lidar profile for (deprecated) camera-based Lidar.

app.sensors.nv.lidar.outputBufferOnGPU#

  • Default Value: false

  • Description: Keeps Lidar return buffer on GPU for post-processing operations.

app.sensors.nv.radar.outputBufferOnGPU#

  • Default Value: false

  • Description: Keeps Radar return buffer on GPU for post-processing operations.

rtx.materialDb.nonVisualMaterialCSV.enabled#

  • Default Value: false

  • Description: Enables non-visual materials using USD attributes for material database processing.

rtx.materialDb.nonVisualMaterialSemantics.prefix#

  • Default Value: “omni:simready:nonvisual”

  • Description: Specifies the USD attribute prefix for non-visual material semantics identification.

rtx.rtxsensor.useHydraTimeAlways#

  • Default Value: true

  • Description: Uses Hydra time from omni.timeline in RTX Sensor models for time synchronization.

Python API#

Commands

IsaacSensorCreateRtxLidar

Command class for creating RTX Lidar sensors.

IsaacSensorCreateRtxIDS

Command class for creating RTX Idealized Depth Sensors (IDSs).

IsaacSensorCreateRtxRadar

Command class for creating RTX Radar sensors.

Sensors

LidarRtx

RTX-based Lidar sensor implementation.


Commands#

class IsaacSensorCreateRtxLidar(*args: Any, **kwargs: Any)#

Bases: IsaacSensorCreateRtxSensor

Command class for creating RTX Lidar sensors.

This class specializes the base RTX sensor creation for Lidar sensors, providing specific configuration and plugin settings for Lidar functionality.

Parameters:

**kwargs – Keyword arguments passed to the parent class constructor. See IsaacSensorCreateRtxSensor for available parameters.

class IsaacSensorCreateRtxIDS(*args: Any, **kwargs: Any)#

Bases: IsaacSensorCreateRtxSensor

Command class for creating RTX Idealized Depth Sensors (IDSs).

This class specializes the base RTX sensor creation for IDSs, providing specific configuration and plugin settings for IDS functionality.

Sets default configuration to “idsoccupancy” if no config is provided.

Parameters:

**kwargs – Keyword arguments passed to the parent class constructor. See IsaacSensorCreateRtxSensor for available parameters.

class IsaacSensorCreateRtxRadar(*args: Any, **kwargs: Any)#

Bases: IsaacSensorCreateRtxSensor

Command class for creating RTX Radar sensors.

This class specializes the base RTX sensor creation for Radar sensors, providing specific configuration and plugin settings for Radar functionality.

RTX Radar requires Motion BVH to be enabled. If Motion BVH is not enabled, the command will warn the user and not create the prim.

Parameters:

**kwargs – Keyword arguments passed to the parent class constructor. See IsaacSensorCreateRtxSensor for available parameters.


Sensors#

class LidarRtx(
prim_path: str,
name: str = 'lidar_rtx',
position: ndarray | None = None,
translation: ndarray | None = None,
orientation: ndarray | None = None,
config_file_name: str | None = None,
**kwargs: Any,
)#

Bases: BaseSensor

RTX-based Lidar sensor implementation.

This class provides functionality for creating and managing RTX-based Lidar sensors in Isaac Sim. It supports various annotators and writers for data collection and visualization.

The sensor can be configured with different parameters and supports both point cloud and flat scan data collection.

Parameters:
  • prim_path – Path to the USD prim for the Lidar sensor.

  • name – Name of the Lidar sensor.

  • position – Global position of the sensor as [x, y, z].

  • translation – Local translation of the sensor as [x, y, z].

  • orientation – Orientation quaternion as [w, x, y, z].

  • config_file_name – Path to the configuration file for the sensor.

  • **kwargs – Additional keyword arguments for sensor configuration.

Raises:

Exception – If the prim at prim_path is not an OmniLidar or doesn’t have the required API.

add_azimuth_data_to_frame() None#

Add azimuth data to the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

add_azimuth_range_to_frame() None#

Add azimuth range data to the current frame.

This method is deprecated as of Isaac Sim 5.0. Use attach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

add_elevation_data_to_frame() None#

Add elevation data to the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

add_horizontal_resolution_to_frame() None#

Add horizontal resolution data to the current frame.

This method is deprecated as of Isaac Sim 5.0. Use attach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

add_intensities_data_to_frame() None#

Add intensities data to the current frame.

This method is deprecated as of Isaac Sim 5.0. Use attach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

add_linear_depth_data_to_frame() None#

Add linear depth data to the current frame.

This method is deprecated as of Isaac Sim 5.0. Use attach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

add_point_cloud_data_to_frame() None#

Add point cloud data to the current frame.

This method is deprecated as of Isaac Sim 5.0. Use attach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

add_range_data_to_frame() None#

Add range data to the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

apply_visual_material(
visual_material: VisualMaterial,
weaker_than_descendants: bool = False,
) None#

Apply visual material to the held prim and optionally its descendants.

Parameters:
  • visual_material – Visual material to be applied to the held prim. Currently supports PreviewSurface, OmniPBR and OmniGlass.

  • weaker_than_descendants – True if the material shouldn’t override the descendants materials, otherwise False.

Example:

>>> from isaacsim.core.api.materials import OmniGlass
>>>
>>> # create a dark-red glass visual material
>>> material = OmniGlass(
...     prim_path="/World/material/glass",  # path to the material prim to create
...     ior=1.25,
...     depth=0.001,
...     thin_walled=False,
...     color=np.array([0.5, 0.0, 0.0])
... )
>>> prim.apply_visual_material(material)
attach_annotator(
annotator_name: Literal['IsaacComputeRTXLidarFlatScan', 'IsaacExtractRTXSensorPointCloudNoAccumulator', 'IsaacCreateRTXLidarScanBuffer', 'StableIdMap', 'GenericModelOutput'],
**kwargs: object,
) None#

Attach an annotator to the Lidar sensor.

Parameters:
  • annotator_name – Name of the annotator to attach. Must be one of: “IsaacComputeRTXLidarFlatScan”, “IsaacExtractRTXSensorPointCloudNoAccumulator”, “IsaacCreateRTXLidarScanBuffer”, “StableIdMap”, or “GenericModelOutput”.

  • **kwargs – Additional arguments to pass to the annotator on initialization.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("IsaacComputeRTXLidarFlatScan")
>>> lidar.attach_annotator("IsaacCreateRTXLidarScanBuffer")
attach_writer(writer_name: str, **kwargs: object) None#

Attach a writer to the Lidar sensor.

Parameters:
  • writer_name – Name of the writer to attach.

  • **kwargs – Additional arguments to pass to the writer on initialization.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_writer("RtxLidarDebugDrawPointCloud")
static decode_stable_id_mapping(
stable_id_mapping_raw: bytes,
) dict#

Decode the StableIdMap buffer into a dictionary of stable IDs to labels.

The buffer is a sequence of 6-byte entries, each containing: - 4 bytes for the stable ID (uint32) - 1 byte for the label length (uint8) - 1 byte for the label offset (uint8) The label is a UTF-8 string of the specified length, starting at the offset.

Parameters:

stable_id_mapping_raw – The raw StableIdMap buffer bytes.

Returns:

Dictionary mapping stable IDs to their label strings.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("StableIdMap")
>>> lidar.initialize()
>>> # After simulation steps...
>>> frame = lidar.get_current_frame()
>>> stable_id_data = frame.get("StableIdMap")
>>> if stable_id_data is not None:
...     mapping = LidarRtx.decode_stable_id_mapping(stable_id_data)
detach_all_annotators() None#

Detach all annotators from the Lidar sensor.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("IsaacComputeRTXLidarFlatScan")
>>> lidar.attach_annotator("IsaacCreateRTXLidarScanBuffer")
>>> lidar.detach_all_annotators()
detach_all_writers() None#

Detach all writers from the Lidar sensor.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_writer("RtxLidarDebugDrawPointCloud")
>>> lidar.detach_all_writers()
detach_annotator(annotator_name: str) None#

Detach an annotator from the Lidar sensor.

Parameters:

annotator_name – Name of the annotator to detach.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("IsaacComputeRTXLidarFlatScan")
>>> lidar.detach_annotator("IsaacComputeRTXLidarFlatScan")
detach_writer(writer_name: str) None#

Detach a writer from the Lidar sensor.

Parameters:

writer_name – Name of the writer to detach.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_writer("RtxLidarDebugDrawPointCloud")
>>> lidar.detach_writer("RtxLidarDebugDrawPointCloud")
disable_visualization() None#

Disable visualization of the Lidar point cloud data.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.enable_visualization()
>>> lidar.disable_visualization()
enable_visualization() None#

Enable visualization of the Lidar point cloud data.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.enable_visualization()
get_annotators() dict#

Get all attached annotators.

Returns:

Dictionary mapping annotator names to their instances.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("IsaacComputeRTXLidarFlatScan")
>>> annotators = lidar.get_annotators()
>>> print(list(annotators.keys()))
get_applied_visual_material() VisualMaterial#

Return the current applied visual material in case it was applied using apply_visual_material.

or it’s one of the following materials that was already applied before: PreviewSurface, OmniPBR and OmniGlass.

Returns:

The current applied visual material if its type is currently supported.

Example:

>>> # given a visual material applied
>>> prim.get_applied_visual_material()
<isaacsim.core.api.materials.omni_glass.OmniGlass object at 0x7f36263106a0>
get_azimuth_range() tuple[float, float] | None#

Get the azimuth range of the Lidar sensor.

This method is deprecated as of Isaac Sim 5.0. Use the azimuth_range attribute in the current frame instead.

Returns:

Tuple of (min_azimuth, max_azimuth) if available, None otherwise.

get_current_frame() dict#

Get the current frame data from the Lidar sensor.

Returns:

Dictionary containing the current frame data including rendering time, frame number, and any attached annotator data.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.initialize()
>>> frame_data = lidar.get_current_frame()
>>> print(frame_data["rendering_time"])
get_default_state() XFormPrimState#

Get the default prim states (spatial position and orientation).

Returns:

An object that contains the default state of the prim (position and orientation)

Example:

>>> state = prim.get_default_state()
>>> state
<isaacsim.core.utils.types.XFormPrimState object at 0x7f33addda650>
>>>
>>> state.position
[-4.5299529e-08 -1.8347054e-09 -2.8610229e-08]
>>> state.orientation
[1. 0. 0. 0.]
get_depth_range() tuple[float, float] | None#

Get the depth range of the Lidar sensor.

This method is deprecated as of Isaac Sim 5.0. Use the depth_range attribute in the current frame instead.

Returns:

Tuple of (min_depth, max_depth) if available, None otherwise.

get_horizontal_fov() float | None#

Get the horizontal field of view of the Lidar sensor.

This method is deprecated as of Isaac Sim 5.0. Use the horizontal_fov attribute in the current frame instead.

Returns:

The horizontal field of view value if available, None otherwise.

get_horizontal_resolution() float | None#

Get the horizontal resolution of the Lidar sensor.

This method is deprecated as of Isaac Sim 5.0. Use the horizontal_resolution attribute in the current frame instead.

Returns:

The horizontal resolution value if available, None otherwise.

get_local_pose() tuple[ndarray, ndarray]#

Get prim’s pose with respect to the local frame (the prim’s parent frame).

Returns:

First index is the position in the local frame (with shape (3, )). Second index is quaternion orientation (with shape (4, )) in the local frame

Example:

>>> # if the prim is in position (1.0, 0.5, 0.0) with respect to the world frame
>>> position, orientation = prim.get_local_pose()
>>> position
[0. 0. 0.]
>>> orientation
[0. 0. 0.]
get_local_scale() ndarray#

Get prim’s scale with respect to the local frame (the parent’s frame).

Returns:

Scale applied to the prim’s dimensions in the local frame. shape is (3, ).

Example:

>>> prim.get_local_scale()
[1. 1. 1.]
get_num_cols() int | None#

Get the number of columns in the Lidar scan.

This method is deprecated as of Isaac Sim 5.0. Use the num_cols attribute in the current frame instead.

Returns:

The number of columns if available, None otherwise.

get_num_rows() int | None#

Get the number of rows in the Lidar scan.

This method is deprecated as of Isaac Sim 5.0. Use the num_rows attribute in the current frame instead.

Returns:

The number of rows if available, None otherwise.

static get_object_ids(obj_ids: ndarray) list[int]#

Get Object IDs from the GenericModelOutput object ID buffer.

The buffer is an array that must be converted to a list of dtype uint128 (stride 16 bytes). Each uint128 is a unique stable ID for a prim in the scene, which can be used to look up the prim path in the map provided by the StableIdMap annotator (see above).

Parameters:

obj_ids – The object ID buffer. Can be either a uint8 array with stride 16 (from GenericModelOutput) or a uint32 array with stride 4 (from IsaacCreateRTXLidarScanBuffer).

Returns:

The object IDs as a list of uint128.

Raises:

ValueError – If obj_ids has an unsupported dtype.

Example:

>>> import numpy as np
>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_annotator("IsaacCreateRTXLidarScanBuffer")
>>> lidar.initialize()
>>> # After simulation steps...
>>> frame = lidar.get_current_frame()
>>> scan_buffer = frame.get("IsaacCreateRTXLidarScanBuffer")
>>> if scan_buffer is not None:
...     object_ids = LidarRtx.get_object_ids(scan_buffer["objectId"])
get_render_product_path() str | None#

Get the path to the render product used by the Lidar.

Returns:

Path to the render product, or None if not initialized.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> render_product_path = lidar.get_render_product_path()
get_rotation_frequency() float | None#

Get the rotation frequency of the Lidar sensor.

This method is deprecated as of Isaac Sim 5.0. Use the rotation_frequency attribute in the current frame instead.

Returns:

The rotation frequency value if available, None otherwise.

get_visibility() bool#

Get the visibility of the prim in stage.

Returns:

True if the prim is visible in stage. False otherwise.

Example:

>>> # get the visible state of an visible prim on the stage
>>> prim.get_visibility()
True
get_world_pose() tuple[ndarray, ndarray]#

Get prim’s pose with respect to the world’s frame.

Returns:

First index is the position in the world frame (with shape (3, )). Second index is quaternion orientation (with shape (4, )) in the world frame

Example:

>>> # if the prim is in position (1.0, 0.5, 0.0) with respect to the world frame
>>> position, orientation = prim.get_world_pose()
>>> position
[1.  0.5 0. ]
>>> orientation
[1. 0. 0. 0.]
get_world_scale() ndarray#

Get prim’s scale with respect to the world’s frame.

Returns:

Scale applied to the prim’s dimensions in the world frame. shape is (3, ).

Example:

>>> prim.get_world_scale()
[1. 1. 1.]
get_writers() dict#

Get all attached writers.

Returns:

Dictionary mapping writer names to their instances.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.attach_writer("RtxLidarDebugDrawPointCloud")
>>> writers = lidar.get_writers()
>>> print(list(writers.keys()))
initialize(physics_sim_view: Any = None) None#

Initialize the Lidar sensor.

Parameters:

physics_sim_view – Optional physics simulation view.

is_paused() bool#

Check if the Lidar sensor is paused.

Returns:

True if the sensor is paused, False otherwise.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.initialize()
>>> lidar.pause()
>>> is_paused = lidar.is_paused()
>>> print(is_paused)
True
is_valid() bool#

Check if the prim path has a valid USD Prim at it.

Returns:

True is the current prim path corresponds to a valid prim in stage. False otherwise.

Example:

>>> # given an existing and valid prim
>>> prims.is_valid()
True
is_visual_material_applied() bool#

Check if there is a visual material applied.

Returns:

True if there is a visual material applied. False otherwise.

Example:

>>> # given a visual material applied
>>> prim.is_visual_material_applied()
True
static make_add_remove_deprecated_attr(
deprecated_attr: str,
) list[Callable]#

Create deprecated add/remove attribute methods.

This is an internal helper method for creating deprecated methods that log warnings when called.

Parameters:

deprecated_attr – Name of the deprecated attribute to create methods for.

Returns:

List of method functions for adding and removing the deprecated attribute.

pause() None#

Pause data acquisition for the Lidar sensor.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.initialize()
>>> lidar.pause()
post_reset() None#

Perform post-reset operations for the Lidar sensor.

remove_azimuth_data_to_frame() None#

Remove azimuth data from the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

remove_azimuth_range_to_frame() None#

Remove azimuth range data from the current frame.

This method is deprecated as of Isaac Sim 5.0. Use detach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

remove_elevation_data_to_frame() None#

Remove elevation data from the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

remove_horizontal_resolution_to_frame() None#

Remove horizontal resolution data from the current frame.

This method is deprecated as of Isaac Sim 5.0. Use detach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

remove_intensities_data_to_frame() None#

Remove intensities data from the current frame.

This method is deprecated as of Isaac Sim 5.0. Use detach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

remove_linear_depth_data_to_frame() None#

Remove linear depth data from the current frame.

This method is deprecated as of Isaac Sim 5.0. Use detach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

remove_point_cloud_data_to_frame() None#

Remove point cloud data from the current frame.

This method is deprecated as of Isaac Sim 5.0. Use detach_annotator(‘IsaacComputeRTXLidarFlatScan’) instead.

remove_range_data_to_frame() None#

Remove range data from the current frame.

This method is deprecated as of Isaac Sim 5.0 and will be removed in a future release.

resume() None#

Resume data acquisition for the Lidar sensor.

Example:

>>> from isaacsim.sensors.rtx import LidarRtx
>>> lidar = LidarRtx(prim_path="/World/Lidar")
>>> lidar.initialize()
>>> lidar.pause()
>>> lidar.resume()
set_default_state(
position: Sequence[float] | None = None,
orientation: Sequence[float] | None = None,
) None#

Set the default state of the prim (position and orientation), that will be used after each reset.

Parameters:
  • position – Position in the world frame of the prim. shape is (3, ). Which means left unchanged.

  • orientation – Quaternion orientation in the world frame of the prim. Quaternion is scalar-first (w, x, y, z). shape is (4, ). Which means left unchanged.

Example:

>>> # configure default state
>>> prim.set_default_state(position=np.array([1.0, 0.5, 0.0]), orientation=np.array([1, 0, 0, 0]))
>>>
>>> # set default states during post-reset
>>> prim.post_reset()
set_local_pose(
translation: Sequence[float] | None = None,
orientation: Sequence[float] | None = None,
) None#

Set prim’s pose with respect to the local frame (the prim’s parent frame).

Warning

This method will change (teleport) the prim pose immediately to the indicated value

Parameters:
  • translation – Translation in the local frame of the prim (with respect to its parent prim). shape is (3, ).

  • orientation – Quaternion orientation in the local frame of the prim. quaternion is scalar-first (w, x, y, z). shape is (4, ).

Hint

This method belongs to the methods used to set the prim state

Example:

>>> prim.set_local_pose(translation=np.array([1.0, 0.5, 0.0]), orientation=np.array([1., 0., 0., 0.]))
set_local_scale(
scale: Sequence[float] | None,
) None#

Set prim’s scale with respect to the local frame (the prim’s parent frame).

Parameters:

scale – Scale to be applied to the prim’s dimensions. shape is (3, ).

Example:

>>> # scale prim 10 times smaller
>>> prim.set_local_scale(np.array([0.1, 0.1, 0.1]))
set_visibility(visible: bool) None#

Set the visibility of the prim in stage.

Parameters:

visible – Flag to set the visibility of the usd prim in stage.

Example:

>>> # make prim not visible in the stage
>>> prim.set_visibility(visible=False)
set_world_pose(
position: Sequence[float] | None = None,
orientation: Sequence[float] | None = None,
) None#

Set prim’s pose with respect to the world’s frame.

Warning

This method will change (teleport) the prim pose immediately to the indicated value

Parameters:
  • position – Position in the world frame of the prim. shape is (3, ).

  • orientation – Quaternion orientation in the world frame of the prim. quaternion is scalar-first (w, x, y, z). shape is (4, ).

Hint

This method belongs to the methods used to set the prim state

Example:

>>> prim.set_world_pose(position=np.array([1.0, 0.5, 0.0]), orientation=np.array([1., 0., 0., 0.]))
property name: str | None#

Name given to the prim when instantiating it.

Returns:

Name given to the prim when instantiating it. Otherwise None.

Used to query if the prim is a non root articulation link.

Returns:

True if the prim itself is a non root link

Example:

>>> # for a wrapped articulation (where the root prim has the Physics Articulation Root property applied)
>>> prim.non_root_articulation_link
False
property prim: pxr.Usd.Prim#

USD Prim object that this object holds.

Returns:

USD Prim object that this object holds.

property prim_path: str#

Prim path in the stage.

Returns:

Prim path in the stage.

Omnigraph Nodes#

The extension exposes the following Omnigraph nodes: