塔塔汽车(Tata Motors)自主车辆:功能开发和测试
马克塔克,塔塔汽车(Tata Motors)
英国Autodrive是一个雄心勃勃的为期三年的项目,正使用连接和无人驾驶车辆在米尔顿凯恩斯的街头和考文垂。作为这项工作的一部分,塔塔汽车公司正在开发自主无人驾驶汽车。自治试验开始在试车跑道环境控制,通过逐步复杂城市场景之前,英国城市的街道上。
在这个演讲中,您将学习如何发展自主汽车所需的复杂控制系统,以及塔塔汽车(Tata Motors)使用仿真软件万博1manbetx®、机器人系统工具箱™和仿真软件实时™开发轨迹规划和运动控制算法并万博1manbetx将它们部署到自主车辆进行测试。
记录:2018年10月3日
非常感谢。所以很快我就夹在我们是谁。你可能听说过的塔塔集团。特别是在印度,这是一个很大的集团。其实跨国。你可能听说过一些品牌在这里,其中包括诸如塔塔钢铁公司、塔塔通信、塔塔莱克斯。塔塔汽车(TATA Motors)的一部分。我们是塔塔汽车的一部分。
塔塔汽车(TATA Motors)是相当大的商用车和乘用车。你们很多人都知道,它还拥有捷豹路虎。我们的一部分被塔塔汽车(TATA Motors)欧洲技术中心。最初,我们的角色基本上是采取技术从欧洲到印度。
所以在印度乘用车市场特别是没有印度本土品牌。这是获得技术,这样他们就可以有开发和构建自己的车辆,他们现在做的事。他们也获得更多的进口。所以在印度市场已经改变了很多。但是我们有支持印度的母公司。万博1manbetx
我们实际上在考文垂。我们有一个车间。我们有一个设计工作室。和我们也有办公室在大学校园。对于那些你曾经去校园,我们现在要进入这个新建筑在左边。其实在这里晚了。但这是现在隆重题为国家丰田创新中心。我们要分享,在捷豹路虎,华威制造集团和其他玩家。
这是我们是谁。这个演讲将集中在自治。但我只是想设置场景相当简单,是有区别的ADAS和自主权。ADAS,顾名思义,这意味着支持开车的司机在某些功能。万博1manbetx很多这些功能已经可以在汽车。自适应巡航控制系统、车道偏离警告。得到一些额外的帮助司机在纵向,横向和车辆的运动。
而自主车辆,更多关于拿走一些反应的司机和接管横向和纵向控制的任务。要做到这一点,它需要做传感的环境以及车辆为了控制车辆。非常宏大的SAE的自治水平。我知道这是非常小的文本,但我经过它很快。
从本质上讲,前三个水平都与司机和司机援助。第一个层次是司机完全控制。然后我们上一级司机援助,一些任务从司机带走。或者他的支持的一万博1manbetx些任务。之类的自适应巡航控制系统是否支持纵向驾驶的车辆,或车道保持辅助,或车道偏离警告,支持司机。万博1manbetx这是纵向的。在外侧也是相同的。
当你开始进入自治区,这就是我们开始做更多的实际的,如果你喜欢,处理,和工作实际如何回应在一个特定的场景。这里我们真的有一些被称为“有条件的自动化。这是一个情况下,系统接管。但是司机预计收回控制在某些情况下。
当你前进,我们进入我们调用诸如公路飞行员或城市试点。在这些场景中,车辆完全控制。你不需要一个驱动程序的支持。万博1manbetx但只有在特定的场景中。所以非常具体的场景。例如,如就在高速公路上。但是,所有五个级别,在全力支持。万博1manbetx完全控制了车。所以不需要开车。没有司机控制接管控制。
另一个例子,这是一个很好的一个,在停车。显然,我们看到零水平。司机完全控制。然后有一些非常不同的支持给司机。万博1manbetx简单的事情像周围的观点。然后你有一些各种各样的自动停车功能。最终,这将导致在代客泊车,你刚刚出现潜在的地方,和交车,汽车和去公园。这给你一个很好的例子广泛不同的SAE自动化水平。
这都是导致这一水平五个完全自动化。现在有一些很关键的球员。你可能听说过很多关于人们在谷歌新闻,乳房。他们都是发展中很多。他们的那种大公司正试图让它在快速公路。我们所做的在塔塔是完全不同的。我们比这更多的细分市场。所以我试着告诉你我们所做的以及它是独特的。
值得设置场景。为什么会有如此多的注意力在自治?就像上面说的那样,技术是非常有趣的,从我的角度来看。很高兴来到这个东西。确实需要某种形式的好处。和一些关键的社会福利。从本质上讲,在安全方面,大部分的崩溃——90%的crashes-can在某种程度上是由于司机。所以司机,在车辆中有效,是一种最不确定系统。
我知道我们得到不同的路况。汽车上的各种磨损。但实际上,一辆新车,在良好的条件,你可以得到一个司机可以从一个极端到另一个。你可以得到老司机,年轻司机,以某种方式得到那些受损。一些少的能力。和一些人只是驾驶有不同的态度。他们更更温顺。有些人可能会更积极。
这将有效自主驱动程序的公平竞争在这方面很多。不仅在安全方面,但从我们如何使用道路,可以极大的好处。我将稍后谈论一些我们正在做的试验在米尔顿凯恩斯。你开车米尔顿凯恩斯。M1。我做的事。常常有交通堵塞。有经常在停车困难。
如果我们有自主汽车舰队,其中的一些问题将会降低。和你如何设置汽车,你可以设置他们在某些方面更有效。比如空气质量。改变目前的其他因素;关键之一是几年前,人们住在乡下的百分比城市改变了。所以需要人有自己的汽车正在改变。所以我住在乡下。我不能得到很多地方没有一辆车。公共交通不是很好。但越来越多的人生活在城市的要求是不同的。
我们如何对待汽车正在改变很多。所以拥有汽车可以改变。它可能不是一个问题,在未来拥有汽车。有很多谈论如何流动基本上是一个服务,如果你想获得某个地方,汽车是一种选择或解决方案的一部分让你从a到B。
好吧。就像快速讲述英国Autodrive项目。这是目前极其相关,因为我们已经在项目的最后阶段,当前两周我们做大量的拍摄和许多示威贵宾。所以这个项目已经运行了几年。三、四年了。与资助项目,这是一个合作项目。所以在汽车方面,我们有RDM豆荚,你可能已经看到了这个消息。他们运行在米尔顿凯恩斯。你有自主车辆。所以我要谈谈我们的自主车辆。 JLR also got autonomous vehicles in the project.
还有,自己的连接因素,捷豹路虎、福特一直致力于V2x。这样一种交流工具,车辆和车辆的基础设施。下面列出了其他合作伙伴在项目。但从不同的委员会,包括支持法律实体,等等。万博1manbetx但我将更专注于技术方面。
让我先通过我们的车辆。这是我们的车辆。这是一个塔塔六。就像我说的,塔塔轿车主要支持印度市场。万博1manbetx所以他们通常完全不同的汽车你可能会在欧洲。所以它是非常针对印度的价格是一个非常关键的因素。这是车的类型,我们制造和销售。所以这些数字不是一样大的一些国际卖家,因为市场很受限制。
这是塔塔汽车之一。它被称为六。在这个特定的变体,它是一个六人座的。它有三排的两个席位。如你所见,我们已经删除了后面行处理。所以我将谈论汽车的四个元素的我们变了。现在的一个关键的传感。所以我们把汽车上的传感器的数量。通过这些更加详细。
有很多这些自治系统,下一块讨论之一是感知。所以传感器给出的原始数据。但这原始数据需要处理在某些方面给我们一些有用的东西,我们可以使用作为各自在示例的一部分,来检测对象。也许分类对象计划路线。从原始数据,我们需要做我们所说的知觉,并提取数据。
然后我们一块被称为规划。所以我们现在在路上和环境信息。我们需要计划我们的路线从我们到我们想去的地方。有三个阶段。再一次,我去到更多细节不同层次的规划。一旦我们有一个计划,然后我们需要控制车辆。这是最后一块。这是一个相当高的水平的车辆。
现在我们做了一个有趣的方面是我们相当一个小团队。但是我们有一些传统的汽车工程师。MATLAB仿万博1manbetx真软件用户进来。他们非常熟悉汽车控制。这是右边这个图。但是我们也有一些计算机科学家,人从事机器人技术,人们来自Birming大学,但是很大程度上建立在Linux中,c++和Python。
所以我们有两个不同的领域。最终分裂的方式是很多传感和知觉已经完成在这些环境中。他们完成了与所做的工作在MATLAB和Simulink控制和规划。万博1manbetx所以我要跟技术上如何我们合并在一起。也许在这样的一些问题。
加入这些在一起的一种方式,我应该提到的是我们系统的关键,我将进入更多的细节。是使用我们调用的是机器人操作系统,这是由MATLAB支持。万博1manbetx所以这是一个简单的c++和Python代码之间的交流在左边,右边和MATLAB的窗户。我们也使用一些称为20元,这是我们的同步时间。这就是所谓的精确时间协议。
再一次,这是一个标准。IEEE标准。这是双方的支持。万博1manbetx这是我们的另一个手段整合这两个非常不同的方式解决这个问题。我们使用。我提到的完整性,因为这就是我们最后集成车辆。所以只是短暂,只是提到一些传感器。我没有最好的最好的车的照片和传感器。但实际上,我们已经有了一个雷达。短期和长期。 We've got laser scanners. We've got what they're calling 2D laser scanners. So we've got six of those positioned around the car. And they give about 130 degrees of field of view.
所以如果你合并在一起,你会得到一个完整的360度左右。我们那有360度的激光雷达。所以他们完全旋转扫描的。和只看到屏幕的左侧。我们有许多相机供参考。我们也有一个车道检测和物体检测相机。我们也有GPS。你可以看到一个天线在屏幕的中间。有点像一个磁盘。
有两个,两个天线。一个正面和背面,给我们方向。我们也有来自基站的信息给我们的微分方面GPS给我们更好的精度。右边的小图片,你看到了什么,还不清楚。这是为了给一个点云表示。这是你可能得到的输出。的原始输出你可能会从一个激光扫描仪。
这就是我们有传感器套件。就像我说的,我们已经在后面的两个席位,我们把一个机架。所以我们有很多流程。所以我们有很多我们的处理,特别是在传感方面,在这些工业碎片。那里有四个可以看到。这就是在一个基于linux平台。您还将看到右边的蓝色,这是Speedgoat盒子。的框,我们驾车线接口车辆控制系统。
也在那里你有盒之类的东西融合在一起。激光雷达信息的例子。GPS处理器等。最后,我们得到了线的驱动系统。所以我们所做的,我们还没有直接与发动机管理或界面上的制动系统。我们所做的就是把一个覆盖与致动器基本上做司机。所以我在这里放大一点。所以我们有两个汽车转向柱。我们有一个活塞,刹车推下来。然后我们绕过电子油门。
我们也有,你可以看到中间,我们有一个盒子,一个紧急停止按钮。这给完全控制驱动程序。这也给其他几位控制。它有齿轮移动装置,拉手闸,等等。我们也可以控制点火,挡风玻璃刮水器,各种助剂。当我们建立的功能,我们可以将所有的合并到我们的系统。
这个系统实际上是基于一个移动解决方案。所以我们去了一个第三方。所以一些汽车,对于那些不能也许转方向盘,他们会得到一个操纵杆安装。我们使用相同的系统。但是而不是有一个操纵杆,我们实际上有一个可以接口,这样我们可以控制各种控件。但我们总是可以恢复全手动驾驶模式,这样我们可以做网站之间的传动。还当我们测试,我们可以立即恢复应该出现的情况。
这是很长。我不要太慢。但我已经提到,高水平。我们有了知觉,如何规划,然后控制。这些都是使用这个ROS总线连接在一起。这个机器人操作系统的想法。所以我真正想展示的是不同的处理,以及我们如何已经由我们的系统。
举个例子,这是第一个两件事的传感器。原始的传感器。激光雷达,雷达,或GPS。大满贯放在那里。这实际上是有效的处理已经完成。所以大满贯代表同步定位和映射。这是有效地检测到一个对象,因此可以有效地阻止创建这些对象在哪里的地图。但与此同时,你也本地化自己对这些对象。这是一个同步的过程创建一个地图和定位自己对一个地图。
这是一个很不错的技术。但这是做大量的激光雷达数据。这然后走进我们的ROS总线。然后我们我们将一些信息并把它放到不同的流程。这里,我们讨论的是传感器融合。传感器融合,我们有各种各样的好处。在本例中,我们使用雷达传感器融合。对不起,在激光雷达。六个绕着车融合在一起,使他们,仿佛他们是一个传感器。但是你的冗余传感器融合给你一些元素,或者实际上可能获得一些协同作用。 You might use a radar to give you good range information. You make of a video image to give you good lateral information. You could fuse those together to give you a much better picture of where an object is.
所以我们有传感器融合。我们还有点云处理。所以这就是我们得到的所有点激光雷达。我们有很多点,因为在360度的激光雷达,我们谈论300000点需要处理,得到一些有用的信息。但是处理,信息可以回到车上。
我们那有各种计划功能。我将更多的讨论不同的规划功能。但本质上,有一个三阶段。全球,行为计划,然后轨迹规划。这些都是还利用一些离线流程图。我们为这个应用程序创建一个地图提前。还有一些实用函数。所以我们有各种屏幕直接与ROS总线接口。我们有控制gui。有很好的一些软件叫做Arvis,这是我认为这是一个免费的软件。 But basically on that you can layer up different information from different sensors. So you can visualize what's actually being detected as you go along.
我们也要监督。所以,这是一种额外的安全功能在我们的汽车,我们然后使用检测系统中的任何错误。和恢复控制回到适当的驱动程序。我们又有一件事是把信息从ROS总线。现在目前Speedgoat盒是一个基于windows的盒子。或基于dos的盒子,我应该说。活性氧是一个基于linux的盒子。所以我们不能直接使用。ROS也可以移植到基于dos系统。所以希望我们可以使用。 And ROS too will hopefully also have real-time capability.
但目前我们不能这样做。所以我们有另一个接口我们调用ROS桥。所以罗斯信息。或需要,它读取,它直接将其发送回我们的音箱,它就在那里。这都是我在说什么。ROS之类的东西。它实际上是一个中间件。实际上从以太网通信。与ROS和相同的桥。我们要养活,以太网直接进入我们的演讲者。
和我们最后的控制是控制我们想要的车辆和驾车线制。,返回到一种更加传统的凸轮。这是我们的系统我们有它。所以我真的想强调如何使用ROS加入我们在一起的一切。说的另一件事是一个混合的东西一直在写软件。
所以我们有盒子的轮廓,它们是蓝色的。我们主要买了这些功能。是绿色的,我们已经做了他们自己。但我们做他们的Linux或c++。和他们在紫色的MATLAB仿真软件。万博1manbetx
所以接口、运动控制器和Speedgoat我们显然在MATLAB仿真软件完成。万博1manbetx我们也做了很多的轨迹规划在MATLAB仿真软件。万博1manbetx但当时的嵌入式Linux环境中。所以我们得到了极端纯粹的MATLAB仿真软件嵌入在一个实时处理器。万博1manbetx我们有一个混合物的MATLAB仿真软件在Linux中。万博1manbetx和我们有纯粹的Linux进程。
所以我说我只是很快经过策划的水平只是给你一点背景至少我们是如何做的。但这是一个相当标准的方法,我相信。所以计划是在三个阶段。我们有一个全球计划。我刚刚画了一个非常简单的地图。这是一个混凝土从车站到大学的地图。这不同于说,我想从A到B,最好的路线是什么?这是一个相当高级的计划。
从高层次的计划,然后我们做我们调用行为计划。这是需要计划,然后我们得到的局部地图路线。我们已经把他们分成我们调用lanelets。和每个lanelet有一些行为联系在一起。所以标准的行为是保持车道。但是我们可能会有红绿灯左转或停止。所以这些行为我们需要见面的计划。
的到我们调用静态地图,因为他们不改变。然后是战略规划的一部分。还有动态的规划,需要继续明显障碍明显。下一部分的计划然后工作轨迹。所以我们计算数量的候选人资料。然后我们会选择最合适的人。
最初,我们计划一个路径。这是非常一个空间路径的位置。那就变成了我们调用一个轨迹。和轨迹,不同的是我们现在有一些时间信息。所以实际上,我们已经添加。我们不仅要在xy的位置。我们想要一个位置xy以给定的速度在给定的时间。
从所有这些候选轨迹我们将把它们通过不同的标准,不同的测试来选择最合适的一个。这将是最准确的位置,或避免障碍,司机最好的安慰,等等。有很多标准。我列出了其中的一些。我将谈论更多的控制。
所以这些规划算法在MATLAB仿真软件。万博1manbetx但在嵌入式Linux。这些控制算法嵌入到Speedgoat。我把三个例子。这个项目的前身是我们的一个小印度的运载工具。它被称为塔塔的王牌。和他们用铅酸电池充电的。非常简单的自动测试,在前面的项目。,使用所谓的纯粹的追求。纯粹追求基本上是说,我知道我想要绕着弯,你选择一个点。 And you basically steer to that point, and you keep updating it. That's fairly simple. It does have some limitations. You've got to be careful in terms of the tradeoff between accuracy and stability. But that's a very simple one. For low-speed maneuvering, that's absolutely fine.
你可以比较一下如果你喜欢拖在牵引杆。如果你已经得到一个拖车的经验和稳定的,你知道在这种情况下这是非常类似的。它并不总是稳定的。所以你必须选择你的预见性点有效匹配。有效地匹配你的速度。所以你就越快,未来你需要寻找稳定。但这意味着你会偷工减料。这是有它的局限性。
我们看了另一种方法是车道保持。这基本上就是你看看未来的轨迹,和曲线拟合。如果你适合一个简单的二次在这种情况下,很优雅的系数,二次给你一个车道的位置。你的头在你的车道。和给你一个曲率的函数。这些可以直接用于简单的控制回路。所以你可能会有一个简单的比例获得在这些不同的控制回路。
这对车道高速公路上保持应用程序。特别是你会更快,这是特别好的。所以,当你很肤浅的曲线等。轨迹跟踪是我们实际使用的方法。这就是基于模型预测控制方法。我们使用从MATLAB工具箱。我这里显示的模型非常关键。我们嵌入的模型是如何做性能的关键。这些只是显示高级模型。
实际上,我们使用的模型在中间,这是实际的实时实现。但同样的模型然后使用离线模拟,以及回放数据。很高兴只是使用相同的模型不同部分的数据进行分析和测试。
如果有人想说服我之后,我有很多有趣的评论模型预测控制器的设计。今天下午我认为马克说。他也会看那些。我发现一个有趣的使用技术。很容易使用MATLAB仿真软件。万博1manbetx但是有几个——而不是与植入。但更多的是方法,非常有趣。
另一个关键问题。我提到使用20元。精确时间协议。我们发现的一个关键问题,这是因为你有一个过程,我们得到了大量的数据。都是在某种形式。我们没有一个时间戳,一切都是发表在这个时候。所以我们也不知道。所以有效ROS巴士,你会得到一个时间戳与数据相关联。和图我显示在底部显示不同的信息系统中。你会得到很多不同的延迟。 They vary. They're fairly cyclical. But they do vary. And so to correct for time delays, which is quite a problem, we've had to use PTP. And then feed that into the algorithms.
数据记录和可视化是非常关键。所以我们做所有这些测试运行。我们正在做这些模拟。但实际上能够可视化这些算法如何工作意味着我们不得不创建一些新的可视化的手段。所以很明显像左边是我们将GPS追踪,在地图上包裹或卫星图像。但在右边,我们发现,其实如果你覆盖在这种情况下,绘制速度轨迹你可以看看你的计划比实际速度轨迹。
所以在这种情况下,左边的黑是实际的。绿色是所需的。你可以看到他们匹配很好。这只是代表。它不会给你一个准确的,因为在任何时候,轨迹可能会改变,因为一个障碍。因此,你可能想要做些不同的事情。但它给它的好味道如何。所以我们这些工具主要为离线设计的。
但有趣的听马克。如果这些可能成为在线工具,他们对我们会更有帮助。这里只是更多的可视化工具。其中一些来自Arvis底部。点云处理。所有这些都是我们有不同的元素在我们的系统。在某些方面有些Speedgoat。如果他们可以在在线和离线相结合,这将特别有用。
我想选择一些有趣的部分从各个测试我们一直在做。这是在考文垂在去年年底完成。和一些在米尔顿凯恩斯。目前,我们真的是在做拍摄。今天,我在这里。但是BBC拍摄。所以我们可能会获得一些新闻在接下来的几天里。
你发现明显的镜子在这里左转。所以夹在右转。我的道歉。但是我的工作不是像电影编辑器。我只是想展示一些实际上的剪辑功能。这个函数开始发展。但是最终,我觉得这很强调,我们刚洗了一个务实的方法来开发一些自主车辆的功能。我们是一个很小的团队。所以我们利用现成的工具。我列出的这些。
现成的硬件。并在适当的地方使用定制的第三方软件。的一些关键算法虽然我们自己所做的。这就是粘的诸如罗斯一起,PTP,规划算法和控制算法。
把快速谢谢一个很小的团队。那里有提到的几个名字。我也有一个从吉安卡洛的帮助。特别是在这演讲。所以我要感谢他。我知道我让你从你的午餐。但是如果你想留下来,并提供任何问题,我将采取完全快乐。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。