自动驾驶中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):通过奖励函数隐式学习横纵向协同策略。
  • 不确定性建模:在横纵向规划中引入概率推理(如贝叶斯网络)。

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前后端分离系统架构:基于Spring Boot的最佳实践

前后端分离系统架构图描绘了一个基于Springboot的前端后台分离的系统架构。它强调了前端(客户端)与远程(服务器)的解耦,通过API接口进行交互,分别独立开发和部署。 前后端分离系统架构图 从上到下&#xff…

Neo4j使用neo4j-admin导入csv数据方法

在neo4j desktop里创建project,创建dbms,创建database。 将csv文件放入如下import路径中,然后就可以使用相对路径来使用csv了。 在neo4j desktop中打开Terminal 键入导入数据语句: neo4j-admin database import full --nodes&qu…

【Transformer架构】

目录 一、Transformer介绍 1.1 Transformer的诞生 1.2 什么是Transformer 1.3 Transformer的优势 1.4 Transformer的市场 二、Transformer架构 2.1 Transformer模型的作用 2.2 Transformer总体架构图 2.2.1 Transformer总体架构 2.2.2 输入部分 2.2.3 输出部分 2.2.…

设计模式-组合模式、模板模式

组合模式 定义 将对象组合成树形结构以表示"部分-整体"的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性; 组合模式实现的最关键的地方是-简单对象和复合对象必须实现相同的接口。这就是组合模式能够将组合对象和简单对象进…

Spring Boot 概要(官网文档解读)

Spring Boot 概述 Spring Boot 是一个高效构建 Spring 生产级应用的脚手架工具,它简化了基于 Spring 框架的开发过程。 Spring Boot 也是一个“构件组装门户”,何为构件组装门户呢?所谓的“构件组装门户”指的是一个对外提供的Web平台&#x…

SkyWalking集成Kafka实现日志异步采集经验总结

SkyWalking日志异步采集架构 【重点知识】 1、【Agent】kafka-reporter-plugin-x.x.x.jar包放plugins目录后必走kafka(kafka没有正确配置就会报错) 2、【Agent】异步如不开启数据压缩,日志数据较大,pod多、业务大时容易造成网络…

2025前端框架最新组件解析与实战技巧:Vue与React的革新之路

作者:飞天大河豚 引言 2025年的前端开发领域,Vue与React依然是开发者最青睐的框架。随着Vue 3的全面普及和React 18的持续优化,两大框架在组件化开发、性能优化、工程化支持等方面均有显著突破。本文将从最新组件特性、使用场景和编码技巧三…

Orange 单体架构 - 快速启动

1 后端服务 1.1 基础设施 组件说明版本MySQLMySQL数据库服务5.7/8JavaJava17redis-stackRedis向量数据库最新版本Node安装Node22.11.0 1.2 orange-dependencies-parent 项目Maven依赖版本管理 1.2.1 项目克隆 GitHub git clone https://github.com/hengzq/orange-depende…

Layer2 扩容解决方案详解

Layer2 扩容解决方案详解 🔄 1. Layer2 基础概念 1.1 什么是 Layer2? Layer2 是建立在以太坊主网(Layer1)之上的扩容解决方案,它: 继承以太坊的安全性提供更高的交易吞吐量降低交易费用保持去中心化特性…

小智机器人CMakeLists编译文件解析

编译完成后,成功烧录! 这段代码是一个CMake脚本,用于配置和构建一个嵌入式项目,特别是针对ESP32系列芯片的项目。CMake是一个跨平台的构建系统,用于管理项目的编译过程。 set(SOURCES "audio_codecs/audio_code…

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu:I5-10代; 主板:华硕; OS:银河麒麟V10(SP1)未激活 架构:Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.ta…

【Linux】动静态库

目录 站在库提供者的角度 静态库 制作静态库 静态库的内容 发布静态库 用户使用静态库 找头文件 找库文件 动态库 制作动态库 动态库报错 动态库是怎么被加载的? 地址相关问题 程序加载前的地址 程序加载后的地址 如何执行第一条指令? …

500字理透react的hook闭包问题

在react中hook的闭包问题很容易在不经意间犯错,项目写大了之后更是难以找到到底是哪里出了问题。 为什么会出现闭包问题 出现闭包问题的原因就是函数中操作的变量不是最新的变量,什么意思呢,我们知道函数组件每次刷新都是重新运行一次函数&…

Unity Shader Graph 2D - 一个简单的魔法阵激活效果

前言 在魔幻类游戏里通常会有魔法阵的存在,而当某个机关被触发或者某个剧情被触发时,需要对魔法阵进行激活,这个时候就需要一个魔法阵的激活效果来让这个游戏的这一时刻的交互性更强,生动性更强,本文将用一种十分简单的方式来实现一个魔法阵的激活效果。 创建一个…

C++ 类和对象(友元、内部类、匿名对像)

目录 一、前言 二、正文 1.友元 1.1友元函数的使用 1.1.1外部友元函数可访问类的私有成员,友员函数仅仅是一种声明,他不是类的成员函数。 1.1.2一个函数可以是多个类的友元函数 2.友元类的使用 2.1什么是友元类 2.2 友元类的关系是单向的&#x…

Docker Network

1.简介 容器之间的通讯时通过网桥通讯的,跨主机通讯可以使用flannel进行通讯 那么为什么主机可以访问到虚拟机内部呢?因为VMware虚拟出一个虚拟的网卡,而这个虚拟网卡和主机在同一个局域网下 NAT是映射一个虚拟网卡,进行路由通信…

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解

【Linux系统】—— 冯诺依曼体系结构与操作系统初理解 1 冯诺依曼体系结构1.1 基本概念理解1.2 CPU只和内存打交道1.3 为什么冯诺依曼是这种结构1.4 理解数据流动 2 操作系统2.1 什么是操作系统2.2 设计OS的目的2.3 操作系统小知识点2.4 如何理解"管理"2.5 系统调用和…

【行业解决方案篇十八】【DeepSeek航空航天:故障诊断专家系统 】

引言:为什么说这是“航天故障终结者”? 2025年春节刚过,航天宏图突然官宣"DeepSeek已在天权智能体上线",这个搭载在卫星和空间站上的神秘系统,号称能提前48小时预判99.97%的航天器故障。这不禁让人想起年初NASA禁用DeepSeek引发的轩然大波,更让人好奇:这套系…

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

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

从猜想终结到算法革新,弹性哈希开启数据存储新篇章

目录 哈希表的前世今生基本原理从传统到现代:哈希表的演变历程安德鲁 克拉皮文及其团队的创作历程弹性哈希详解基本原理优点技术细节漏斗哈希解析基本原理优点技术细节新算法的实际应用案例电子商务推荐系统金融交易监控系统社交媒体内容过滤物联网设备管理结论与展望哈希表的…