AI无人驾驶实验平台:1+1>3The Self-Driving Car Research Studio: Larger than the Sum of its Parts+ 查看更多
完整的解决方案
Quanser一直以来提供的不仅仅是硬件或软件,那我们的第二个实验平台也不会例外。这是一个完整的,研究级的解决方案。平台包括两个或更多无人驾驶小车,一个预先安装并配置了所有支持开发工具和API的高端PC,网络基础设施, 65平方米(700平方英尺)的定制乙烯基道路拼接模块和其他辅助配件。在拆开硬件包装的数小时内,你就可以启动运行一辆无人驾驶小车。市场上的其他设备把车道跟踪和障碍物检测作为目标。但对于无人驾驶实验平台来说,这只是一个起点!
在通往成功的“道路”上
出乎意料的是,研究平台解决方案中最明显和最具挑战性的方面是道路。我们必须考虑表面纹理,可复用性,易用性和反射率.我们试过贴纸,帆布,纸板,泡沫砖,甚至墙纸!我们最终的解决方案是定制增强乙烯基。我们在办公室里测试了几个月的乙烯基面板(穿着冬靴在上面行走等),道路看起来仍然不错--比我们加拿大的高速公路更好一些!
乙烯基板可以很容易地切割与拼装。您可以使用它们来做一个适合您空间的道路配置,并且可以轻松的做些更改来测试不同的场景:沿着实验室走廊铺一个场景,或者在实验室里进行永久安装。如果您有一个非常大的空间,您可以订购更多拼装套件来构建您的比例模型世界。
很显然,Quanser的无人驾驶道路铺装服务会是相关公司里独一无二的!
一种模块化的应用方法
在过去的一年里,我们Quanser的应用团队一直在开发一种新的方法来向我们的研究客户提供示例。我们将所有内容分解为组件、任务和应用程序,而不仅仅是用一两段代码来演示一个复杂示例。
组件是基本元素,例如C或Python,或者Simulink中的QUARC模块中的API调用。它们被用来创建任务,这些任务是提供更高级别功能的可重用的构建块。这可能是一个基本单元,它通过API调用来读取编码器和IMU以提供速度和方向数据,或者是一个接收视频流、检测线路和提供保持行进路线的功能单元。通过组件的组合来实现如车道跟随,自动刹车等一系列应用。
这种模块化处理方式的目标更适合科研人员,我们允许科研人员从提供的DEMO示例中挑选任务,而不需要非常详细地理解每个任务是如何工作的。这也意味着,如果您想实现自己的路径跟踪算法,您可以轻松地挑选我们的路径跟踪任务程序,并将其中的跟踪算法替换为您自己的。
这种方法还有一个很大的优点:它便于混合语言编程。想在Python中运行神经网络时,使用在Simulink中的速度控制器吗?只需将Python中的分析图像处理替换为我们的跨语言通信链接,就可以在Python中运行那个任务。想用定制硬件做点什么吗?回到开始以我们的一个基本接口示例作为起点。而一旦你确定了细节,你就可以把它集成到一个更复杂的例子中,以一个更高的起点来加速你的研究。
到目前为止,我们已经有了几十个特定于QCar的应用程序DEMO示例,它们涉及Python、ROS、C和MATLAB/Simulink,以及更多使用我们API的通用示例:
- 底层传感器接口
- 基本IO接口
- CSI摄像头接口
- 深度摄像头接口
- 激光雷达接口
- 360°成像
- 激光雷达点阵云
- 手动驱动
- RGBD深度处理
- 集合数据集日志记录
- 带图像处理分析的无人驾驶
- 车辆协同自适应巡航控制
- 使用TensorFlow自主驾驶的深度卷积神经网络机器学习
在接下来的几个月里,我们将继续构建这个可重用代码库和添加第三方支持。我们将定期更新示例,客户可以定期访问我们的“实验案例文件库”来免费获得更多更新的案例,来使您的工作保持前沿。
混合现实与虚幻引擎
我们正式增加了对虚拟引擎的支持,用于仿真、可视化、增强现实和混合现实。使用虚幻引擎已经很多年,我一直惊讶于它可以让我不需要做过多努力就可以获得的很高的视觉质量的能力。
我们将提供一个具有完整操纵、动画和纹理模型的QCar,以及同样的道路场景,这样您就可以在虚拟世界和物理世界中同时创建相同的设置,以及可以与硬件集成的工作示例。
最棒的是,您不需要编写任何C++代码!这些模型和示例可以与Epic的“蓝图”系统(一种高级图形语言)配合使用。如果你从我们提供的一个例子开始,你甚至不需要触及这个领域。当然,如果您想深入了解引擎的深度,Epic为其引擎提供了完整的源代码。需要建筑模型吗?还是来自中东的动物?还是一套中国的路标?有成千上万的资源在虚拟引擎的市场里出售,以及数百种免费模型和纹理。你也可以从Blender,3DS MAX,Maya,Solidworks,SketchupPro和许多其他软件包中导入模型。
那你能做什么?您可以创建虚拟停车场或室外环境。其中一个更令人兴奋的应用是定位车辆,将摄像机数据流传输到虚幻引擎,然后在视频流上堆叠虚拟元素,并将其返回处理,以便在原本空旷的物理房间中创建虚拟城镇:
我们也可以模拟深度相机和激光雷达,所以这些也可以与你的现实世界的传感器合并。你可以添加一些小细节,比如工作中的交通信号灯,或者添加更高级的情况,比如过路的行人。通过添加小的虚拟元素到其他物理相机图像,您可以验证您的算法,在面对传感器噪音和光照变化等现实世界的问题。这也让你能够完成无人驾驶道德选择难题测试,而不会危及人员的安全,以及测试和持续复制那些在纯物理硬件下难以或不可能涉及的场景。
整个实验平台的核心是实验软件和程序,是能让AI研究人员和图形开发人员易用易上手的开发平台。我们花了多年的时间使QUARC随着计算机和软件的发展尽可能易于安装,但是安装帮助仍然是我们的第一大技术支持请求。 这里的部分困难是QUARC的安装依赖于其他支持软件。 无人驾驶实验平台依赖于数十个软件包来支持ROS,Python,MATLAB /Simulink,虚拟引擎以及许多其他的AI工具。而我们花了几个月的时间来整理软件组件之间的所有复杂情况,所以您无需在做这些工作。借助所有模拟和混合现实示例,我们也确切地知道计算机能够做些什么,因此我们可以持续提供利于您研究的实验案例。