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 |
路径规划基准点使用前轴中心 |
参数配置指南
性能调优
- 提升实时性:启用
--enable_parallel_trajectory_smoothing
- 降低CPU负载:禁用多线程 (
--nouse_multi_thread_to_add_obstacles
)
- 提升实时性:启用
安全调整
- 复杂道路:增大
--nonstatic_obstacle_nudge_l_buffer
到 0.6 - 拥堵场景:降低
--planning_upper_speed_limit
至 15 m/s
- 复杂道路:增大
调试建议
- 路径异常时:启用
--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 模块确保多节点时间一致性 |
配置注意事项
车辆参数
- 关键性:直接影响动力学模型,错误配置可能导致翻车风险(如
max_steer_angle
过大)。 - 修改建议:更换车型时需重新测量参数并生成
.pb.txt
文件。
- 关键性:直接影响动力学模型,错误配置可能导致翻车风险(如
地图冲突处理
- 覆盖机制:若同时设置多个
map_dir
,系统以最后一个为准。 - 典型错误示例:
--map_dir=modules/map/data/sunnyvale_loop # 被覆盖 --map_dir=modules/map/data/sunnyvale_big_loop # 实际生效
- 覆盖机制:若同时设置多个
时间模式互斥
- 规则:
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_TIME
或SYSTEM_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 | % | 油门信号死区(过滤噪音信号,提升控制平滑性) |
参数应用场景
路径规划
min_turn_radius
限制路径曲率,确保车辆可执行生成的轨迹。front/back_edge_to_center
用于计算车身包络线,避免碰撞。
控制模块
steer_ratio
和max_steer_angle_rate
决定转向响应速度。max_acceleration/deceleration
约束速度规划器的输出范围。
感知融合
length/width
用于目标匹配,区分车辆与其他障碍物。
参数校验公式
总长度校验
length= front_edge_to_center + back_edge_to_center4.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.054≈sin(8.203∘)2.8448