无人驾驶实战-第一课(自动驾驶概述)

在七月算法上报了《无人驾驶实战》课程,老师讲的真好。好记性不如烂笔头,记录一下学习内容。 课程入口,感兴趣的也可以跟着学一下。
—————————————————————————————————————————
无人驾驶汽车的定义:
无人驾驶汽车是可载人的移动智能机器人,通过丰富感知系统和智能的行为系统实现高效率高可靠性的驾驶能力。
无人驾驶与自动驾驶的关系:
无人驾驶:完全不依赖于人的行为
自动驾驶:某些情况下可以加入人的参与和监督 
无人驾驶是自动驾驶的一个真子集。
未来出行的三大趋势:共享、新能源与自动驾驶。
无人驾驶的发展历程
探索阶段(2004年以前) 
1921年, 第一辆无人驾驶(实为遥控)汽车在美国诞生 
1956年,通用汽车第一辆具备了自动导航系统的汽车,采用车路协同设备实现无人驾驶(预埋的线缆与车端的接收器进行电子通讯)
FireBird II
1921年, 第一辆无人驾驶(实为遥控)汽车在美国诞生
1956年,通用汽车第一辆具备了自动导航系统的汽车,采用车路协同设备实现无人驾驶(预埋的线缆与车端的接收器进行电子通讯) 
1960年,斯坦福大学研究出第一个全自主轮式机器人Shakey,具备完整感知、规划和控制能力,也是后来机无人车的基础
Shakey
1990年,CMU的导航实验室 NavLab也是著名的无人驾驶发源地之一。
1995年,完成了从匹兹堡到圣地亚哥的 “ No Hands ” 跨越美国之旅  
1995年,戴姆勒奔驰发布了尤里卡·普罗米修斯计划,联合研发无人驾驶技术,这是第一个大范围联合开发的自动驾驶项目,整个欧洲大学研究院都有参与
NavLab 5
S500
发展阶段(2004 – 2016年)
2004年,美国DARPA( 美国国防高级研究计划局 ) 无人车挑战赛:要求无人车成功穿过240公里的沙漠道路 
2005年,斯坦福大学的Stanley成功夺冠,该团队由Sebastian Thrun带领。这次比赛中,大量车使用了激光雷达、高精度的地理信息系统和惯性导航系统 
2007年,这次DARPA城市挑战赛 (Urban Challenge),这次由Chris Urmson带队的CMU成功夺冠。 这三次挑战赛中,真正引领了无人车的发展,各大公司都是从这些比赛中逐渐发展起来的,比如Mobileye,Velodyne,Google X
Stanley
2010年,Google X实验室做了他们第一辆无人车丰田Pirus,通过顶上的64线雷达,建立高分辨率的三维环境模型(SLAM) 
2014年,Google无人车Firefly诞生,取消了方向盘,仅用手柄进行调试和接管
Google Pirus
Firefly
2011年,中国国防科技大学自动化系完成了自研的红旗 HQ3 无人驾驶汽车, 也拿到了当年“智能车未来挑战”大赛的冠军 
2015年, 百度自动驾驶部门正式成立, 与宝马合作的无人车进行了北京开放道路的试验
百度-宝马无人车
成熟阶段(2016以后)
AlphaGo的原因,投资界对AI开始疯狂追捧,对无人车更是热情高涨。同时,无人驾驶也真正进入中国大众视野 
2016年,Tesla自动驾驶因为一起致死的交通事故,与Mobileye分道扬镳,开始了自动驾驶高速投入 
2016年,Waymo正式从Google拆分出去,开始了独立运营 
2017年更是百花齐放,创业公司层出不穷 
2017年百度Apollo项目正式开源 
2018年,Waymo无人车对外商业运营
Pacifica
2019年,预计有更多的公司开始对外商业运营
2019年,物流运输、园区接驳等细分场景也将真正开始落地应用 车厂对未来大规模普及无人驾驶的时间预估,最晚也不超过2040年
我们这一代的生活中,无人驾驶技术的普及将成为极大概率的事件
自动驾驶的等级划分:
L2级及以下需要驾驶员对事故负责,L3及以上由车企负责。

