将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 1

以下摘录一些章节片段:
1. 概论
自动驾驶系统的认知中有一些模糊的地方,比如自动驾驶系统如何定义的问题,自动驾驶的研发为什么会有那么多的子模块,怎么才算自动驾驶落地等等。本章想先给读者一个概括介绍,了解自动驾驶的分级方法,搞清楚自动驾驶的模块化开发和端到端学习开发的区别,以及都有哪些自动驾驶的应用场景。
本章1.1介绍自动驾驶的分级系统,1.2简介系统的模块化结构和开发方法,而1.3是不常用的端到端的系统开发思路, 1.4介绍自动驾驶的落地场景分类,最后1.5引入数据闭环这个开发平台概念。
关于数据闭环的介绍:
“
2. 基础理论
自动驾驶系统的开发需要掌握一些专业知识,最根本的是机器学习和深度学习,此外还需要有计算机视觉和图像处理的基础,也涉及一些数值计算和优化算法的知识。
该章无法深入地对这些领域做详细的介绍,只能是基本概念和算法的一个快速浏览,中间会抽取关键点进行深入介绍。如果真正想全面学习和掌握这些知识,还需要阅读专门的论文和著作。
首先2.1介绍计算机视觉的框架,重点取几个关键点进行分析,比如SIFT特征提取、摄像头的标定、运动估计和运动恢复结构(SFM),其实另外一些模块,比如立体视觉(stereo vision)、单目形状重建(shape from X)还有目标检测/识别/跟踪/分割,都会在第5章感知中重点介绍,这里不再重复;2.2简介图像处理理论,特别分析两种图像去噪的算法,即双边滤波(BLF,Bilateral filtering)和非邻域均值(Non-local Means,NLM)滤波;2.3是优化理论一览,特别讨论了两种常见的非线性LS方法,G-N法和L-M法;2.4概述机器学习的理论,重点介绍常用的支持向量机和随机森林;2.5对深度学习理论进行了概述,其中对卷积神经网络(CNN)、递归神经网络(RNN)、生成对抗网络(GAN)和Transformer重点讨论。
关于机器学习的一段讨论:
“
3. 硬件平台
自动驾驶汽车相比于传统汽车的主要区别在于其装备有大量新传感器和支持自动驾驶算法的强大计算硬件。这里讨论的自动驾驶硬件平台主要包括有车体控制部分、线控地盘、传感器和计算平台。
另外,随着“软件定义汽车(SDV)”的大潮,电子电气架构(EEA)也出现了新的演进和发展,包括滑板底盘的出现。而智能汽车的发展,包括智能驾驶汽车,顺应了当今汽车“新四化”(电动化、网联化、智能化和共享化)的变革趋势,也推动计算机技术、通信网络技术、人工智能和大数据云计算等在汽车产业的深入应用。
本章3.1介绍传感器,即摄像头、激光雷达、毫米波雷达、超声波雷达、惯导(IMU)、导航系统(GPS)和车联网(V2X),3.2是简述车体控制,包括VCU/ECU/MCU、CAN总线、ESP和EPS,3.3主要讨论目前的商业计算平台,主要是几家如Intel Mobileye的 EQ系列,Nvidia公司的Drive Xavier和Orin,TI 的TDA4VM和Qualcomm公司 的Ride,3.4介绍线控底盘技术,3.5主要讨论汽车电子电气架构的技术。
关于激光雷达的缺点片段:

关于雷达的分析片段:

关于雷达新技术的讨论片段:

