三代自动驾驶系统及主流科技公司自动驾驶技术方案简介

截止目前,按技术特点,自动驾驶技术大致经历了三代发展:第一代自动驾驶技术以后融合感知技术,高精度地图,基于惯导、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 …...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
