Camera Control#
Overview#
Isaacsim.Replicator.Agent (IRA) provides randomization for the cameras. By default, the cameras spawned by IRA will look at the characters in the stage. Additionally, IRA includes a camera calibration extension that provides the intrinsic and extrinsic matrices of the virtual fixed cameras in the simulation.
Camera Placement Randomization#
Introduction#
Note
- The randomization feature can be turned off by setting - aim_camera_to_characterto- Falseand the cameras will be looking at the world origin instead.
- If there are no valid positions to place the camera due to no NavMesh or occlusions, all cameras will be looking at the world origin. 
Attributes#
Illustration#
 
 
Attributes#
aim_camera_to_character
Whether to enable the randomization features. If this is set to
False, the cameras will be looking at the World origin.
Default Value:
True
character_focus_height
This attribute determines where the camera looks. The camera’s focus point is
character_focus_height + character_root_position
Default Value (meter):
0.7
max_camera_distance
Camera’s max distance from the character that it’s looking at.
Default Value (meter):
14
max_camera_focallength
Camera’s max focal length range
Default Value (meter):
23
max_camera_height
Camera’s max height value (translation’s z axis value) range
Default Value (meter):
3Note
max_camera_heightmust be lower thanmax_camera_distance.
max_camera_look_down_angle
The Max angle between camera and the ground
Default Value (degree):
60
min_camera_distance
Camera’s min distance from the character that it’s looking at.
Default Value (meter):
6.5
min_camera_focallength
Camera’s min focal length range
Default Value (meter):
13
min_camera_height
Camera’s min height value (translation’s z axis value) range
Default Value (meter):
2Note
min_camera_heightmust be higher thancharacter_focus_height.
If
min_camera_height == max_camera_height, all the cameras will be placed at the same height.
min_camera_look_down_angle
The Min angle between camera and the ground
Default Value (degree):
0Note
If
min_camera_look_down_angle == max_camera_look_down_angle, all the cameras will be placed at the same angle.
randomize_camera_info
Whether to randomize the camera’s focal length. If this is turned off, all cameras will have the same focal length.
Default Value:
True
Setting Attributes#
The attributes mentioned above can be set based on your simulation requirement. You can either set it from the UI or using a script.
From the UI#
- Go to Window > Extension, and search “debug settings” 
- Install and enable the extension - omni.kit.debug.settingsand a Debug Setting UI window will appear.
- Search - isaacsim.replicator.agent, then go to “persistent” tab to find all the IRA settings.
 
- Adjust the camera randomization settings as you like. 
From the Script#
- Set - target_[attribute name]to the value you want in the following script.
- Run the script from the Script Editor, which can be accessed from Window > Script Editor. 
import carb
# activate the feature by setting aim_camera_to_character to true
my_setting = carb.settings.get_settings()
# set your target value in here
target_aim_camera_to_character = True
target_character_focus_height = 0.7
target_max_camera_distance = 14
target_min_camera_distance = 6.5
target_max_camera_focallength = 23
target_min_camera_focallength = 13
target_max_camera_height = 3
target_min_camera_height = 2
target_max_camera_look_down_angle = 60
target_min_camera_look_down_angle = 0
target_randomize_camera_info = True
# set whether to turn on the "aim_camera_to_character" randomization
aim_camera_to_character = "/persistent/exts/isaacsim.replicator.agent/aim_camera_to_character"
my_setting.set(aim_camera_to_character, target_aim_camera_to_character)
# set camera focus height
character_focus_height = "/persistent/exts/isaacsim.replicator.agent/character_focus_height"
my_setting.set(character_focus_height, target_character_focus_height)
# set max camera distance
max_camera_distance = "/persistent/exts/isaacsim.replicator.agent/max_camera_distance"
my_setting.set(max_camera_distance, target_max_camera_distance)
# set min camera distance
min_camera_distance = "/persistent/exts/isaacsim.replicator.agent/min_camera_distance"
my_setting.set(min_camera_distance, target_min_camera_distance)
# set max camera focal length
max_camera_focallength = "/persistent/exts/isaacsim.replicator.agent/max_camera_focallength"
my_setting.set(max_camera_focallength, target_max_camera_focallength)
# set min camera focal length
min_camera_focallength = "/persistent/exts/isaacsim.replicator.agent/min_camera_focallength"
my_setting.set(min_camera_focallength, target_min_camera_focallength)
# set min camera height
min_camera_height = "/persistent/exts/isaacsim.replicator.agent/min_camera_height"
my_setting.set(min_camera_height , target_min_camera_height)
# set max camera height
max_camera_height = "/persistent/exts/isaacsim.replicator.agent/max_camera_height"
my_setting.set(max_camera_height , target_max_camera_height)
# set max camera look down angle
max_camera_look_down_angle = "/persistent/exts/isaacsim.replicator.agent/max_camera_look_down_angle"
my_setting.set(max_camera_look_down_angle, target_max_camera_look_down_angle)
# set min camera look down angle
min_camera_look_down_angle = "/persistent/exts/isaacsim.replicator.agent/min_camera_look_down_angle"
my_setting.set(min_camera_look_down_angle, target_min_camera_look_down_angle)
# set whether to randomize the camera focal length
randomize_camera_info = "/persistent/exts/isaacsim/replicator.agent/randomize_camera_info"
my_setting.set(randomize_camera_info, target_randomize_camera_info)
Advanced Camera Tools#
We also provide a set of advanced camera tools to help you with camera placement and calibration by an extension called isaacsim.sensors.rtx.placement.
For more information, refer to the RTX Sensors Placement and Calibration documentation.