帮助自动驾驶汽车找到自己的路

帮助自动驾驶汽车找到自己的路,第1张

作者:Alix Paultre,特约编辑

社会上最大的争论之一是关于电动汽车 (EV) 的开发和部署。作为一个高度关注的问题(不是双关语),争论会蔓延并影响电子设计,因此讨论不仅是镜像的,而且是分层的,因为工程师讨论了问题的所有方面,而不仅仅是那些最明显的方面。工程师的好处是,论点是基于现实和可以完成的。

不幸的是,感知往往决定了现实,因此在某种意义上,当谈到电动汽车在市场上的速度和/或成功时,工程界受制于公众舆论。然而,下一代汽车没有争议的一个方面是,未来的汽车将完全或部分自动驾驶,而不管驱动车轮的动力如何。

无论 EV 以何种方式到达目的地,先进的导航系统对于成功和安全的性能都至关重要。这不仅对车辆很重要,坦率地说,对任何基于水、地面或空中的远程自主系统都很重要。即使是先进的增强现实系统也需要精确和准确的位置确定功能才能正常运行。创建一个能够实现真正自主的导航系统需要使用数据收集和分析系统进行广泛的模拟和现场测试。

自我意识

“了解你自己”是人们的口头禅,但一个自治系统还必须对它在现实空间中的位置(有时以及时间和方式)有一定的了解。这种意识是通过使用一系列传感器来告诉设备其环境耦合到一个逻辑系统来创建的,该逻辑系统可以获取该信息并将其转化为可用的信息和指导。

在人类安全不是关键问题的系统中,信息中的一点点草率是可以的。玩 Pokémon Go 的人不必担心他们的位置信息有多准确,有些人实际上是在玩系统(双关语),使用他们手机的漫游 GPS 来捕捉他们真实空间位置之外的目标。当错误可能导致事故造成人员伤亡以及车辆可能损失时,这种不准确性显然是不能容忍的。

这就是传感器融合发生的地方。一个设计合理的自主系统将使用一系列具有重叠和互补功能的传感器,以确保完全覆盖车辆的局部环境。系统对其环境的感知越全面,就越能准确地确定其位置和实现目标的路径。

传感器集成

在创建用于确定位置和方向的系统时,必须考虑多种传感器类型。首先是“身体”传感器,可精确提供滚动、俯仰和偏航等基本信息。一旦你知道你的位置,位置是下一个重要的事情。

GPS 是获取基本位置信息的一种非常好的方法,但是如果没有辅助反馈将粗略的 GPS 数据“锁定”到现实世界中,它就不足以进行地理定位。当基于汽车的 GPS 系统首次问世时,几家制造商在汽车上安装了车轮传感器,以跟踪参考内存中本地地图的物理位置。

这种传感过去需要一组传感器、加速度计、磁力计和陀螺仪,因为它们都具有必须通过额外的传感器输入来纠正的弱点,因此它们都需要统一使用。

加速度计可以像木匠的水平仪一样确定静态滚动和俯仰,但在加速或减速时数据会出错,因为加速度计本身无法区分重力和线性加速度。磁力计可以确定航向,但不能确定滚动和俯仰,这对方向很重要。这就是为什么您过去还需要三个陀螺仪和一个过滤器来组合信息以获得良好的横滚、俯仰和偏航/航向。偏航可以在没有陀螺仪磁力计的情况下实现,但陀螺仪会漂移。由于车辆内部和周围的所有金属,汽车中的磁力计不能很好地工作,因此您需要来自陀螺仪和 GPS 的信息。

这种使用传感器电池的蛮力解决方案现在已被最新的集成惯性传感模块所取代,以提供这种重要的反馈。

像ACEINNA 的 IMU380ZA-209 小规模完全校准惯性测量单元 (IMU) 这样的解决方案可以服务于要求完整的动态测量解决方案且采用坚固的薄型封装的要求苛刻的嵌入式应用。通过集成以前只能单独使用的所有功能,IMU 不仅可以节省空间和组件,还可以节省开发时间和成本。为了简化与系统的连接,IMU380ZA-209 提供标准串行外设接口 (SPI) 总线,用于经济高效的数字板对板通信。

