当前位置: 首页 > news >正文

Apollo10.0学习——planning模块(9)之参数详解二

planning_component加参数文件planning_config.pb.txt
public_road_planner.cc加参数文件public_road_planner_config.pb.txt(内置各种场景)
scenarios加载每个场景的scenario_conf.pb.txt h和pipeline.pb.txtpipeline.pb.txt

参数

  • bare_intersection_unprotected
  • emergency_pull_over
  • emergency_stop
  • stop_sign_unprotected
  • traffic_light_protected
  • traffic_light_unprotected_left_turn
  • traffic_light_unprotected_right_turn
  • yield_sign
  • park_and_go
  • pull_over
  • valet_parking

bare_intersection_unprotected

核心参数解析

参数类型默认值单位功能说明
start_bare_intersection_scenario_distance浮点25.0场景触发距离
- 车辆距离无保护路口 25米 时启动该场景的决策与规划逻辑
- 该距离需确保车辆有足够时间进行路权判断和路径调整(如减速或停车观察)
enable_explicit_stop布尔false-显式停车开关
- false: 车辆通过动态博弈(如减速让行)代替完全停车
- true: 强制在路口前完全停止(类似 STOP 标志策略)
approach_cruise_speed浮点6.7056m/s (≈15 mph)接近路口巡航速度
- 车辆在路口前 非紧急状态下的推荐行驶速度
- 该值约为 24 km/h,平衡安全性与通行效率
stop_distance浮点0.5停车缓冲距离
- 车辆停止线前的安全余量(防止车身越过停止线)

参数联动逻辑

  1. 场景触发阶段

    • 当车辆距离路口 25米 (start_bare_intersection_scenario_distance) 时:
      • 规划模块开始监控路口交通流(如对向车、行人)。
      • 速度控制器将目标速度调整至 6.7056 m/s (approach_cruise_speed)。
  2. 冲突决策阶段

    • 若检测到潜在冲突(如横向来车未减速):
      • enable_explicit_stop=false 时:触发渐进式减速(减速度不超过 max_deceleration)。
      • enable_explicit_stop=true 时:立刻制动至停止线前 0.5米 (stop_distance)。
  3. 路权博弈阶段

    • 无保护路口通常依赖 V2X 或视觉感知判断路权,若持续无法获得通行权:
      • 车辆会在 stop_distance 处停车等待,直至超时或路权清晰。

调参建议

场景特征参数调整方向
高交通流量路口- start_bare_intersection_scenario_distance(延长决策时间)
- approach_cruise_speed(降低接近速度)
低能见度路口- stop_distance(增加安全余量)
- approach_cruise_speed
激进驾驶策略- approach_cruise_speed
- start_bare_intersection_scenario_distance

典型错误配置后果

  • start_bare_intersection_scenario_distance 过小(如 10米):
    车辆可能因反应时间不足导致急刹或越过停止线。
  • enable_explicit_stop=false 但未配置博弈策略
    车辆可能因动态博弈失败引发路口僵局。
  • stop_distance=0
    定位误差可能导致车轮压线,违反交通规则。

scenario_conf.pb.txt文件

  start_bare_intersection_scenario_distance: 25.0enable_explicit_stop: falseapproach_cruise_speed: 6.7056  # 15 mphstop_distance: 0.5
# 场景触发距离 - 车辆距离无保护路口 25米 时启动该场景的决策与规划逻辑- 该距离需确保车辆有足够时间进行路权判断和路径调整(如减速或停车观察)
# 显式停车开关 - false: 车辆通过动态博弈(如减速让行)代替完全停车- true: 强制在路口前完全停止(类似 STOP 标志策略)
# 接近路口巡航速度 - 车辆在路口前 非紧急状态下的推荐行驶速度- 该值约为 24 km/h,平衡安全性与通行效率
# 停车缓冲距离 - 车辆停止线前的安全余量(防止车身越过停止线)

emergency_pull_over

一、 紧急制动参数

参数类型默认值单位功能说明
max_stop_deceleration浮点4.5m/s²最大制动减速度
- 紧急停车时的最大减速度限制(防止抱死或失控)
- 参考值:普通轿车紧急制动约 -6~-8 m/s²,此处保守设置以兼顾舒适性
slow_down_deceleration_time浮点3.0渐进减速时间
- 从当前速度到 target_slow_down_speed 的过渡时间(匀减速模型)
target_slow_down_speed浮点1.0m/s减速目标速度
- 靠边前的低速巡航速度(约 3.6 km/h),便于精确控制停车位置
stop_distance浮点1.5停车缓冲距离
- 车辆最终停车位置距目标点的预留空间(防止碰撞路肩或障碍物)

二、 路径优化配置(pull_over_path.pb.txt)
2.1 路径平滑代价函数权重

path_optimizer_config {l_weight: 1.0          // 横向偏差权重(偏离参考线惩罚)dl_weight: 20.0        // 横向速度(一阶导数)权重ddl_weight: 1000.0     // 横向加速度(二阶导数)权重dddl_weight: 50000.0   // 横向加加速度(三阶导数,急动度)权重lateral_derivative_bound_default: 2.0  // 横向导数变化率约束(m/s³)
}
  • 设计逻辑
    • 高阶导数权重(ddl > dl > l)确保路径平滑性优先于绝对位置精度。
    • 急动度(dddl)高权重减少方向突变,提升乘坐舒适性。

2.2 泊车区域约束

参数类型默认值单位说明
pull_over_destination_to_adc_buffer浮点25.0触发距离
- 车辆距离目标点 25米 时启动泊车路径规划
pull_over_destination_to_pathend_buffer浮点4.0路径终点冗余
- 路径终点超出目标点的距离(确保完整停车动作)
pull_over_road_edge_buffer浮点0.15路肩安全距离
- 停车时车轮与路缘的最小横向间距

2.3 动态调整因子

参数类型默认值单位功能说明
pull_over_approach_lon_distance_adjust_factor浮点1.6-纵向距离调节因子
- 动态调整变道切入距离(距离越短,因子越大)

