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

发布于:2025-05-23 ⋅ 阅读:(23) ⋅ 点赞:(0)

planning.conf

--flagfile=modules/common/data/global_flagfile.txt # 加载全局通用配置,包含基础运行参数
--traffic_rule_config_filename=modules/planning/planning_component/conf/traffic_rule_config.pb.txt # 交通规则配置文件,定义信号灯、停车标志等处理逻辑
--planning_upper_speed_limit=20.00  # 巡航最大速度  m/s 约72 km/h
--default_cruise_speed=11.18 # m默认参数 默认巡航速度 m/s 约40 km/h
--ignore_overlapped_obstacle=true  # 忽略与自车路径重叠的障碍物(如误检的静态障碍物)
--prioritize_change_lane  # 优先执行变道操作,减少路径绕行
--min_length_for_lane_change=5.0 # 执行变道所需的最小前方直道长度
--nouse_multi_thread_to_add_obstacles # 禁用多线程添加障碍物(调试或低资源环境使用)
# --min_past_history_points_len=10
--enable_print_curve=true  # 输出路径/速度曲线调试信息
--destination_check_distance=4.0 # 触发终点停车准备的距离阈值
# --smoother_config_filename=modules/planning/planning_component/conf/spiral_smoother_config.pb.txt
# --smoother_config_filename=modules/planning/planning_component/conf/qp_spline_smoother_config.pb.txt
--smoother_config_filename=modules/planning/planning_component/conf/discrete_points_smoother_config.pb.txt  # 使用离散点平滑器(替代QP样条/螺旋线平滑器)
--enable_reference_line_stitching=false # 关闭参考线缝合功能(可能导致路径不连续)
# --speed_bump_speed_limit=3 # 通过减速带时的最大速度(默认禁用)
# --parking_inwards=false  # 控制泊车方向(是否倒车入库)
# --use_dual_variable_warm_start=true 
# --enable_record_debug=true # 记录调试数据
# --enable_parallel_hybrid_a=true 
--export_chart=true   # 生成可视化图表(用于分析规划结果)
# --use_front_axe_center_in_path_planning=true # 路径规划基准点使用前轴中心
--enable_smoother_failsafe # 启用平滑器故障保护机制(计算失败时回退到安全路径)
--enable_parallel_trajectory_smoothing # 并行处理轨迹平滑以提高效率
--nouse_s_curve_speed_smooth   # 禁用S曲线速度平滑(改用线性或其他策略)
--use_iterative_anchoring_smoother # 使用迭代锚点平滑器优化路径
--nonstatic_obstacle_nudge_l_buffer=0.4  # 动态障碍物横向避让缓冲距离
--use_st_drivable_boundary=false
--enable_pull_over_at_destination=false  # 禁用到达终点后自动靠边停车

全局配置

参数 类型 说明
--flagfile=modules/common/data/global_flagfile.txt 文件路径 加载全局通用配置,包含基础运行参数

交通规则配置

参数 类型 说明
--traffic_rule_config_filename=modules/planning/.../traffic_rule_config.pb.txt 文件路径 交通规则配置文件,定义信号灯、停车标志等处理逻辑

速度控制

参数 类型 默认值 说明
--planning_upper_speed_limit 浮点数(m/s) 20.00 巡航时允许的最大速度(约72 km/h)
--default_cruise_speed 浮点数(m/s) 11.18 默认巡航速度(约40 km/h)
# --speed_bump_speed_limit 浮点数(m/s) 3.0 通过减速带时的最大速度(默认禁用)

车道变更策略

参数 类型 默认值 说明
--prioritize_change_lane 布尔值 - 优先执行变道操作,减少路径绕行
--min_length_for_lane_change 浮点数(米) 5.0 执行变道所需的最小前方直道长度

障碍物处理

参数 类型 默认值 说明
--ignore_overlapped_obstacle 布尔值 true 忽略与自车路径重叠的障碍物(如误检的静态障碍物)
--nonstatic_obstacle_nudge_l_buffer 浮点数(米) 0.4 动态障碍物横向避让缓冲距离