4. 软件平台
随着自动驾驶技术的发展,有更多的软件公司投入到自动驾驶软件平台的开发,比如Nvidia的商用化产品DriveWorks,以及百度开源的阿波罗。
当今汽车智能化的大趋势下,“软件定义汽车”成为产业共识。相较于传统汽车,智能汽车的目标是创造全新的驾驶体验,这也是形成差异化的关键。因此,软件和算法逐步成为了汽车产业的竞争核心要素,同时车辆制造的门槛也由从前的上万个零部件集成能力演变成将上亿行代码组合运行的能力。
随着汽车电子电气架构(EEA)的演进,智能汽车软件架构也渐渐从面向信号架构(Signal-Oriented Architecture)向面向服务架构(Service-Oriented Architecture)转型升级。面向服务架构(SOA)作为一种软件设计方法和理念,具备接口标准化、松耦合、灵活易于扩展等特点。
自动驾驶软件平台基本可分成以下三个层次:
l 系统软件,由硬件抽象层、OS 内核和中间件构成;
l 功能软件,包括自动驾驶通用框架、神经网络模块、传感器模块以及相关中间件;
l 应用软件,包括算法和应用,支持智能座舱以及自动驾驶(包括感知、定位、决策、规划和控制执行等)。
当今在汽车软件平台开发中,最有名的是AUTOSAR联盟,它提出了一个开源的软件开发标准。在传统软件开发V-模型基础上,汽车软件设计标准aSPICE以及著名的功能安全标准ISO 26262,都提出了各自的软件开发流程。
下面详细地讨论自动驾驶软件平台的问题。4.1介绍汽车行业的软件架构标准AUTOSAR,4.2软件开发过程中著名的V-模型,4.3简述一个汽车软件设计流程标准aSPICE,4.4介绍著名的安全标准ISO 26262定义的软件开发流程,4.5是Nvidia开发的自动驾驶软件框架DriveWorks,而4.6分析自动驾驶采用的操作系统平台, 4.7介绍一下自动驾驶云平台,最后4.8介绍DevOps和MLOps。
关于中间件的介绍片段:
“
关于模型训练的并行分布式介绍片段:
“
相关文章:
将要上市的自动驾驶新书《自动驾驶系统开发》中摘录各章片段 1
以下摘录一些章节片段: 1. 概论 自动驾驶系统的认知中有一些模糊的地方,比如自动驾驶系统如何定义的问题,自动驾驶的研发为什么会有那么多的子模块,怎么才算自动驾驶落地等等。本章想先给读者一个概括介绍,了解自动驾…...
String、StringBuilder、StringBuffer之间的区别是什么?
在Java中,String、StringBuilder 和 StringBuffer 是处理字符串的三个类,其中 String 是不可变对象,而 StringBuilder 和 StringBuffer 是可变对象。这些类在字符串操作方面具有不同的特性和用途。 String String 类表示不可变的字符序列&a…...
docker系列8:容器卷挂载(上)
目录 传送门 从安装redis说起 什么是容器卷挂载 操作系统的挂载 日志文件一般是"首恶元凶" 挂载命令 容器卷挂载 卷挂载命令 启动时挂载 查看挂载卷信息 容器卷管理 查看卷列表 创建容器卷 具名挂载与匿名挂载 具名挂载 传送门 docker系列1ÿ…...
痉挛性斜颈患者自己做哪些运动对脖子好?
痉挛性斜颈(Dystonia)是一种罕见的神经系统疾病,其特点是颈部肌肉痉挛,导致头部姿势异常倾斜或扭曲。而在治疗痉挛性斜颈中,运动疗法是非常重要的一部分。下面将介绍一些痉挛性斜颈患者可以自己进行的运动,…...
数据结构——二叉树链式结构的实现(上)
二叉树概念 再看二叉树基本操作前,再回顾下二叉树的概念, 二叉树是: 1. 空树 2. 非空:根节点,根节点的左子树、根节点的右子树组成的。 从概念中可以看出,二叉树定义是递归式的 二叉树构成࿱…...
数据结构内容概览
0. 绪论 绪论01——复杂度度量 绪论02——复杂度分析 绪论03——递归分析 绪论04——算法分析 绪论05——动态规划 算法设计与优化——前n项和计算 算法设计优化——对于任意非负整数,统计其二进制展开中数位1的总数 算法设计优化——Fibonacci数 算法设计优化——…...
当Linux系统运行时间长了之后,会出现磁盘空间不足提示,需要及时进行清理
Linux系统(CentOS 7)的磁盘空间不足时,可以采取以下步骤进行清理: 查找并删除大文件: 使用du和find命令可以找到并删除大文件。例如,要查找/目录下大于100MB的文件,可以运行: find /…...
【Flask 系统教程 4】Jinjia2模版和语法
Jinjia2 模板 模板的介绍 Jinja2 是一种现代的、设计优雅的模板引擎,它是 Python 的一部分,由 Armin Ronacher 开发。Jinja2 允许你在 HTML 文档中嵌入 Python 代码,以及使用变量、控制结构和过滤器来动态生成内容。它的语法简洁清晰&#…...
与 Apollo 共创生态:七周年大会心得
与 Apollo 共创生态:七周年大会心得 前言 4月19日,百度Apollo迎来七周年,历经七年的不懈追求与创新,Apollo开放平台已陆续推出了13个版本,汇聚了来自全球170多个国家与地区的16万名开发者及220多家合作伙伴。作为一名…...
『FPGA通信接口』DDR(4)DDR3内存条SODIMMs读写测试
文章目录 前言1.MIG IP核配置2.测试程序3.DDR应用4.传送门 前言 不论是DDR3颗粒还是DDR3内存条,xilinx都是通过MIG IP核实现FPGA与DDR的读写。本文区别于DDR颗粒,记录几个与颗粒配置不同的地方。关于DDR的原理与MIG IP的简介,请查看前面文章&…...
Element UI 快速入门指南
Element UI 快速入门指南 Element UI 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件和工具,可以帮助开发人员快速构建现代化的 Web 应用程序。本文将介绍如何快速入门使用 Element UI,并展示一些常用的组件和功能。 安装 Element UI 使…...
CentOS常用命令有哪些?
目录 一、CentOS常用命令有哪些? 二、不熟悉命令怎么办? 场景一:如果是文件操作,可以使用FileZilla工具来完成 场景二:安装CentOS桌面 一、CentOS常用命令有哪些? CentOS 系统中有许多常用命令及其用法…...
cmd查看局域网内所有设备ip
说明:最近碰到一个新问题,就是有一个安卓设备,安装了一个app导致死机了,app设置了开机重启,所以,无论重启还是关机,都是进来就白屏, 这可把人愁坏了,直接死循环了 无论…...
5.3作业
这个声明定义了一个名为 s 的数组,数组包含 10 个元素,每个元素都是一个函数指针。(1)C (2)D (3)C (4)DE (5)C8 11 14(1)int IsFull(sequeue *seqn) { return ((seqn->frnt ((seqn->rear 1) % N)) ? 1 : 0); } (2)int IsEmpty(sequ…...
java-Spring-mvc-(请求和响应)
目录 📌HTTP协议 超文本传输协议 请求 Request 响应 Response 🎨请求方法 GET请求 POST请求 📌HTTP协议 超文本传输协议 HTTP协议是浏览器与服务器通讯的应用层协议,规定了浏览器与服务器之间的交互规则以及交互数据的格式…...
亚马逊测评工作室如何轻松实现高收益,跨境电商揭秘汇率差赚钱术
随着跨境电商在国内市场的持续繁荣,众多电商卖家纷纷将目光投向了这一充满活力的领域。面对国内市场的激烈竞争,许多卖家选择向外拓展,寻求更广阔的发展空间。其中,亚马逊成为了众多卖家的不二选择,毕竟老外的市场还是…...
unity中 UnityWebRequest.Post和 UnityWebRequest uwr = new UnityWebRequest两种方法有什么区别
在Unity中,UnityWebRequest.Post 和 UnityWebRequest uwr new UnityWebRequest(...) 是两种不同的方式来创建和发送HTTP POST请求,但它们之间有一些关键的区别和用法上的差异。 1. UnityWebRequest.Post (静态方法) UnityWebRequest.Post 是一个静态方…...
Java学习-练习试用Java实现求素数
以下是使用Java语言试着编写的求1-100内的素数的程序: public class PrimeNumbers {public static void main(String[] args) {System.out.println("Prime numbers between 1 and 100 are:");for (int i 2; i < 100; i) {if (isPrime(i)) {System.ou…...
最近学习发现一个background-blend-mode,这是CSS的一个新成员吧!这里分享记录一下
介绍 background-blend-mode CSS 属性定义该元素的背景图片,以及背景色如何混合。 混合模式应该按background-image CSS 属性同样的顺序定义。如果混合模式数量与背景图像的数量不相等,它会被截取至相等的数量。在所有的元素中。在SVG,它适…...
虚幻引擎5 Gameplay框架(二)
Gameplay重要类及重要功能使用方法(一) 配置LOG类及PlayerController的网络机制 探索验证GamePlay重要函数、类的执行顺序与含义 我们定义自己的日志,专门建立一个存放自己日志的类,这个类继承自BlueprintFunctionLibrary 然后…...
BlueDot BME280库深度解析:嵌入式多传感器驱动实践
1. BlueDot BME280 库技术解析:面向嵌入式工程师的多传感器驱动实践指南BME280 是博世(Bosch)推出的高精度环境传感器,集成温度、相对湿度与气压三参数测量能力,广泛应用于气象站、IoT终端、无人机姿态补偿及室内环境监…...
PaddleOCR方向分类器优化:基于文本矩形框筛选的准确率提升实践
1. 为什么需要优化PaddleOCR方向分类器 在实际项目中,我们经常遇到需要处理各种方向文本图片的场景。PaddleOCR作为一款优秀的开源OCR工具,虽然内置了方向分类功能,但在实际使用中发现,对于90度和270度旋转的文本图片,…...
S32的进阶之路->7,S32DS中FTM中断与PWM结合的实战应用
1. FTM中断与PWM结合的应用场景 在嵌入式开发中,定时器和PWM(脉冲宽度调制)是最常用的外设功能之一。S32K144芯片的FTM(FlexTimer Module)模块提供了强大的定时和PWM生成能力,而将它们与中断结合使用&#…...
重构ComfyUI工作流:从混乱到高效的节点优化实践
重构ComfyUI工作流:从混乱到高效的节点优化实践 【免费下载链接】ComfyUI-KJNodes Various custom nodes for ComfyUI 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-KJNodes 一、问题发现:识别工作流中的效率瓶颈 1.1 视觉复杂性诊断 …...
如何修复 n8n Postgres 节点中的“节点未设置任何凭据”错误:一篇真正能照着操作的排障博客
如果你在用 n8n 连 Postgres 的时候,突然看到一句让人有点懵的报错:Node has no credentials set 或者中文界面里类似:节点未设置任何凭据先别慌。这个报错看起来像系统在跟你打哑谜,但它的真实意思其实非常朴素: 这个…...
告别Keil:用VS Code + EIDE打造高效C51开发环境
1. 为什么我们要放弃Keil? 如果你接触过C51单片机开发,Keil μVision这个名字一定不会陌生。作为单片机开发领域的"老前辈",Keil几乎成了教学和入门的标准工具。但说实话,每次打开那个灰蒙蒙的界面,我都感觉…...
主流开源License深度解析:从BSD到CC的适用场景与商业考量
1. 开源许可证的本质与核心价值 第一次接触开源许可证时,我和大多数人一样困惑:为什么明明是我的代码,却需要别人来告诉我怎么使用?后来在参与多个开源项目后才发现,许可证就像代码世界的交通规则,它不是为…...
网络工程师的日常:一次搞定eNSP中MSTP+VRRP的‘坑’与优化技巧
eNSP实战:MSTPVRRP组网中的典型故障排查与性能调优 凌晨两点,当我在eNSP模拟器中第三次看到"VRRP state transition to Backup"的日志时,咖啡杯已经见底。这个典型的双核心企业网架构本该在半小时内完成配置,却因为MSTP…...
一般非线性最优问题的迭代解法思路
1.迭代方法在经典最优化极值问题中,解析法虽然具有概念简明,计算精确等优点,但因只能适用于简单或特殊问题的寻优,对于复杂的工程实际问题通常无能为力,一般采用迭代算法,逐渐逼近最优解。 最优化问题的迭…...
咱们今天聊点干货——用MATLAB玩转储能电站和微电网的协同优化。这玩意儿听起来高大上,实操起来其实挺有意思。先看上层优化的核心代码段
MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化 MATLAB代码:基于储能电站服务的冷热电多微网系统双层优化|||配置 关键词:储能电站 共享储能电站 冷热电多微网 双层优化配置 参考文档:《基于储能电站服务的冷热电多微…...
