自动驾驶~

近年来,自动驾驶汽车已成为汽车公司的首要任务。宝马,博世,谷歌,百度,丰田,通用电气,特斯拉,福特,优步和沃尔沃正在投资自动驾驶研究。此外,许多新公司出现在自动驾驶汽车行业:Drive.ai,Cruise,nuTonomy,Waymo等等(请阅读这篇文章,了解参与自动驾驶行业的260家公司的名单)。
该领域的快速发展促使对自动驾驶汽车工程师的需求量很大。在所需的技能中,了解如何使用ROS编程正变得非常重要。您只需访问全球机器人列表,就可以看到大量的自动驾驶汽车工作/研究工作,这需要了解ROS。

为什么ROS对自动驾驶汽车很有意义

机器人操作系统(ROS)是一个成熟而灵活的机器人编程框架。ROS提供了所需的工具,可以轻松访问传感器数据,处理数据,并为机器人的电机和其他执行器生成适当的响应。整个ROS系统被设计为在计算方面完全分布,因此不同的计算机可以参与控制过程,并作为单个实体(机器人)一起行动。

由于这些特性,ROS是自动驾驶汽车的完美工具。毕竟,自动驾驶汽车可以被认为是另一种类型的机器人,因此可以使用相同类型的程序来控制它们。ROS非常有趣,因为:

1.已经创建了很多自动驾驶汽车的代码。自动驾驶汽车需要创建能够构建地图的算法,使用激光雷达或GPS定位机器人,沿地图规划路径,避开障碍物,处理点云或摄像机数据以提取信息等等…许多算法设计用于轮式导航机器人几乎可以直接应用于自动驾驶汽车。由于这些算法已经在ROS中可用,因此自动驾驶汽车可以立即使用它们。

2.可视化工具已经可用。ROS创建了一套图形工具,可以轻松记录和可视化传感器捕获的数据,并以全面的方式显示车辆状态。此外,它还提供了一种简单的方法来创建特定需求所需的其他可视化。这在开发控制软件并尝试调试代码时非常有用。

3.在船上使用ROS启动自动驾驶汽车项目相对简单。您现在可以使用配备一对轮子,相机,激光扫描仪和ROS导航堆栈的简单轮式机器人开始。你在几个小时内就完成了。这可以作为理解整个事情如何运作的基础。然后您可以转向更专业的设置,例如购买已经为自动驾驶汽车实验准备的汽车,并提供完整的ROS支持(如Dataspeed Inc. Lincoln MKZ DBW套件)。

使用ROS的弱点

ROS并不是一件好事。目前,ROS对自动驾驶汽车存在两个重要缺点:

1.单点故障。所有ROS应用程序都依赖于一个名为roscore的软件组件。该组件由ROS本身提供,负责处理ROS应用程序不同部分之间的所有协调。如果组件发生故障,那么整个ROS系统就会崩溃。这意味着您的ROS应用程序的构建效果无关紧要。如果roscore死了,你的应用程序就会死掉。

  1. ROS不安全。当前版本的ROS没有实现任何安全机制来阻止第三方进入ROS网络并读取节点之间的通信。这意味着任何有权访问汽车网络的人都可以进入ROS消息传递并绑架汽车行为。

所有这些缺点预计将在最新版本的ROS,ROS 2中得到解决。开放式机器人,ROS的创造者最近发布了第二个可以在这里测试的ROS 2的beta版。预计到2017年底将有一个发布版本。

无论如何,我们相信基于ROS的自动驾驶车辆之路是可行的。这就是为什么我们提出了一个低预算的学习途径,成为一个基于ROS框架的自动驾驶汽车工程师。

我们的低成本解决方案,成为一名自动驾驶汽车工程师

第1步

你需要的第一件事是学习ROS。ROS是一个非常复杂的学习框架,需要奉献精神和努力。观看以下视频,了解学习ROS的5种最佳方法列表。学习基本ROS将帮助您了解如何使用该框架创建程序,以及如何重用其他人制作的程序。

步骤2

接下来,您需要熟悉使用ROS进行机器人导航的基本概念。了解ROS导航堆栈的工作原理将为您提供导航中的基本概念知识,如映射,路径规划或传感器融合。没有比在机器人点燃学院开发的5天课程中学习ROS导航更好的学习方法(免责声明 - 这是由我的公司The Construct提供的)。

步骤3

第三步是学习自动驾驶汽车的基本ROS应用:如何使用任何标准的自动驾驶汽车中可用的传感器,如何使用GPS导航,如何基于传感器数据生成障碍物检测算法,如何将ROS与行业中使用的所有汽车中使用的Can-bus协议接口…

以下视频教程非常适合从零开始学习应用于自动驾驶汽车的ROS。该课程教授如何使用自动驾驶模拟对具有ROS的汽车进行自动导航编程。该视频是免费提供的,但如果您想充分利用它,我们建议您通过注册机器人点燃学院同时进行练习。

步骤4

在自动驾驶汽车的基本ROS课程之后,您应该学习更多高级科目,如障碍物和交通信号识别,道路跟踪,以及交叉道路上的车辆协调。为此,我们的建议是在麻省理工学院使用Duckietown项目。该项目提供了完整的指示,用于建造一个小型城镇,包括车道,交通信号灯和交通信号,以便在现实世界中练习算法(即使是小规模的)。它还提供了建造应该居住在城镇的自动驾驶汽车的说明。汽车基于差分驱动器和单个摄像头用于传感器。这就是为什么他们的成本非常低(每辆车约100美元)。

由于低货币要求,以及它为测试真实物品提供的良好体验,Duckietown项目非常适合开始实施自动驾驶汽车概念,例如基于视觉的线路跟踪,检测其他汽车,基于交通信号的行为。尽管如此,如果您的预算低于该成本,您可以使用Duckietown的Gazebo模拟,并仍然可以练习大部分内容。

步骤5

然后,如果你真的想去专业,你需要练习现实生活中的数据。为此,我们建议您安装并学习Autoware项目。该项目通过ROS包提供从真实街道上的真实汽车获得的真实数据。ROS包是包含从传感器捕获的数据的日志,可以在ROS程序中使用,就像程序连接到真实汽车一样。通过使用这些行李,您将能够像使用自动驾驶汽车一样进行算法测试(唯一的限制是数据始终相同并且仅限于记录时发生的情况)。

该Autoware项目是一个惊人的庞大的系统工程,除了从ROS袋,提供了多个国家的最先进的算法定位,测绘,障碍物检测和识别深度学习。它有点复杂和巨大,但绝对值得研究,以更深入地了解自动驾驶汽车的ROS。我建议您观看Autoware ROSCON2017演示文稿,了解该系统的概述(将于2017年10月推出)。

步骤6

最后一步是开始为自动驾驶汽车实施自己的ROS算法,并在不同的现实情况下对其进行测试。以前的步骤为您提供了现实生活中的情况,包包仅限于记录它们的情况。现在是时候在不同的情况下测试你的算法了。您可以在上述所有步骤的混合中使用已有的算法,但在某些时候,您会发现所有这些实现都缺少您的目标所需的一些内容。您将不得不开始开发自己的算法,并且您将需要大量的测试。为此,最好的选择之一是使用自动汽车的Gazebo仿真作为ROS算法的测试平台。最近,Open Robotics发布了用于Gazebo 8模拟器的汽车模拟。

参考:
1.https://www.robotsky.com/intelligence/201812/13659.html
2.ROS与自动驾驶.pdf–广州凌云机器人–姚二亮
3.阿波罗–百度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值