Scenario Planner
Node ID: scenarioPlanner · Role: Sink · Realtime config: no
Description
Scenario planner sink, which communicates with the renderer. Takes a vehicle pose which is used to drive the activations and car position in the scenario. Optionally can also drive additional objects in the scene with FusedPoses from vehicle or IMU-Optical fusion.
Inputs / Outputs
- Inputs:
car(FusedPose) - FusedPose - Main Vehicle - /car - Outputs: (none)
Config aliases
ScenarioPlanner, scenarioPlanner
Properties
The following fields are exposed in the node’s Properties panel in the UI. Types map to UI widgets (e.g. string → text input, number → numeric, boolean → toggle, select → dropdown, json → JSON editor).
| Key | Label | Type | Default | Options | Description / Notes |
|---|---|---|---|---|---|
scenario | Scenario | select | "" | `` | Scenario that should be used to drive the node. |
opticalTrackingOffset | Optical Tracking Offset | vector3 | {"x":0,"y":0,"z":0} | — | Vector added to the vehicle position before it is used by the rendering tool. It represents the offset between the vehicle position and the origin of the optical tracking. hidden in UI |
inCarPoseAxes | In-car pose axes | directions | ["right","up","backward"] | — | Axes convention of the input FusedPoses which are used for in-car tracked objects. hidden in UI |
poseInputs | Pose Inputs | json | [] | — | hidden in UI |
Example node definition
A full node definition in config.json looks like the block below. Paste it under the sinks key of your config, keyed by the node’s instance name (any identifier; it doesn’t have to match the node ID).
{
"sinks": {
"scenarioPlanner": {
"inputEndpoints": [
"inproc://car_data"
],
"inputDataFilter": [
"FusedPose"
],
"settings": {
"inCarPoseAxes": [
"right",
"up",
"backward"
],
"opticalTrackingOffset": {
"x": 0,
"y": 0,
"z": 0
},
"poseInputs": [],
"scenario": ""
}
}
}
}
Field reference
| Field | Purpose |
|---|---|
inputEndpoints | List of upstream endpoints this node connects to (outEndpoint / dataEndpoint values from upstream nodes). |
inputDataFilter | Optional whitelist of data types. Messages whose type isn’t in the list are dropped at the subscriber. |
settings | All user-configurable fields — see the Properties table above. |
Connections can also be declared at the top-level
connectionsarray whensettings.explicitConnectionsistrue, as an alternative to fillinginputEndpointson each node.