草庐IT

感知硬件,自动驾驶汽车“看”路奥秘

陈云培 2023-04-18 原文

随着人工智能技术的发展与高级辅助驾驶系统的普及,自动驾驶汽车雏形已经初现,自动驾驶汽车得以实现离不开感知系统、决策系统和控制系统,三大系统让自动驾驶汽车“看”得清、“想”得快、“走”得稳。感知系统作为监测道路环境,让自动驾驶汽车“看”得清的主要系统,是决定自动驾驶汽车可以实现的第一步。

为了让自动驾驶汽车感知更加精准,离不开车载摄像头、毫米波雷达、超声波雷达、激光雷达等感知硬件,其中,超声波雷达、毫米波雷达和激光雷达主要用于测量距离、速度和障碍物,车载摄像头主要用于图像采集和识别,感知硬件各司其职,让自动驾驶汽车可以获取更多的道路信息。

01 车载摄像头

1.1技术原理

车载摄像头是利用摄像机成像原理,通过采集道路的高质量图像信息,对道路上的交通标识、其他车辆、行人等信息进行获取。车载摄像头可以通过单目或立体成像的方式进行感知,其中单目摄像头是通过单一摄像头获取二维图像,而立体摄像头则需要两个或多个摄像头组合获取三维图像。目前车上搭载的车载摄像头根据安装位置主要分为车载摄像头主要分为前视摄像头、环视摄像头、后视摄像头、侧视摄像头以及内置摄像头五种类别。

车载摄像头的主要硬件包括光学镜头(其中包含光学镜头、滤光片、保护膜等)、图像传感器、图像信号处理器ISP、串行器、连接器等部件。

车载摄像头的组成

光学镜头:光学镜头主要负责聚焦光线,将视野中的物体投射到成像介质表面,根据成像效果的要求不同,可能要求多层光学镜片。滤光片可以将人眼看不到的光波段进行滤除,只留下人眼视野范围内的实际景物的可见光波段。

图像传感器:图像传感器可以利用光电器件的光电转换功能将感光面上的光像转换为与光像成相应比例关系的电信号。主要分为CCD和CMOS两种。

图像信号处理器ISP:主要使用硬件结构完成图像图传感器输入的图像视频源RAW格式数据的前处理,可转换为YCbCr等格式。还可以完成图像缩放、自动曝光、自动白平衡、自动聚焦等多种工作。

串行器:将处理后的图像数据进行传输,可用于传输RGB、YUV等多种图像数据种类。

连接器:用于连接固定摄像头。

1.2车载摄像头优势

车载摄像头作为自动驾驶汽车主要感知硬件,在自动驾驶汽车中承担着非常重要的任务,由于其成本较低、易于安装和维护,可以识别高清的交通信息,对交通标识和其他车辆有很好的识别效果。因此被众多主机厂所推崇,以特斯拉为主的企业,更是将车载摄像头作为主要的感知硬件,通过算法的辅助,让自动驾驶汽车可以直接实现自动驾驶。

1.3车载摄像头劣势

由于车载摄像头拍摄的主要是图像信息,为了让自动驾驶汽车可以更好地自主完成行驶,就需要通过大量的计算来完成图像处理。在恶劣天气、弱光、反光等情况下,车载摄像头的拍摄效果也会受到影响,此外由于车载摄像头视野范围相对较窄,需要多个摄像头的配合才能交通信息的获取,从而确保自动驾驶的行车安全。

02 激光雷达

2.1技术原理

激光雷达也称光学雷达,是激光探测和测距系统的简称,通过发射和接收激光束,检测周围物体的距离和位置,从而实现对自动驾驶汽车周边环境的感知。

