三代自动驾驶系统及主流科技公司自动驾驶技术方案简介
截止目前,按技术特点,自动驾驶技术大致经历了三代发展:第一代自动驾驶技术以后融合感知技术,高精度地图,基于惯导、GPS定位系统,预测模块,基于优化、搜索的规控等组成。第一代比较成熟的自动驾驶技术的框架其实在2017年已经很清晰了,博主本人在2017年参加京东JRC X机器人挑战赛时即采用的当下第一代自动驾驶技术架构,即整体框架基于ros,增加了数据收发、任务收发和完成的确认机制,感知硬件采用Kinect V2,使用YOLO做目标识别、检测,然后对检测出目标框做大数中值滤波,得到目标物体上接近中心的位置分布,最后根据像素uv和深度d求目标位置再将位置坐标转换到机械臂坐标系下。定位模块硬件上包括IMU和单线激光雷达,采用Gmapping模块进行定位,最后的将感知信息、定位信息输入决策模块,决策模块通过状态机进行任务规划,A*、D*算法进行全局路径规划,基于贝塞尔曲线、粒子滤波等进行局部路径规划。经调研了和了解,目前技术栈主要基于后融合及感知、定位、预测、规控各模块序贯架构的公司有陕汽、千挂科技、慧拓、以及小米汽车等。
第二代自动驾驶系统在第一代自动驾驶方案基础上,算法框架统一BEV框架,感知采用了基于共享主干网的Transformer多任务感知模型,在输出目标感知的同时,几乎所有框架也都包含Occupancy预测,同时基于本地实时地图生成方法降低了系统对高精度地图的依赖,规控部分仍以搜索和优化方法为主。第二代自动驾驶技术是当前比较主流自动驾驶方案,最早以特斯拉AI Day上分享的基于共享主干网络的多任务感知模型和基于动态交互树的决策、轨迹优化模型最为经典,当前包括小鹏的Xnet架构,百度、华为、小马智行、元戎启行、赢彻、智加科技等都有相关的会议报告或公开资料展示其基于BEV的第二代自动驾驶技术方案。
第三代自动驾驶系统诞生于chatGPT大火之后,chatGPT相比于之前指令式聊天模型有了质的飞跃,具备根据前后文进行多轮推理,生成超长回答,支持多模态输入,智力水平接近人类等特点,其背后代表性技术为基于Transformer的亿级参数大模型和基于巨量网络数据的RLHF(人类反馈强化学习)技术。chatGPT主要用于自然语言领域,属于时序建模方法,与自动驾驶技术有一定相似性,自动驾驶也需要基于当前观测和历史观测给出车辆当前和未来一段时间控制信号或数据。因此,很快在自动驾驶领域得到应用。第三代自动驾驶系统和第二代框架相同,均是基于BEV框架,但感知、规控算法开始采用端到端的方式,并在训练通用自动驾驶控制器的同时,利用大规模语料数据训练模型的自动驾驶场景描述能力,代表性工作如2023年CVPR Best Paper UniAD和毫末智行的DriveGPT。当前毫末智行公布的涉及第三代自动驾驶方案资料最多,其构建的DriverGPT,据PPT演示称完成了实车城区自动驾驶,并能根据视觉数据用自然语言推理当前自动驾驶系统规划和决策的合理性。实际产品要等到2024年才会上市,具体第三代自动驾驶系统表现如何还得看实际测试效果。当前,百度也在布局基于大模型、强化学习端到端的自动驾驶系统研究,并招募相关人才。
与自动驾驶技术发展相对应的,硬件平台与平台算力也在同步发展,当前感知模块占用自动驾驶系统绝大部分算力,因此硬件平台发展与当下主要感知模型架构密切相关。2018年感知模型以ResNet为代表,参数量大概百万级。代表性的硬件芯片有TI TDA4、英伟达Xaiver、地平线J3,算力需求大概30TOPS。后面EfficientNet出现,其在ImageNet上的准确率为84.3%,高于ResNet-200的79%,但其推理速度较ResNet在TPU上快6.1倍,在GPU上快3.3倍,其参数范围达到千万级,与其对应的硬件平台为地平线J5、英伟达Orin。当前随着transformer相关模型的上车加速,模型参数已经到达亿级,相应的硬件也在积极适配transformer相关模型参数及算力需求,地平线J5也有相应的工具链可以部署transformer相关模型,但完全适配transformer大模型的则是地平线BPU Nash架构,可以部署大规模transformer&GPT大模型,并支持蒙特卡洛树搜索(Alpha Go主要技术之一,可实现复杂、超大求解空间快速搜索)。硬件虽然更新速度较快,但目前还不能满足自动驾驶系统移动端算力、架构需求,当前根据一众大佬预测完全L4级RoboTaxi的算力需求大约在2000TOPS左右,与英伟达下一代自动驾驶SOC Thor算力相同。 作者:不优秀博仕Hanker https://www.bilibili.com/read/cv27265402/?spm_id_from=333.999.0.0 出处:bilibili
相关文章:

