【自动驾驶】控制算法(一)绪论与前期准备

news2024/9/27 15:27:48

写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝
个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。

🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒
若您觉得内容有价值,还请评论告知一声,以便更多人受益。
转载请注明出处,尊重原创,从我做起。

👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜
在这里,您将收获的不只是技术干货,还有思维的火花

📚 系列专栏:【运动控制】系列,带您深入浅出,领略控制之美。🖊
愿我的分享能为您带来启迪,如有不足,敬请指正,让我们共同学习,交流进步!

🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~

文章目录

  • 引言
  • 一、谨慎、批判、怀疑的态度
  • 二、常用工具
    • 1、Google
    • 2、Github
  • 三、软件组合
    • 1、Matlab + Carsim
    • 2、Linux + ROS
  • 四、书籍推荐
    • 1、《无人驾驶车辆模型预测控制》龚建伟
    • 2、《车辆动力学及控制》拉杰什·拉贾马尼 (Rajesh Rajamani)
  • 五、自动驾驶技术路线
  • 六、感知技术的各研究方向
    • 1、基于视觉的感知
    • 2、基于激光雷达的感知
    • 3、多传感器融合感知
      • a)视觉与其他传感器的融合
      • b)加入高精地图的融合
  • 七、自动驾驶中的芯片难题
    • 1、芯片计算速度
    • 2、芯片发热问题
    • 3、芯片可靠性要求
  • 八、总结
    • 1、跨学科挑战与心理准备
    • 2、对待新技术的态度
  • 参考资料


引言

  各位小伙伴们大家好,本篇博客开一个新的系列,自动驾驶控制算法。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。

  自动驾驶是比较新、也比较火的技术,这个系列介绍自动驾驶关于控制方面的算法。


一、谨慎、批判、怀疑的态度

  在开启这一系列的介绍之前,要先提醒大家一句:请以审慎批判和怀疑的眼光审视目前市面上所有关于自动驾驶技术方面的书籍、教程、文献以及论文。其原因在于,新兴技术往往伴随着模糊性和争议性。自动驾驶技术,作为一项相对较新的领域,自然也不例外。

  自动驾驶技术的创新速度之快,使得它不同于那些已经发展了几百年甚至几千年的学科,如数学和物理。后者的发展已经相当成熟,相关的教科书通常不会存在模糊性或争议,也不会有明显的错误。

  然而,自动驾驶技术则不同,由于其新颖性,目前学术界和工业界都尚未形成一个成熟的、总结性的文献或著作。虽然网络上充斥着大量介绍自动驾驶技术的文章,市面上也有许多相关书籍销售,但不可避免的是,这些资料普遍存在错误,即便是出自知名人士或机构之手的论文和文章也不例外。

  无论是斯坦福、麻省理工的学者,还是参与 863 计划的科学家,他们所出版的书籍和论文中也存在诸多错误。

  因此,我们在对待这些资料时应持批判性思维,取其精华,去其糟粕,切不可盲目迷信权威。这也适用于本博客所写的教程,大家在学习时也应保持谨慎、批判和怀疑的态度。


二、常用工具

  下面介绍一下学习自动驾驶的常用工具,不限于控制算法,如果想做其他的关于自动驾驶的研究,这些工具也是必不可少的,最有力的工具就是谷歌和GitHub。

1、Google

  有人可能会问,就用百度搜索行不行?

  百度的话主要是搜不到GitHub,所以建议大家不要用百度了,直接用 Google浏览器 就行

2、Github

  GitHub 上面有很多自动驾驶相关的文献以及相关代码,而且 GitHub 上有很多做自动驾驶的技术牛人,跟他们学习对自己的提高非常快。


三、软件组合

1、Matlab + Carsim

  软件需要 Matlab,最好是 Matlab R2020a + Carsim 2019.1,主要是这两个软件。

  Casim 是车辆动力学仿真软件,对 Matlab的版本有要求,如果用其他版本的Matlab可能不兼容,所以推荐版本是 Matlab R2020a + Carsim 2019.1 的组合。

  这两个软件是用来做自动驾驶仿真的 ,Matlab 主要用来写控制算法的程序,然后把程序送到 Carsim 仿真。

2、Linux + ROS

  如果学得更深入一点,就涉及到 ROS 和 Linux 。


四、书籍推荐

  主要推荐两本书。

1、《无人驾驶车辆模型预测控制》龚建伟