激光雷达主要由激光发射器、接收器、扫描器、透镜天线和信号处理电路等部分组成,按照工作介质分,激光雷达可以被分为固体激光雷达、气体激光雷达与半导体激光雷达等;按照线数分,激光雷达可以被分为单线激光雷达与多线激光雷达;按照扫描方式分,激光雷达可以被分为MEMS型激光雷达、Flash型激光雷达、相控阵激光雷达与机械旋转式激光雷达等;按照探测方式分,激光雷达可以被分为直接探测激光雷达、相干探测激光雷达;按激光发射波形分,激光雷达可以被分为连续型激光雷达与脉冲型激光雷达。

2.2激光雷达优势

以谷歌为主的主机厂在研究自动驾驶技术时,都采用了激光雷达作为主要感知硬件的解决方案。激光雷达具有测量精度高、响应速度快、抗干扰能力强等优点,可以提供高精度目标位置和轮廓信息,对目标分类和识别等任务具有很好的效果。激光雷达还可以提供高分辨率的地图,使车辆可以实现高精度的定位和路径规划,此外激光雷达具有较大的视野范围,可以检测多个角度的目标。在复杂的环境下,激光雷达也可以提供更为精准的目标位置信息,使自动驾驶汽车可以避免碰撞,除此之外,激光雷达还可以在可见光无法穿透的情况下继续工作,使自动驾驶汽车获取信息更为精准。

2.3激光雷达劣势

激光雷达相较于车载摄像头,其成本相对较高,且制造和维护成本也相对较大,这也是现目前激光雷达受限的主要原因之一。在大雨、浓烟、浓雾等恶劣天气时,激光雷达的探测精度会急速下降。由于激光雷达是通过激光束的发射和接收时间差来判断自动驾驶周边环境的,因此无法识别物体颜色、种类、文字等信息。

03 毫米波雷达

3.1技术原理

毫米波雷达是一种利用毫米波进行测距和成像的雷达,工作频段一般为30 GHz~300 GHz,波长一般为1 mm~10 mm,介于微波和厘米波之间。毫米波雷达发射高频电磁波,通过接收波的反射来检测周围物体的距离和位置,从而实现对道路上物体的感知。毫米波雷达一般由雷达圆顶、分立的雷达机身、天线PCB板、处理器、MMIC和电源管理、压铸底板等组成。毫米波雷达的感知原理与激光雷达类似,但毫米波雷达可以克服激光雷达在弱光或光滑表面等环境下的缺点。

传统毫米波雷达组成

3.2毫米波雷达优势

毫米波雷达相对技术比较成熟,在高级辅助驾驶功能上使用比较普及,是感知环节中重要的一环,毫米波雷达可以在远距离和低能见度条件下精确地探测物体,能够探测到很小的目标,如行人、自行车等,具有较高的精度和稳定性;与激光雷达和车载摄像头不同,毫米波雷达不受光照和天气条件的限制,可以在雨雪、雾等低能见度条件下工作;此外毫米波雷达具有体积小,易集成和空间分辨率高的特点,毫米波雷达可以全天候工作,在极端天气及夜晚也可以发挥作用,毫米波雷达测距也比较远。

3.3毫米波雷达劣势

毫米波雷达由于分辨率较低,难以成像且无法识别图像,不能提供详细的空间信息,因此并不能作为激光雷达的替代品,且由于毫米波雷达是利用电磁波进行探测,如果周边有较强的电磁干扰,则可能会影响毫米波雷达的探测效果。

3.4毫米波雷达未来

由于传统毫米波雷达只能探测二维水平坐标,并没有高度信息,因此在自动驾驶汽车感知硬件的使用上,毫米波雷达并不具备优势,为此在自动驾驶技术的发展过程中,4D毫米波雷达的概念便被提了出来,4D毫米波雷达又称为成像雷达,在原有的距离、速度、方向的数据基础上,加上了对目标的高度分析,将第4个维度整合到传统毫米波雷达中,以更好地了解和绘制环境地图,让测到的交通数据更为精准。

目前4D毫米波雷达主要有两种技术方案,一种是4D毫米波雷达企业自主研发多通道阵列射频芯片组、雷达处理器芯片和基于人工智能的后处理软件算法。另一种就是基于传统雷达芯片供应商的解决方案,通过多芯片极联,或者软件算法来实现密集点云输出及识别。

