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