自动驾驶中planning为什么要把横纵向分开优化?

在自动驾驶系统中,将 横向(Lateral)规划纵向(Longitudinal)规划 分开优化是一种常见的设计范式,其核心原理在于 解耦车辆运动控制的多维复杂性,同时兼顾 计算效率安全性约束。以下从原理、优势和参考文献三个方面详细解析这一设计逻辑。


一、原理:为什么需要区分横纵向?

1. 运动学解耦

自动驾驶车辆的运动可分解为两个独立维度:

  • 横向运动(Lateral):控制车辆在车道内的横向位移,如车道保持、变道、转弯等,主要影响车辆的 航向角(Yaw)横向位置
  • 纵向运动(Longitudinal):控制车辆的前后运动,如加速、减速、跟车距离等,主要影响车辆的 速度纵向位置

从动力学模型来看,横向和纵向的控制输入(如方向盘转角、油门/刹车)对车辆状态的影响 相对独立。解耦后,可分别设计优化目标,简化控制问题。

2. 约束分离
  • 横向约束:车道边界、障碍物避让、曲率连续性等。
  • 纵向约束:与前车安全距离、交通信号灯时序、速度限制等。

分离开横向和纵向优化,可以更清晰地定义约束条件,避免联合优化时的复杂耦合。

3. 计算效率

联合优化横向和纵向需要高维状态空间搜索(如同时优化位置、速度、航向角),计算复杂度呈指数级增长。分而治之的策略能显著降低计算负担,满足实时性要求。


二、优势:分开优化的核心收益

1. 算法简化
  • 横向规划:通常基于 Frenet坐标系(沿车道中心线的曲线坐标系),将问题转化为横向位移的轨迹生成(如多项式曲线、样条插值)。
  • 纵向规划:基于时间或距离的 速度剖面优化(如恒定加速度模型、时距图法)。

分拆后,两者可分别采用最适合的算法(如横向用样条插值,纵向用模型预测控制 MPC)。

2. 实时性保障
  • 横向规划需高频更新(如应对突发障碍物变道),纵向规划需平滑的速度调整。分开优化允许两者以不同频率运行(如横向 10Hz,纵向 20Hz)。
  • 典型应用:Apollo 自动驾驶框架中,横向规划基于 Lattice Planner,纵向规划基于 速度决策器
3. 安全性增强
  • 横向和纵向的安全边界可独立设定。例如:
    • 横向安全距离:避免碰撞道路边缘或相邻车道车辆。
    • 纵向安全距离:基于 TTC(Time-to-Collision)或 RSS(Responsibility-Sensitive Safety)模型。
  • 分开优化可分别校验横向和纵向的安全性,降低联合优化的验证难度。
4. 模块化与可扩展性
  • 横向和纵向模块可独立升级(如改进变道策略不影响跟车逻辑)。
  • 便于多传感器融合:横向依赖车道线检测,纵向依赖前车雷达/摄像头数据。

三、典型方法与参考文献

1. 横向规划方法
  • Frenet 坐标系下的轨迹生成
    将车辆运动投影到车道中心线的切向(纵向)和法向(横向),生成横向位移的平滑轨迹。
    参考文献
    Werling et al., “Optimal Trajectory Generation for Dynamic Street Scenarios in a Frenet Frame”, IEEE IV 2010.

  • Lattice Planner(栅格规划器)
    在横向和纵向分别离散化状态空间,生成候选轨迹并选择最优解。
    参考文献
    Montemerlo et al., “Junior: The Stanford Entry in the Urban Challenge”, Journal of Field Robotics 2008.

2. 纵向规划方法
  • 模型预测控制(MPC)
    基于车辆动力学模型,优化未来时域内的速度剖面。
    参考文献
    Katrakazas et al., “Real-Time Motion Planning for Autonomous Urban Driving: Framework, Algorithms, and Verifications”, IEEE T-ITS 2015.

  • 时距图法(Time-Gap Model)
    根据前车速度和距离,动态调整自身速度以维持安全时距。
    参考文献
    Vahidi et al., “Predictive Cruise Control: Utilizing Upcoming Traffic Signal Information for Improving Fuel Economy and Reducing Trip Time”, IEEE T-CST 2005.

