自动驾驶---聊聊传统规控和端到端
1 背景
在自动驾驶领域中,端到端模型的兴起确实对传统的规划控制方法(笔者并不同意网上以Rule-Base称呼传统规控,传统的规控其实也使用了很多优化算法和博弈算法)产生了挑战,但这就意味着传统规控方法就完全没有应用了吗?这里笔者画下一个问号。同时模型的应用和发展也对传统的自动驾驶工程师的职业发展也产生了挑战。
从各家用户发布的视频来看,经常会有车辆在开启智能驾驶功能下,有一些不友好的行为,比如闯红灯、压实线变道、不礼让行人等。如果模型无法输出轨迹或者输出的轨迹不合理,甚至有安全风险时,又该如何处理呢?带着这几个问题,进入本篇博客的内容。

2 端到端
从特斯拉开始,各家智驾公司都开始了端到端的量产工作,那么端到端到底有哪些优势呢?很多公司花重金挖到相关的人才研究端到端,端到端的概念并不是最近几年才出现,在上个世纪就有相关研究了,只不过随着技术的发展以及大语言模型在前几年的成功应用,在自动驾驶领域也受到了高度重视,并且特斯拉珠玉在前,证明了该方案的可行性以及可靠性。
2.1 优势
端到端模型的优势总结下来有以下几点:
(1)结构上的简化
- 端到端模型通过直接从原始传感器数据到驾驶决策,甚至到轨迹层或者控制层,如此简单的映射,简化了自动驾驶系统的结构,提高了信息传达的效率。
- 该模型能够实现数据的无损传递,避免了传统模块化方法中数据在不同模块间传递时可能出现的信息损失。
(2)学习能力强
- 端到端模型通过深度学习,能够更好地处理复杂的交通环境和长尾场景。
- 减少人为偏见:通过学习数据中的模式,减少了人为偏见的影响,使系统更加依赖于数据驱动的决策。
- 全局优化:在整个流程中实现全局优化,而不是在独立的模块中进行局部优化,从而提高了整体性能。
- 数据驱动的决策:通过大规模数据训练,系统能够学习到复杂的驾驶场景和行为。
- 提高系统的泛化能力:能够从大量多样化的数据中学习,提高在未见过的场景中的表现。
(3)减少标注
- 降低对数据标注的依赖:系统可以直接从原始传感器数据中学习,而不需要详细的中间标注,同时也减少数据信息的丢失。
2.2 不足
模型的发展,主要依赖于算力和数据,但这两者都是比较烧钱的。算力依赖于大量的GPU或者其它加速计算单元,数据需要流量和车辆的保有量。
- 数据需求极高:端到端系统的训练需要大量的驾驶数据,包括多种驾驶场景、异常情况和极端条件,这对企业的数据收集、处理和存储能力提出了极高的要求。
- 决策过程不透明:由于端到端系统依赖于深度学习模型,其决策过程难以解释,存在“黑箱”问题,这可能带来安全性和合规性方面的担忧。
- 泛化能力不足:受训练数据局限,当系统遇到未曾见过的场景或条件时,可能无法做出正确的决策。
- 安全性问题:罕见的corner case,特别是有安全风险的case很少见,如何收集此类数据并泛化给模型训练成为一个待解决的问题。
3 传统规控
虽然大模型的发展如火如荼,但是据笔者了解,目前并没有一家完全舍弃传统规控,比如在轨迹优化层。传统规控方法在未来的发展中仍有其价值,当然也存在一些弊病。
3.1 优势
(1)安全兜底
- 安全兜底在笔者认为,就是对端到端模型最重要的补充,目前看到的市面上端到端算法(不论是一段式还是多段式)模型无法解决的场景,都需要人为接管。如果模型给出的轨迹不安全呢,又该如何处理?
- 在安全兜底的问题上,笔者认为是传统规控的价值所在,不管是正常的fallback,还是紧急情况下的AEB,都需要保证用户的生命和财产安全。
(2)可解释性
- 尽管端到端模型在某些情况下表现出色,但传统规控方法在可解释性、安全性和可靠性方面仍具有优势。
- 在某些特定的驾驶场景或应用中,传统规控方法可能更简单、更直接、成本更低。
- 可解释性强:传统规控的决策过程相对清晰易懂,工程师可以明确地知道每个控制环节的依据和逻辑。例如在路径规划中,基于图搜索算法(如 A * 算法)的路径规划或者基于优化思想的算法,其搜索/优化过程和结果都可以直观地进行分析和验证。这种可解释性使得在出现问题时,能够更容易地进行故障排查和修复,从而提高整个系统的可靠性和安全性。
(3)处理长尾场景
-
传统 Planner 可以针对罕见或极端场景设计专门的规则,弥补大模型的不足。
3.2 不足
- 依赖人工设计:传统规控方法中的许多规则和算法需要依赖人工进行设计和调整。
- 难以应对复杂场景:在面对高度复杂和多变的驾驶场景时,传统规控方法可能无法做出及时和准确的决策。
4 未来发展
随着技术的发展和自动驾驶应用场景的不断拓展,端到端和传统规控方法之间的融合趋势日益明显。一些自动驾驶系统开始采用混合策略,将两者相结合以充分利用各自的优势。在需要高度精确性和安全性的场景中,传统规控方法可能更为可靠;而在一些相对简单和标准化的场景中,端到端方法则可能表现出更高的效率和适应性。因此,两者在自动驾驶系统中具有互补性。
(1)两者的结合
为了兼顾安全性和灵活性,自动驾驶系统通常采用 分层架构,将大模型与传统 Planner 结合使用:
-
大模型和传统 Planner 并行运行,相互验证和补充。
-
当大模型的输出不符合安全标准时,传统 Planner 接管控制。
-
根据场景复杂度和安全性需求,动态切换大模型和传统 Planner 的主导权。
(2)未来应用
- 随着技术的发展,端到端模型可能会逐渐取代一些传统的规控任务,但在可预见的几年,传统规控方法仍将在自动驾驶系统中发挥作用,特别是在需要高可靠性(安全性)的场合。
- 当高低速的端到端紧急刹停(或者称之为高低速一体的AEB)逐渐成熟,可以逐渐替代传统planner,安全性也可由大模型替代。
端到端模型在自动驾驶中的应用前景广阔,但传统规控方法仍将在确保系统安全性和可靠性方面发挥关键作用。
5 总结
未来自动驾驶系统的发展可能会趋向于将两者相结合,形成更加灵活和多样化的策略。通过不断优化算法和模型、加大数据收集和训练的力度,以及加强与传统自动驾驶技术的融合等措施,端到端技术有望在未来自动驾驶领域中发挥更加重要的作用,但车上的大模型完全取代传统规控方法还需要经历一个复杂的过程。
相关文章:
自动驾驶---聊聊传统规控和端到端
1 背景 在自动驾驶领域中,端到端模型的兴起确实对传统的规划控制方法(笔者并不同意网上以Rule-Base称呼传统规控,传统的规控其实也使用了很多优化算法和博弈算法)产生了挑战,但这就意味着传统规控方法就完全没有应用了…...
node.js + html + Sealos容器云 搭建简易多人实时聊天室demo 带源码
node.js html Sealos容器云 搭建简易多人实时聊天室demo 带源码 前言功能介绍(demo演示)sealos官网配置node.js 编写服务端代码前端ui 调用接口整体项目目录部署到服务器 前言 hello哦盆友们,这次我们来十几行代码做一个超简单的多人聊天…...
OpenFeign远程调用返回的是List<T>类型的数据
在使用 OpenFeign 进行远程调用时,如果接口返回的是 List 类型的数据,可以通过以下方式处理: 直接定义返回类型为List Feign 默认支持 JSON 序列化/反序列化,如果服务端返回的是 List的JSON格式数据,可以直接在 Feig…...
PCL 计算多边形的面积【2025最新版】
目录 一、算法原理1、概述2、主要函数3、函数源码二、代码实现三、结果展示博客长期更新,本文最近更新时间为:2025年1月17日。 一、算法原理 1、概述 根据给定的多边形的点云计算多边形的面积 A r e a = 1 2 ∑...
著名大模型评测榜单(不同评测方式)
在评估大语言模型的性能时,一种主流的途径就是选择不同的能力维度并且构建对应的评测任务,进而使用这些能力维度的评测任务对模型的性能进行测试与对比。由大型机构或者研究院所排出榜单。 评测指标 不同评测任务有不同的评指标,衡量模型的…...
国内知名Deepseek培训师培训讲师唐兴通老师讲授AI人工智能大模型实践应用
课程名称 《Deepseek人工智能大模型实践应用》 课程目标 全面了解Deepseek人工智能大模型的技术原理、功能特点及应用场景。 熟练掌握Deepseek大模型的提示词工程技巧,能够编写高质量的提示词。 掌握Deepseek大模型在办公、营销等领域的应用方法,提升…...
【AIGC】冷启动数据与多阶段训练在 DeepSeek 中的作用
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯冷启动数据的作用冷启动数据设计 💯多阶段训练的作用阶段 1:冷启动微调阶段 2:推理导向强化学习(RL࿰…...
如何打造一个更友好的网站结构?
在SEO优化中,网站的结构往往被忽略,但它其实是决定谷歌爬虫抓取效率的关键因素之一。一个清晰、逻辑合理的网站结构,不仅能让用户更方便地找到他们需要的信息,还能提升搜索引擎的抓取效率 理想的网站结构应该像一棵树,…...
【ROS2】RViz2自定义面板插件(rviz_common::Panel)的详细步骤
【ROS】郭老二博文之:ROS目录 1、简述 RViz2 的插件基于 ROS2 的插件库(pluginlib)机制,通过动态加载共享库实现功能扩展。 注意:RViz2 使用 QT 作为 UI 框架,虽然 QT 也有插件机制,但是 RViz2 并没有使用QT的插件机制,而是通过 pluginlib 加载功能模块来实现。 2、…...
漏洞分析 Spring Framework路径遍历漏洞(CVE-2024-38816)
漏洞概述 VMware Spring Framework是美国威睿(VMware)公司的一套开源的Java、JavaEE应用程序框架。该框架可帮助开发人员构建高质量的应用。 近期,监测到Spring Framework在特定条件下,存在目录遍历漏洞(网宿评分&am…...
《手札·避坑篇》2025年传统制造业企业数字化转型指南
一、引言 在数字化浪潮的推动下,传统制造业企业正加速向智能化、数字化转型。开源软件技术与制造MES(制造执行系统)产品的结合,为企业提供了高效、灵活且低成本的转型路径。本指南旨在为传统制造业企业的信息化负责人提供一套完整的数字化转型方案,助力企业实现高效、智能…...
MySQL中DDL操作是否支持事务
MySQL中DDL不支持事务。 传统MySQL(5.7及以前版本): DDL操作不支持事务执行DDL操作时会隐式提交当前会话的事务无法回滚DDL操作 MySQL 8.0版本: 引入了原子DDL特性(Atomic DDL)DDL操作变为原子性的&…...
GWO优化决策树回归预测matlab
灰狼优化算法(Grey Wolf Optimizer,简称 GWO)是一种群智能优化算法,由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出。该算法的设计灵感源自灰狼群体的捕食行为,核心思想是模仿灰狼社会的结构与行为模式。 在本…...
掌握Spring @SessionAttribute:跨请求数据共享的艺术
SessionAttribute注解在Spring中的作用,就像是一个“数据中转站”。 在Web应用中,我们经常需要在多个请求之间共享数据。比如,用户登录后,我们需要在多个页面或请求中保持用户的登录状态。这时,SessionAttribute注解就…...
python读取Excel表格内公式的值
背景:在做业务周报的时候,有一个Excel模板,表里面包含了一些公式,dataframe写入到Excel的时候,有公式的部分通过python读出来的结果是None,需要进行优化参考链接: 如何使用openpyxl读取Excel单元…...
第三十八章:阳江自驾之旅:挖蟹与品鲜
经历了惠州海边那趟温馨又欢乐的自驾之旅后,小冷和小颖心中对旅行的热情愈发高涨。闲暇时,两人总会坐在客厅里,翻看着旅行杂志,或是在网上搜索各地的美景,那些充满魅力的地方不断吸引着他们,也让他们对下一…...
C++小等于的所有奇数和=最大奇数除2加1的平方。
缘由 三种思路解题:依据算术推导得到一个规律:小等于的所有奇数和等于最大奇数除以2加1的平方。将在后续发布,总计有十种推导出来的实现代码。 int a 0,aa 1,aaa 0;cin >> a; while (aa<a) aaa aa, aa 2;cout << aaa;i…...
设置IDEA的内存大小,让IDEA更流畅: 建议设置在 2048 MB 及以上
文章目录 引言I 更改内存设置基于窗口界面进行内存设置修改内存配置文件II IDEA中的一些常见问题及其解决方案引言 方式一:基于窗口界面进行内存设置方式二:修改内存配置文件I 更改内存设置 基于窗口界面进行内存设置 打开IDEA,上方菜单栏 Help > Change Memory Settin…...
Ranger Hive Service连接测试失败问题解决
个人博客地址:Ranger Hive Service连接测试失败问题解决 | 一张假钞的真实世界 异常信息如下: org.apache.ranger.plugin.client.HadoopException: Unable to connect to Hive Thrift Server instance.. Unable to connect to Hive Thrift Server inst…...
车机音频参数下发流程
比如以audioControlWrapper.setParametersToAmp(keyPairValues); 下发banlance为例,链路如下 hal层 1. AudioControl.cpp hardware\interfaces\automotive\audiocontrol\aidl\default\AudioControl.cpp ndk::ScopedAStatus AudioControl::setParametersToAmp(co…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
yaml读取写入常见错误 (‘cannot represent an object‘, 117)
错误一:yaml.representer.RepresenterError: (‘cannot represent an object’, 117) 出现这个问题一直没找到原因,后面把yaml.safe_dump直接替换成yaml.dump,确实能保存,但出现乱码: 放弃yaml.dump,又切…...
SE(Secure Element)加密芯片与MCU协同工作的典型流程
以下是SE(Secure Element)加密芯片与MCU协同工作的典型流程,综合安全认证、数据保护及防篡改机制: 一、基础认证流程(参数保护方案) 密钥预置 SE芯片与MCU分别预置相同的3DES密钥(Key1、Key2…...
Linux实现线程同步的方式有哪些?
什么是线程同步? 想象一下超市收银台:如果所有顾客(线程)同时挤向同一个收银台(共享资源),场面会一片混乱。线程同步就是给顾客们发"排队号码牌",确保: 有序访…...
Async-profiler 内存采样机制解析:从原理到实现
引言 在 Java 性能调优的工具箱中,async-profiler 是一款备受青睐的低开销采样分析器。它不仅能分析 CPU 热点,还能精确追踪内存分配情况。本文将深入探讨 async-profiler 实现内存采样的多种机制,结合代码示例解析其工作原理。 为什么需要内…...
