基于DRL和TORCS的自动驾驶仿真系统

——之环境配置

玩TORCS和DRL差不多有一整年了,开始的摸爬滚打都是不断碰壁过来的,近来在参与CMU的DRL10703课程学习和翻译志愿者工作,也将自己以前的一些工作做一些备忘,以作为有兴趣同学的参考。

TORCS仿真器平台安装

仿真器平台主要包括两步:安装TORCS,然后添加锦标赛用的patch。

TORCS仿真器的安装

The open racing car simulator(TORCS)主页

仿真器源文件下载地址

支持windows和linux,windows下面的安装有集成的安装源文件包;linux系统下则需要自己编译安装一些依赖库,否则在下一步打patch的时候不成功,原因是linux的包是编译后的文件,不包括源文件,windows无此问题。

示例是在win-64bits系统下安装torcs-1.3.4。

跟普通应用安装类似,安装后,可在桌面创建快捷方式 。

打开安装好的TORCS,如下图所示。

某些简单问题,在这里可能可以找到答案:

http://torcs.sourceforge.net/index.php?name=Sections&op=viewarticle&artid=30

简单配置How-to教程可参考(开始使用默认配置即可):

http://torcs.sourceforge.net/index.php?name=Sections&op=listarticles&secid=4

如何在仿真器上一步步实现一个简单ROBOT,教程可见:

http://www.berniw.org/tutorials/robot/

Championship Platform的安装

为扩展仿真器平台用于我们的智能驾驶AI程序的开发,我们采用的是锦标赛平台的接口。在安装torcs之后,可以直接安装patch。实现安装源文件下载地址:

https://sourceforge.net/projects/cig/files/SCR%20Championship/

示例安装的是windows server patch2.0. 文件链接:

https://sourceforge.net/projects/cig/files/SCR%20Championship/Server%20Windows/2.0/

解压下载的patch.zip覆盖上一步安装torcs的安装文件,即可搭建一个服务器端。



上图中的wtorcs.exe即平台的入口地址。可将其快捷方式发送到桌面。打开该程序,现在可以配置我们的drivers。

路径是: Race --> Quick Race/ Practice --> Configure Race --> Select Track (Accept)--> Select Drivers (如1,用上下方向键选择scr…,然后点击select(选择和删除是同一按钮),最后Accept即可),如下图所示。

然后accept, New Race 即可以进入仿真器。

我们的程序即可以通过scr车手来模拟控制,一些有用的配置可以参考。

Manual的官方文件: http://arxiv.org/abs/1304.1672

若有墙,可参考:

https://www.yumpu.com/en/document/view/48269886/simulated-car-racing-championship-competition-software-manual

至此,TORCS仿真器平台安装完毕,下面搭建配套的软件IDE环境。

软件IDE环境搭建

Anaconda 的安装

Anaconda 是一个开源的,基于python的跨平台(windows,osx,liunx)科学计算平台,支持python2和python3,示例用的是基于python2的anaconda2-4.0.0

安装后,会创建一个Anaconda Prompt(一个类似DOS的命令行窗口),它可以像linux一样来通过命令管理各种科学计算包,执行命令等。

比如可以用conda ,pip等工具管理包

PyBrain的安装

Pybrain是一个基于python的机器学习模块,对强化学习的支持比较好,2015年底的时候,还只有很少的模块是专门做强化学习的,Pybrain就是定位在强化学习和神经网络,由于是个人的项目,维护更新比较慢,目前使用的是0.33版本。

在已安装的系统上运行conda install pybrain会显示是否已安装。

由于使用的台式机已经安装pybrain 0.33,故用笔记本示意安装过程,如下图所示.

主要命令包括(字母均为小些形式):

1.	conda install pybrain
2. anaconda search -t conda pybrain
3. conda install -c https://conda.anaconda.org/mq pybrain

Note: mq 是指包的发布者

PyCharm 的安装

尽管Anaconda包含了一个Spyder 的IDE,个人感觉不太友好,故还是额外安装PyCharm。PyCharm是JetBrains公司推出的一套基于python的跨平台工具。包含免费的社区版和收费的专业版,示例的是专业版,由于近期修改系统时间的漏洞已经修护(貌似最多就一年有效),建议直接安装社区版即可。与TORCS的接口程序在下一篇代码部分给出。