L2级别的代表是特斯拉
Tesla: L2 高级辅助驾驶
  •  驾驶员需要对安全负责 
  •  启动条件要求不高(速度和车道线) 
  •  早期采用Mobileye提供感知技术 
  •  无法解决复杂路口问题 
  •  主动变道需要人提供变道指示
L3的代表为奥迪A8
  • L3 自动驾驶自动驾驶期间,车辆负全部责任 
  • 自动驾驶能力进入条件苛刻(多车道线、60km/h以下、天气良好) 
  • 目前智能性最好的量产车 
  • 暂时没有主动变道能力 
  • 遇到紧急情况或者不符合条件的情况需要通知驾驶员接管,有10s时间
各级别车企的名单
L4级别的概念车
Waymo: 
  • L4 全自动驾驶 
  • 曾有一段时间取消了安全员 
  • 商业运营阶段 
  • 世界最领先的自动驾驶能力 
  • 成本昂贵
Nuro:
  • 特殊场景下的Level 4能力 
  • 物流配送车 
  • 成本要求不能太高 
  • 可以不用考虑乘坐体感 
  • 相关物流公司都有布局,比如:京东、美团、阿里菜鸟等等
L4级别自动驾驶的实现思路 
  • 实现思路:V2X:Vehicle to Everything(车路协同): V2V(车辆), V2I(公共设施), V2P(行人) 
  • 边缘计算:RSU(路侧单元)、OBU(车载单元) 
  • 5G通信能力:LTE-V协议,专门针对车间通讯的协议,可兼容4G-5G 
  • 路侧智能:强大的感知能力(百度ACE计划)
  • 主车智能:近些年深度学习填补上了最后一块软件难题 
  • 感知能力:高度复杂冗余的传感器 
  • 决策能力:大数据下的智能决策 
  • 高精地图:丰富的地图信息数据     
  • 定位:精准的位置获取能力 通过学习人类开车的方式,来构建整个主车智能系统
权责问题也是一个重要的问题
RSS模型(Responsibility-Sensitive Safety)责任敏感安全模型 
为自动驾驶汽车与人类的责任概念提供具体可衡量的参数,并通过对所有记录在案的交通事故所涉及的行为和环境进行分析统计,为自动驾驶汽车界定了一个可计量的“安全状态”
“软件能够做出最安全决策”
L4自动驾驶的系统架构
涉及的范围很广。
涉及到的传感器
感知系统传感器:
摄像头:广泛用于物体识别和物体追踪场景,比如车道线检测、交通灯识别等,一般无人车都安装环视多枚摄像头
激光雷达:用于障碍物位置识别、绘制地图、辅助定位等,其准确率非常高,很多方案中将激光雷达作为主传感器使用 
毫米波雷达:阴雨天、雾霾天能够辅助感知获取物体的位置和速度,观测距离远但误检较多 
超声波:近处高敏感度传感器,常用于作为安全冗余设备检测车辆的碰撞安全问题
定位系统传感器:
IMU:实时测量自身的姿态,200Hz或更高。包含了三个单轴的加速度计和三个单轴的陀螺仪,加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺检测载体相对于导航坐标系的角速度信号
GNSS:也是大家常听到的GPS,无人车一般使用RTK(载波相位差分技术)技术来进行定位,频率相对较低,10Hz左右
车载计算单元(IPC):
车载计算单元(IPC)高效连接计算单元内部各计算设备,连接外部传感器的信息输入和存储 
冗余设计,以防止单点故障 
需要考虑整体的车规、电磁干扰和振动方面的设计以及 ISO-26262 标准的要求 
ISO-26262: 一个硬件达到了ASIL D级别的要求,那么它的故障率是10FIT,即10亿个小时里面出一次故障, 汽车行业在安全方面可以做到的极限(迭代速度慢)
自动驾驶线控系统:汽车的控制是由一些简单命令完成的,而不是由物理操作完成的。
这一部分相当于人的手和脚 传统汽车的这些控制由液压系统和真空助力泵协助完成,自动驾驶汽车的线控需要用电控化的零部件来完成,如电子液压制动系统 林肯MKZ拥有完善的电气化设备和接口
自动驾驶软件功能:
感知系统,定位能力, 决策规划, 实时控制
操作系统 OS
RTOS:实时操作系统 
QNX:类Unix系统,具有强实时性,符合车规级的实时操作系统 
RT Linux:Linux内核补丁,通过软实时进行监控,目前从2.x版本到4.x版本均有RT补丁 
Framework: 
ROS(机器人操作系统):B->M 
YARP、Microsoft Robotics、MOOS、Cybertron
ROS是集中式的,Master挂了整个系统无法工作。Cybertron是百度开发的分布式系统, 稳定一些
高精地图 HD Map(High Dimensional)
  • 不同于导航地图,最大的特点就是高维度和高精度 
  • 道路网的精确三维表征,如交叉路口布局和路标位置 
  • 地图语义信息,如道路的速度限制、 左转车道开始的位置 、
  • 导航地图只能达到米级精度,高精地图需要能够达到厘米级的精度 
  • 高精地图坐标系: WGS84、墨卡托坐标系