在这里插入图片描述
  第一本是《无人驾驶车辆模型预测控制》,由北京理工大学的龚建伟教授团队编写,这本书在车辆动力学建模方面的内容较为全面,读者在阅读时应持有批判和怀疑的态度,客观审视,理性分析。

2、《车辆动力学及控制》拉杰什·拉贾马尼 (Rajesh Rajamani)

在这里插入图片描述
  第二本是《车辆动力学及控制》,这是原版《Vehicle Dynamics and Control》的中译本。百度 Apollo 的算法就是基于此书中的原理,可见其内容具有很强的实用性和参考价值。


五、自动驾驶技术路线

  下面探讨自动驾驶技术,该技术大致可以分为四个部分:

感知
决策
规划
控制

  虽然控制理论在严格意义上来说也具有一定的难度,但相对来说,控制领域更为成熟。通常涉及的控制方法有三种:

  • 比例-积分-微分控制器(Proportional-Integral-Derivative Controller, PID)
  • 线性二次调节器(Linear Quadratic Regulator, LQR)
  • 模型预测控制(Model Predictive Control, MPC)

  控制理论相对较为成熟。控制的难点并不在于理论本身,而在于有时候理论计算可能非常精确,但实际操作中却可能出现与理论不符的情况。

  控制技术的路线相对来说已经较为明确,方法有限,因此相对来说控制技术更容易学习。


六、感知技术的各研究方向

  感知技术的每个研究方向都有其各自的优点和缺点:

1、基于视觉的感知

  基于视觉的感知方法,即利用摄像头进行环境感知。

  在这一领域,特斯拉的方案尤为著名,特斯拉采用的是纯视觉感知方案。然而,这种方案的局限性在于,在夜间或浓雾等能见度较低的环境条件下,其感知性能会显著下降。

2、基于激光雷达的感知

  采用基于激光雷达技术的方案,即使用激光雷达进行环境感知。

  大多数创业公司基本上采用的是激光融合技术。缺点就是激光雷达的成本较高。不过,最近激光雷达在成本方面取得了一些突破,未来激光雷达的成本有望降低。个人认为激光雷达技术具有很好的发展前景。

3、多传感器融合感知

a)视觉与其他传感器的融合

  主流方案的是视觉融合其他传感器,但不是视觉和激光雷达的融合,因为激光雷达太贵了,而是比如毫米波雷达超声波雷达之间的融合,主要因为便宜。

b)加入高精地图的融合

  高精地图是一个未来的发展方向,但是现在还进展还比较缓慢,主要是因为高精地图的绘制费时费力,而且可能属涉及国家安全,并不是所有企业和个人都有资格测绘高精地图。

  因此,感知模块的技术路线目前尚未明确,各种方法均在探索之中,包括基于视觉的、基于激光的,以及多传感器融合的方法都有研究者在研发。目前来看,这一模块相对而言不够成熟,并且是自动驾驶技术中较难的部分。


七、自动驾驶中的芯片难题

1、芯片计算速度

  自动驾驶技术的一个难点在于芯片的计算速度。由于自动驾驶系统需要进行大量计算,其所需的芯片性能大致相当于台式机级别,这一点看似容易实现,因为高性能的台式机芯片,如英特尔和AMD生产的芯片早已普及。但实际上这一要求在自动驾驶领域的应用并非简单事。

2、芯片发热问题

  车载芯片的工作环境极其恶劣,远比台式机的环境要严苛得多。

  我们在电脑上使用的CPU,需要额外安装风冷或水冷系统来控制其功耗,防止因过热而降频。而在车辆中,芯片的工作环境更为恶劣。

  在家中使用电脑时,温度通常只是室温,最多达到30至40度,而车辆中的芯片却要面对更高的温度问题。如果是燃油车,发动机燃烧时产生的温度极高,可达几百度。即便是电动车,电机和电池在运行时也会产生大量热量,温度同样很高。

3、芯片可靠性要求

  此外,车辆在行驶过程中还会遭受震动和冲击,这些都可能影响芯片的可靠性。芯片的计算速度慢并不是最严重的问题,最怕的是芯片损坏。在完全自动驾驶的车辆中,一旦芯片损坏,可能会导致灾难性的后果。电脑CPU损坏顶多导致黑屏,但车辆芯片的损坏则可能危及人身安全。

  因此,车载芯片对在恶劣环境下的稳定性和抗冲击能力有更高的要求。它们需要在高温环境下稳定工作,同时能够承受突如其来的猛烈冲击,且不能出现故障。这样的技术难度是相当大的。

  不过,这些内容与本博客的教程无关,只是顺便提及,我们的教程主要还是讲解控制方面的内容。