2.4 决策权重与策略

参数类型默认值说明
pull_over_weight整型2000场景优先级权重
- 值越高,规划器越倾向于选择泊车路径(相对于其他场景)
pull_over_direction枚举BOTH_SIDE泊车方向
- 可选 LEFT_SIDE/RIGHT_SIDE/BOTH_SIDE,允许双侧停车增加灵活性
pull_over_position枚举NEAREST_POSITION停车点选择策略
- NEAREST_POSITION:最近有效停车位
- FIXED_POSITION:固定目标点(需高精地图标记)

三、 参数协同逻辑

  1. 触发阶段

    • 当车辆距离目标点 25米 (pull_over_destination_to_adc_buffer),启动紧急停车场景。
  2. 减速阶段

    • 4.5 m/s² 最大减速度,在 3秒 内将车速降至 1.0 m/s,确保平缓制动。
  3. 路径规划

    • 路径平滑器通过高权重(dddl_weight=50000)抑制急动度,生成舒适轨迹。
    • 确保停车后距离路肩 0.15米 (pull_over_road_edge_buffer),防止剐蹭。
  4. 终止条件

    • 车辆在目标点前 1.5米 (stop_distance) 完全停止,等待系统复位或人工接管。

四、 参数调优建议

场景需求参数调整方向
紧急程度高- ↑ max_stop_deceleration(需考虑轮胎抓地力极限)
- ↓ slow_down_deceleration_time
复杂道路环境- ↑ pull_over_road_edge_buffer(路肩不平整时)
- ↓ pull_over_destination_to_adc_buffer(缩短反应距离)
舒适性优先- ↓ dddl_weight (允许更柔和的方向变化)
- ↑ slow_down_deceleration_time

pull_over_path.pb.txt

path_optimizer_config {l_weight: 1.0 # 横向偏差权重(偏离参考线惩罚)dl_weight: 20.0 # 横向速度(一阶导数)权重ddl_weight: 1000.0 # 横向加速度(二阶导数)权重dddl_weight: 50000.0 # 横向加加速度(三阶导数,急动度)权重lateral_derivative_bound_default: 2.0 # 横向加加速度(三阶导数,急动度)权重
}
pull_over_destination_to_adc_buffer: 25.0 # 触发距离- 车辆距离目标点 25米 时启动泊车路径规划
pull_over_destination_to_pathend_buffer: 4.0 # 路径终点冗余- 路径终点超出目标点的距离(确保完整停车动作)
pull_over_road_edge_buffer: 0.15 # 路肩安全距离- 停车时车轮与路缘的最小横向间距
pull_over_approach_lon_distance_adjust_factor: 1.6 # 纵向距离调节因子- 动态调整变道切入距离(距离越短,因子越大)
pull_over_weight: 2000  # 场景优先级权重- 值越高,规划器越倾向于选择泊车路径(相对于其他场景)
pull_over_direction: BOTH_SIDE # 泊车方向- 可选 LEFT_SIDE/RIGHT_SIDE/BOTH_SIDE,允许双侧停车增加灵活性
pull_over_position: NEAREST_POSITION # 停车点选择策略- NEAREST_POSITION:最近有效停车位- FIXED_POSITION:固定目标点(需高精地图标记)

scenario_conf.pb.txt

  max_stop_deceleration: 4.5slow_down_deceleration_time: 3.0target_slow_down_speed: 1.0stop_distance: 1.5# 最大制动减速度- 紧急停车时的最大减速度限制(防止抱死或失控)- 参考值:普通轿车紧急制动约 -6~-8 m/s²,此处保守设置以兼顾舒适性# 渐进减速时间- 从当前速度到 target_slow_down_speed 的过渡时间(匀减速模型)# 减速目标速度- 靠边前的低速巡航速度(约 3.6 km/h),便于精确控制停车位置# 停车缓冲距离- 车辆最终停车位置距目标点的预留空间(防止碰撞路肩或障碍物)

emergency_stop

  max_stop_deceleration: 6.0 # 最大制动减速度- 紧急停车时的最大减速度限制(防止抱死或失控)- 参考值:普通轿车紧急制动约 -6~-8 m/s²stop_distance: 1.0 # 停车缓冲距离- 车辆最终停车位置距目标点的预留空间(防止碰撞路肩或障碍物)

stop_sign_unprotected

以下是 Apollo 中 stop_sign_unprotected(无保护停车标志)场景参数的详细解释,结合交通规则和 Apollo 场景策略设计逻辑整理:


核心参数解析

参数类型默认值单位功能说明
start_stop_sign_scenario_distance浮点4.0m场景触发距离
车辆距离停车线 4米 时激活该场景逻辑,启动停车决策流程
watch_vehicle_max_valid_stop_distance浮点5.0m他车有效停车范围
监测他车是否在停车线 5米内完全停下,用于判断路权(超出此距离的他车停车视为无效)
max_valid_stop_distance浮点2.0m自车有效停车范围
自主车辆必须在停车线 2米内完全静止,否则触发二次停车修正
stop_duration_sec浮点1.0s完全停车持续时间
车辆静止后需保持 1秒 以满足交通法规要求
stop_timeout_sec浮点8.0s停车等待超时
自车完成有效停车后,若 8秒内未获得通行权,则尝试缓慢切入(Creep)
creep_timeout_sec浮点10.0s缓行超时时间
持续缓行 10秒仍无法通行,则重新完全停车并等待

缓行阶段参数(creep_stage_config)

参数类型默认值单位功能说明
min_boundary_t浮点6.0s缓行时间窗口
进入缓行模式后至少维持 6秒,确保充分观察路口动态
ignore_max_st_min_t浮点0.1s瞬时障碍忽略阈值
持续时间短于 0.1秒的障碍物(如误检)将被忽略
ignore_min_st_min_s浮点15.0m远距离障碍忽略阈值
距离自车 15米外的静止障碍 不参与缓行决策

