Refer to CONTRIBUTING.md for the coordinate frame conventions used by the runtime services.
The simulator has multiple "clocks" ticking under the hood, triggering events for each camera,
pose reporting and policy decision-making. In general a policy decision may be requested "out of
sync" with the input information, requiring the policy to extrapolate to the current state (pose) in
order to make decisions for the future. This is challenging and may be desirable to turn off to
simplify debugging. The example config below explains how to do that. The flag
scenarios[i].assert_zero_decision_delay enables an assertion to warn the user if they have
misconfigured the remaining parameters.
scenarios:
- # ...
control_timestep_us: 99_000 # a multiple of camera's `frame_interval_us`
pose_reporting_interval_us: 0 # 0 = report at `control_timestep_us` rate (default)
# The runtime starts from the rig egomotion start, anchors rendering at
# the first configured USDZ camera frame, and starts policy after
# force_gt_duration_us.
assert_zero_decision_delay: true # adds an assertion to error out if something is misconfigured
cameras:
- # ...
frame_interval_us: 33_000
shutter_duration_us: 15_000