高精地图的好处:
  • 高精地图提供其它Level 4模块的数据支持提供了很多准确的静态物体的信息 
  • 定位可以用于计算相对位置 
  • 帮助传感器缩小检测范围,缩小感兴趣区域ROI 
  • 计算道路导航信息 
  • 帮助车辆识别车道的确切中心线
定位 Localization
无人车最重要的一步就是知道自己在哪 
INS: Inertial Navigation System 惯性导航系统 IMU 获取自身状态(加速度和角速度)
后通过状态矩阵递推下一时刻位置, 但是如果没有校正信息的话,这种状态递推会随着时间不断累计误差,导致最终位置发散
RTK:载波相位差分系统GNSS(GPS) 
RTK多加了是一个静止基站,它同样也收到定位卫星的信号。无人车与RTK相隔不太远的情况下,对二者之间的干扰信号用差分抹平 
RTK通过较低的更新频率提供相对准确的位置信息,INS则以较高的频率提供准确性较差的姿态信息。通过使用Kalman Filter整合两类数据获取其各自优势,合并提供出高准确性的实时信息
几何定位: 激光雷达 摄像头 高精地图 
利用激光雷达或者图像信息,可以通过物体匹配来对汽车进行定位。将检测的数据与预先存在的高精地图之间匹配,通过这种比较可获知汽车在高精度地图上的全球位置和行驶方向 
感知 Perception四大基础任务
各传感器之间各有特点
一般需要传感器融合,又分为前融合与后融合。前融合是原始数据融合,后融合是检测结果的融合。
预测Prediction
要求实时性 和 准确性
基于状态进行预测:Kalman Filter和Particle Filter 
基于车道序列进行预测:通过机器学习模型化简为分类问题 
行人预测:无人车需要非常重视安全问题,其中人的安全最为重要,而行人的意图变化却是最难预测的,也是约束最少的
决策规划 Planning
包含导航线路规划 和 精细轨迹表述 
  • 数学问题转换:将物理世界的地图转化为数学上的图表达 
  • 最优路径搜索:由于其他软件模块已经将不确定性进行了最大程度的消除,而最终决策规划模块又是对稳定性要求极高的模块,因此可以通过数学上的最优路径求解出确定解,遍历最优解是非常耗时的。 
  • 需要考虑车辆的体感和安全性
