程序员深度学习深度学习-推荐系统-CV-NLP

无人驾驶 OpenCV (6) 仿真系统

2019-08-11  本文已影响31人  zidea

简单地了解一下无人驾驶技术,从技术层面上还是太初级了,其实我们没有硬件在整个无人驾驶中我们只关心可以应用深度学习的部分也就是,也就是图像识别和分析以及决策分析。虽然这两块只是无人驾驶一下部分,不过这两部部分技术也是最智能的,最能看出深度学习威力地方。也是作为一个深度学习爱好者,可以涉足发挥自己价值部分。

不过我们技术需要检验,也没有车,也没有 sensor 没有雷达,没有环境我们怎么训练和评估我们的模型呢,今天在开始深入学习前引入一套仿真系统作为我们训练和检验模型的工具。

Carla 提供用于训练和验证无人驾驶模型的自主驾驶系统。除了开源代码和协议外,Carla 还提供了为此目的而生成的开放数字资源(城市布局、建筑、车辆),这一些都是免费的。通过编程我们可以完全控制,自定义驾驶仿真系统来达到自己训练模型的所需路况,包括规范、环境、所有静态和动态资源(也就是行人,路灯和障碍物),以及如何地图生成等。

服务器提供多客户端共享仿真系统来实现可扩展性,同一端点或不同端点中的多个客户端还可以控制不同的参与者(actor 这里 actor 可以移动汽车或行人等)。

Carla 提供一套灵活的 API,允许用户控制与模拟仿真系统的所有的方面,包括交通生成、行人行为、天气、传感器等等。

自动驾驶传感器套件:用户可以配置多种传感器套件,包括激光雷达、多个摄像头、深度传感器和GPS等。


senor.jpg

规划和控制的快速模拟:此模式禁用渲染,以快速执行不需要图形的交通模拟和道路行为。

地图生成:用户可以通过roadrunner等工具,按照OpenDrive标准轻松创建自己的地图。

交通场景模拟:我们的引擎场景允许用户基于模块化行为定义和执行不同的交通场景。

Carla 支持对 ROS 的集成,通过我们的 ROS 桥与 ROS 集成。

自主驾驶基线:我们在卡拉提供自主驾驶基线作为可运行代理,包括Autoware代理和条件模拟学习代理。

没有车做什么无人驾驶,今天介绍 Carla 给我们带来模拟驾驶体验,Carla 给那些没有机会自己上道训练自己的车的驾驶。
提供了 window 和 linux 版本,没有提供 mac 版本,我们下载 window 版本来训练我们模型。

安装

如果是 window 版本可以降低一个版本。zip 文件大小大概在 2.9 G 吧,解压后在根目录下看到一个可执行的 exe 文件,运行起来我们就可看到一个小镇,不过只有基础建设道路和建筑,路上并没有我们需要车辆、非机动车和行人。

铜鼓 wasd 我们可以在小镇进行浏览,似乎是一座空城,打开 python

001.JPG

我们可以通过运行 examples 文件夹下文件来先睹为快,spwan_npc 是生成角色 py 后面我们指定生成 npc 的数量。

py spawn_npc.py -n 80

运行文件后我们就发现有车辆和非机动车运行在小镇道路上了。

002.JPG
py dynamic_weather.py
Sun(0.71, 35.79) Storm(clouds=0%, rain=0%, wind=0%)

也可以通过运行 dynamic_weather 来改变环境的天气

003.JPG
python manual_control.py

添加我们手动控制角色在城市里行驶,运行后随机给我们分别了一个非机动车—自行车。


005.JPG

角色的运动方式是我们通过 manual_control.py 定义的,我们也可以定义自己的手动控制方式,不过需要说明下这些操作和控制是基于 pygame 所以所以需要先安装 pygame 这个库,我们的 manual_control 来能运行起来。

006.JPG

有关如何控制角色的如下图,玩过游戏应该对这些不会陌生,通过 aswd 按键来控制角色的移动。carla 支持多人在用一个仿真系统中操作自己角色。和游戏有点像,游戏源于真实同时游戏又是超现实的,可能会反过来作用于现实,

007.JPG 008.JPG

闯一个红灯造成一次交通拥堵,在现实中无法实现的可以到这里体验一下。

009.JPG

再切换一下,竟然切换处理一个电动助力车,好熟悉没想到老外这么贴心,这么贴近生活了解中国。

010.JPG
上一篇下一篇

猜你喜欢

热点阅读