想象一下,你想教机器人如何驾驶汽车。你可以尝试制造一辆全尺寸的车辆,但这既昂贵又危险,还会占满你的整个车库。或者,你可以在计算机上使用仿真,但这就像在电子游戏中练习驾驶;它无法完全捕捉路面的颠簸、风力或真实的物理特性。
本文的作者们构建了一个“金发姑娘”式的解决方案:TEACAR。这是一款小型、开源的自动驾驶赛车(大小约等于一个大烤面包机),旨在成为玩具与全尺寸研究车辆之间的完美中间地带。
以下是 TEACAR 的工作原理,分解为简单的概念:
1. “乐高”理念(模块化)
将 TEACAR 想象成一套高端乐高积木。大多数其他小型赛车就像预制的模型,你很难在不破坏它的情况下进行更改。然而,TEACAR 由四个不同的层构建而成,就像一叠煎饼:
- 底层(适配器): 这层连接到车轮和车身。如果你想将车身更换为不同品牌的,只需更换这一层即可。
- 电池层: 这层将电源置于低位以保持车辆稳定,就像赛艇中的配重。
- 大脑层: 这是一块平坦坚固的板,用于安装计算机、电源管理器和传感器。其设计使得你可以轻松拔插和更换部件,而无需拆卸整辆车。
- 顶层(框架): 这层将摄像头高高架起(就像驾驶员的眼睛),使其能够越过车身进行观察,同时它也是一个把手,让你可以安全地拿起车辆而不会压坏电子设备。
为什么这很重要: 如果某个部件损坏,或者你想升级计算机,你无需重建整辆车。只需交换特定的“煎饼”层即可。
2. 神经系统(硬件)
车辆需要大脑和神经系统来移动。
- 大脑: TEACAR 使用强大的、信用卡大小的计算机(如 NVIDIA Jetson)。这些设备虽小但功能强大,能够进行复杂的数学运算以“看见”道路并决定转向何处。
- 电源管理器: 想象一个智能电源排插。车辆的电池提供大量电力,但不同部件需要不同的电量(有些需要高电压,有些需要低电压)。TEACAR 的电源板充当翻译,确保摄像头获得正确的电压,电机获得正确的电压,同时保护所有部件免受电涌损害。
- 肌肉: 车辆使用“伺服电机”来转向车轮,使用电机来驱动前进。系统向这些肌肉发送数字信号,使它们精确移动。
3. 软件(“驾驶员”)
该软件构建于ROS 2之上,作者将其描述为机器人的通用语言。想象它像一个繁忙的餐厅厨房:
- 摄像头是正在点餐(图像)的服务员。
- 神经网络是决定烹饪什么(计算转向角度)的厨师。
- 执行器是上菜(转动方向盘)的侍者。
由于系统是模块化的,你可以更换“厨师”(AI 算法),而无需更换服务员或侍者。这使得学生和研究人员能够快速测试新想法。
4. 结果:它有效吗?
团队构建了一个原型并进行了测试:
- 耐用性: 他们将车辆从 3 英尺(1 米)的高度掉落了三次。它没有损坏,并且继续工作。它足够坚固,适用于实验室环境。
- 速度: 他们测试了三种不同大小的“AI 驾驶员”(神经网络)。车辆处理图像并做出转向决策的时间约为1.8 到 2.8 毫秒。这非常快——比人类眨眼还要快。
- 对比: 当他们将 TEACAR 与一款名为"DonkeyCar"的热门竞争对手进行比较时,TEACAR 在处理相同的驾驶任务时速度快了约6 倍。这是因为 TEACAR 使用了更强大的计算机和更好的设计。
- 成本: 完整的 TEACAR 设置成本约为1,200 美元,而类似的竞争对手(RoboRacer)成本约为 3,000 美元。
总结
TEACAR 是一个可扩展、坚固且经济实惠的测试平台,用于学习如何构建自动驾驶汽车。它解决了全尺寸车辆“太大且昂贵”以及其他小型玩具“太脆弱且难以修复”的问题。通过采用模块化、分层设计,它允许研究人员和学生插入自己的想法,在真实硬件上进行测试,并从结果中学习,而无需耗尽资金或破坏预算。
作者得出结论,该平台已准备好用于研究、教育和开发,并且他们已在互联网上免费提供所有蓝图和代码。
以下是论文"TEACar:一个开源自动驾驶平台”的详细技术总结。
1. 问题陈述
智能交通系统(ITS)研究日益依赖于基于视觉的感知和基于学习的控制,这需要支持真实硬件在环验证的实验平台。虽然仿真环境(例如 Gazebo)对早期开发很有用,但它们无法捕捉物理系统的复杂性和不确定性。
现有小型自动驾驶平台面临显著局限:
- RoboRacer (F1/10): 虽然坚固,但其 1/10 的规模较大,成本高昂(约 3,000 美元),且与特定底盘紧密耦合,限制了其在基于视觉的任务中的灵活性和重新配置能力。
- DonkeyCar: 虽然易于获取且专注于视觉,但其软件设计缺乏模块化,计算和致动依赖独立的电源(增加了集成复杂度),且由于其定制的 Python 技术栈,扩展性有限。
因此,亟需一个紧凑、模块化且具成本效益的平台,将机械、硬件和软件子系统解耦,以促进基于学习的控制算法的快速原型设计和严格验证。
2. 方法论与系统设计
作者提出了TEACAR,这是一个 1/14 至 1/16 比例的自动驾驶赛车平台,围绕紧凑性、模块化和可靠性三大核心支柱设计。
A. 机械设计
该平台采用四层甲板架构,在物理上解耦子系统,提高了刚性并简化了重新配置:
- 底盘适配器接口层: 连接商用遥控底盘与甲板。它是可互换的,可适应不同的安装几何结构(孔间距、紧固件),而无需更改甲板的其余部分。
- 下部结构基座: 容纳电池,保持低重心,并管理来自悬架的反作用力。
- 中部电子层: 为计算单元(如 NVIDIA Jetson)、配电板、电机驱动器和惯性测量单元(IMU)提供刚性安装表面,确保散热间隙和一致的对齐。
- 上部结构框架: 支撑朝前的传感器(摄像头)和天线,将其抬高以改善视野,并在翻滚时提供机械保护。
关键优势: 切换底盘时,仅需重新设计适配器层;甲板其余层保持不变。
B. 硬件设计
- 计算单元: 支持多种 NVIDIA Jetson 模块(Xavier NX、Orin NX、Orin Nano),提供 21–100 TOPS 的 AI 性能。
- 电源系统: 配备定制的配电板(PDB),管理不同的电压需求(计算/电机为 9–15V,传感器/舵机为稳压 5V/7V),并包含防过压/欠压保护电路。
- 传感器与致动器: 支持 CSI/USB 摄像头、IMU(MPU6050/9250)和操纵杆。它使用基于 PCA9685 的 PWM 控制器通过 I2C 接口与计算单元连接,提供多达 16 个独立通道以进行精确的电机和舵机控制。
C. 软件设计
软件栈基于ROS 2 (Humble) 构建,以确保模块化和实时性能。它分为三个子系统:
- 控制器: 管理来自操纵杆或训练有素的神经网络(CNN)的输入。它发布包含转向和油门目标的标准化
motion_cmd 消息。
- 致动器驱动: 采用双层架构。第一层聚合来自控制器的命令并将其转换为 PWM 脉冲宽度。第二层通过 I2C 与 PCA9685 硬件接口,生成物理信号。
- 感知: 处理传感器数据采集(例如,使用
gscam 获取图像,使用 joy 获取控制器数据),并以标准化的 ROS 2 消息类型发布数据。
3. 主要贡献
- 模块化架构: 一种新颖的四层甲板设计,在物理上解耦感知、计算、致动和电源,允许轻松重新配置和更换底盘。
- 硬件抽象: 标准化的配电和致动接口,支持多种遥控底盘和计算单元,无需为每个新设置定制布线。
- 开源生态系统: 完整的设计文件、软件栈和文档已在 GitHub 上发布,降低了研究人员和教育者的入门门槛。
- 成本效益: 该平台成本约为1,200 美元,显著低于 RoboRacer 等竞争对手(约 3,000 美元),同时保持了高计算能力。
4. 实验结果
作者构建了原型,并在机械、硬件和软件维度上进行了评估。
机械评估:
- 尺寸: 总质量为 1.25 千克(RoboRacer 为 3.13 千克),最小转弯半径为 550 毫米(RoboRacer 为 1200 毫米),使其非常适合受限的实验室环境。
- 刚性: 经受住了三次 1 米跌落测试,无结构损坏或功能退化。
硬件与软件性能:
- 推理延迟: 测试了三种基于 CNN 的转向控制器(“小”、“中”、“大”)。平均推理延迟范围为1.8 毫秒至 2.8 毫秒,完全满足实时要求。
- 功耗: 计算单元平均功耗为7.5–7.6 瓦,远低于其 25 瓦的额定限制,允许持续运行。
- 对比: 与使用 Jetson Nano 的 DonkeyCar 平台相比,TEACAR 的推理延迟快了约6 倍(例如,“小”模型为 1.8 毫秒对比 12.4 毫秒),这归因于 Jetson Orin NX 更优越的计算能力。
5. 意义
TEACAR 通过提供一个可扩展、模块化且经济实惠的测试平台,解决了仿真与全尺寸车辆测试之间的关键差距。
- 对于研究: 它使得在真实的物理环境中快速迭代基于视觉的感知和基于学习的控制算法成为可能,而无需承担全尺寸车辆的高昂成本。
- 对于教育: 其模块化设计允许学生轻松理解和修改各个子系统(机械、电气、软件),促进对自动驾驶系统的深入学习。
- 未来影响: 该平台设计为可扩展,未来工作计划集成激光雷达和深度相机,以进行先进的传感器融合和建图任务。
总之,TEACAR 代表了自动驾驶研究民主化的重要一步,通过优先考虑模块化和硬件抽象,为现有平台提供了稳健的替代方案。
每周获取最佳 electrical engineering 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。