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

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
布尔值trueCyber 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.0m/s²最大加速度(影响超车、汇入车流策略)
max_deceleration浮点数-6.0m/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.2m/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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.小墨迹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值