路径平滑与优化

参数 类型 默认值 说明
--smoother_config_filename=.../discrete_points_smoother_config.pb.txt 文件路径 - 使用离散点平滑器(替代QP样条/螺旋线平滑器)
--enable_smoother_failsafe 布尔值 - 启用平滑器故障保护机制(计算失败时回退到安全路径)
--enable_parallel_trajectory_smoothing 布尔值 - 并行处理轨迹平滑以提高效率
--nouse_s_curve_speed_smooth 布尔值 - 禁用S曲线速度平滑(改用线性或其他策略)
--use_iterative_anchoring_smoother 布尔值 - 使用迭代锚点平滑器优化路径

参考线与多线程

参数 类型 默认值 说明
--enable_reference_line_stitching 布尔值 false 关闭参考线缝合功能(可能导致路径不连续)
--nouse_multi_thread_to_add_obstacles 布尔值 - 禁用多线程添加障碍物(调试或低资源环境使用)

调试与日志

参数 类型 默认值 说明
--enable_print_curve 布尔值 true 输出路径/速度曲线调试信息
--export_chart 布尔值 true 生成可视化图表(用于分析规划结果)

目的地与停车

参数 类型 默认值 说明
--destination_check_distance 浮点数(米) 4.0 触发终点停车准备的距离阈值
--enable_pull_over_at_destination 布尔值 false 禁用到达终点后自动靠边停车

未被启用的参数(注释项)

参数 功能推测
# --parking_inwards=false 控制泊车方向(是否倒车入库)
# --enable_record_debug=true 记录调试数据
# --use_front_axe_center_in_path_planning 路径规划基准点使用前轴中心

参数配置指南

  1. 性能调优

    • 提升实时性:启用 --enable_parallel_trajectory_smoothing
    • 降低CPU负载:禁用多线程 (--nouse_multi_thread_to_add_obstacles)
  2. 安全调整

    • 复杂道路:增大 --nonstatic_obstacle_nudge_l_buffer 到 0.6
    • 拥堵场景:降低 --planning_upper_speed_limit 至 15 m/s
  3. 调试建议

    • 路径异常时:启用 --enable_print_curve 分析曲线
    • 避障失败时:检查 --ignore_overlapped_obstacle 是否为 true

global_flagfile.txt


# 车辆动态参数配置文件
--vehicle_config_path=modules/common/data/vehicle_param.pb.txt

--log_dir=data/log
# 导航模式开关 - true:依赖实时路况动态生成参考线(需联网)- false:使用预加载的高精地图固定路径
--use_navigation_mode=false
# 高精地图加载路径
--map_dir=modules/map/data/sunnyvale_loop
# 仿真时间开关 - true:使用 Gazebo/Carla 等仿真器的时间戳 - false:使用物理机/车载计算机的实时时钟
--use_sim_time=false
# Cyber RT 时间同步 - 启用 Cyber RT 框架的全局时钟管理 - 依赖 Clock 模块确保多节点时间一致性
--use_cyber_time=true

--map_dir=modules/map/data/sunnyvale

--map_dir=modules/map/data/sunnyvale_big_loop



核心路径配置

参数 类型 默认值 功能说明
--vehicle_config_path
=modules/common/data/vehicle_param.pb.txt
文件路径 必填项 车辆动态参数配置文件
- 包含轴距、轮距、转向比、最大加速度等关键参数
- 示例字段:wheel_base(轴距)、max_steer_angle(最大转向角)
- 错误配置会导致控制失效(如转向不足)
--log_dir
=data/log
目录路径 可选 日志存储路径
- 保存 Planning/Control 模块的运行时日志、轨迹数据
- 默认路径:/apollo/data/log/

地图配置