3. 横纵向协同优化
  • 联合优化框架
    尽管横纵向分开优化是主流,但近年也有研究尝试联合优化(如时空联合轨迹生成)。
    参考文献
    Ziegler et al., “Trajectory Planning for Bertha — A Local, Continuous Method”, IEEE IV 2014.

四、挑战与未来方向

1. 解耦优化的局限性
  • 耦合场景下的次优解:如紧急避障需同时调整横向和纵向,分开优化可能导致响应延迟。
  • 协调复杂性:需设计仲裁机制(如优先级策略)解决横纵向决策冲突。
2. 前沿研究方向
  • 时空联合规划:在统一的时空坐标系中生成轨迹(如利用神经网络端到端优化)。
  • 强化学习(RL):通过奖励函数隐式学习横纵向协同策略。
  • 不确定性建模:在横纵向规划中引入概率推理(如贝叶斯网络)。

总结

自动驾驶中横纵向规划的分开优化,本质上是 通过解耦降低问题维度,从而平衡 实时性安全性计算效率。尽管存在耦合场景的局限性,但在当前技术阶段,这一策略仍是工程实践中的主流选择。未来随着算力提升和算法进步,联合优化可能逐步成为补充方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/975581.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)

一:安装Liunx(CentOS-6-x86_64) 安装Liunx(CentOS-6-x86_64) 二:下载MySql(5.6.50) MySql下载官网 二:安装MySql 2.1 将mysql上传到Liunx 文件地址 /usr/local/ 2…

2025版-Github账号注册详细过程

目录 1.访问GitHub官网 2. 点击“Sign up”按钮 3. 填写注册信息 4. 验证机器人 5. 点击“Create account”按钮 6. 验证邮箱 7. 完成注册 8. 初始设置(可选) 9. 开始使用 注意事项 1.访问GitHub官网 打开浏览器,访问 GitHub官网。 …

基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志

一、修改所有节点主机名 主节点就修改成master hostnamectl set-hostname master 然后输入bash刷新当前主机名 工作节点1就修改成node1 hostnamectl set-hostname node1 然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间 yum -y install socat conntrack ebta…

halcon 条形码、二维码识别、opencv识别