参数联动逻辑

  1. 场景触发

    • 当车辆距离停车线 4米 时,激活 stop_sign_unprotected 场景,开始检测他车状态。
  2. 停车验证

    • 自车需在 2米内停止max_valid_stop_distance),否则触发路径重规划。
    • 他车若未在 5米内停稳watch_vehicle_max_valid_stop_distance),则认为其未遵守停车规则,自车优先通行。
  3. 等待与超时

    • 保持静止 1秒stop_duration_sec)后,若路口安全则通行。
    • 8秒无路权stop_timeout_sec)则进入缓行模式,以低速(如 0.5m/s)试探性前进。
  4. 缓行阶段调控

    • 至少维持 6秒缓行min_boundary_t),期间忽略 0.1秒瞬时障碍15米外静止障碍
    • 10秒缓行无果creep_timeout_sec),则复位至完全停车状态。

scenario_conf.pb.txt

start_stop_sign_scenario_distance: 4.0 # 场景触发距离 车辆距离停车线 4米 时激活该场景逻辑,启动停车决策流程
watch_vehicle_max_valid_stop_distance: 5.0 # 他车有效停车范围 监测他车是否在停车线 5米内完全停下,用于判断路权(超出此距离的他车停车视为无效)
max_valid_stop_distance: 2.0 # 自车有效停车范围 自主车辆必须在停车线 2米内完全静止,否则触发二次停车修正
stop_duration_sec: 1.0 # 完全停车持续时间 车辆静止后需保持 1秒 以满足交通法规要求
stop_timeout_sec: 8.0 # 停车等待超时 自车完成有效停车后,若 8秒内未获得通行权,则尝试缓慢切入(Creep)
creep_timeout_sec: 10.0 # 缓行超时时间 持续缓行 10秒仍无法通行,则重新完全停车并等待
creep_stage_config {min_boundary_t: 6.0 # 缓行时间窗口 进入缓行模式后至少维持 6秒,确保充分观察路口动态ignore_max_st_min_t: 0.1 # 瞬时障碍忽略阈值 持续时间短于 0.1秒的障碍物(如误检)将被忽略ignore_min_st_min_s: 15.0 # 远距离障碍忽略阈值 距离自车 15米外的静止障碍 不参与缓行决策
}

traffic_light_protected

start_traffic_light_scenario_distance: 5.0 # 场景触发距离 车辆距离红绿灯 5米 时激活该场景逻辑
max_valid_stop_distance: 2.0 # 有效停车距离 车辆必须在红灯停止线前 2米内完全静止,否则视为无效停车

traffic_light_unprotected_left_turn

以下是 Apollo 中 traffic_light_unprotected_left_turn(无保护红灯左转)场景参数的详细解释,结合交通规则与自动驾驶决策逻辑整理:


核心参数解析

参数类型默认值单位功能说明
start_traffic_light_scenario_distance浮点30.0场景触发距离
车辆距离红绿灯 30米 时激活场景逻辑,开始左转决策。
(左转需更长预判距离,因需观察对向直行车流和行人)
approach_cruise_speed浮点2.78m/s(≈10 km/h)接近速度
车辆驶向路口时的目标巡航速度,平衡安全与效率。
(较低速度确保稳定切入对向车道间隙)
max_valid_stop_distance浮点2.0有效停车距离
车辆必须在停止线前 2米内完全静止,否则触发路径重规划。
(与定位精度匹配,防止越线)
creep_timeout_sec浮点10.0缓行超时时间
持续缓行 10秒 无通行机会,则退回完全停车状态。
max_adc_speed_before_creep浮点5.56m/s(≈20 km/h)缓行前最大车速
进入缓行模式前车速需 ≤ 5.56 m/s,防止高速状态下紧急避让。

缓行阶段参数(creep_stage_config)

参数类型默认值单位功能说明
min_boundary_t浮点6.0最小缓行时间窗口
进入缓行后维持至少 6秒 ,充分观察对向车流间隙。
(左转需更长时间判断对向车速和距离)
ignore_max_st_min_t浮点0.1瞬时障碍忽略阈值
持续时间 < 0.1秒 的障碍物(如传感器噪点)将被忽略。
ignore_min_st_min_s浮点15.0远距离障碍忽略阈值
距离自车 > 15米 的对向车辆不参与缓行决策。
(聚焦近距离冲突)

参数联动逻辑

  1. 场景触发与减速接近

    • 车辆距红绿灯 30米 时激活场景,速度降至 10 km/h
    • 若检测到红灯且无保护左转许可,开始停车决策。
  2. 停车与缓行切换

    • 车辆需在 2米内完全静止 ,否则触发二次停车修正。
    • 静止后若路口复杂(如对向车流密集),以 ≤20 km/h 车速缓行试探。
  3. 缓行阶段冲突处理

    • 6秒内 持续监测对向车流间隙,忽略 0.1秒瞬时干扰(如飞鸟、落叶)。
    • 10秒未完成左转 ,退回停车状态重新评估。

左转场景特殊性(对比右转)

维度左转场景右转场景
触发距离30米(需提前观察对向车流)5米(仅需关注横向行人)
接近速度10 km/h(复杂冲突点)15 mph(≈24 km/h)
风险焦点对向直行车辆、行人横向行人、自行车
法规约束部分地区禁止无保护左转部分地区允许红灯右转

调参建议

场景特征参数调整方向
高密度对向车流- ↑ min_boundary_t=8.0(延长观察时间)
- ↓ max_adc_speed_before_creep=3.0(更低缓行速度)
低能见度路口- ↑ start_traffic_light_scenario_distance=40.0(提前触发)
- ↓ approach_cruise_speed=1.5(更慢接近)
激进通行策略- ↓ creep_timeout_sec=5.0(更快重置)
- ↑ ignore_min_st_min_s=20.0(忽略更远障碍)