基于DRL和TORCS的自动驾驶仿真系统——之环境配置的更多相关文章

  1. 开源自动驾驶仿真平台 AirSim (1) - Unreal Engine

    AirSim 官方Github: https://github.com/Microsoft/AirSim AirSim 是微软的开源自动驾驶仿真平台(其实它还能做很多事情,这里主要用于自动驾驶仿真研究 ...

  2. 开源自动驾驶仿真平台 AirSim (2) - 编译 AirSim

    AirSim 的官方 Github: https://github.com/Microsoft/AirSim 对于 Unreal Engine 来说,AirSim 其实是作为一个插件存在,说白了就是把 ...

  3. 开源自动驾驶仿真平台 AirSim (3) - 运行 AirSim

    AirSim 的官方 Github: https://github.com/Microsoft/AirSim 之前配置了很多,终于要让 AirSim 自己跑起来了. 我们需要把 AirSim 这个插件 ...

  4. Mechanical Simulation借助UE发力自动驾驶仿真

    Source https://www.unrealengine.com/en-US/blog/making-autonomous-vehicles-safer-before-they-hit-the- ...

  5. zz“老司机”成长之路:自动驾驶车辆调试实践

    随着自动驾驶技术的发展,一辆新车从被改装到上路需要经过的调试流程也有了许多提升.今天,我希望结合自己之前的调车经验来跟大家分享一下我们是如何将系统的各个模块逐步上车.调试.集成,进而将一辆“新手”车培 ...

  6. 自动驾驶汽车数据不再封闭,Uber 开源新的数据可视化系统

    日前,Uber 开源了基于 web 的自动驾驶可视化系统(AVS),称该系统为自动驾驶行业带来理解和共享数据的新方式.AVS 由Uber旗下负责自动驾驶汽车研发的技术事业群(ATG)开发,目前该系统已 ...

  7. 2020云栖大会智慧出行专场:聚焦高精地图/算法、智能模型、自动驾驶、AR导航

    2020云栖大会将于9月17日-18日在线举行,届时将通过官网为全球科技人带来前沿科技.技术产品.产业应用等领域的系列重要分享.   阿里巴巴高德地图携手合作伙伴精心筹备了“智慧出行”专场.我们将为大 ...

  8. 激光雷达Lidar与毫米波雷达Radar:自动驾驶的利弊

    激光雷达Lidar与毫米波雷达Radar:自动驾驶的利弊 Lidar vs Radar: pros and cons for autonomous driving 新型无人驾驶汽车的数量在缓慢增加,各 ...

  9. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配

    一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...

随机推荐

  1. POJ-2251 Dungeon Master (BFS模板题)

    You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...

  2. Linux的三种网络适配器

    Linux的三种网络适配器 分别为:桥接模式(Bridged),NAT模式,仅主机模式. 仅主机模式:        2>NAT模式 NAT 是虚拟机和本地网络使用一个ip地址 3>桥接模 ...

  3. PHP:第二章——PHP中的equire与incude语句

    <?php header("Content-Type:text/html;charset=utf-8"); /* include: include_once//include ...

  4. bootstrap的学习总结

    1.bootstrap是一个css框架,它提供了很多类,这些类中实现了内外边距,颜色,大小等样式的封装,它还提供了很多常用插件可以直接使用 2.12栅格本质上是将标签的外边距和内边距通过“格子”的思想 ...

  5. CDMA学习

    1.关于RC:http://www.mscbsc.com/askpro/question74915 2.CDMA知识要点:http://wenku.baidu.com/view/d4511442a89 ...

  6. jQuery之阻止默认事件以及解除阻止

    大家都知道e.preventDefault()可以阻止默认时间,例如提交功能,但是怎么解除呢?以下参考于网络: 可以使用removeEventListener来移除.但是条件是addEventList ...

  7. java.lang.IllegalStateException: Zip File is closed

    最近在研究利用sax读取excel大文件时,出现了以下的错误: java.lang.IllegalStateException: Zip File is closed at org.apache.po ...

  8. shell 数学运算总结

    # !/bin/bash ## 整数-算数运算 ### 1. expr r=`expr 4 + 5` ### Tips:1. '4''+''5'三者之间有空白 echo $r; r=`expr 4 \ ...

  9. 步步入佳境---UI入门(1)--项目建立与实现

    一,本文讲解建立一个空项目,怎么一步一步的创建程序,总体的感觉一下程序流程  1,首先建立一个项目,如下:single view project,我们首先删除CHAppDelegate文件和Main. ...

  10. 关于XCode 的agvtool命令行

    简介:用agvtool如何来自动更新版本号和bulid version   agvtool是一个命令行工具,允许你自动递增到下一个最高的数量或具体的数字这些数字.本文档提供了更新您的构建和版本号码使用 ...