9 轴 IMU380ZA-209 可以测量高达 4g 的加速度,并采用低至 3 V 和高达 5.5 V 的电源电压。这种广泛的接受范围缓解了系统集成问题,减少了电源转换电子设备的数量。–40°C 至 85°C 的宽工作温度确保它可以在各种环境环境中工作,5 Hz 至 50 Hz 的带宽和 200 度/秒的范围意味着它可以处理快速变化的情况。

帮助自动驾驶汽车找到自己的路,poYBAGLyVrKADXSmAAP0bXKUJQg551.jpg,第2张

ACEINNA 9 轴 IMU380ZA-200 的尺寸仅为 24.15 x 37.7 x 9.5 mm,可以处理广泛的工作温度范围,并且只需要最低限度的功率。(来源:ACEINNA)

这些性能方面强调了 IMU 不仅可以减少空间和成本,还可以提供更高水平的性能和可靠性。通过将执行任务所需的传统传感器套件替换为使用新技术的集成系统,您将获得比传感器集合一起完成的更好的结果。

集成消除了电缆电线、笨重的连接器和单独的外壳,提高了坚固性和可靠性,同时功能集成提高了准确性和精度。这些优势贯穿整个设计,从降低电力电子设备的复杂性到通过减少和简化内部空间要求来改进车辆设计。

把它放在一起

在开发典型设计时,会模拟动态轨迹和建模传感器读数(有错误)以创建扩展卡尔曼滤波器或粒子滤波器导航算法。一旦给定的模拟显示出有希望的结果,该算法就会在嵌入式硬件上使用实时代码实现。然后在现场测试生成的原型,记录数据(通常以 TB 为单位),然后根据预测结果进行分析。

为了促进这个过程,导航系统的开发人员通常会为这个过程中的每个步骤选择和使用不同的软件。令人惊讶的是,开源“网络技术”可以构成用于开发导航系统的高效软件堆栈的基础。作为一个真实世界的例子,ACEINNA 传统上使用了一个包含许多“经典”专有嵌入式编程和仿真工具的堆栈,包括用于仿真的 Matlab、用于编译嵌入式 C/C++ 代码的 IAR Systems,以及将 C# 与 NaTIonal Instruments 工具相结合来构建配置、绘图和数据记录图形用户界面。

归根结底,所有这些信息都被放入存储在内部服务器上的大型数据文件中。在 ACEINNA,决定考虑一种基于“网络技术”的新方法。

在一个示例中,以 Web 技术为中心的堆栈使用 Python 进行模拟、Microsoft 的开源 VS-Code 或 GitHub 的 Atom 和 Arm 的 GNU 编译器集合 (GCC) 用于 IDE,并使用 JavaScript 构建用户界面和日志引擎。桌面和移动设备的原生用户界面甚至可以与 Electron 和 React NaTIve 等兼容项目一起部署。

Azure 或 AWS 等云服务使得对从现场收集的大型数据集进行编目和管理以及在组织内部和外部共享这些数据集变得轻而易举。JavaScript 和 Python 都得到了云供应商的极好支持,允许将他们的计算和存储服务简单地集成到堆栈中。每个开发人员的许可费用为零,从 Python 中的数值分析到基于 JavaScript 的图形库的库数不胜数。

最大的问题是使嵌入式工具链工作所需的前期工作。有时,专业许可的工具可以开箱即用地更加用户友好。然而,大量的 Web 开发人员和论坛在很大程度上否定了这一优势。由于许多专门的库旨在帮助嵌入式开发人员使用开源工具,因此该路径正在迅速变得更容易实现。

向前行驶

创建安全有效地为用户服务的真正自动驾驶汽车必须使用集成到系统中的全套传感器,该系统不仅本身是智能的,而且还支持网络,以利用可用的外部功能来最大限度地提高系统性能。在竞争激烈且无情的自动驾驶汽车市场中,适当的系统集成可能意味着成败之间的差异。

审核编辑 黄昊宇

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/3001357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存