八、总结

  本篇博客不讲具体的控制算法,只是告诉大家要用哪些工具、软件、书籍,要把这些东西准备好。

1、跨学科挑战与心理准备

  在一般的课程中,通常会有一些入门的门槛,也就是说,需要学习过某些特定的课程之后,才能够完全理解这门课程。但在此处不明确指出具体的学习门槛,原因在于涉及的学科范围过于广泛。基本没有任何一门专业能够全面覆盖所有这些学科。因此,无论读者来自哪个学校、哪个专业,后面讲述的内容中必然包含一些不属于所学学科的知识点。因此,需要做好相应的心理准备。这门课程的难度恰恰在于其跨学科的广泛性,涉及的学科领域实在太多了。

2、对待新技术的态度

  最后,赠予大家一句忠告:不要盲目崇拜所谓的专家或权威,也不要对书籍和学术论文过于迷信。面对新技术的任何技术性资料,我们都应保持审慎的态度。在学习过程中,不可避免地会遇到一些超出自己舒适区的跨学科知识。尽管博主会尽力将这些内容讲解得简洁明了,但对于某些人来说,可能仍然会有一定的畏惧感。所以有几点比较重要:

  • 第一就是要自信,其实没什么难的。
  • 第二就是要勇敢,勇于探索,这才是最重要的。

  特别是在学习新技术时,往往缺乏现成的资料可供查阅,也没有现成的技术博客可供参考,所有的知识和技能都是通过自己一点一滴的努力逐渐积累起来的。当真正掌握了这些知识,成功攻克了难关之后,会意识到这一切并没有想象中那么困难。任何学科知识,一旦被写入书籍,就意味着它已经被人类掌握。尤其是像控制学这样较为成熟的学科,其实并无可惧之处,尽管它涉及多个学科领域,但仍然不必感到害怕,要对自己充满信心。

  从下一篇博客开始正式讲解无人驾驶的控制算法!欢迎关注!


参考资料

  【基础】自动驾驶控制算法第一讲 绪论与前期准备


后记:

🌟 感谢您耐心阅读这篇关于 自动驾驶控制算法 | 绪论与前期准备 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

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

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

相关文章

白盒测试-发送请求

发送请求-怎么操作? 先创建发送请求对象mockmvc--用mockmvc对象发送请求(包含请求url,请求头,请求参数等) 用到的源码是mockmvc源码--其中perform方法,他的入参是接口类 用mockmvc对象发送请求,代码是mock…

【机器学习第11章——特征选择与稀疏学习】

机器学习第11章——特征选择与稀疏学习 11.特征选择与稀疏学习11.1子集搜索与评价子集搜索子集评价 11.2 过滤式选择11.3 包裹式选择11.4 嵌入式选择11.5 稀疏表示与字典学习稀疏表示字典学习 11.6 压缩感知 11.特征选择与稀疏学习 11.1子集搜索与评价 特征:描述物…

全国计算机二级Python学习笔记

格式化操作符辅助指令: 格式化输出16进制,十进制,八进制整数 %x — hex 十六进制 %d — dec 十进制 %o — oct 八进制 turtle.setup()函数用于启动一个图形窗口,它有四个参数 turtle.setup(width, height, startx, starty) 分别是&…

kali实用工具之ettercap

ettercap最初是交换局域网的嗅探器,但在开发的过程中,它获得了越来越多的功能,从而使其转变为强大而灵活的中间人攻击工具。它支持许多协议(甚至是加密协议)的主动和被动解剖,并包括许多用于网络和主机分析…

Unity音频管理器插件AudioToolKit

Unity音频管理器插件AudioToolKit 介绍AudioToolKit介绍具体用法总结 介绍 最近在自己写音频管理器的时候在网上发现了一款比较好用并且功能很全的一个音频管理插件,叫做AudioToolKit的插件。 如果需要的可以直接从我资源中找AudioToolKit。 AudioToolKit介绍 A…

助农扶贫小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商品信息管理,订单信息管理,订单配送管理,商品评价管理,商品退货管理,管理员管理 微信端账号功能包括:系统…

Flink消费Kafka数据积压排查解决

