正在开发中的Quanser无人驾驶实验平台In Development: Quanser’s Self-Driving Car Research Studio+ 查看更多
在2000年代后期,没有iPhone,没有Youtube,没有Arduinos或Raspberry Pi,网络泡沫仍在增长,Google仍然是新事物。你必须为C编译器支付数百美元,90%的互联网用户仍然在拨号上网。尽管所有的先决条件都不太成熟,但对一个对顶点项目(capstone project)充满热情的大四工科学生来说,一切皆有可能。
这辆车沿着一条线行驶,使用6个光电探测器组成的阵列连接到一个微控制器上(此微控制器运行着一条我们手工编码的模糊逻辑引擎的)。通过一个简单条形码扫描器实现限速“标志”的读取。我们的高级规划处理器使用红外串行连接(WiFi过于昂贵)来管理汽车之间的通信,并且通过决策树来协调车辆的行动。每一块PCB都要从头开始制作,每根电缆都要手工制作。所有的工作持续了8个月。
快进到2019年,现在的我就职于Quanser。今年年初,我们开始讨论为研究人员研究自动驾驶汽车开发新平台。作为概念的第一个证明,我把我19年前的小车挖了出来,把所有的电子设备都拆了,换上了一个网络摄像头、树莓派(Raspberry Pi)和我们的QUARC实时控制软件。我们在两天内重建了一个之前需要8个月完成的工作。
自动化公路系统的概念比任何时候都有效,安大略省的401高速是世界上最繁忙的高速公路,每天有超过50万辆汽车在此行驶,而这远超其当初设计的承载能力。如果我们能够实现自动驾驶,即使是在高速公路上,我们也可以在增加交通的密度和速度的同时减少油耗。
正如亚利桑那大学Johnathan Sprinkle的这段视频所演示的那样,即使是少量与常规驾驶员结合在仪器的自动驾驶的车辆也能够在驾驶过程中帮助提高平均行驶速度,同时降低油耗:
那如何制造出完美的无人驾驶汽车呢?虽然我们不知道,但我们有专业知识,可以为研究人员提供强大而灵活的平台,来帮助他们实现想法的测试。另一方面,通过这个平台我们也将对自己独有的想法进行测试!在过去的六个月中,我们一直在努力开发QCar平台。
强大的GPU功能以实现实时图像处理
QCar的核心是PCB上的NVIDIA® Jetson™ TX2对于小型移动平台而言,这是一个支持实时图像处理和AI功能的具有强大功能的GPU。作为支持架构的一部分,为了让研究人员可以添加各种高速设备,我们使用了USB 3.0集线器。QCar还有一个英特尔RealSense D435深度摄像头(支持USB 3.0接口)。
视觉和导航
支持架构的另一个关键是高速CSI接口。在此基础上,QCar将搭载4个板载,广角CSI彩色摄像头,为您提供360°全方位视野。这些相机可以直接将数据流传输到板载GPU上,以方便使用者以每相机10位像素的速度获得一个接近4K的分辨率。或者,你也可以降低分辨率来获得120FPS(帧速率),通过利用GPU的直接接口,用户能够以最小的延迟来更好的利用CUDA内核的功能。
我们还在顶部添加了2D激光雷达,来进行360°范围内的测距。激光雷达除了可以辅助强化CSI相机的视觉处理能力,还可以单独使用激光雷达进行导航。我们对激光雷达进行了一些基本功能处理,用户可以在固定或可变长度的数组中得到智能数据插值,或者用户可以只获取原始数据,来对其进行再次构建。
探索音频的使用
目前,我们的一个实验性功能是添加立体声麦克风。这为传感器融合增加了另一个维度。QCar是否可以在紧急车辆可见前,通过它发出的声音提示做出响应?又是否可以在空间上通过确定喇叭的位置以识别即将面临的威胁?为了实现这一领域的研究,我们的开发人员还在车辆上安装了扬声器,以提高车辆对即将到来的威胁及时做出反应的可能。
信号和灯光
除了刹车灯、转向灯和倒车指示灯,QCar还配备前照灯。夜间驾驶增加了处理驾驶环境的另一面。如果只使用前照灯,在夜间视野、图像数据、色彩信息都会受到一定程度限制,并且迎面而来的交通和路灯也会带来新的挑战。使用QCar,用户可以测试在不同光照条件下的图像处理例程工作,以测试算法的鲁棒性或者尝试动态切换处理模型。
在我们的社会达到完全自动化的交通基础设施之前,自动驾驶汽车还需要与那些无法预测的人类驾驶员互动。由于处理器可以直接控制所有灯光,因此只需要一小段代码即可完成与控制器关联。我们设想了一个测试场景,利用一个完全自主的QCar与一个或多个人工驱动的QCar交互。一方面通过使用摄像头来评估人类驾驶车辆的制动和转向信号,另一方面通过自动驾驶汽车上的AI例程来尝试评估人类驾驶员的意图。
除此之外,为了让实验平台更加有效,我们还在电机和电流测量上配备了编码器,因此用户可以通过估算功耗以量化驱动效率。通过9轴惯性测量单元与光流、编码器测量结合使用,以在没有外部跟踪系统的情况下进行航位推算。LCD屏幕除了能显示当前的IP地址和电池电量,还支持用户在屏幕上写下自己的信息。
尽管我们已经试着想出了很多用例,但我们知道用户想做的其实更多,所以我们能为用户需要的特定研究而定制工具。用户可以将键盘、鼠标和HDMI线直接插到车上,这样就可以直接使用Ubuntu操作系统了。我们还提供了用户可访问的SPI、I2C、CAN总线、串行、以太网和USB 3.0端口的通信端口,方便用户添加更多的传感器和摄像机,同时还有通用数字IO,4个全正交解码的用户编码器通道以及支持通用PWM,标准伺服PWM、Dshot、Oneshot和multishot的特殊PWM输出。用户还可以根据需要在小车的每个轮子安装测量仪器,也支持在QCar上安装机械臂!
下次,我将谈谈我们为了支持用户研究而对软件做的改善。