oneplanner / ml_package_oneplanner.param.yaml
borisww's picture
OnePlanner v1.0
f5a5b86
Raw History Blame Contribute Delete
3.87 kB
# Network description of the OnePlanner model in this directory (oneplanner_planner.onnx and
# bevfusion_lidar_feature.onnx), read by autoware_oneplanner as ml_package_<model_name>.param.yaml.
# It overrides the package defaults for this network; host and deployment behaviour (workspace,
# rates, tolerances, paths) stays in the package's oneplanner.param.yaml. See the package's
# docs/model_contract.md for the meaning of every field.
/**:
ros__parameters:
# The input convention the model was trained with; the node refuses any other.
input_convention: "oneplanner_v1"
# Which sensor input providers the model needs, matched by tensor name.
sensor_inputs: ["bev_feature"]
enable_context_inputs: true
# When the plan starts: at the newest odometry; the graph reads sensor_latency.
planning_time: "planning_time"
# Builder precision of the planner graph.
precision: "fp32"
context:
ego_history_interval_seconds: 0.1
# The graph does not read ego_curvature_bias.
curvature_bias:
enabled: false
tau_s: 2.0
min_speed_mps: 1.0
# The graph does not read lane_signals / route_signals.
signal_history:
enabled: false
steps: 7
step_s: 0.5
turn_indicators:
# The graph carries this input for a stable signature only; perturbing it changes no
# output. Bind a constant, subscribe to nothing.
enabled: false
bev_feature:
history_tensor: "bev_feature_history"
frames: 3
interval_seconds: 0.5
bev_half_extent_m: 122.4
extractor:
precision: "fp16"
feature_tensor: "bev_feature"
max_points_per_voxel: 32 # from the voxels input shape
use_intensity: true # 5 point features
voxels_num: [1, 128000, 256000] # [min, opt, max]
point_cloud_range: [-122.4, -122.4, -3.0, 122.4, 122.4, 5.0]
voxel_size: [0.17, 0.17, 0.2]
detection:
# The frozen BEVFusion detection head the extractor graph carries. It emits undecoded
# proposals; the node decodes and suppresses them with autoware_bevfusion's
# postprocessing and publishes ~/output/detected_objects.
enabled: true
# One Autoware class name per head class, in the head's label order. A head class
# with no ObjectClassification label is written as UNKNOWN.
# head classes: car, truck, bus, bicycle, pedestrian, traffic_cone, barrier
class_names: ["CAR", "TRUCK", "BUS", "BICYCLE", "PEDESTRIAN", "UNKNOWN", "UNKNOWN"]
num_proposals: 500
out_size_factor: 8
# Score thresholds per (distance band, class), calibrated for this head and applied as
# autoware_bevfusion applies detection_score_thresholds: the box centre's radial
# distance picks the first band whose upper limit exceeds it, and a box beyond the last
# band is dropped.
distance_bin_upper_limits: [50.0, 90.0, 121.0, 200.0]
# distance-major: one row per band, one column per head class
# CAR TRUCK BUS BICYCLE PEDESTRIAN TRAFFIC_CONE BARRIER
score_thresholds: [
0.194733, 0.167118, 0.109791, 0.245172, 0.150065, 0.12842, 0.043799, # [0, 50) m
0.221063, 0.18848, 0.168961, 0.160301, 0.152223, 0.15707, 0.1, # [50, 90) m
0.155292, 0.163172, 0.08902, 0.185649, 0.154218, 0.239001, 0.1, # [90, 121) m
0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 # [121, 200) m
]
postprocess:
prediction_tensor: "trajectory"
extra_trajectory_tensors: ["prior_trajectory"]
# Logits of DISABLE, ENABLE_LEFT, ENABLE_RIGHT, published as ~/output/turn_indicators.
turn_indicator:
tensor: "turn_indicator_logits"
horizon_seconds: 6.0 # 60 steps
time_step: 0.1
generator_name: "OnePlanner"