典型问题与参数影响

  • 触发距离过短(如 15米):可能导致车辆未充分减速,紧急制动引发乘客不适。
  • 缓行速度过高(如 8 m/s):难以在复杂车流中安全插入空隙,增加碰撞风险。
  • 瞬时干扰误判ignore_max_st_min_t=0.1 可过滤 90% 以上的雷达噪点干扰。

scenario_conf.pb.txt

start_traffic_light_scenario_distance: 30.0 # 场景触发距离 车辆距离红绿灯 5米 时激活该场景逻辑
approach_cruise_speed: 2.78 # 接近速度 车辆驶向路口时的目标巡航速度,平衡安全与效率。(较低速度确保稳定切入对向车道间隙)
max_valid_stop_distance: 2.0  # 有效停车距离 车辆必须在红灯停止线前 2米内完全静止,否则视为无效停车
creep_timeout_sec: 10.0  # 缓行试探超时时间持续缓行 10秒 仍无法通行,则退回完全停止状态
max_adc_speed_before_creep: 5.56 # 缓行前最大车速进入缓行模式前车辆速度需 ≤ 3.0 m/s(≈10.8 km/h)
creep_stage_config {min_boundary_t: 6.0 # 最小缓行时间窗口进入缓行后维持至少 6秒,确保充分观察横向交通流ignore_max_st_min_t: 0.1 # 瞬时障碍忽略阈值持续时间 < 0.1秒 的障碍物(如传感器噪点)将被忽略ignore_min_st_min_s: 15.0 # 远距离障碍忽略阈值距离自车 > 15米 的静止障碍物不参与缓行决策
}

traffic_light_unprotected_right_turn

无保护红灯右转


核心参数解析

参数类型默认值单位功能说明
start_traffic_light_scenario_distance浮点5.0场景触发距离
车辆距离红绿灯 5米 时激活该场景逻辑,开始红灯右转决策流程
enable_right_turn_on_red布尔false-红灯右转开关
false: 禁止红灯右转(必须等待绿灯)
true: 允许红灯右转(需满足完全停止条件)
max_valid_stop_distance浮点2.0有效停车距离
车辆必须在红灯停止线前 2米内完全静止,否则视为无效停车
min_pass_s_distance浮点3.0最小通行安全距离
右转时与横向行人/车辆的最小纵向安全间距(防止抢行)
red_light_right_turn_stop_duration_sec浮点3.0红灯右转停车持续时间
车辆需完全静止至少 3秒(满足法规要求)
creep_timeout_sec浮点10.0缓行试探超时时间
持续缓行 10秒 仍无法通行,则退回完全停止状态
max_adc_speed_before_creep浮点3.0m/s缓行前最大车速
进入缓行模式前车辆速度需 ≤ 3.0 m/s(≈10.8 km/h)

缓行阶段参数(creep_stage_config)

参数类型默认值单位功能说明
min_boundary_t浮点6.0最小缓行时间窗口
进入缓行后维持至少 6秒,确保充分观察横向交通流
ignore_max_st_min_t浮点0.1瞬时障碍忽略阈值
持续时间 < 0.1秒 的障碍物(如传感器噪点)将被忽略
ignore_min_st_min_s浮点15.0远距离障碍忽略阈值
距离自车 > 15米 的静止障碍物不参与缓行决策

参数联动逻辑

  1. 场景触发与停车验证

    • 车辆距离红绿灯 5米 时触发场景。
    • enable_right_turn_on_red=true,车辆需在 2米内完全停止 并保持 3秒(满足法规)。
  2. 缓行阶段

    • 停止后若路口安全(无横向冲突),以 ≤ 3.0 m/s 车速缓行。
    • 缓行期间:
      • 忽略 0.1秒内出现 的瞬时障碍,减少误刹。
      • 忽略 15米外静止障碍,聚焦近距离风险。
  3. 冲突处理与超时

    • 10秒缓行无进展:退回停车等待状态,重新评估路权。
    • 持续6秒缓行:强制维持低速观察,避免频繁启停。

场景策略与法规映射

地区法规特性参数调整建议
允许红灯右转(如美国)enable_right_turn_on_red=true + red_light_right_turn_stop_duration_sec=3.0
禁止红灯右转(如中国)enable_right_turn_on_red=false(车辆需等待绿灯)
复杂路口(行人密集)min_pass_s_distance=4.0(增大安全间距)

调参注意事项

  • 安全冗余设计max_valid_stop_distance=2.0 需配合定位精度(通常 ≤0.2米),避免停车越线。
  • 传感器误差补偿ignore_max_st_min_t=0.1 过滤激光雷达/相机短时噪点。
  • 效率优化:在低流量区域可 ↓ red_light_right_turn_stop_duration_sec=1.5(需法规允许)。

scenario_conf.pb.txt

start_traffic_light_scenario_distance: 5.0 # 场景触发距离 车辆距离红绿灯 5米 时激活该场景逻辑,开始红灯右转决策流程
enable_right_turn_on_red: false # 红灯右转开关 false: 禁止红灯右转(必须等待绿灯)true: 允许红灯右转(需满足完全停止条件)
max_valid_stop_distance: 2.0 # 有效停车距离 车辆必须在红灯停止线前 2米内完全静止,否则视为无效停车
min_pass_s_distance: 3.0 # 最小通行安全距离 右转时与横向行人/车辆的最小纵向安全间距(防止抢行)
red_light_right_turn_stop_duration_sec: 3.0 # 红灯右转停车持续时间 车辆需完全静止至少 3秒(满足法规要求)
creep_timeout_sec: 10.0 # 缓行试探超时时间 持续缓行 10秒 仍无法通行,则退回完全停止状态
max_adc_speed_before_creep: 3.0 # 缓行前最大车速 进入缓行模式前车辆速度需 ≤ 3.0 m/s(≈10.8 km/h)
creep_stage_config { min_boundary_t: 6.0 #最小缓行时间窗口 进入缓行后维持至少 6秒,确保充分观察横向交通流ignore_max_st_min_t: 0.1 # 瞬时障碍忽略阈值 持续时间 < 0.1秒 的障碍物(如传感器噪点)将被忽略ignore_min_st_min_s: 15.0 #远距离障碍忽略阈值 距离自车 > 15米 的静止障碍物不参与缓行决策
}

