GRID currently supports the following sensors with Isaac Sim.

Camera

This is a camera sensor that can be of type RGB or Depth.

Configuration

The configuration for the camera sensor can be set up in the the configuration file. The following parameters are available:
ParameterDescription
HeightThe height of the captured image
WidthThe width of the captured image
OffsetThe offset of the camera with respect to the robot’s frame of reference
Focal LengthThe focal length of the camera
Focal DistanceThe focal distance of the camera
Horizontal ApertureThe horizontal aperture of the camera
Clipping RangeThe clipping range of the camera
These parameters can be configured by adding the sensor in the scene entity inside env.yaml in the following manner:
- camera_sensor_name:
    type: Sensor
    name: CameraRGB
    config:
    prim_path: "/World/envs/env_.*/tabletop_rgb_camera"
    height: 256
    width: 256
    offset: 
        pos: [1.5, 0.0, 0.7]
        rot: [0.0, -0.3, 0.0, 1.0]
        convention: "world"
    spawn:
        focal_length: 24.0
        focus_distance: 400.0
        horizontal_aperture: 20.955
        clipping_range: [0.1, 100000]

Contact Sensor

This is a simple contact sensor that works as a ray caster simulating surface pressure by detecting contact points with precision.

Configuration

The configuration for the height sensor can be set up in the the configuration file. The following parameters are available:
ParameterDescription
History lengthThe length of history to consider while computing sensor values
These parameters can be configured by adding the sensor in the scene entity inside env.yaml in the following manner:
- contact_sensor_name:
    type: Sensor
    name: ContactSensor
    config: 
    prim_path: "/World/envs/env_.*/robot/.*"
    history_length: 3
Note that you need to make sure activate_contact_sensors flag is set to true for your robot.

Height Sensor

This is a simple height sensor that works as a ray caster to obtain the height values of points in a specified pattern.

Configuration

The configuration for the height sensor can be set up in the the configuration file. The following parameters are available:
ParameterDescription
OffsetThe offset of the height sensor with respect to robot’s frame of reference
Pattern ResolutionThe resolution of the grid pattern around the sensor
Pattern SizeThe start and end of the grid pattern
These parameters can be configured by adding the sensor in the scene entity inside env.yaml in the following manner:
- height_sensor_name:
    type: Sensor
    name: HeightSensor
    config:
    prim_path: "/World/envs/env_.*/robot/body"
    offset: 
        pos: [0.3, 0.0, 0.22]
        rot: [0.0, 0.0, 0.0, 1.0]
    pattern_cfg:
        resolution: 0.1 
        size: [1.6, 1.0]

LiDAR

This is a LiDAR sensor that works as a ray caster to obtain a point cloud around the sensor.

Configuration

The configuration for the height sensor can be set up in the the configuration file. The following parameters are available:
ParameterDescription
OffsetThe offset of the height sensor with respect to the robot’s frame of reference
Pattern SizeThe start and end of the grid pattern
Max DistanceThe maximum sensing distance of the height sensor
Vertical FOVThe vertical field of view of the sensor
Horizontal FOVThe horizontal field of view of the sensor
Horizontal ResolutionThe horizontal resolution of the sensor
ChannelsThe number of channels used by the sensor
These parameters can be configured by adding the sensor in the scene entity inside env.yaml in the following manner:
- lidar_sensor_name:
    type: Sensor
    name: LiDAR
    config:
        offset: 
            pos: [0.0, 0.0, 0.0] # add init (x, y, z) position  
            rot: [0.0, 0.0, 0.0, 0.0] # add init (x, y, z, w) quaternion
        pattern_cfg:
            channels: 16 
            vertical_fov_range: [-15.0, 15.0]
            horizontal_fov_range: [-180.0, 180.0]
            horizontal_res: 0.2
        max_distance: 100

IMU

The Inertial Measurement Unit (IMU) provides orientation and acceleration data by measuring the robot’s linear accelerations and angular velocities in its own body frame.

Configuration

The configuration for the IMU sensor can be set up in the the configuration file. The following parameters are available:
ParameterDescription
OffsetPose of the IMU relative to the robot’s frame of reference
Gravity BiasThe constant gravity vector to subtract from raw acceleration readings, as a 3-tuple (x, y, z) (m/s²)
These parameters can be configured by adding the sensor in the scene entity inside env.yaml in the following manner:
- imu_sensor_name:
    type: Sensor
    name: IMU
    config:
        prim_path: "/World/envs/env_.*/robot/body"
        offset: 
            pos: [0.0, 0.0, 0.0] # add init (x, y, z) position  
            rot: [0.0, 0.0, 0.0, 0.0] # add init (x, y, z, w) quaternion
        gravity_bias: [0.0, 0.0, 9.81]

Rectified Camera

This is a rectified camera sensor that applies intrinsic and extrinsic calibration to produce undistorted images (e.g., for stereo rigs or calibrated monocular setups).

Configuration

The following parameters are available on the RectifiedCameraCfg:
ParameterDescription
WidthThe width of the captured image
HeightThe height of the captured image
OffsetThe offset of the camera with respect to the robot’s frame of reference
DDistortion coefficients [k1, k2, p1, p2, (k3)].
KIntrinsic matrix, flattened [fx, 0, cx, 0, fy, cy, 0, 0, 1].
RRectification (rotation) matrix, flattened 3×3.
PProjection matrix, flattened 3×4 [fx′, 0, cx′, Tx, 0, fy′, cy′, Ty, 0, 0, 1, 0].
Clipping RangeThe clipping range of the camera
Focal LengthThe focal length of the camera
Focal DistanceThe focal distance of the camera
F StopAperture setting for spawn config (0.0 means wide open).
Projection TypeType of image projection — one of “pinhole”or”fisheye”.
Lock CameraWhether to lock camera’s transform or not.

Example

Add a rectified camera to your env.yaml like so:
- rectified_camera:
    type: Sensor
    name: RectifiedCamera
    config:
      prim_path: "/World/envs/env_*/stereo_camera"
      width: 640
      height: 480
      offset:
        pos: [0.0, 0.0, 1.2]
        rot: [0.0, 0.0, 0.0, 1.0]
      D: [0.1, -0.05, 0.001, 0.0005, 0.0]
      K: [600.0, 0.0, 320.0,
           0.0, 600.0, 240.0,
           0.0,   0.0,   1.0]
      R: [1.0, 0.0, 0.0,
          0.0, 1.0, 0.0,
          0.0, 0.0, 1.0]
      P: [600.0, 0.0, 320.0, 0.0,
          0.0, 600.0, 240.0, 0.0,
          0.0,   0.0,   1.0, 0.0]
      clipping_range: [0.1, 100000]
      focal_length: 24.0
      focus_distance: 500.0
      f_stop: 2.8
      projection_type: "pinhole"
      lock_camera: true