利用MATLAB优化车辆动力学开发
克里斯·约翰斯顿,捷豹路虎
无论是在公路上还是在公路上,捷豹路虎的车辆都以其出色的转向,驾驶和操纵而闻名。在这次演讲中,Chris将描述在整个公司产品线中系统量化和优化车辆动力学所面临的挑战。然后,他将解释他的车辆动力学和软件工程师团队如何开发和应用一套先进的MATLAB®基于工具,极大地提高了生产力和决策能力。
记录日期:2018年10月2日
我们周围的一切都证明,我们所设计的世界正变得越来越复杂,像这样的会议是一个很好的机会,可以展示这种复杂性是如何在科学和工程以及我们所工作的行业中表现出来的。
让我们看一看。所以无论是航空航天和国防,还是计算机,一眨眼你就会错过机器人和人工智能的日常进步。如果你不知道右边的这家公司,它叫波士顿动力。我相信你们很多人都知道他们,但创新的速度是不可思议的。它们都在YouTube上,事实上,去看看吧。它们也有点吓人,所以值得一看。
那么,在我们所从事的行业中,我们所看到的日益复杂的情况,特别是在捷豹路虎身上是什么样子的呢?我们的客户未来需要更清洁、更安全的车辆。最先进的内燃机正在让位于全电力推进。在右边,你可以看到新的捷豹I-PACE。
即使是最现代化的推进装置也在一天天被取代。甚至人机界面也被设计得看起来更简单,但实际上却变得复杂得多。左边是非常漂亮的捷豹E型内饰。它看起来很复杂,其实不然。市场需要右边的外观和感觉,但这种简单的外观掩盖了仪表盘背后的复杂性。
同样值得注意的是,仪表盘的复杂性,它有多个屏幕,要确保它看起来简单并实际协同工作真的不容易。做起来相当复杂。在左边,同样的,所有这些开关,它们都是单独使用的。它们都做一件事,所以看起来很复杂,但其实不是。所以斯特林·莫斯本人不会承认捷豹重返赛车运动。
不仅仅是我们的交通工具变得越来越复杂。我们设计这些车辆的方式和我们使用的工具也是如此。在右边,你可以看到一个VR墙,我们的组件在原型制作甚至制造之前,就已经在3D中被查看了。
所有这些都是由代码库在世界各地日益增加的大趋势所支撑的,所以您在这里看到的——希望您已经足够清楚地看到——数百万行代码沿水平轴与一些熟悉的代码库相对立。所以你可以看到这些代码是如何随着时间的推移而增加的,对于一个现代操作系统来说,我们看到了超过1亿行的代码,路虎揽胜也不例外。
我先把这张幻灯片放一放因为这是比尔·盖茨的一段名言它描述了我们在过去几十年里所看到的加速创新和变革。“历史上从未有过创新在如此短的时间内为如此多人带来如此多的希望。”明智的话。
那么,如何才能设计出像现代路虎揽胜这样的复杂车辆呢?我将告诉你们捷豹路虎是如何做到这一点的。它被称为产品创造和交付系统,我们从PS开始,Star项目,一个关于汽车的最初概念或想法,我们最终得到了一辆成品汽车,一辆从生产线上下线的汽车。我们称之为第一份工作,第一份工作。
在这两点之间,我们有网关,检查点,如果你喜欢,检查我们正在做我们的工程,我们已经做了我们需要做的。所以在任何诞生的时间点,我们都可能有几个这样的飞行器在发展,几个这样的项目同时在发展。我们也在开发系统和组件,而且我们正在优化这些组件和系统,不只是为一辆车,而是为许多辆车。我有个问题:你会如何评价这些飞行器在任何时候的表现?你会如何衡量它?
在这些网关之间,我们有检查点,为了进行我们的工程,我们使用了系统工程。我相信你们很多人都熟悉系统工程V,我将简单解释一下。你可能不太明白,但我会解释的。所以在V的左上方,你有所谓的业务需求,这是客户想要的。例如,对于捷豹,我们想要高级转向。然后我们要做的是,我们将把它分解,我们将根据它创建一些系统要求,如果你喜欢,我们的工程目标。我们会进一步分解并创建一些子系统目标,组件目标,然后我们会实际去做一些东西。
所以当我们做了一些东西,我们想知道当我们回到V的另一边时,我们能满足客户的要求,所以我们有测试,每一个层面的测试,多次测试,我们检查我们得到了我们想要做的东西,我们一开始设计的东西。
所以我们测试车辆的各个方面来量化性能,每个测试有数百个指标,指标是一个后期处理的结果,一个标量值,每个属性执行数百个测试。我学的是驾驶动力学或车辆动力学,这只是其中一个特点。那么动力系统,电气,热,噪音,振动,严酷度,耐久性,可靠性呢?实际上,捷豹路虎有超过20种主要属性,所以你可以想象一下。它实际上非常复杂,有很多不同的东西,我们要做很多不同的测试。这确实需要大量的工程师来处理所有这些复杂性。
所以这是需要判断的。在这些网关审查期间,必须做出判断,进行比较和权衡,我们试图使用相同的组件来平衡所有这些属性,所以做出这些决定可能相当困难。还有许多QA循环,它们可以运行数天甚至数周,以检查我们是否正确地完成了我们的工程。
所以一次又一次的会议,导致了一种疲劳和瘫痪,在程序时间方面有巨大的成本,因为很难把所有这些都集中起来,这就是这些网关所做的。我们正在努力确保在那个时间点上,我们已经完成了我们需要做的工程,以确信我们将在这个工程过程中得到的汽车将是可销售的,有竞争力的,并将满足客户的需求。
让我给你们举个例子来说明这个过程所导致的复杂权衡。例如,如果我们要做一个新程序,需要多大的电池?你可能认为这并不复杂,但如果目标是续航里程,那么让我们考虑一下在回答这个问题时受到的影响:充电时间、乘员空间、转向、驾驶、操控、空气动力学、成本。对于工程师的数量来说,管理所有这些和设计所有这些都是巨大的,所以传统上,网关审查是什么样的?每个通道都是这样。
我为什么要画这个图?为什么这么难?嗯,这是复杂性,数据量,最后期限,问题,有时,房间里的自大狂。从根本上说,它之所以难是因为它很复杂,管理所有这些复杂性是非常困难的。所以这些会议压力很大。
有很多属性被跟踪,传统上,他们必须在这些会议中得到平衡,以确保我们最终得到正确的东西。压力很大。我们需要做出决定。我们在检查是否达到目标。我之前谈到的那些指标,我们正在检查我们是否符合-我们有正确的指标。一场又一场的会议让人疲惫不堪,高级经理们会问,数据在哪里?和上次相比,我们的表现怎么样?和竞争对手相比呢?
因此,如果您在这些网关会议期间没有得到这些数据,那么下周还有另一个会议,然后是这个会议,然后是下一周,因为您还没有回答这个问题。就程序时间而言,这是一个巨大的成本。
六年前我刚加入捷豹路虎的时候,我负责捷豹XE项目,在这种紧张的会议中,我经常自己坐在这些会议上,问自己一些问题,比如在我们刚刚进行的漫长讨论中,实际上有什么进展?在这一点上,我们实际上取得了哪些切实的进展?这次会议取得了什么进展?重要的是,这次会议将做出哪些决定?我不能总是回答这些问题。那么我们如何着手改善这种情况呢?现在的门户会议评论是什么样子的?
所以跳过六年之后,我们已经和MathWorks一起努力创建了一个应用的生态系统。这些应用的作用是把人们集中在一起。我们可以在一个空间合作。这对我们来说是一个巨大的生产力驱动力,也是JLR的一个竞争优势。我的团队开发了一套工程分析工具,我们用应用商店的机制发布了这些,你可以在这里看到,我们把这些应用发布给了成百上千的工程师,这个数字还在增长。
其中一个应用程序叫做客观度量应用工具箱,你可以在屏幕上看到。所以你在这里看到的,当我之前解释所有的测试时,所有这些指标,你可以在那个长长的列表中看到那些,这个列表实际上非常非常长。它有几千行。这不仅仅是你在这里看到的。
右边是所有的数据,相对于每个指标,我们有每个竞争对手的每个项目的数据,我们可以在任何时候提取这些数据。因此,如果你在开会时被问到一个问题,如果没有更多的数据你就无法回答,那么你可以在会议期间简单地把它拉进来回答那个问题,并在会议期间做出你需要做的决定。
这个列表目前只过滤了一个特定的属性,但在蓝色面板的最左侧,你可以看到一个复选框列表,它们允许你以不同的方式过滤这些指标,所以你可以查看我们需要查看的所有JLR的其他属性,并确保我们进行了平衡。在上面有一些标签。这是针对我们所做的每一种车辆衍生品的每个模型,如果你喜欢的话,在我们所做的程序中,你也可以看看这些。这个特别的是F-PACE,所以有点老的项目。我不会给你看任何你看不见的东西。
原子的另一种观点。所以你不仅有指标,标量指标和数字,你还可以看到图表数据,你可以点击任何一个指标,看到数据背后的图表,如果你需要深入一点细节,还有补充数据。还有一个观点。
这是在看测试数据本身,不是后处理数据,而是测试数据本身。时间序列数据,我们在右边画了一个蜘蛛图,在左边,你有一个树。您可以提取物理测试数据,同时还可以将其与CA测试数据进行比较。在底部,你有一些行那里有一些颜色,绿色,红色和蓝色。这是与测试相关联的元数据,因此您可能需要知道,测试是什么时候完成的?谁做的测试?甚至不知道那天的天气如何。所以你手头有数据。
所以我要告诉你们这些天门户会议是如何运作的。是的,很棒的照片。因此,我们现在可以在会议期间做出实时的、基于数据的、数据驱动的决策,与高级经理进行实时的“假设”讨论,他们可以在会议期间打电话。我们可以用一种语调集中协作。这提高了效率和质量,它还有提高士气的额外好处,因为我们不再处于黑暗中了,这与重复的会议,项目延迟,需要做出的判断相反,正因为如此,希望每个人的血压都能稍微低一点。
我也会告诉你们我们是怎么做的。所以我们现在的情况很好。实现这一点并不容易,所以我将告诉你我们是如何组织工具和团队的。首先,我们试着聚集志同道合的人,他们可以把最初的想法变成现实。我们训练他们。我们赋予他们权力,我们培训他们,并赋予他们能力去构建高质量、优雅的工具,这些工具能体现他们的专长,我们决定——关键是,我们决定对其他人不想做的事情负责。
其次,我们采用了敏捷。我们开始以冲刺的方式工作。我们创建了一个产品backlog,这样我们就知道客户想要什么。我们定期沟通,完善我们的流程,我们知道我们昨天做了什么,今天要做什么,明天要做什么。
敏捷允许你做的是快速地得到一些东西,这很重要。你应该从小处开始,有大的梦想,因为随着时间的推移,如果你坚持下去,梦想就会变成现实。在我们的例子中,我们需要这两种类型的工程师;我们需要软件工具工程师,我们需要方法,知道工程方法的人,在我的例子中,是车辆动力学工程师,因为当你把这两者分开时如果你只有其中一个,好的事情并不总是发生。所以如果你把制作软件的方法和我们需要在程序上做的工程划分开来,它并不总是有效的,所以我们决定把这些人放在同一个地方,在同一栋楼里。我们把工具开发人员和他们的用户放在一起。
最后在这张幻灯片上,这就是为什么这张图在左边。你不会第一次就做对。我已经错了很多很多次了。如果你要开发一个真正对人们有益的工具,而且你不打算强迫他们使用它,那么第二次或第三次你可能都不会做对。你必须不断循环,从你做错的地方学习,听取反馈,然后将其整合到工具中,最终,你会得到一些正确的东西。
为什么我们选择MATLAB呢?现成的工程库意味着你不需要重新发明轮子。我无法告诉你这有多有用。我的工程师可以建造他们自己的工具。他们可以使用MATLAB中的模型拟合、可视化、仿真、工具箱、优化和信号处理功能以及单元测试框架,这意味着我们可以发布软件,并且我们有信心它会工作。这是健壮的。在MATLAB的上下文菜单中的SVN和Git集成,也提高了源代码控制方面的效率,当然,还有来自MathWorks的世界级开发团队的支持。万博1manbetx
MATLAB所做的就是把权力交给工程师。这节省了不必编写低级代码的时间,还有一个单元测试套件,这意味着,真的,我可以在晚上睡觉,所以这也更好,还有一个为JLR定制的发布和更新系统,任何人都可以使用它。我们写的是工程代码,所以你可以看到这个工具是如何工作的。它没有编译,所以我们可以看到发生了什么,就像我说的,任何人都可以获取它。还有MathWorks,他们也是一群很好的合作伙伴。
这里我要引用大卫·桑普森的话。他说:“我们拥有的最有价值的东西是我们的测试,MathWorks测试,因为它们描述了我们软件的行为。”捷豹路虎相当于什么?在捷豹路虎,我们使用DNA来设计汽车,所以我们的驾驶DNA,或驾驶DNA。我们正在做的是把它放到MATLAB代码中这是非常强大的。我们知道我们在做什么。下次我们可以做得更好。
那么未来会怎样呢?好吧,当复杂性疯狂地增加时,在会议中进行实时数据驱动的决策对于保持机器工作至关重要,而与最了解问题的工程师一起构建软件能够实现这一点。在捷豹路虎,我们还没有经历过一个比上一个更简单的汽车项目,但我们已经为未来产品的复杂性做好了前所未有的准备。s manbetx 845我们现在知道,构建工程工具是管理这种复杂性的基础。另外,这很有趣,你可以在你工作的地方产生很大的影响。
最后,我想说:尽你所能承担责任。承担责任是真正的力量。如果你选择接受你周围的事情不是最理想的,并且你可以亲自与你工作的人和你工作的公司做一些事情,那么你就可以做出改变。把它个人化,你会有很大很大的影响。而且,我想说,如果它很难,那也很好。
那么你在这段旅程中处于什么位置?我很想知道你接下来要做什么,我真的很感兴趣,所以之后一定要来聊聊。我可能今天大部分时间都在这里,所以请一定来聊聊,谢谢你们的聆听。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。