4D毫米波雷达的主要特点就是角分辨率非常高,前置4D毫米波雷达角分辨率可达1度方位角和2度俯仰角,当加装4D毫米波雷达的自动驾驶汽车在探测道路信息时,可以直接探测到车辆周边物体的轮廓。像是在道路信息比较丰富,如行人与车辆夹杂在一起时,4D毫米波雷达就可以直接对行人和车辆进行识别,并可以判断对应物体的运动情况(是否运动、运动方向)。4D毫米波雷达还可以探测到几何形状,比如在隧道场景中时,可以探测到隧道的长度和宽度。4D毫米波雷达的出现,可以提高自动驾驶汽车对道路信息的探测精度,获取更多的信息以供自动驾驶汽车做出行驶预判。4D毫米波雷达就像是给“近视”的自动驾驶汽车配置了近视眼镜,让自动驾驶汽车“看”的更清晰。

04 超声波雷达

4.1技术原理

超声波雷达是一款极其常见的传感器,在现在的汽车上使用非常普遍,超声波雷达主要通过超声波发射装置向外发出超声波,通过计算接收器接收到发射出去超声波的时间差来测算距离。目前,常用探头的工作频率有40 kHz,48 kHz和58 kHz三种。一般来说,频率越高,灵敏度越高,但水平与垂直方向的探测角度就越小,因此在车辆的使用上,一般采用40 kHz的探头。

4.2超声波雷达优势

超声波雷达具有防水、防尘等优势,即使有少量的泥沙遮挡也不影响。探测范围在0.1 m~3 m之间,而且精度较高,可以提供精准的位置信息,因此非常适用于泊车辅助,此外超声波雷达易于安装和维护,因此在汽车上得到了普遍使用。

4.3超声波雷达劣势

由于超声波雷达视野范围较小,因此需要多个超声波雷达列阵组合,才可以实现更精准的识别,这就会占用更多的车载空间;在高速下,超声波雷达也具有一定的局限定;此外在有噪音干扰的情况下,超声波雷达也无法得到使用。

05 感知硬件的未来趋势

感知硬件作为让自动驾驶汽车“看”清道路必不可少的关键技术,随着自动驾驶汽车的普及和应用,其重要性将愈发凸显,其技术也将不断完善,其发展也将更加多元化和集成化。为了让自动驾驶汽车获得的数据更加精准,需要将多个感知硬件获取的数据进行融合,从而让自动驾驶汽车朝着更加可靠和安全的方向发展。

此外,随着人工智能技术的不断完善,自动驾驶感知硬件也将在人工智能的技术下,进一步提高感知的精度和鲁棒性,实现多层次检测和安全决策。随着技术的不断提升,感知硬件的成本也将降低,从而让自动驾驶汽车成为大众买得起的消费产品。

总之,自动驾驶感知硬件是自动驾驶汽车的重要组成部分,其发展和完善将对自动驾驶技术的推广和应用起到至关重要的作用。未来的自动驾驶汽车感知系统将不断进化和升级,为驾驶员和乘客带来更安全、更便捷、更舒适的出行体验。

