Range Based Sensor Simulation [omni.isaac.range_sensor]

This extension provides a set simulated range based sensors like lidar, ultrasonic, generic and interfaces to access them in the simulator.

Lidar Sensor

This submodule provides an interface to a simulated lidar sensor. A simplified command is provided to create a lidar sensor in the stage:

Once a lidar sensor is in the stage you can use this interface to interact with the simulated lidar data. You must first call the acquire interface function. It is also recommended to use the is_lidar_sensor function to check if a lidar sensor exists at the given USD path

from omni.isaac.range_sensor._range_sensor import acquire_lidar_sensor_interface
lidar_sensor_interface = acquire_lidar_sensor_interface()
if lidar_sensor_interface.is_lidar_sensor("/World/Lidar"):
    print("lidar sensor is valid")

Ultrasonic Sensor

Warning

The ultrasonic sensor is deprecated and will be removed in a future release.

This submodule provides an interface to a simulated ultrasonic sensor.

Example

To use this interface, you must first call the acquire interface function. It is also recommended to use the is_ultrasonic_sensor function to check if a ultrasonic sensor exists at the given USD path

from omni.isaac.range_sensor._range_sensor import acquire_ultrasonic_sensor_interface
ultrasonic_sensor_interface = acquire_ultrasonic_sensor_interface()
if ultrasonic_sensor_interface.is_ultrasonic_sensor("/World/UltrasonicArray"):
    print("ultrasonic sensor is valid")

Generic Sensor

This submodule provides an interface to a simulated generic sensor.

Example

To use this interface, you must first call the acquire interface function. It is also recommended to use the is_generic_sensor function to check if a generic sensor exists at the given USD path

from omni.isaac.range_sensor._range_sensor import acquire_generic_sensor_interface
generic_sensor_interface = acquire_generic_sensor_interface()
if generic_sensor_interface.is_generic_sensor("/World/GenericSensor"):
    print("generic sensor is valid")

Generated USD Schema API

The following USD Schema API was automatically generated, it is provided here as a reference

Omnigraph Nodes

OmniGraph Nodes

IsaacReadLidarPointCloud

[‘This node reads from the lidar sensor and holds point cloud data buffers for a full scan’]

Inputs
  • execIn (execution): The input execution port.

  • lidarPrim (target): Usd prim reference to the lidar prim.

Outputs
  • execOut (execution): Output execution triggers when lidar sensor has completed a full scan.

  • data (pointf[3][]): Buffer of 3d points containing point cloud data.

IsaacReadLidarBeams

[‘This node reads from the lidar sensor and holds data buffers for a full scan’]

Inputs
  • execIn (execution): The input execution port.

  • lidarPrim (target): Usd prim reference to the lidar prim.

Outputs
  • execOut (execution): Output execution triggers when lidar sensor has completed a full scan.

  • horizontalFov (float): Horizontal Field of View in degrees.

  • verticalFov (float): Vertical Field of View in degrees.

  • horizontalResolution (float): Degrees in between rays for horizontal axis.

  • verticalResolution (float): Degrees in between rays for vertical axis.

  • depthRange (float[2]): The min and max range for sensor to detect a hit [min, max].

  • rotationRate (float): Rotation rate of sensor in Hz.

  • beamTimeData (float[]): Buffer array containing beam time data.

  • linearDepthData (float[]): Buffer array containing linear depth data.

  • intensitiesData (uchar[]): Buffer array containing intensities data.

  • numRows (int): Number of rows in buffers.

  • numCols (int): Number of columns in buffers.

  • azimuthRange (float[2]): The azimuth range [min, max].

  • zenithRange (float[2]): The zenith range [min, max].