python仿真库_Python酷

随着5G和车联网的发展,不仅能够将智能交通变为现实,也使自动驾驶成为了可能,而近几年,自动驾驶发展的尤为迅速,不管你是主动的还是被动的,总能在科技新闻上看到它的身影,而从事自动驾驶相关软,硬件研究的公司也越来越多,这里边既有传统的汽车巨头,也有新兴的电动车巨鳄,既有从互联网巨头,也有这种初创企业,自动驾驶可谓是风口是上的风口。

自动驾驶需要基于大量的试验,使用大量的数据对模型进行训练,同时又需要完成大量的不同驾驶环境的验证,这样大量的训练数据和环境验证如果全部使用实车测试的话并不是很现实,这里边有是成本问题,周期问题,更重要的是很多场景我们在现实环境中并不能够实现,例如一个简单的例子,前边的车辆突然失控。

所以跟很多其他技术产品的研发一样,我们需要一个能够用计算机进行仿真的环境。幸好,科学家和从业人员已经花了很多的精力在这一技术上边,并且有一些非常好的项目,在这一系列的文章中,我们将介绍其中一个,它的名字叫Carla,是一个主要由英特尔实验室和巴塞罗那的计算机视觉中心开发的开源项目。

另外,作为从业人员和学习者,我们没办法有条件用真实的环境去学习,仿真环境也给我们提供了一个能够更容易深入学习这个领域的环境。

在本篇文章中,我们将会介绍Carla的基本概念,并教会大家如何把Carla环境运行起来。

1. 架构

对于我们学习和使用Carla而言,第一件事情,也是最重要的事情就是掌握Carla环境的架构。在Carla的官方文档中https://carla.readthedocs.io/en/latest/用下边这样一张图直观的说明了Carla环境的构架,以及我们应该如何去使用这个框架。

如下图所示,Carla是一个服务器/客户端形式的架构,所谓的服务器就是仿真环境 本身(Simulator),为图中左侧部分,它是仿真环境的主体,所有在真实的汽车驾驶环境中具有的东西都在里边有体现,包括:车辆,行人,路桥,信号灯,指示牌,天气,建筑等等,它的目的就是实现一个真实的世界。

而作为世界的参与者,像车辆,行人,信号灯,以及天气光线等等这些在真实的世界中是移动和变化的,要模拟真实的环境,其实就是要模拟这些变化,比如我们要让一台车超速行驶,比如我们想让天气是雨天等等,这就是客户端的作用了。

除此之外,环境还提供了各种传感器(摄像头,雷达等等),我们可以将传感器配备到车辆上,用于数据收集和自动驾驶的训练以及车辆的控制。

Carla环境会将所有必要的用来控制世界参与者的接口都暴露出来了(以Python的形式,也有C++),供客户端来调用,一方面客户端可以读取到环境的数据,另一方面客户端可以像环境中的各种参与者发送控制命令控制他们的行动和变化。

到这里,我们对怎么使用这个环境已经有一个比较清晰的认识了,那就是,将服务器环境(即仿真器)启动,然后就不用理会它了,剩下的所有的代码和算法其实都是使用Python库来作为客户端通过调用API的方式跟这个仿真器交互。

2. 运行服务器(仿真器)

Carla是一个开源项目,我们可以从它的GitHub仓库中下载到最新的仿真器,链接是 https://github.com/carla-simulator/carla/releases,这个仿真器是使用UnrealEngine实现的,目前有Linux和Windows的版本。值得一提的是,因为需要渲染3D模型,跟3D游戏类似,这个环境需要一定性能的GPU。

下载好 CARLA_0.9.8.zip 以后,将其解压,以Windows环境为例,将包含下边这些文件夹和文件,通过双击CalaUE4.exe就可以启动服务器环境了,官方也提供了一些客户端实现的例子,在PythonAPI文件夹中可以找到。

启动以后,会出现类似下边这样的一个3D环境,在环境中只有静态的物体,像建筑啊道路啊这些,用户可以通过按住鼠标左键并移动鼠标来切换视角,并使用ASWD来前进后退来观察这个环境,但是并不能跟环境交互。如我们前边所说,跟仿真环境的交互,需要使用PythonAPI以客户端的形式来进行。

3. 客户端

使用Carla环境的过程其实就是实现各种满足我们目标的客户端的过程。在下载到的Carla包中有一个PythonAPI的文件夹,里边的内容包括:

carla文件夹 - 里边包含了carla python库,即使用Python对Carla接口的封装,因为这个库还没有放到PyPi上边,我们不能使用pip的方式安装,需要手动安装这个文件夹中的库到Python环境中

examples文件夹 - 提供了很多很好的示例代码,我们可以通过运行和阅读里边的代码来学习Carla的使用

util文件夹 - 提供了一些方便的脚本,可以用于配置carla环境

3.1 carla库的安装

进入到carla\dist文件夹中,我们将看到一个egg格式的文件,名称类似于:carla-0.9.8-py3.7-win-amd64.egg,这个就是carla的python库,我们需要手动安装一下,运行以下命令来实现安装。

1

easy_install carla-0.9.8-py3.7-win-amd64.egg

3.2 执行示例代码

当库安装完毕以后,我们可以运行其中一个代码来直观的感受下。

您的浏览器不支持本视频

这是运行example中 manual_control.py 的效果,manual_control.py这个文件实现了一个可以接收用户键盘输入的客户端,用户可以通过ASWD来控制小车的移动,而汽车运行的数据会显示在左边的屏幕上。

看到这里,读者应该已经可以将Carla环境运行起来了,我们将在下一篇文章 Carla自动驾驶仿真环境 2 – 用Python跟仿真环境交互 中介绍Carla API中的一些重要的概念,并辅以一些示例,读者将能够使用API在Carla环境中创建车辆和行人。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值