控制 Control
输入信息:目标轨迹、车辆状态;
输出:方向盘、油门 实现对无人车的控制,我们需要知道踩刹车和减速的关系、踩油门和加速的关系等,当无人车拿到一些控制学参数后,通过电脑对无人车的控制 
控制是对整个驾驶最后的保障,因此需要在任何情况下对准确性、稳定性和时效性要求都非常高,需要通过对车辆模型精细化描述进行严格的数学表达 
传统的控制算法PID可以满足车辆控制要求,但是考虑到体感和一些极限情况,控制算法优化也是目前无人车的一个持续探讨的问题,如LQR、MPC等
总结:
无人驾驶的四大问题。

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

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

相关文章

音频光耦合器

音频光耦合器是一种能够将电信号转换为光信号并进行传输的设备。它通常由发光二极管(LED)和光敏电阻(光电二极管或光敏电阻器)组成。 在音频光耦合器中,音频信号经过放大和调节后,被转换为电流信号&#xf…

Windows11+Opencv+Clion编译源码

Windows11OpencvClion编译源码 参考:https://www.robotsfan.com/posts/69395e08.html 注意事项 编译过程中使用的软件,开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件,如果是局域网的话可能下载不下来&#xf…

Restful开发规范以及开发流程

目录 一、RestFul开发规范 二、开发流程 一、RestFul开发规范 RESTful(Representational State Transfer)是一种用于设计和开发网络应用程序的架构风格,它强调使用标准HTTP方法和状态码来进行资源的管理和交互。以下是一些常见的RESTful开发…

【linux-网络】4层转发方法-iptable以及nginx

1.背景 有时候远程或者某些业务需要做转发就会用到iptables或者nginx,或者ss都可以 根据自己的情况去适配。 2.方法: 1)iptables -把linux内核转发功能打开 echo "net.ipv4.ip_forward1" >> /etc/sysctl.conf -出入转发…

对微服务网关的一些总结

对微服务网关的一些总结 一. 什么是网关 网关是位于NGINX(或没有)与真实微服务间的转发服务。 用户通过HTTP接口,连接到NGINX,然后NGINX反向到M个网关。 网关根据[服务注册与发现],进行转发请求到具体的微服务上。 由于网关可编码&#…

SystemVerilog scheduler

文章目录 简介调度器simulation regionPreponed regionActive regionInactive regionNBA(Non-blocking Assignment Events region)Observed regionReactive regionRe-Inactive Events regionRe-NBA RegionPostponed Region PLI region:Pre-active regionPre-NBA regionPost-NBA…

ELK日志分析系统

文章目录 一. ELK日志分析系统概述1.ELK 简介2.ELK日志分析系统2.1 ElasticSearch2.1.1 ElasticSearch概述2.1.2 ElasticSearch核心概念(作用) 2.2 Kiabana2.2.1 Kiabana 概念2.2.2 Kiabana 主要功能 2.3 Logstash2.3.1 Logstash 概念2.3.2 Logstash主要…

unreal engine 开启像素流笔记

本教程忽略了一些细节,但是不重要,需要详细教程参考https://docs.unrealengine.com/5.2/zh-CN/getting-started-with-pixel-streaming-in-unreal-engine/ 1.启用像素流插件Pixel Streaming 2.编辑器偏好设置 关卡编辑器-播放添加额外启动参数 image.png …

【linux--->网络层协议】

文章目录 [TOC](文章目录) 一、概念1.网络层概念2.IP地址概念 二、IP协议报文结构1.首部长度2.总长度(total length)3.协议4.版本号(version)5.服务类型(Type Of Service)6.生存时间间(Time To Live, TTL) 三、网段划分1.5类IP划分法.2.CIDR(Classless Interdomain Routing)划分…

guava-retry使用笔记

guava-retry使用笔记 xml依赖 <dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><version>2.0.0</version> </dependency>使用案例 重试3次&#xff0c;每次间隔3秒 /*** 重试…

Jenkins工具系列 —— 插件 钉钉发送消息

