(长按识别上方二维码,报名第29届IEEE IV大会 )

如何建立一个简单的自动驾驶汽车模拟器?本文作者蒙特利尔大学专注于编译器设计 Maxime Chevalier 博士,在OpenAI Gym环境中开发了自己的自动驾驶模拟器,并用于Duckietown小黄鸭开源项目中,代码和教程都已公布。

Maxime Chevalier

蒙特利尔大学博士

专注于编译器设计

作为我的新工作的一部分,我一直在和Liam Paull教授一起为Duckietown构建模拟器。这是在麻省理工学院,苏黎世联邦理工学院,蒙特利尔大学和其他机构教授的一门大学课程,学生们通过构建自己的小型模型来了解自动驾驶汽车和机器人技术,可以在微型Duckietown环境中驾驶,完成转弯,十字路口,交通标志和其他移动车辆。

Duckietown

是的,Logo是一个握着方向盘的小黄鸭,Duckietown项目是开源的项目,他们的资料和代码都在网上可以查到。

Duckietown开发者手册:(微信后台回复:Duckietown,下载Duckietown开发者手册)

Duckietown项目Github地址:

https://github.com/duckietown

到目前为止,该课程一直专注于使用计算机视觉和PID控制器来驱动机器人的传统自动驾驶方法。然而,学生和教授对使用深度学习(特别是强化学习)越来越感兴趣。由于强化学习需要大量的数据,因此在模拟环境中比使用物理机器人更加实际。这是构建模拟器的主要动机之一。

我构建的模拟器是基于OpenAI Gym环境,它可以轻松用于强化学习。它是用纯Python编写的,使用OpenGL(pyglet)生成图形。我选择Python是因为这是深度学习最常用的语言之一,我希望学生能够轻松修改模拟器。模拟器支持许多形式的域随机化:它随机地改变颜色,摄像机角度和视野等等。这个特性旨在帮助神经网络学习处理变化,以便在模拟工作中,训练不错的网络,而且在现实世界中也能有不错的表现。

因为Duckietown基本上属于一个二维的玩具世界,我设计了一个YAML地图格式,可以轻松手动编辑以创建自定义的新环境。我也对物理学做了一些简化的假设(代理人基本上沿着2D平面移动)。

在这个模拟器上工作时,我也在尝试sim-to-real transfer,也就是说,让模拟培训的算法在真实机器人上测试。这是一项正在进行的工作,我们正在检验这项工作的可靠性。下面的视频展示了一些测试的结果:

该项目github地址:

https://github.com/duckietown/gym-duckietown

利用OpenAI Gym建立一个简单的自动驾驶模拟器相关推荐

  1. 利用训练数据建立一个简单的分类器

    利用训练数据建立一个简单的分类器 在机器学习领域中,分类指的是利用数据的特性将其分成若干类型的过程.分类器则可以是实现分类功能的任意算法,最简单的分类器就是简单的数字函数.在真实世界中,分类器可以是非 ...

  2. python追踪屏幕的移动目标_利用树莓派和Python建立一个简单、便宜的移动目标探测器...

    今天我们将讨论如何建立一个简单.便宜的移动目标探测器. 这项研究的目的是确定在一个便宜的移动设备上的对象检测模型是否可以用于现实世界的任务. 作为一个移动平台,我们使用的是树莓派3B.树莓派是一款售价 ...

  3. bat 删除文件_利用电脑文本文档建立一个简单方便的删除文件的小程序

    删除文不需要的文件或者资料,是日常工作中必定会遇到了. 各种的杀毒软件或者防护软件都具备删除文件的功能,例如360.腾讯电脑管家.这些操作起来其实也不是太麻烦! 不过呢!今天来和大家分享一个更简单的方 ...

  4. 机器人坐标系建立_如何在30分钟内建立一个简单的搜索机器人

    机器人坐标系建立 by Quinn Langille 奎因·兰吉尔(Quinn Langille) 如何在30分钟内建立一个简单的搜索机器人 (How to Build A Simple Search ...

  5. 使用html 语言建立一个简单的网页,如何用记事本建立简单的网页(1).doc

    第九章 网页制作 实验一 用记事本建立简单的HTML文件 [实验目的] 学会用HTML语言建立一个简单的网页. [实验内容] 建立一个网页,布局自定,包括自我介绍.图片.自己的电子信箱地址等,要求在标 ...

  6. 如何利用laragon框架制作一个简单的应用?

    如何利用laragon框架制作一个简单的应用? 一.搭建环境 1. 安装Laragon 1.1 打开安装包用的语言 选择自己习惯用的语言 1.2 选择安装地址 1.3 选择Next,开始install ...

  7. Matlab中如何使用appdesigner设计工具建立一个简单的界面

    Matlab中如何使用appdesigner设计工具建立一个简单的界面(数据的输入.处理和保存) 以使用不同算法处理图像的功能为例 建立一个新的空白界面,matlab中输入appdesigner,打开 ...

  8. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  9. 阿里微服务专家自己手写Spring Boot 实现一个简单的自动配置模块

    为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块. 假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boo ...

最新文章

  1. 11g新特性:X$DBGALERTEXT一个很酷的内部视图
  2. fork()函数_fork()函数的使用
  3. nyoj123士兵杀敌4-树状数组-改区间查点
  4. 【机器学习基础】你应该知道的LightGBM各种操作!
  5. cordova插件开发
  6. linux adduser mysql,linux独享初始配置方法(ftp、apache、mysql)
  7. 【转】C#中Invoke的用法
  8. 强大的独立日期选择器(date picker)插件 - Kalendae
  9. Mac安装sqlmap【亲测有用】
  10. 跨湖跨仓场景下如何实现海量数据分钟级分析
  11. [傅里叶变换及其应用学习笔记] 十. 卷积与中心极限定理
  12. 跨浏览器javascript
  13. 嵌入式就业去哪?中国10大军工央企,1000+单位!史上最全!
  14. [转载]如何用C#做一个类似于桌面插件的程序
  15. 15693协议命令格式汇总
  16. 伯努利试验和二项分布
  17. 通信时代的发展与5G未来的发展方向以及面临的业务挑战
  18. 技术赋能广告策略全升级,爱奇艺开启框内广告营销新篇章
  19. 设备巡检维修报备小程序开发制作功能介绍
  20. java 多线程(四)—— 线程同步/互斥=队列+锁

热门文章

  1. k8s高可用集群安装
  2. 计算机文件夹添加密码,文件夹加密软件,如何给电脑文件夹添加密码
  3. SQL 注入 学习笔记 第十二天
  4. 等级保护制度2.0标准下医院数据安全建设经验
  5. linux的firefox参数,【进阶】Firefox火狐命令行参数
  6. Openapi 接口设计思路
  7. 更改安装IDEA文件夹名称,快捷方式图标不显示,双击打不开
  8. 解决Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。(win10下升级pip)
  9. Python: Git Log自动生成Release Notes,并调用Outlook发送至邮件
  10. 【语音隐写】基于matlab GUI DCT音频数字水印嵌入提取【含Matlab源码 837期】