传感器是无人驾驶汽车的关键部件。能够监控与前方、后方或侧面车辆的距离,可为中央控制器提供重要数据。光学和红外摄像机、激光、超声波和雷达都可用于提供有关周围环境、道路和其他车辆的数据。例如,摄像头可用于检测道路上的标记,以使车辆保持在正确的车道上。这已用于在驾驶员辅助系统(ADAS) 中提供车道偏离警告。如今的 ADAS 系统还使用雷达进行碰撞检测警告和自适应巡航控制,车辆可以跟随前车。
如果没有驾驶员的输入,自动驾驶汽车需要更多的传感器系统,通常使用来自不同传感器的多个输入来提供更高水平的保证。这些传感器系统正在从经过验证的 ADAS 实施中进行调整,尽管系统架构正在发生变化以管理更广泛的传感器和更高的数据速率。
随着用于自适应巡航控制和碰撞检测的 ADAS 系统越来越多地采用,24 GHz 雷达传感器的成本正在下降。这些现在正成为汽车制造商达到欧洲五星级 NCAP 安全等级的要求。
例如,英飞凌科技公司的BGT24M 24GHz 雷达传感器可与电子控制单元 (ECU) 中的外部微控制器一起使用,以修改油门,以保持与前方车辆的恒定距离,范围可达 20 m,如图1所示。

图 1:英飞凌科技的汽车雷达传感系统。
许多汽车雷达系统使用脉冲多普勒方法,其中发射器运行短时间,称为脉冲重复间隔 (PRI),然后系统切换到接收模式,直到下一个发射脉冲。当雷达返回时,对反射进行相干处理,以提取检测到的物体的距离和相对运动。
另一种方法是使用连续波频率调制 (CWFM)。这使用了一个连续的载波频率,该载波频率随着时间的推移而变化,接收器不断地打开。为了防止发射信号泄漏到接收器中,必须使用单独的发射和接收天线。
BGT24MTR12 是一款用于信号生成和接收的硅锗 (SiGe) 传感器,工作频率为 24.0 至 24.25 GHz。它使用一个 24 GHz 基波压控振荡器,并包括一个输出频率为 1.5 GHz 和 23 kHz 的可切换频率预分频器。
一个 RC 多相滤波器 (PPF) 用于下变频混频器的 LO 正交相位生成,而输出功率传感器和温度传感器则集成到设备中以进行监控。

图 2:英飞凌科技的 BGT24MTR12 雷达传感器。
该器件通过 SPI 控制,采用 0.18 ?m SiGe:C 技术制造,截止频率为 200 GHz,采用 32 引脚无引线 VQFN 封装。
然而,无人驾驶车辆的架构正在发生变化。来自车辆周围各种雷达系统的数据不是本地 ECU,而是被馈送到中央高性能控制器,该控制器将信号与来自摄像头的信号以及可能来自激光雷达激光传感器的信号结合起来。
控制器可以是带有图形控制单元 (GCU) 的高性能通用处理器,也可以是可以由专用硬件处理信号处理的现场可编程门阵列。这更加强调了必须处理更高数据速率和更多数据源的模拟前端(AFE) 接口设备。
正在使用的雷达传感器类型也在发生变化。77 GHz 传感器提供更远的范围和更高的分辨率。77 GHz 或 79 GHz 雷达传感器可实时调整,以在 10° 圆弧内提供长达 200 m 的远程传感,例如用于检测其他车辆,但它也可用于更宽的 30° 传感30 m 的较低范围的弧。更高的频率提供更高的分辨率,使雷达传感器系统能够实时区分多个对象,例如检测 30° 弧内的许多行人,为无人驾驶车辆的控制器提供更多时间和更多数据。
77 GHz 传感器使用具有 300 GHz 振荡频率的硅锗双极晶体管。这使得一个雷达传感器可以用于多种安全系统,例如前方警报、碰撞警告和自动制动,并且 77 GHz 技术还可以更好地抵抗车辆的振动,因此需要的过滤更少。