0、背景 有个Flink任务每天不定时会出现数据积压,无论是白天还是数据量很少的夜里,且积压的数据量会越来越多,得不到缓解,只能每日在积压告警后重启,重启之后消费能力一点毛病没有,积压迅速缓解&#xff0…

性能测试常见面试问题汇总

性能测试是什么? 答:性能测试是评估系统或应用程序在不同负载条件下的表现的过程。它可以帮助我们确定系统在正常使用期间所需的资源,并找出系统在何时无法满足用户需求的瓶颈。 性能测试包括哪些方面? 答:性能测试包括…

计算中间件平台之Linkis

Linkis 是由WeBank自主研发的一款面向大数据和AI的计算中间件平台。它的设计初衷是为了简化和统一各种计算引擎的调用和管理,降低使用大数据和AI技术的门槛。Linkis可以帮助用户在一个平台上方便地调用各种数据处理引擎,如Hadoop、Spark、Hive、Flink等&…

bridge资产导入blender错误 显示bidge Could not send data over port 28888

bridge资产导入blender错误 显示bidge Could not send data over port 28888 解决办法 1.在Quixel bridge里点击Edit找到Manage Plugins下载blender插件 我的显示已经下载好了 2.在Quixel bridge里点击Edit找到Settings找到插件保存路径 3.在路径里找到E:\Documents\Mega…

HTML5服装电商网上商城模板源码

文章目录 1.设计来源1.1 主界面1.2 购物车界面1.3 电子产品界面1.4 商品详情界面1.5 联系我们界面1.6 各种标签演示界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板,程序开发,在线开发,在线沟通 【博主推荐】:前些天发…

STM32——I2C协议以及软件读写

I2C协议中SCL用于同布,当某一方发送/接收数据时,另一方将会发应答表示数据已收到。 一主多从:类似于老师是主在讲课,学生是从机,只有老师点名学生才能应答,否则不能自己应答。 之后是硬件电路的设置 对于…

【ACL2024】面向Stable Station的交互式多轮Prompt生成模型DiffChat

近日,阿里云人工智能平台PAI与华南理工大学金连文教授团队合作,在自然语言处理顶级会议 ACL 2024 上发表论文《DiffChat: Learning to Chat with Text-to-Image Synthesis Models for Interactive Image Creation. ACL 2024》。DiffChat算法是一个文到文…

【活动议题介绍】2024-08-25 | PowerData 数字经济·杭州开源行

【活动议题介绍】2024-08-25 | PowerData 数字经济杭州开源行 活动介绍议题介绍活动信息扫码报名往期开源行回顾 活动介绍 “总把西湖比西子,浓妆淡抹总相宜”,杭州,这座温婉如画的江南水乡,自古便以其独有的风姿吸引着无数文人墨…

【C++报错已解决】`RuntimeError: CUDA error: invalid device ordinal`

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引言 你是否在运行CUDA程序时遇到了RuntimeError: CUDA error: invalid device ordinal这样的错误?这通常是由于设…

STM32标准库学习笔记-9.DMA 直接存储器存取

参考教程:【STM32入门教程-2023版 细致讲解 中文字幕】 DMA(Direct Memory Access) DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预…

OpenCV图像滤波(20)模糊处理函数stackBlur()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 stackBlur() 函数用于对图像进行模糊处理。该函数对图像应用了 stackBlur 技术。stackBlur 可以生成与高斯模糊相似的结果,而且随着模…

ICMAN水位接近式检测方案(非接触式)

ICMAN水位液位接近式检测方案(非接触式) 我们的很多家用电器都会需要:液位检测 缺水&溢水提醒保护、高低液位提醒 液位传感器 像健康家电——烧水煮茶熬养生汤的烧水壶、豆浆机、养生壶等需要缺水保护和防溢液提醒; 像清洁…

ArcGis在线地图插件Maponline(好用版)

ArcGis加载插件,可在线浏览谷歌地图、天地图、高德地图、必应地图等多种,包含街道、影像、标注地图等信息(谷歌地图需自备上网手段),免费注册账号即可使用,可加载无水印底图。 与大地2000坐标无需配准直接使…

【吊打面试官系列-Memcached面试题】说说memcached 和 MySQL 的 query cache 相比,有什么优缺点?

大家好,我是锋哥。今天分享关于 【说说memcached 和 MySQL 的 query cache 相比,有什么优缺点? 】面试题,希望对大家有帮助; 说说memcached 和 MySQL 的 query cache 相比,有什么优缺点? 把 mem…