yield_sign

  start_yield_sign_scenario_distance: 10.0 #  # 场景触发距离 车辆距离红绿灯 10米 时激活该场景逻辑max_valid_stop_distance: 4.5  # 有效停车距离  4.5米内完全静止,否则视为无效停车creep_timeout_sec: 10.0 #  # 缓行试探超时时间 持续缓行 10秒 仍无法通行,则退回完全停止状态creep_stage_config {min_boundary_t: 6.0  # 最小缓行时间窗口 进入缓行后维持至少 6秒,确保充分观察横向交通流ignore_max_st_min_t: 0.1 # 瞬时障碍忽略阈值 持续时间 < 0.1秒 的障碍物(如传感器噪点)将被忽略ignore_min_st_min_s: 15.0 # 远距离障碍忽略阈值 距离自车 > 15米 的静止障碍物不参与缓行决策
}

park_and_go

scenario_conf.pb

  front_obstacle_buffer: 10.0 # 前方障碍物安全距离 - 车辆启动或行驶时,若前方 10米内存在障碍物,则暂停前进并等待。- 作用机理:融合激光雷达/相机检测结果,触发安全制动。heading_buffer: 0.3 # 航向角容差范围 - 车辆实际航向与规划路径的 最大允许偏差,超过此值触发航向修正。- 应用场景:驶离停车位时校准方向,防止斜向切入车道。min_dist_to_dest: 10.0 # 终点接近阈值 - 距离目标点 10米内 时,进入减速准备阶段,并校验停车条件(如车位空间)。max_steering_percentage_when_cruise: 20.0 # 巡航转向限制 - 巡航状态下方向盘最大转向角百分比(基于车辆最大转向能力)。- 示例:若车辆最大转向角为 500°,则 20% 对应 100°,限制急转弯以确保稳定性。

park_and_go_adjust/open_space_roi_decider.pb

roi_type: PARK_AND_GO
roi_line_segment_min_angle: 0.15
roi_line_segment_length: 0.2
perception_obstacle_buffer: 0.5
end_pose_s_distance: 10.0
roi_longitudinal_range_start : 10.0
roi_longitudinal_range_end : 20.0# ROI 类型标识,指定当前场景为停车后启动模式,触发对应的感知与规划策略
# 线段最小夹角,合并相邻线段时允许的最小角度差,小于此值则视为连续线段(过滤道路微小弯曲)
# 线段生成长度,将 ROI 边界离散化为 0.2 米长的线段,用于路径搜索与碰撞检测
# ROI 纵向起点,自车后方 10 米处开始定义 ROI(覆盖起步所需空间)
# ROI 纵向终点,自车前方 20 米处结束 ROI(聚焦起步后的行驶区域)
# 障碍物安全缓冲距离,ROI 内障碍物若进入此距离则触发紧急制动
# 目标点纵向距离,路径坐标系中车辆需行驶至自车当前位置前方 10 米处完成起步动作

park_and_go_check/open_space_roi_decider.pb

roi_type: PARK_AND_GO
perception_obstacle_buffer: 0.0# 场景标识,定义当前为“停车后启动”模式,触发对应的 ROI 范围和规划策略
# 动态障碍物缓冲距离 - 动态障碍物周围不添加额外安全距离(激进策略,依赖实时避障算法)- 适用场景:低动态障碍密度的停车场环境

park_and_go_cruise/path_decider.pb

static_obstacle_buffer: 0.2# 静态障碍物缓冲距离 - 静态障碍物周围保留 0.2 米安全间隙(防止刮擦)- 与车辆尺寸(vehicle_param)联动,确保几何包络安全

park_and_go_pre_cruise/open_space_roi_decider.pb

roi_type: PARK_AND_GO
perception_obstacle_buffer: 0.5
end_pose_s_distance: 5.0# end_pose_s_distance 终点纵向距离 - 启动后规划路径的目标点距初始位置 5 米(确保车辆完全脱离停车位进入车道)

modules/planning/scenarios/park_and_go/conf/park_and_go_pre_cruise/open_space_trajectory_provider.pb.txt