文章目录 安装插件 Ding TalkJenkins 配置钉钉机器人钉钉APP配置项目中启动钉钉通知功能 安装插件 Ding Talk 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins Jenkins 配置钉钉机器人 点击 左侧的 Manage Jenkins &#xff0c;拉到最后 钉…

react面试之context的value变化时,内部所有子组件是否变化

上测试代码 // context const state {a: 1,b: 1, } const context createContext(state);export default context; // A组件 const A () > {const { a } useContext(context);return (<div>{a}</div>) } export default A;// B组件 const B () > {cons…

使用Vue+CSS实现汉堡图标过渡为叉号图标,有点意思

前言 本文给大家分享三个具有过渡效果的汉堡图标&#xff0c;当点击汉堡图标时&#xff0c;过渡为叉号图标。这种具有过渡特效的图标挺炫酷的&#xff0c;感觉一下子给网页增加一点新颖特色。早在2015年左右&#xff0c;国外挺多优秀门户网站都有使用类似的图标&#xff0c;那…

服务限流治理

一、基础概念 1.什么是服务限流&#xff1f; 限流在日常生活中也很常见&#xff0c;比如节假日你去一个旅游景点&#xff0c;为了不把景点撑爆&#xff0c;管理部门通常会在外面设置拦截&#xff0c;限制景点的进入人数&#xff08;等有人出来之后&#xff0c;再放新的人进去…

代码随想录算法训练营第37天 738.单调递增的数字 ●968.监控二叉树

738. 单调递增的数字 通过分析数字的每一位来解决。我们可以从左到右扫描数字&#xff0c;并确保在构造结果时遵循给定的规则。以下是具体实现&#xff1a; 将数字转换为字符数组&#xff0c;以便轻松访问每一位。从左到右遍历数字的每一位&#xff0c;如果发现某一位大于其右…

在.net 6.0中 调用远程服务器web服务,Webservices(xxx.asmx) ,RESTful 风格,2种解决方案。

1.使用 Connected Services&#xff1a; 右键单击您的项目&#xff0c;选择 "Add"&#xff08;添加&#xff09;-> "Connected Services"&#xff08;已连接的服务&#xff09;。 在 "Connected Services" 对话框中&#xff0c;选择 "W…

问道管理:盘后股价跳水!苹果最新财报出炉

北京时间8月4日&#xff0c;苹果公司发布2023财年第三财季&#xff08;2023年二季度&#xff09;财报。二季度&#xff0c;苹果实现营收817.97亿美元&#xff0c;同比下降1.40%&#xff1b;净利润为198.81亿美元&#xff0c;同比增加2.26%。 其中&#xff0c;二季度&#xff0c…

Pytest学习教程_装饰器(二)

前言 pytest装饰器是在使用 pytest 测试框架时用于扩展测试功能的特殊注解或修饰符。使用装饰器可以为测试函数提供额外的功能或行为。   以下是 pytest 装饰器的一些常见用法和用途&#xff1a; 装饰器作用pytest.fixture用于定义测试用例的前置条件和后置操作。可以创建可重…

理解树的结构

树的重要性 二分查找算法、几种核心的排序算法以及图算法都与树有非常密切的关系。有句话锁&#xff0c;“没学会树&#xff0c;算法相当于白学”&#xff0c;可见&#xff0c;树在算法中的地位。 树的考察方面 层次遍历以及拓展问题 前后序遍历与拓展问题 中序遍历与搜索树问…

Ubuntu网络设置之固定IP详解

尊敬的家人们&#xff0c;欢迎观看我的文章&#xff01;今天&#xff0c;我们将为您介绍Ubuntu22.04操作系统中固定IP的设置方法&#xff0c;帮助您更好地管理网络连接并提高网络稳定性。 什么是固定IP&#xff1f; 在网络中&#xff0c;IP地址是设备在网络上的唯一标识。通常…