参数 类型 典型值 功能说明
--map_dir
=modules/map/data/sunnyvale_loop
目录路径 需指定 高精地图加载路径
- sunnyvale_loop:Apollo 默认测试环形道路(约 2km)
- sunnyvale_big_loop:扩展版环线(覆盖更多复杂场景)
- 注意:多 map_dir 参数同时存在时,后者会覆盖前者
--use_navigation_mode
=false
布尔值 false 导航模式开关
- true:依赖实时路况动态生成参考线(需联网)
- false:使用预加载的高精地图固定路径

时间同步配置

参数 类型 默认值 功能说明
--use_sim_time
=false
布尔值 false 仿真时间开关
- true:使用 Gazebo/Carla 等仿真器的时间戳
- false:使用物理机/车载计算机的实时时钟
--use_cyber_time
=true
布尔值 true Cyber RT 时间同步
- 启用 Cyber RT 框架的全局时钟管理
- 依赖 Clock 模块确保多节点时间一致性

配置注意事项

  1. 车辆参数

    • 关键性:直接影响动力学模型,错误配置可能导致翻车风险(如 max_steer_angle 过大)。
    • 修改建议:更换车型时需重新测量参数并生成 .pb.txt 文件。
  2. 地图冲突处理

    • 覆盖机制:若同时设置多个 map_dir,系统以最后一个为准。
    • 典型错误示例
      --map_dir=modules/map/data/sunnyvale_loop  # 被覆盖
      --map_dir=modules/map/data/sunnyvale_big_loop  # 实际生效
      
  3. 时间模式互斥

    • 规则use_sim_time 与物理机时钟互斥,开启仿真时必须设为 true
    • 典型场景:硬件在环(HIL)测试时需启用 use_sim_time=true

调试建议

  • 日志分析:通过 less data/log/planning.INFO 查看规划模块警告(如 VehicleParam not found)。
  • 地图验证:使用 cyber_monitor 检查 /apollo/map 频道是否正常发布数据。
  • 时间同步检查:在 Cyber RT 终端执行 clock 命令验证时间源(显示 CYBER_TIMESYSTEM_TIME)。

vehicle_param.pb.txt

vehicle_param {
  brand: LINCOLN_MKZ  # 车辆品牌标识,关联默认动力学模型
  vehicle_id {
      other_unique_id: "mkz"  # 车辆唯一标识符,用于多车协同场景
  }
  front_edge_to_center: 3.89 # 前保险杠到车辆中心的纵向距离(影响前向碰撞检测)
  back_edge_to_center: 1.043 # 后保险杠到车辆中心的纵向距离(计算总长:3.89+1.043=4.933)
  left_edge_to_center: 1.055 # 左侧车身到中心的横向距离(确定车辆宽度边界)
  right_edge_to_center: 1.055 # 右侧车身到中心的横向距离(总宽度 = 1.055*2=2.11)
 
  length: 4.933 # 车辆总长度(前后保险杠间距)
  width: 2.11 # 车辆总宽度(含后视镜展开状态)
  height: 1.48 # 车辆高度(用于限高区域规划)
  min_turn_radius: 5.05386147161 # 最小转弯半径(公式:轴距/(sin(最大转向角)))
  max_acceleration: 2.0 # 最大加速度(影响超车、汇入车流策略)
  max_deceleration: -6.0 # 最大减速度(紧急制动能力,负值表示减速)
  max_steer_angle: 8.20304748437 # 方向盘最大转向角(左右极限位置对应的角度) 度
  max_steer_angle_rate: 6.98131700798 # 转向角最大变化率(决定转向灵敏度)
  steer_ratio: 16 # 转向传动比(方向盘转1度对应车轮转向 1/16 度)
  wheel_base: 2.8448 # 轴距(前轮到后轮中心的距离,影响转弯稳定性)
  wheel_rolling_radius: 0.335 # 车轮滚动半径(用于速度计算:车速 = 轮速 × 半径)
  max_abs_speed_when_stopped: 0.2 # 	静止判定阈值(速度低于此值视为停车状态)
  brake_deadzone: 14.5 # 刹车信号死区(抑制微小踏板抖动导致的误制动)
  throttle_deadzone: 15.7 # 油门信号死区(过滤噪音信号,提升控制平滑性)
}

