无人驾驶虚拟仿真
文章平均质量分 82
利用OpenAI Gym建立一个简单的自动驾驶模拟器,在此平台上基于ROS开发无人驾驶应用
溪风沐雪
无
展开
-
ROS2学习笔记(十一)-- ROS2 bag数据记录与回放
简介:ROS2提供了ros2 bag命令,可以记录指定主题的数据到文件中,也可以将记录下的内容再发布出来,相当于是数据的回放,除了通过命令行的方式实现数据记录以外,也可以通过编程实现主题数据记录以及而合成的主题数据记录。原创 2022-04-11 15:38:18 · 19790 阅读 · 2 评论 -
ROS2学习笔记(十)-- ROS2 launch启动文件
简介:接触过ROS1的同学对launch肯定不陌生,在ROS1中,我们常用launch实现node和master同时启动、多节点同时启动配置等功能,ROS2中的launch也是用于多节点启动、配置功能,但是在使用方法上有了很多不同,ROS1只支持xml格式的.launch文件配置,ROS2在兼容xml的基础上,还支持yaml和python格式,而python格式的launch是我的学习重点,因为相对于另外两种配置方式,使用python更加灵活:原创 2022-04-10 20:34:42 · 13902 阅读 · 6 评论 -
ROS2学习笔记(九)-- ROS2命令行操作常用指令总结(二)
简介:在第六、七、八章节中介绍了自定义消息(Message)、服务(Service)、动作(Action)的实现过程,另外还介绍了参数的应用,在学习过程中我们穿插了部分命令行操作用来调试或者验证相关功能,这一节详细介绍这些内容相关的命令行操作,通过虚拟仿真环境下已经实现的功能来验证。原创 2022-04-09 09:51:25 · 2557 阅读 · 0 评论 -
ROS2学习笔记(八)-- ROS2参数应用实现道路识别调试
简介:参数也是ROS2系统中很重要的一项功能,主要是用来对节点进行配置,一般用在调试过程中,通过命令行的方式修改节点的一些配置,用以辅助调试,另外节点参数也支持导入和导出,调试好的参数可以导出到本地保存,再次启动时可以加载调试好的参数直接使用。原创 2022-04-08 09:18:52 · 5134 阅读 · 3 评论 -
ROS2学习笔记(七)-- 自定义动作实现路口转弯
简介:ROS2底层通信机制有主题(Topic)和服务(Service)两种,两种通信机制可以解决大部分问题,但是还有一些问题用这两种机制解决起来比较复杂,以无人驾驶虚拟仿真环境中的应用举例,在十字路口或者丁字路口要实现转弯,因为在路口并没有给出转弯车道线,车辆转弯将没有任何依据,通过主题或者服务可以实现强制指挥小车转弯,但是什么时候结束强制指挥又是一个问题,像这类情况,我们就可以通过ROS2中的动作(Action)通信方式来解决。原创 2022-04-07 09:19:27 · 1730 阅读 · 0 评论 -
无人驾驶虚拟仿真(十六)--障碍物检测与识别2
简介:在上一节中,我们完成了障碍物检测模型训练以及python部署,在这一节中,我们将障碍物识别部署到ROS系统中。原创 2022-04-06 15:27:09 · 1603 阅读 · 0 评论 -
无人驾驶虚拟仿真(十五)--障碍物检测与识别1
简介:无人驾驶虚拟仿真环境中,道路障碍物默认有3种,路障、小鸭子(模拟行人)和小车,其中路障是静止状态,小鸭子和小车可以是静止状态,也可以是运动状态。障碍物色彩复杂多变、在道路中的位置随机且动态变化,普通的图像处理手段不再适用于障碍物的检测,在这里我们利用机器学习的手段来进行障碍物的检测。原创 2022-04-05 21:23:05 · 5804 阅读 · 0 评论 -
无人驾驶虚拟仿真(十四)--图像处理之交通标志牌识别2
简介:在上一节中,我们从原理上完成了交通标志牌的检测,在这一节中,我们将检测功能部署到ROS系统中。原创 2022-04-04 20:29:43 · 1484 阅读 · 0 评论 -
无人驾驶虚拟仿真(十三)--图像处理之交通标志牌识别1
简介:在实际交通地图环境中,我们预设了交通标志牌,可以通过交通标志牌对小车进行更加细致丰富的控制,标志牌形式如下:原创 2022-04-03 19:12:19 · 4555 阅读 · 0 评论 -
ROS2学习笔记(六)-- 自定义消息和服务实现控制指令优化以及在线换图
简介:前几节我们主要介绍了关于ROS2通讯机制--主题(Topic)的发布与订阅机制的使用方法,一般情况下,数据周期发布、数据交互频率高,或者数据生产与消费不是强关联的功能,我们通过主题的发布与订阅机制来实现,比如摄像头图像数据、小车控制指令等;ROS2系统底层通讯机制还有另外一种--服务(Service),服务一般用于数据交互频率比较低或者没有明显周期性质,而且需要实时返回交互结果的功能需求中,比如我们这一节要实现的在线更新地图的功能。原创 2022-04-02 15:48:24 · 2948 阅读 · 0 评论 -
ROS2学习笔记(五)-- ROS2命令行操作常用指令总结(一)
简介:在前面的章节中,我们先简单学习了ROS2的话题发布和订阅,两种操作都是通过python代码实现的,而在实际应用过程中,我们会经常用到命令行操作来辅助调试,更进一步的可以使用GUI工具辅助调试,比如前边用到的rqt中的Image View工具,这一节在现有功能基础上介绍一部分常用的命令行操作指令。原创 2022-04-01 15:46:33 · 13298 阅读 · 0 评论 -
ROS2学习笔记(三)-- 采集虚拟仿真环境图像并发布
简介:ROS2功能的学习我们还是在基于OpenAI的gym虚拟仿真环境中来完成,gym虚拟仿真环境安装请参考另一篇教程,这里不再重复说明,接下来我们开始创建一个ROS2的功能节点,并发布虚拟仿真环境小车摄像头的图像,然后利用rqt工具查看图像。原创 2022-03-31 18:20:04 · 3533 阅读 · 4 评论 -
ROS2学习笔记(四)-- 用方向键控制小车行走
简介:在上一节的内容中,我们通过ROS2的话题发布功能将小车实时视频信息发布了出来,同时使用GUI工具进行查看,在这一节内容中,我们学习一下如何订阅话题并处理话题消息,具体实现的功能就是通过方向键控制小车行驶。原创 2022-04-01 13:39:15 · 6301 阅读 · 4 评论 -
无人驾驶虚拟仿真(十二)--图像处理之红绿灯识别
简介:在交通地图中有红绿灯组件,一般放置在T形或者十字路口处,车辆行驶过程中,需要检测红绿灯信号来控制车辆启停,以符合基本的交通规则。红绿灯识别基本分为图像截取、斑点检测、颜色识别三步来实现。原创 2022-03-31 09:14:58 · 3959 阅读 · 4 评论 -
无人驾驶虚拟仿真(十一)--图像处理之红线检测
简介:在交通地图的路口设计了红线,其主要作用是用来提醒车辆需要进行某些功能检测了,比如红绿灯识别,路口交通标志识别等。在车道线识别中,我们已经提取到了红线的车道线,接下来只需要考虑如何计算红线与车辆之间的距离。原创 2022-03-31 09:07:53 · 464 阅读 · 0 评论 -
无人驾驶虚拟仿真(十)--车辆姿态控制(PID)
简介:在上一节内容中,我们估算出了车辆姿态,主要是位置偏差d和航向角偏差phi,出现偏差就需要矫正,根据物理常识我们知道不可能马上矫正,需要一个矫正的过程,图像采集处理又有一个时间间隔,在这个时间间隔里还会出现矫正过度,需要反向矫正的情况,再加上车辆本身的动力偏差,道路的影响等,我们无法通过简单计算来让车辆达到误差为0的状态,因此我们引入PID控制算法,目的是实现车辆姿态控制参数自动化调整。原创 2022-03-30 11:54:11 · 2491 阅读 · 0 评论 -
无人驾驶虚拟仿真(九)--车辆姿态预测及估算
简介:在上一节中我们检测到了车道线线段,并发布出来,在这一节内容中,我们要根据车道线来估算车辆位置,为什么说估算而不是计算,是因为我们无法根据车道线位置准确的计算出车辆姿态,每一条车道线线段都可以计算出一个车辆姿态数据,我们只能选取其中重合度较高的数据做为最终参考数据,为了让数据更加可靠,哦我们还需要用上一次的数据做参考,通过车辆速度和偏向角预测当前车辆姿态做为参考,再加入实时数据一起计算出当前车辆姿态。因为数据需要多次迭代,所以不方便分步来讲解,本节以ROS源码注释的方式来讲解。原创 2022-03-30 11:52:02 · 1646 阅读 · 4 评论 -
无人驾驶虚拟仿真(八)--图像处理之车道线识别3
简介:在上一节中,我们完成了单张图片车道线的检测,在最终的结果中,可以比较明确的观察出车辆相对车道线的位置,接下来,我们要把这一功能移植到ROS系统中,将小车抓取到的图像都处理成车道线数据,并发布到下一环节进行处理。原创 2022-03-30 11:49:35 · 3843 阅读 · 1 评论 -
无人驾驶虚拟仿真(七)--图像处理之车道线识别2
简介:上一节中我们计算得到了前视图到俯视图的投影变换矩阵,在这一节中我们要完成车道线的检测。当车辆摄像头获取到一张图像,我们大致需要经过以下步骤来得到车道线数据:原创 2022-03-30 11:47:27 · 2892 阅读 · 0 评论 -
无人驾驶虚拟仿真(六)--图像处理之车道线识别1
简介:车道线识别是无人驾驶的基础,通过多种手段获取地面车道线位置,再根据车辆参数估算出车辆相对位置,以此为依据计算出车辆运动参数,这一节中我们先了解一下视图的转换。原创 2022-03-30 11:44:32 · 3642 阅读 · 1 评论 -
无人驾驶虚拟仿真(五)--图像处理之色彩平衡
简介:同样的物体在不同的光照环境中会出现色彩偏差,为了减少色彩偏差对系统检测造成的影响,在对图像进行识别前,需要先评估图像明暗度,计算出明暗阈值,通过对图像的色彩平衡处理,可以校正图像色偏,过饱和或饱和度不足的情况。原创 2022-03-30 11:38:02 · 1891 阅读 · 0 评论 -
无人驾驶虚拟仿真(四)--通过ROS系统控制小车行走
简介:实现键盘控制虚拟仿真小车移动,w/s/a/d/空格,对应向前/向后/向左/向右/急停切换功能,q键退出原创 2022-03-30 11:31:08 · 7760 阅读 · 1 评论 -
无人驾驶虚拟仿真(三)--通过ROS系统查看仿真小车视频流
简介:在虚拟仿真平台的基础上实现ROS系统开发,将虚拟仿真平台中小车的视频流通过ROS系统的话题发布出来,然后用rqt_image_view工具播放实时图像。原创 2022-03-30 11:28:50 · 1722 阅读 · 0 评论 -
无人驾驶虚拟仿真(二)--ROS系统安装
简介:在ubuntu20.04系统中安装ROS noetic版本原创 2022-03-30 11:25:38 · 2567 阅读 · 2 评论 -
无人驾驶虚拟仿真(一)--环境搭建
简介:安装部署无人驾驶虚拟仿真平台,通过键盘控制仿真小车移动,简单介绍仿真环境切换以及自制方法原创 2022-03-30 11:20:31 · 2977 阅读 · 5 评论