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

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

http://www.lryc.cn/news/2383874.html

相关文章:

  • Python-多进程编程 (multiprocessing 模块)
  • GraphQL在.NET 8中的全面实践指南
  • 在mobaxterm下面执行shell脚本报错
  • 系统集成项目管理工程师学习笔记之启动过程组
  • OceanBase数据库全面指南(数据操作篇DML)
  • 深入解析AI中的Prompt工程:从理论到实践
  • 软考中级软件设计师——设计模式篇
  • matlab二维随机海面模拟
  • Axure系统原型设计列表版方案
  • 微软全新开源命令行文本编辑器:Edit — 致敬经典,拥抱现代
  • 年会招标抽奖活动软件———仙盟创梦IDE
  • 智防火灾,慧控能耗:物联网赋能金融行业电气安全革新
  • Any类(C++17类型擦除,也称上帝类)
  • jquery.table2excel方法导出
  • Spring Boot 多租户架构实现:基于上下文自动传递的独立资源隔离方案
  • 在 JavaScript 中正确使用 Elasticsearch,第二部分
  • 更新nvidia-container-toolkit 1.17.7-1后,运行--gpus all 卡死问题
  • 【Nginx学习笔记】:Fastapi服务部署单机Nginx配置说明
  • 相机标定与图像处理涉及的核心坐标系
  • ​在 ASP.NET 中,HTTP 处理程序(HttpHandler)是处理 HTTP 请求的核心组件​
  • 通义灵码 2.5 版深度评测:智能编程的边界在哪里?
  • 电商项目-商品微服务-规格参数管理,分类与品牌管理需求分析
  • 零基础设计模式——创建型模式 - 工厂方法模式
  • LeetCode 404.左叶子之和的递归求解:终止条件与递归逻辑的深度剖析
  • 蓝桥杯5130 健身
  • 电商虚拟户:重构资金管理逻辑,解锁高效归集与智能分账新范式
  • 腾讯2025年校招笔试真题手撕(二)
  • DeepSeek快速搭建个人网页
  • 安装完dockers后就无法联网了,执行sudo nmcli con up Company-WiFi,一直在加载中
  • 【深度学习新浪潮】2025年谷歌I/O开发者大会keynote观察