车辆基础参数

参数 类型 示例值 单位 说明
brand 枚举值 LINCOLN_MKZ - 车辆品牌标识,关联默认动力学模型
vehicle_id.other_unique_id 字符串 "mkz" - 车辆唯一标识符,用于多车协同场景

几何尺寸参数

参数 类型 示例值 单位 说明
front_edge_to_center 浮点数 3.89 前保险杠到车辆中心的纵向距离(影响前向碰撞检测)
back_edge_to_center 浮点数 1.043 后保险杠到车辆中心的纵向距离(计算总长:3.89+1.043=4.933)
left_edge_to_center 浮点数 1.055 左侧车身到中心的横向距离(确定车辆宽度边界)
right_edge_to_center 浮点数 1.055 右侧车身到中心的横向距离(总宽度 = 1.055*2=2.11)
length 浮点数 4.933 车辆总长度(前后保险杠间距)
width 浮点数 2.11 车辆总宽度(含后视镜展开状态)
height 浮点数 1.48 车辆高度(用于限高区域规划)

动力学参数

参数 类型 示例值 单位 说明
min_turn_radius 浮点数 5.054 最小转弯半径(公式: 轴距 / ( sin ⁡ ( 最大转向角 ) ) \text{轴距}/(\sin(\text{最大转向角})) 轴距/(sin(最大转向角))
max_acceleration 浮点数 2.0 m/s² 最大加速度(影响超车、汇入车流策略)
max_deceleration 浮点数 -6.0 m/s² 最大减速度(紧急制动能力,负值表示减速)

转向系统参数

参数 类型 示例值 单位 说明
max_steer_angle 浮点数 8.203 方向盘最大转向角(左右极限位置对应的角度)
max_steer_angle_rate 浮点数 6.981 度/秒 转向角最大变化率(决定转向灵敏度)
steer_ratio 整数 16 - 转向传动比(方向盘转1度对应车轮转向 1 16 \frac{1}{16} 161 度)

底盘与传动参数

参数 类型 示例值 单位 说明
wheel_base 浮点数 2.8448 轴距(前轮到后轮中心的距离,影响转弯稳定性)
wheel_rolling_radius 浮点数 0.335 车轮滚动半径(用于速度计算:车速 = 轮速 × 半径)
max_abs_speed_when_stopped 浮点数 0.2 m/s 静止判定阈值(速度低于此值视为停车状态)

控制死区参数

参数 类型 示例值 单位 说明
brake_deadzone 浮点数 14.5 % 刹车信号死区(抑制微小踏板抖动导致的误制动)
throttle_deadzone 浮点数 15.7 % 油门信号死区(过滤噪音信号,提升控制平滑性)

参数应用场景

  1. 路径规划

    • min_turn_radius 限制路径曲率,确保车辆可执行生成的轨迹。
    • front/back_edge_to_center 用于计算车身包络线,避免碰撞。
  2. 控制模块

    • steer_ratiomax_steer_angle_rate 决定转向响应速度。
    • max_acceleration/deceleration 约束速度规划器的输出范围。
  3. 感知融合

    • length/width 用于目标匹配,区分车辆与其他障碍物。

参数校验公式

  • 总长度校验
    length= front_edge_to_center + back_edge_to_center

    4.933 = 3.89 + 1.043 4.933 = 3.89 + 1.043 4.933=3.89+1.043

  • 最小转弯半径计算
    min_turn_radius = wheel_base /sin( max_steer_angle)
    5.054 ≈ 2.8448 sin ⁡ ( 8.203 ∘ ) 5.054 \approx \frac{2.8448}{\sin(8.203^\circ)} 5.054sin(8.203)2.8448


网站公告

今日签到

点亮在社区的每一天
去签到