三代自动驾驶系统及主流科技公司自动驾驶技术方案简介
截止目前,按技术特点,自动驾驶技术大致经历了三代发展:第一代自动驾驶技术以后融合感知技术,高精度地图,基于惯导、GPS定位系统,预测模块,基于优化、搜索的规控等组成。第一代比较成熟的自动驾驶…...

mac安装nodejs,跑vue程序
1. 下载node.js for mac,地址:Node.js。一路安装就可以了,无需修改。 2. mac终端,查看node和npm的版本。 3. 配置环境变量, vim .bash_profile增加PATH$PATH:/usr/local/bin/ 4. 但是毕竟npm安装一些东西还是太慢了所…...

VC++程序崩溃时,使用Visual Studio静态分析dump文件
1、通过Visual Studio直接把Dump文件打开 2、点击【仅限本机进行调试】,启动Dump 3.1、本机调试启动后,如果程序运行模块和pdb文件在同一个目录的,直接定位到异常代码行 3.2、如果显示找不到pdb文件,则需要通过【新建路径】设置…...

【哈希数组】【字符串 转化为 字符数组】Leetcode 383 赎金信
【哈希表】【字符串 转化为 字符数组】Leetcode 383 赎金信 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray ⭐️String 转化为 字符数组char[ ] .toCharArray 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray 时间复杂度O(N) 这个解决方案…...

【C++】c++引用和小细节
文章目录 一、引用的特性:引用的实质引用权限使用场景引用和指针的区别 c引用不是定义了新的对象,而是对一个已有的对象起了一个别名,如鲁迅和周树人的关系,鲁迅是周树人的笔名,两者是一个东西,只是名字不同…...

nginx负载均衡(动静分离)
nginx负载均衡(动静分离) 文章目录 nginx负载均衡(动静分离)工作原理:环境说明:部署nginx负载均衡步骤:在负载均衡(NGINX)主机上做配置:测试:在浏…...
vue自定义全局指令v-emoji限制input输入表情和特殊字符
问题: 后台不提供富文本存储,所以emoji表情入库会报错需求要求前端在输入的时候过滤掉表情符号全局的input 和富文本textarea输入框都需要过滤emoji表情 分析: 1.每一个input写事件写正则校验代码量实在太多了还很麻烦;所以想用…...

Excel 5s内导入20w条简单数据(ExecutorType.BATCH)Mybatis批处理的应用
文章目录 Excel 5s内导入20w条数据1. 生成20w条数据1.1 使用Excel 宏生成20w条数据1.2 生成成功 2. ExecutorType:批量操作执行器类型2.1 ExecutorType.SIMPLE2.2 ExecutorType.BATCH2.3 ExecutorType.REUSE 3. 20w条数据直接插入数据库3.1 使用ExecutorType.SIMPLE…...