有关感知硬件,自动驾驶汽车“看”路奥秘的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  3. ruby-on-rails - 从应用程序中自定义文件夹内的命名空间自动加载 - 2

    我们目前正在为ROR3.2开发自定义cms引擎。在这个过程中,我们希望成为我们的rails应用程序中的一等公民的几个类类型起源,这意味着它们应该驻留在应用程序的app文件夹下,它是插件。目前我们有以下类型:数据源数据类型查看我在app文件夹下创建了多个目录来保存这些:应用/数据源应用/数据类型应用/View更多类型将随之而来,我有点担心应用程序文件夹被这么多目录污染。因此,我想将它们移动到一个子目录/模块中,该子目录/模块包含cms定义的所有类型。所有类都应位于MyCms命名空间内,目录布局应如下所示:应用程序/my_cms/data_source应用程序/my_cms/data_ty

  4. ruby-on-rails - 有没有一种工具可以在编码时自动保存对文件的增量更改? - 2

    我最喜欢的Google文档功能之一是它会在我工作时不断自动保存我的文档版本。这意味着即使我在进行关键更改之前忘记在某个点进行保存,也很有可能会自动创建一个保存点。至少,我可以将文档恢复到错误更改之前的状态,并从该点继续工作。对于在MacOS(或UNIX)上运行的Ruby编码器,是否有具有等效功能的工具?例如,一个工具会每隔几分钟自动将Gitcheckin我的本地存储库以获取我正在处理的文件。也许我有点偏执,但这点小保险可以让我在日常工作中安心。 最佳答案 虚拟机有些人可能讨厌我对此的回应,但我在编码时经常使用VIM,它具有自动保存功

  5. ruby - 在 ruby​​ 中使用自动创建插入数组 - 2

    我想知道是否可以通过自动创建数组来插入数组,如果数组不存在的话,就像在PHP中一样:$toto[]='titi';如果尚未定义$toto,它将创建数组并将“titi”压入。如果已经存在,它只会推送。在Ruby中我必须这样做:toto||=[]toto.push('titi')可以一行完成吗?因为如果我有一个循环,它会测试“||=”,除了第一次:Person.all.eachdo|person|toto||=[]#with1billionofperson,thislineisuseless999999999times...toto.push(person.name)你有更好的解决方案吗?

  6. 【自动驾驶环境感知项目】——基于Paddle3D的点云障碍物检测 - 2

    文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3

  7. ruby-on-rails - 自动完成搜索的 Rails 实现 - 2

    我不确定如何为我的搜索功能添加自动完成表单。"get"do%>nil%>我有一个具有自定义操作的Controllerdefquery@users=Search.user(params[:query])@article=Search.article(params[:query])end模型如下:defself.user(search)ifsearchUser.find(:all,:conditions=>['first_nameLIKE?',"%#{search}%"])elseUser.find(:all)endenddefself.article(search)ifsearchArt

  8. ruby - 如何设置自动测试以仅重新运行失败的 rspec 示例 - 2

    我对自动测试的工作方式的印象(基于cucumbergithubwiki和其他在线内容)是它应该重新运行红色示例,直到它们通过。我的问题是它会重新运行规范文件中找到失败示例的所有示例,包括通过的示例。我不想浪费时间在修复失败示例的同时重新运行通过的示例。是否可以配置自动测试以便仅运行失败的示例? 最佳答案 您需要rspec-retrygem。以下是文档中有关如何实现它的一些示例:将它应用到覆盖整个测试套件的configureblock中...RSpec.configuredo|config|config.verbose_retry=t

  9. ruby - 在多个线程中引用类方法会导致自动加载循环依赖崩溃 - 2

    代码:threads=[]Thread.abort_on_exception=truebegin#throwexceptionsinthreadssowecanseethemthreadseputs"EXCEPTION:#{e.inspect}"puts"MESSAGE:#{e.message}"end崩溃:.rvm/gems/ruby-2.1.3@req/gems/activesupport-4.1.5/lib/active_support/dependencies.rb:478:inload_missing_constant':自动加载常量MyClass时检测到循环依赖稍加研究后,

  10. ruby - 自动将院子文档框架添加到现有的 Rails 遗留代码中 - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我希望能够将模板化的YARD文档样式注释插入到我现有的Rails遗留应用程序中。目前它的评论很少。我想要具有指定参数的类header和方法header(通过从我假定的方法签名中提取)和返回值的占位符。在PHP代码中,我有一些工具可以检查代码并在适当的位置创建插入到代码中的文档header注释。在带有Ducktyping等的Ruby中,我确信诸如@params等类型之类

随机推荐