图 3:NXP提供的无人驾驶车辆中雷达传感器的不同用例。
传感器用于检测车辆坐标系 (VCS) 中目标车辆的距离、速度和方位角。数据的准确性取决于雷达传感器的对准。
雷达传感器对准算法在车辆运行时执行超过 40 Hz 的频率。它必须在 1 毫秒内根据雷达传感器提供的数据以及车速、传感器在车辆上的位置及其指向角度来计算错位角。
软件工具可用于分析从真实车辆的道路测试中捕获的记录传感器数据。该测试数据可用于开发雷达传感器对准算法,该算法使用二乘算法根据原始雷达检测和主车辆速度计算传感器未对准角度。这还根据二乘解的残差估计计算角度的精度。
德州仪器(TI)的AFE5401-Q1等模拟前端(图 4)可用于将雷达传感器连接到汽车系统的其余部分,如图 1 所示。AFE5401 包含四个通道,每个通道包含一个低噪声放大器 (LNA)、可选均衡器(EQ)、可编程增益放大器 (PGA) 和抗混叠滤波器,后接 25 MSPS 的高速 12 位模数转换器 (ADC)每个频道。四个 ADC 输出在 12 位、并行、CMOS 兼容输出总线上复用。

图 4:德州仪器 (TI) 的 AFE5401 雷达模拟前端中的四个通道可用于多个传感器。
对于低成本系统,ADI 公司的AD8284提供带有四通道差分多路复用器 (mux)的模拟前端,可为带有可编程增益放大器 (PGA) 和抗混叠滤波器的单通道低噪声前置放大器 (LNA) 供电(AAF)。这也使用单个直接到 ADC 通道,所有通道都与单个 12 位模数转换器 (ADC) 集成。AD8284 还包含一个饱和检测电路,用于检测否则会被 AAF 过滤的高频过压条件。模拟通道的增益范围为 17 dB 至 35 dB,增量为 6 dB,ADC 的转换速率高达 60 MSPS。在增益下,整个通道的组合输入参考电压噪声为 3.5 nV/√Hz。
AFE 的输出被馈送到处理器或 FPGA,例如Microsemi的IGLOO2或Fusion或英特尔的Cyclone IV。这可以使用 FPGA 设计工具在硬件中实现 2D FFT,以处理 FFT 并提供有关周围对象的所需数据。然后可以将其馈入中央控制器。
FPGA 面临的一个关键挑战是检测多个对象,这对于 CWFM 架构来说比脉冲多普勒更复杂。一种方法是改变斜坡的持续时间和频率,并评估检测到的频率如何以不同的频率斜坡陡度在频谱中移动。由于斜坡可以以 1 ms 的间隔变化,因此每秒可以分析数百个变化。

图 5:CWFM 雷达前端与英特尔的 FPGA 配合使用。
来自其他传感器的数据融合也可以提供帮助,因为摄像头数据可用于区分来自车辆的较强回波与来自人的较弱回波,以及预期的多普勒偏移类型。
另一种选择是多模雷达,它使用 CWFM 在高速公路上寻找更远距离的目标,而短程脉冲多普勒雷达则用于更容易检测到行人的城市地区。
无人驾驶车辆 ADAS 传感器系统的发展正在改变雷达系统的实施方式。从更简单的防撞或自适应巡航控制转向全方位检测是一项重大挑战。雷达是一种非常流行的传感技术,已在汽车制造商中得到广泛认可,因此也是这种方法的技术。将更高频率的 77 GHz 传感器与多模 CWFM 和脉冲多普勒架构以及来自其他传感器(如相机)的数据结合在一起,也对处理子系统提出了重大挑战。以安全、一致和具有成本效益的方式解决这些挑战对于自动驾驶汽车的持续发展至关重要。
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
是否可以在应用程序中包含的gem代码中知道应用程序的Rails文件系统根目录?这是gem来源的示例:moduleMyGemdefself.included(base)putsRails.root#returnnilendendActionController::Base.send:include,MyGem谢谢,抱歉我的英语不好 最佳答案 我发现解决类似问题的解决方案是使用railtie初始化程序包含我的模块。所以,在你的/lib/mygem/railtie.rbmoduleMyGemclassRailtie使用此代码,您的模块将在
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