open_space_trajectory_optimizer_config {planner_open_space_config {iterative_anchoring_smoother_config {fem_pos_deviation_smoother_config {use_sqp: true # 启用序列二次规划(SQP) 求解器,提升轨迹平滑性(相比梯度下降法更精确)}s_curve_config {acc_weight: 1.0 # 1.0	加速度权重,抑制急加速/急减速(值越高,加速度变化越平缓)jerk_weight: 1.0 # 加加速度(急动度)权重,优化乘坐舒适性(值越高,加速度变化率越小)kappa_penalty_weight: 100.0 # 曲率惩罚权重,限制转向幅度(防止方向盘大幅摆动)ref_s_weight: 100.0 # 路径跟踪权重,确保轨迹紧密贴合参考线(值越高,偏离参考线的成本越大)ref_v_weight: 0.0 # 速度跟踪权重,设为 0 表示不强制匹配参考速度(允许动态调速)}}}
}

pull_over

start_pull_over_scenario_distance: 50.0 # 当车辆距离目标停车点还有50米时,系统开始准备进入靠边停车场景
pull_over_min_distance_buffer: 10.0 # 在寻找合适停车位置时,会保持至少10米的缓冲距离,确保安全余量
max_distance_stop_search: 25.0 # 系统会在目标点前后25米的范围内搜索合适的停车位置
max_s_error_to_end_point: 0.5 # 在纵向(沿着道路方向)上,车辆最终停靠位置与目标点的最大允许偏差为0.5米
max_l_error_to_end_point: 1.0 # 在横向(垂直于道路方向)上,车辆最终停靠位置与目标点的最大允许偏差为1米
max_theta_error_to_end_point: 0.2 # 车辆最终朝向与预期朝向的最大角度偏差为0.2弧度(约11.46度)
pass_destination_threshold: 15.0 # 如果车辆超过了目的地15米以上,可能需要重新规划路径或采取其他措施
max_distance_error_to_end_point: 0.2 # 车辆最终停靠位置与目标点的最大综合空间距离偏差为0.2米

pull_over_path.pb.txt

path_optimizer_config {l_weight: 1.0  # 横向位置(lateral position)的权重系数,用于平衡路径优化中横向位置的优先级dl_weight: 20.0 # 横向速度(lateral velocity)的权重系数,影响路径平滑度ddl_weight: 1000.0 # 横向加速度(lateral acceleration)的权重系数,值较大表示更注重乘坐舒适性dddl_weight: 50000.0 # 横向加加速度(lateral jerk)的权重系数,值很大表示非常注重运动平顺性lateral_derivative_bound_default: 2.0 # 默认的横向导数边界限制
}
pull_over_destination_to_adc_buffer: 25.0 # 车辆(ADC)与目的地之间的最小缓冲距离(米)
pull_over_destination_to_pathend_buffer: 4.0 # 路径终点与目的地之间的缓冲距离(米)
pull_over_road_edge_buffer: 0.15 # 车辆与道路边缘的最小安全距离(米)
pull_over_approach_lon_distance_adjust_factor: 1.6 #接近距离调整因子,用于调整纵向距离计算
pull_over_weight: 10  # 靠边停车行为的权重,影响决策时对此行为的偏好程度
pull_over_direction: RIGHT_SIDE # 指定靠边停车的方向为右侧(可能在右行交通国家使用)
pull_over_position: DESTINATION # 指定停车位置类型为"目的地"(可能是相对于其他参考点而言)

open_space_pre_stop_decider.pb.txt

stop_type: PULL_OVER
rightaway_stop_distance: 1.0 # 立即停止的距离阈值(单位通常是米) 如果距离目标停车点小于等于1.0米,系统会立即执行停止动作

open_space_roi_decider.pb.txt

roi_type: PULL_OVER
perception_obstacle_buffer: 0.5 # 感知障碍物的缓冲距离 值0.5可能表示0.5米(单位取决于系统设计)

open_space_trajectory_partition.pb.txt

heading_offset_to_midpoint: 0.79 # 车辆朝向(航向角)与中点之间的最大允许偏移量
lateral_offset_to_midpoint: 0.5 # 横向(左右方向)到中点的偏移量
longitudinal_offset_to_midpoint: 0.2 # 纵向(前后方向)到中点的偏移量
vehicle_box_iou_threshold_to_midpoint: 0.8 # 检测框与预期中点位置的重叠度阈值
linear_velocity_threshold_on_ego: 0.2 # 判断车辆是否处于静止状态(低于此值认为静止)

valet_parking

车辆控制与轨迹规划参数

  1. 换挡控制参数

    • gear_shift_max_t: 3.0
      换挡最大时间阈值:允许车辆执行换挡操作(前进/倒车切换)的最大持续时间,超时则触发异常处理。
    • gear_shift_unit_t: 0.02
      换挡时间粒度:换挡动作的时间分辨率,控制换挡指令的发送频率(例如每 0.02 秒检测一次换挡状态)。
    • gear_shift_period_duration: 2.0
      换挡周期时长:两次换挡操作之间的最小时间间隔,防止频繁切换导致机械损耗。
    • use_gear_shift_trajectory: true
      启用换挡轨迹:在路径规划中考虑换挡动作,生成包含前进/倒车切换的轨迹。
  2. 轨迹插值与搜索参数

    • interpolated_pieces_num: 10
      插值段数量:将优化生成的轨迹分割为 10 段进行插值,提升控制模块的跟踪精度。
    • distance_search_range: 2.0
      局部搜索范围:在车辆周围 2 米内进行实时路径搜索,适应狭窄停车环境。
    • initial_gear_check_horizon: 15
      初始档位检查距离:车辆启动时,检查前方 15 米内的障碍物以确定初始档位(前进/倒车)。
  3. 目标点匹配参数

    • heading_offset_to_midpoint: 1.4
      航向偏移量:车辆到达停车位中点时允许的航向角偏差(约 80 度),适应斜向泊入。
    • lateral_offset_to_midpoint: 0.5
      横向偏移:停车位中点的横向容错距离,确保车辆居中对齐。
    • vehicle_box_iou_threshold_to_midpoint: 0.5
      包围盒交并比阈值:车辆与目标点包围盒重叠度需 ≥ 50% 才视为有效停靠。
  4. 运动状态判定

    • linear_velocity_threshold_on_ego: 0.1
      静止判定速度:车辆线速度 ≤ 0.1 m/s 时判定为静止,用于泊车完成检测。

开放空间轨迹优化器配置

  1. 热启动配置(Warm Start)

    • 网格搜索参数
      • xy_grid_resolution: 0.3
        XY 网格分辨率:路径搜索时环境离散化的网格大小(0.3 米),影响搜索精度与效率。
      • phi_grid_resolution: 0.1
        航向角分辨率:车辆朝向的离散化间隔(约 5.7 度),用于生成多姿态候选路径。
    • 轨迹惩罚项
      • traj_gear_switch_penalty: 3.0
        换挡惩罚权重:优化目标中抑制频繁换挡的成本项权重,值越高换挡越少。
      • traj_steer_penalty: 3.0
        转向角惩罚:减少方向盘转动幅度,提升舒适性。
  2. 对偶变量热启动(Dual Variable Warm Start)

    • weight_d: 1.0
      对偶变量权重:松弛约束的惩罚系数,平衡约束满足与优化目标。
    • Ipopt 求解器配置
      • ipopt_max_iter: 100
        最大迭代次数:限制求解时间,防止优化过程过长。
      • ipopt_tol: 1e-05
        收敛容忍度:目标函数变化小于此值时终止迭代。
  3. 距离逼近优化(Distance Approach)

    • 运动学权重
      • weight_steer: 0.3
        转向权重:降低方向盘变化速率,平滑转向动作。
      • weight_a: 1.1
        加速度权重:抑制急加速/急减速,提升舒适性。
    • 安全约束
      • min_safety_distance: 0.01
        最小安全距离:轨迹与障碍物间至少保持 0.01 米的间隙,防止碰撞。
    • 速度限制
      • max_speed_forward: 2.0
        最大前进速度:泊车阶段车速 ≤ 2.0 m/s(≈7.2 km/h)。
  4. 迭代锚点平滑(Iterative Anchoring Smoother)

    • reanchoring_trails_num: 50
      重锚定尝试次数:在局部调整轨迹锚点时最大迭代次数,避免陷入局部最优。
    • curvature_constraint: 0.18
      曲率约束:限制轨迹的最大曲率,确保转向机构可执行(对应最小转弯半径约 5.56 米)。

参数协同与场景应用

  • 换挡与轨迹协同
    use_gear_shift_trajectory=true 时,优化器在生成轨迹时会预留换挡时间(gear_shift_max_t),并避免短周期内的频繁切换(gear_shift_period_duration)。

  • 安全与效率平衡
    distance_approach_config 中的权重(如 weight_steer)与 warm_start_config 的网格分辨率共同作用:高分辨率网格提升路径质量,但增加计算量;权重调整则优化舒适性。

  • 实时性保障
    open_space_planning_period: 0.1 设定规划周期为 100ms,确保控制模块的实时响应,同时 ipopt_max_iter: 100 限制单次求解时间。


调参建议

场景需求参数调整
狭窄停车位xy_grid_resolution=0.2(提升精度)
min_safety_distance=0.1(增加安全余量)
复杂障碍物traj_steer_penalty=5.0(减少转向抖动)
max_speed_forward=1.5(降速观察)
舒适性优先weight_a=2.0(抑制加速度)
traj_steer_change_penalty=2.0(平滑转向)

通过合理配置上述参数,Valet Parking 场景可在确保安全的前提下,实现高效、舒适的自动泊车体验。
scenario_conf.pb.txt

parking_spot_range_to_start: 20.0 # 场景触发距离车辆距离无保护路口 25米 时启动该场景的决策与规划逻辑
max_valid_stop_distance: 1.0 #  有效停车距离1.0米内完全静止,否则视为无效停车

open_space_pre_stop_decider.pb.txt

stop_type: PARKING

open_space_roi_decider.pb.txt

roi_type: PARKING

open_space_trajectory_partition.pb.txt

gear_shift_max_t: 3.0  # 换挡最大时间阈值:允许车辆执行换挡操作(前进/倒车切换)的最大持续时间,超时则触发异常处理。
gear_shift_unit_t: 0.02 #  换挡时间粒度:换挡动作的时间分辨率,控制换挡指令的发送频率(例如每 0.02 秒检测一次换挡状态)。
gear_shift_period_duration: 2.0 # 换挡周期时长:两次换挡操作之间的最小时间间隔,防止频繁切换导致机械损耗。
interpolated_pieces_num: 10 #  插值段数量:将优化生成的轨迹分割为 10 段进行插值,提升控制模块的跟踪精度。
initial_gear_check_horizon: 15  # 初始档位检查距离:车辆启动时,检查前方 15 米内的障碍物以确定初始档
heading_search_range: 0.79
heading_track_range: 1.57
distance_search_range: 2.0 # 局部搜索范围:在车辆周围 2 米内进行实时路径搜索,适应狭窄停车环境。
heading_offset_to_midpoint: 1.4 # 航向偏移量:车辆到达停车位中点时允许的航向角偏差(约 80 度),适应斜向泊入。
lateral_offset_to_midpoint: 0.5 # 横向偏移:停车位中点的横向容错距离,确保车辆居中对齐。
longitudinal_offset_to_midpoint: 0.5
vehicle_box_iou_threshold_to_midpoint:0.5 # 围盒交并比阈值:车辆与目标点包围盒重叠度需 ≥ 50% 才视为有效停靠。
linear_velocity_threshold_on_ego: 0.1 # 静止判定速度:车辆线速度 ≤ 0.1 m/s 时判定为静止,用于泊车完成检测。
use_gear_shift_trajectory: true # 启用换挡轨迹:在路径规划中考虑换挡动作,生成包含前进/倒车切换的轨迹。

open_space_trajectory_provider.pb.txt

open_space_trajectory_optimizer_config { # 开放空间轨迹优化器配置planner_open_space_config { # 热启动配置(Warm Start)warm_start_config { xy_grid_resolution: 0.3 # XY 网格分辨率:路径搜索时环境离散化的网格大小(0.3 米),影响搜索精度与效率。phi_grid_resolution: 0.1 # 航向角分辨率:车辆朝向的离散化间隔(约 5.7 度),用于生成多姿态候选路径。traj_kappa_contraint_ratio: 0.8 next_node_num: 16step_size: 0.1traj_forward_penalty: 1.0traj_back_penalty: 1.0traj_gear_switch_penalty: 3.0 #换挡惩罚权重:优化目标中抑制频繁换挡的成本项权重,值越高换挡越少。max_explored_num:10000traj_short_length_penalty:20traj_expected_shortest_length:2.0traj_steer_penalty: 3.0 # 转向角惩罚:减少方向盘转动幅度,提升舒适性。traj_steer_change_penalty: 1.0grid_a_star_xy_resolution: 0.25node_radius: 0.2astar_max_search_time: 20desired_explored_num: 1000}dual_variable_warm_start_config { # 对偶变量热启动(Dual Variable Warm Start)weight_d: 1.0 # 对偶变量权重:松弛约束的惩罚系数,平衡约束满足与优化目标。ipopt_config {ipopt_print_level: 0mumps_mem_percent: 6000mumps_pivtol: 1e-06ipopt_max_iter: 100 # 最大迭代次数:限制求解时间,防止优化过程过长。ipopt_tol: 1e-05ipopt_acceptable_constr_viol_tol: 0.1ipopt_min_hessian_perturbation: 1e-12ipopt_jacobian_regularization_value: 1e-07ipopt_print_timing_statistics: "yes"ipopt_alpha_for_y: "min"ipopt_recalc_y: "yes"}qp_format: OSQPmin_safety_distance: 0.01 #最小安全距离:轨迹与障碍物间至少保持 0.01 米的间隙,防止碰撞。osqp_config {alpha: 1.0eps_abs: 1.0e-3eps_rel: 1.0e-3max_iter: 10000polish: trueosqp_debug_log: false}}distance_approach_config { # 距离逼近优化(Distance Approach)weight_steer: 0.3weight_a: 1.1 # 加速度权重:抑制急加速/急减速,提升舒适性。weight_steer_rate: 3.0weight_a_rate: 2.5weight_x: 2.3weight_y: 0.7weight_phi: 1.5weight_v: 0.0weight_steer_stitching: 1.75weight_a_stitching: 3.25weight_first_order_time: 4.25weight_second_order_time: 13.5weight_end_state: 1.0weight_slack: 1.0min_safety_distance: 0.01max_speed_forward: 2.0 # 最大前进速度:泊车阶段车速 ≤ 2.0 m/s(≈7.2 km/h)。max_speed_reverse: 1.0max_acceleration_forward: 2.0max_acceleration_reverse: 1.0min_time_sample_scaling: 0.8max_time_sample_scaling: 1.2use_fix_time: falseipopt_config {ipopt_print_level: 0mumps_mem_percent: 6000mumps_pivtol: 1e-06ipopt_max_iter: 1000ipopt_tol: 0.0001ipopt_acceptable_constr_viol_tol: 0.1ipopt_min_hessian_perturbation: 1e-12ipopt_jacobian_regularization_value: 1e-07ipopt_print_timing_statistics: "yes"ipopt_alpha_for_y: "min"ipopt_recalc_y: "yes"ipopt_mu_init: 0.1}enable_constraint_check: falseenable_initial_final_check: falseenable_jacobian_ad: falseenable_hand_derivative: falseenable_derivative_check: falsedistance_approach_mode: DISTANCE_APPROACH_IPOPT_RELAX_END_SLACKenable_check_initial_state: false}iterative_anchoring_smoother_config { # 迭代锚点平滑(Iterative Anchoring Smoother)interpolated_delta_s: 0.1reanchoring_trails_num: 50 # 重锚定尝试次数:在局部调整轨迹锚点时最大迭代次数,避免陷入局部最优。reanchoring_pos_stddev: 0.25reanchoring_length_stddev: 1.0estimate_bound: falsedefault_bound: 2.0vehicle_shortest_dimension: 1.04fem_pos_deviation_smoother_config {use_sqp: trueweight_fem_pos_deviation: 1e7weight_path_length: 0.0weight_ref_deviation: 1e3apply_curvature_constraint: trueweight_curvature_constraint_slack_var: 1e8curvature_constraint: 0.18 # 曲率约束:限制轨迹的最大曲率,确保转向机构可执行(对应最小转弯半径约 5.56 米)。max_iter: 500time_limit: 0.0verbose: falsescaled_termination: truewarm_start: true}s_curve_config {acc_weight: 1.0jerk_weight: 1.0kappa_penalty_weight: 100.0ref_s_weight: 10.0ref_v_weight: 0.0}collision_decrease_ratio: 0.0max_forward_v: 1.0max_reverse_v: 1.0max_forward_acc: 0.5max_reverse_acc: 0.3max_acc_jerk: 0.5delta_t: 0.2}delta_t: 0.5near_destination_threshold: 0.15enable_linear_interpolation: falseis_near_destination_theta_threshold: 0.1}
}
open_space_planning_period: 0.1
open_space_trajectory_stitching_preserved_length: inf
open_space_standstill_acceleration: 0.3
http://www.xdnf.cn/news/583147.html

相关文章:

  • WooCommerce缓存教程 – 如何防止缓存破坏你的WooCommerce网站?
  • 7.2.顺序查找
  • 黑马点评前端Nginx启动失败问题解决记录
  • day26- 系统编程之 文件IO(II) 及 文件属性
  • 数据结构:绪论之时间复杂度与空间复杂度
  • 论文阅读笔记——PixArt-α,PixArt-δ
  • 滚珠导轨:重构精密仪器传动架构,开启微纳世界
  • C++-继承
  • k8s容器入门(1)有状态服务 vs 无状态服务 核心区别
  • list(c++)
  • 排序和排列——蓝桥杯备考
  • 在Java的list.forEach(即 Stream API 的 forEach 方法)中,无法直接使用 continue 或 break 语句的解决办法
  • Lucide:一款精美的开源矢量图标库,前端图标新选择
  • 5G 核心网中的 NPN 功能详解
  • MongoDB大数据量的优化——mongoTemplate.stream()方法使用
  • 参与开发的注意事项
  • 每日算法-250522
  • CUDA加速的线性代数求解器库cuSOLVER
  • Spring AI 之提示词
  • 智能IoT未来与边缘生态共建 | 2025 高通边缘智能创新应用大赛第六场公开课来袭!
  • go语言基础
  • FastAPI在 Nginx 和 Docker 环境中的部署
  • 【Python socket模块深度解析】网络通信的核心工具
  • 高性能图表库SciChart WPF v8.8全新发布——提升渐变颜色映射高度
  • Mysql的主从同步
  • VR溺水安全:为生命筑牢数字化防线
  • 常见算法题目1 - 给定一个整数数组和一个目标值,找出数组中两个数之和等于目标值的数组下标组合
  • MySQL的相关操作
  • RTC技术
  • 第六部分:阶段项目 5:构建 NestJS RESTful API 服务器