【期刊】IEEE系列指定期刊模版下载(LaTeX或者Word)全网最细教程
IEEE旗下有很多期刊,例如: IEEE Transactions on Pattern Analysis and Machine Intelligence IEEE Transactions on Cybernetics IEEE Transactions on Neural Networks and Learning Systems IEEE Transactions on Industrial Informatics IEEE Tra…...
损失函数和评估函数
损失函数和目标函数定义 损失函数是用于衡量模型在训练过程中预测结果与实际结果之间的差异的函数。它通过计算模型的预测值与实际值之间的距离或差异来 quantitatively 表示模型的性能好坏。损失函数通常被用作优化算法(如梯度下降)的目标函数,通过最小化损失函数来调整模…...

第四章 文件管理 四、文件的物理结构(文件分配方式)
目录 一、文件块,磁盘块 二、连续分配 1、定义: 2、计算方式: 3、注意: 4、优点: 5、缺点: 6、总结 三、链接分配----隐式链接 1、定义: 2、如何实现逻辑块号转物理块号 3、优点&…...

解析外贸开发信的结构?营销邮件书写技巧?
做外贸的开发信结构是怎样的?写外贸邮件的注意事项? 外贸开发信是国际贸易中至关重要的一环,它不仅是与潜在客户建立联系的第一步,也是一种有效的市场推广工具。蜂邮EDM将深入解析外贸开发信的结构,帮助您更好地理解如…...

Linux的命令基本格式
因为对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务、开放更多的端口,这对服务器的稳定性和安全性都有负面影响。其实,服务器是一个连显示器都没有的家伙,要图形界面干十么?说到这里&…...
数据库Redis(二):基本数据类型
Redis中采用Key-Value键值对的形式将数据存储在数据库中,首先介绍Redis中针对键Key的操作命名。 Redis键Key相关命令 # 查看当前库所有key keys * # 判断某个key是否存在 exists <key> # 查看你的key是什么类型 type <key> # 删除指定的key数据 …...
mysql第四次作业
目录 数据表介绍 --1.学生表Student(SId,Sname,Sage,Ssex)--SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表Course(CId,Cname,TId)--CId 课程编号,Cname 课程名称,TId 教师编号 --3.教师表Teacher(TId,Tname)--TId 教师编号,Tname 教师姓名 --4.成绩…...
kubesphere 一键部署K8Sv1.21.5版本
1. 在centos上的安装流程 1.1 安装需要的环境 yum install -y socat conntrack ebtables ipset curl1.2 下载KubeKey #电脑必须可以访问github,很重要。不然安装过程会出问题 curl -sfL https://get-kk.kubesphere.io | VERSIONv1.2.1 sh - chmod x kk1.3 开始安…...

设计模式(12)状态模式
参考【设计模式】用Java实现状态模式_java 状态模式_卷帘的博客-CSDN博客 一、介绍: 1、状态模式:是一种行为设计模式,它允许对象在内部状态发生改变时改变其行为。该模式将对象的行为包装在不同的状态类中,使得对象的行为可以根…...

C#WPFPrism框架模块化应用实例
本文实例演示C#WPFPrism框架模块化应用实例。 首先创建WPF项目,修改App相关文件内容,以便使用prism。 一、添加模块 解决方案中添加ModuleA和ModuleB两个项目 删除不用的窗体,添加自定义窗体 修改ModuleA和ModuleB的输出类型...

ES6之Set集合(通俗易懂,含实践)
Set是什么?它的方法有哪些?它在实例开发中有什么作用? 让我为大家介绍一下吧! ES6提供了新的数据结构 Set(集合) 。它类似于数组,但成员的值是唯一的,常用于数组去重。 创建方法: let s new S…...
深度学习标注工具(包括自动标注)总结——持续更新
首次记录日期2023年10月24日 名称 导出格式支持形状地址1 anylabeling 支持yolov5和v8,自动标注的软件 沿物体轮廓分割 https://github.com/vietanhdev/anylabeling 2 RectLabel 使用Core ML模型自动标记图像 对象、属性、热键和快速标签的设置。 以PASCAL VOC …...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...