一、条形码 函数介绍 create_bar_code_model * 1.创建条码读取器的模板 * 参数一:通用参数的名称,针对条形码模型进行调整。默认值为空 * 参数二:针对条形码模型进行调整 * 参数三:条形码模型的句柄。 create_bar_code_model (…

【用deepseek和chatgpt做算法竞赛】——还得DeepSeek来 -Minimum Cost Trees_5

往期 【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_0:介绍了题目和背景【用deepseek和chatgpt做算法竞赛】——华为算法精英实战营第十九期-Minimum Cost Trees_1:题目输入的格式说明,选择了邻接表…

红帽7基于kickstart搭建PXE环境

Kickstart 文件是一种配置文件,用于定义 Linux 系统安装过程中的各种参数,如分区、网络配置、软件包选择等。system-config-kickstart 提供了一个图形界面,方便用户快速生成这些配置文件。 用户可以通过图形界面进行系统安装的详细配置&…

【Linux网络】TCP/IP地址的有机结合(有能力VS100%???),IP地址的介绍

目录 1.背景知识(更好的理解TCP/IP的结合) 1.1远距离的传输要经过很多的子网,很多的路由器 1.2IP在OSI标准的网络层 1.3路由器的多个IP 2.TCP和IP的有机结合 2.1IP确定怎么选择路径,数据链接就是具体的实现 2.2问题背景&am…

ue5 Arch vis AI traffic system 车辆系统添加不同种类的车

一、前置条件 资源包拥有二、步骤 添加第二辆车 在父级蓝图底下创建子级蓝图 打开子级蓝图 替换骨骼网格体 创建动画蓝图,骨骼选择该骨骼网格体的骨骼 连接动画蓝图 添加动画蓝图 添加资源包

3分钟idea接入deepseek

DeepSeek简介 DeepSeek 是杭州深度求索人工智能基础技术研究有限公司开发的一系列大语言模型,背后是知名量化资管巨头幻方量化3。它专注于开发先进的大语言模型和相关技术,拥有多个版本的模型,如 DeepSeek-LLM、DeepSeek-V2、DeepSeek-V3 等&…

ChatGPT平替自由!DeepSeek-R1私有化部署全景攻略

一、DeepSeek-R1本地部署配置要求 (一)轻量级模型 ▌DeepSeek-R1-1.5B 内存容量:≥8GB 显卡需求:支持CPU推理(无需独立GPU) 适用场景:本地环境验证测试/Ollama集成调试 (二&a…

搭建 Hadoop 3.3.6 伪分布式

搭建 Hadoop 3.3.6 伪分布式 IP 192.168.157.132 初始化操作 更改yum源 # 1_1.安装Wget yum install wget# 1_2.备份CentOS-Base.repo文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak# 2.下载阿里yum源配置 wget -O /etc/yum.repos.d/Cen…

nodejs:vue 3 + vite 作为前端,将 html 填入<iframe>,在线查询英汉词典

向 doubao.com/chat/ 提问: node.js js-mdict 作为后端,vue 3 vite 作为前端,编写在线查询英汉词典 后端部分(express js-mdict ) 详见上一篇:nodejs:express js-mdict 作为后端&#xff…

计算机网络真题练习(高软29)

系列文章目录 计算机网络阶段练习 文章目录 系列文章目录前言一、真题练习总结 前言 计算机网络的阶段练习题,带解析答案。 一、真题练习 总结 就是高软笔记,大佬请略过!

医疗AI领域中GPU集群训练的关键技术与实践经验探究(下)

五、医疗 AI 中 GPU 集群架构设计 5.1 混合架构设计 5.1.1 参数服务器与 AllReduce 融合 在医疗 AI 的 GPU 集群训练中,混合架构设计将参数服务器(Parameter Server)与 AllReduce 相结合,能够充分发挥两者的优势,提升训练效率和模型性能。这种融合架构的设计核心在于根…

@Configuration与 @Component的差异

继承关系 Configuration确实可以视为Component的派生注解。从源码层面来看,Configuration本身通过元注解方式标记了Component,这意味着所有被Configuration注解的类本质上也会被Spring识别为组件(Component)。这种设计使得Config…

c++入门-------命名空间、缺省参数、函数重载

C系列 文章目录 C系列前言一、命名空间二、缺省参数2.1、缺省参数概念2.2、 缺省参数分类2.2.1、全缺省参数2.2.2、半缺省参数 2.3、缺省参数的特点 三、函数重载3.1、函数重载概念3.2、构成函数重载的条件3.2.1、参数类型不同3.2.2、参数个数不同3.2.3、参数类型顺序不同 前言…

Deepseek首页实现 HTML

人工智能与未来:机遇与挑战 引言 在过去的几十年里,人工智能(AI)技术取得了突飞猛进的发展。从语音助手到自动驾驶汽车,AI 正在深刻地改变我们的生活方式、工作方式以及社会结构。然而,随着 AI 技术的普及…

20250223学习记录

之前HDFview查看.hdf5文件的时候,看到土壤湿度数据是分为AM和PM,当时我有一个这样的疑问 但是后来用Python处理的时候,直接就是对整个的.hdf5文件处理,当时没有注意这一块,所以就没有这个疑问了。 今天突然看到一篇论…

Rust编程语言入门教程 (七)函数与控制流

Rust 系列 🎀Rust编程语言入门教程(一)安装Rust🚪 🎀Rust编程语言入门教程(二)hello_world🚪 🎀Rust编程语言入门教程(三) Hello Cargo&#x1f…

C++的allactor

https://zhuanlan.zhihu.com/p/693267319 1 双层内存配置器 SGI设计了两层的配置器,也就是第一级配置器和第二级配置器。同时为了自由选择,STL又规定了 __USE_MALLOC 宏,如果它存在则直接调用第一级配置器,不然则直接调用第二级配…