Camera creation, configuration, calibration, render products, lens distortion, and runtime sensor wrapping in Isaac Sim 6 / Kit 110. Modern path: `isaacsim.sensors.experimental.rtx.RtxCamera` (authoring) + `CameraSensor` / `TiledCameraSensor` / `SingleViewDepthCameraSensor` (runtime) on top of `UsdGeomCamera`. Covers AOVs / annotators, OpenCV / fisheye / LUT lens distortion via `OmniLensDistortion*API` schemas, OpenCV intrinsics conversion, animation, and Replicator randomization. Use when creating/configuring camera prims, attaching annotators, applying distortion models, converting real-world calibration to Omniverse units, animating cameras, or generating synthetic data with Replicator.
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Um comando direto ignora o prompt de revisão. Verifique a origem antes de executá-lo.
Instruções da origem · Visualização somente leitura
name
isaac-camera
description
Camera creation, configuration, calibration, render products, lens distortion, and runtime sensor wrapping in Isaac Sim 6 / Kit 110. Modern path: `isaacsim.sensors.experimental.rtx.RtxCamera` (authoring) + `CameraSensor` / `TiledCameraSensor` / `SingleViewDepthCameraSensor` (runtime) on top of `UsdGeomCamera`. Covers AOVs / annotators, OpenCV / fisheye / LUT lens distortion via `OmniLensDistortion*API` schemas, OpenCV intrinsics conversion, animation, and Replicator randomization. Use when creating/configuring camera prims, attaching annotators, applying distortion models, converting real-world calibration to Omniverse units, animating cameras, or generating synthetic data with Replicator.
Camera (Isaac Sim 6 / Kit 110)
Two layers stack:
UsdGeomCamera — the USD camera prim (focal length, apertures, clipping, transform).
isaacsim.sensors.experimental.rtx — the runtime sensor wrapper (authoring class + runtime sensor class). Use this for any new code that captures frames, attaches annotators, or applies lens distortion.
The legacy isaacsim.sensors.camera.Camera class still works but the extension itself is a stub (no Python). The implementation moved to isaacsim.sensors.experimental.rtx; new code should use that.
Generate synthetic data with Replicator randomization.
Set up Metropolis cameras for MEGA scenarios.
Fundamentals
Unit system
OpenUSD expresses optical properties in tenths of a scene unit.
Property
Units
Notes
Focal length
tenths of scene unit
35 = 35 mm when scene units are cm
Horizontal aperture
tenths of scene unit
sensor / film width
Vertical aperture
tenths of scene unit
sensor / film height
Focus distance
scene units
perfectly-sharp distance
Clipping range
scene units
near / far clip planes
Meter stage: a 25 mm focal length is 0.025.
Coordinate system
Camera looks down -Z; +Y is up, +X is right. Same regardless of stage up-axis.
Path A — RtxCamera + CameraSensor (recommended)
RtxCamera wraps a UsdGeom.Camera prim with OmniSensorAPI applied; CameraSensor builds a Replicator render product on top and exposes annotators. Both extend the isaacsim.core.experimental.prims.XformPrim family, so the standard pose / transform methods apply.
TiledCameraSensor batches many cameras into one render call; useful for multi-view RL data collection. SingleViewDepthCameraSensor simulates stereo depth via OmniSensorDepthSensorSingleViewAPI.
Lens distortion (OpenCV fisheye / pinhole)
Set via API schemas + USD attributes at authoring time. The schema and attribute names are stable; use them through RtxCamera's schemas and attributes constructor args, or Apply them on the camera prim directly.
from pxr import Usd, Gf
for frame, pos inenumerate(camera_positions):
cam.GetPrim().GetAttribute("xformOp:translate").Set(
Gf.Vec3d(*pos), Usd.TimeCode(frame)
)
Replicator randomization
import omni.replicator.core as rep
with rep.new_layer():
cameras = rep.get.prims(path_pattern="/World/Camera.*")
with rep.trigger.on_frame(num_frames=200):
with cameras:
rep.modify.pose(
position=rep.distribution.uniform((-5, -5, 2), (5, 5, 8)),
look_at="/World/Target",
)
Sensor checker / supported configs
For asset-driven lidar / camera configs and validation helpers, see isaacsim.sensors.experimental.rtx.SUPPORTED_LIDAR_CONFIGS and the sensor_checker module bundled with the extension. The Replicator AOV annotator names match the standard registry: rgb, distance_to_image_plane, distance_to_camera, normals, semantic_segmentation, instance_segmentation, bounding_box_2d_tight, bounding_box_2d_loose, bounding_box_3d, camera_params, pointcloud, occlusion.