在这次演讲中,MathWorks的总裁和联合创始人Jack Little提供了MATLAB的历史视角®和仿真软金宝app件®,展示了基于模型的设计如何塑造当今的技术突破,并展望了未来几年驱动工程师和科学家的大趋势。
记录时间:2016年7月5日
你好,每个人。欢迎来到波士顿。这是一个成为控制工程师的好时代。随着当今的技术趋势,世界比以往任何时候都有更多的东西需要控制。如今,几乎任何你能想到的东西都能造出来,而这一切都放大了我们在这个房间里的控制工程师们对世界的影响。
今天我有两个故事要讲。第一个故事是关于MATLAB和控件的起源。丹尼向我提出了这个问题。从那时起,在发展的过程中,工业遇到了一些麻烦,第二个故事是关于解决这些麻烦的方法,叫做基于模型的设计。在那之后,我想谈谈我们今天看到的一些惊人的趋势。我想展示设计工具是如何进化来支持它们的,并分享一些我们现在在工业中看到的令人惊叹的控制应用程序。金宝app最后,我想给你们留下一些挑战和行动呼吁。
这就是MATLAB的起源。一年半前有一部电影叫模仿游戏.谁看过那部电影?有一些人。很棒的电影,强烈推荐。作为二战英雄,他绝对是工程师和计算机科学家。这部电影引起了人们对这个人的兴趣。你认识他吗?当然,是艾伦·图灵。影片讨论了他破解恩尼格玛密码机的工作。作为一种侧光,底部的两行MATLAB代码完全执行了恩尼格玛机器用编码完成的计算。 So, that’s two lines of MATLAB to perform the Enigma coding. The first—these were matrix operations. The Rs at the bottom are permutation matrices that transform the input character to the output character. At the top of the machine, you see four dials. Each of those is a permutation matrix. The P corresponds to the plug board, which is another permutation matrix, and so if you multiply all those together, and then at the bottom, you use matrix inverse and a couple more matrix multiplies that transforms the operation. One wonders whether Turing thought of the math this way when he was working on these.
这是图灵用来破解Enigma密码的机械计算器的图片。不完全是一台电脑。它缺少一些关键元素,如可编程性和存储。
1936年,图灵写了一篇惊人的论文,证明了停止定理。有人看过报纸吗?谁看过那篇论文?有几个人,好的。这是一篇了不起的论文。好吧,当他在这篇论文中证明暂停定理时,作为一种题外话,他基本上用这句著名的一句话奠定了计算机科学的理论基础:“通用计算机:发明一台机器是可能的,它被用来计算一个Y可计算序列。”真正壮观。你知道吗,当我看到这个的时候,就像第一次看到大宪章一样?我的意思是,这实际上是我们今天在计算领域所做的一切,它就在这篇论文的这几个引人注目的段落中。
图灵机,实际上是可以造出来的,就是一个磁带,一个无限的可以来回移动的磁带,你可以读,写,擦除磁带上的1和0。这种架构是我们今天使用的所有机器的基础,图灵确实提出了这一主张,这就是为什么他被称为计算机科学之父。图灵向英国国家物理实验室提出了一个建造世界上第一台计算机的项目。它将被称为ACE,即自动计算引擎。这是他在那个时候写的一篇论文。叫做“矩阵过程中的四舍五入误差”这是这篇论文的目录。这真的很了不起。这个目录可以是你今天上的数值分析课程的目录。所以,真正有趣的是图灵在思考矩阵计算。 And also, essentially matrix computations are what the computer was invented to do. That was a means, a purpose of those things. It wasn’t video games. It wasn’t word processing. It wasn’t all those things. It was really about matrix computations. Unfortunately, the management at his labs chose not to approve the building of the ACE, believing it was too ambitious.
吉姆·威尔金森是图灵在国家物理实验室的初级同事。吉姆也对矩阵计算和建造计算机很感兴趣,于是他的火炬从图灵传给了吉姆·威尔金森。吉姆领导了一个项目,成功地制造了一个缩小版的ACE,它被称为ACE试验机,这是世界上最早的计算机之一。
吉姆继续研究矩阵计算,他发展了很多线性代数逆的基本算法;奇异ID复合;最小二乘;他花了好几年的时间研究了所有这些他在1971年出版的这本手册中总结了很多算法。
克利夫·莫勒是吉姆·威尔金森的初级同事。克利夫的兴趣还包括矩阵计算和数值分析。火炬在这里又传递了一次。Cleve继续使用Jim和他的同事们创建的算法,他和一组人一起创建了LINPACK。LINPACK是Fortran子例程的一个有组织的集合,都是用Fortran标准格式编写的。吉姆的东西是用ALGOL和其他各种语言写的。这是由一个团队完成的,而且非常坚固。如果你求一个矩阵的倒数,或者用现在几乎所有的软件在数据中拟合曲线,无论是Excel还是在线JavaScript,你都在使用这个库中的算法。它们可能被重新编码成许多不同的语言,但本质上,它们来自这项工作。Cleve想在他的课堂上教他的学生使用这些Fortran程序,但这不是一门编程课,这就是为什么他发明了MATLAB,这是一个简单的,交互式的访问。
我想如果你和Cleve Moler合作过,或者用过MATLAB,这就意味着你和图灵有两个层次的区别,通过这些矩阵计算,矩阵计算是计算机被发明的原因之一。所以,这真的是一种传统。
这是我崭露头角的时候。1980年左右,我还是斯坦福大学的一名研究生。我在斯坦福上过Kailath的线性系统课程和其他数字控制课程,我们要解里卡蒂方程。信不信由你,1980年在斯坦福大学,我们必须打卡。虽然有微型计算机和其他计算机,但计算机辅助控制系统的设计状况并不好。
作为一名年轻的研究生,我通过重要的控制理论学习了数学领域。这些当然包括线性代数,特别是特征值和奇异值分解。为了模拟动态系统,有常微分方程。有线性时间和变化状态空间的情况,传递函数形式。当然,还有微分方程的离散时间等价。这包括状态空间和传递函数形式。如果你是经济学家,它被称为数字滤波器和信号处理,或者ARMA。还有FFT。因此,这个简短的数学列表在控制和信号处理的研究和实践中是非常重要的。他们形成了一套黄金方程式。 But we had to do this math with punch cards.
1984年,从另一个方向,一个重大的创新大趋势开始了:个人电脑的诞生。这是年轻的比尔·盖茨和史蒂夫·乔布斯的照片。这张剪报显示了当时个人电脑的年销售量;大约是一百万。换个角度来看,这还不到现在每年3亿部电影的0.5%。你们知道,如果我在一个有这么多人的房间里,如果这里有300人,你们中只有一个人会在MATLAB刚出现的时候使用PC。
以下是1984年前后的技术创新趋势:个人电脑;芯片内置浮点数学;交互式软件代替穿孔卡片和Fortran;C和Unix;窗口系统。1984年,MathWorks成立。我们以这些技术为基础,为PC、Mac和Unix引入了新版本的MATLAB,并将控制和信号处理中的“黄金方程”添加到该版本中。
结果是在廉价的个人电脑上产生了交互式工程数学,任何人都可以轻松使用控制和信号处理的“黄金方程”。这是第一本小册子的图片,1984年我们在PC上引入了MATLAB。
这是我最喜欢的一个例子,我认为它抓住了MATLAB的力量。这是八行MATLAB代码,解决线性二次最优控制问题。这段代码中的所有变量都是矩阵。1970年,厄尔·霍尔在斯坦福大学发表了一篇博士论文,他写了数千行Fortran代码来解决这个问题,而有了MATLAB,斯坦福大学的博士论文就只剩下8行代码了。
从1984年到今天,发生了一件最奇妙的事情:这张表显示了一台标准PC的规格,就像丹尼之前说的,在1984年。今天就在这里。性能的提高实际上是惊人的。我觉得你都没意识到,丹尼,这里的变化。看看这个:6万倍的内存;10万倍大的磁盘存储。在表的最后,FLOPS代表每秒浮点运算次数。这是在MATLAB中矩阵运算的速度和每秒运算次数。自1984年以来,它从17千次FLOPS增长到500亿次FLOPS。这比第一台PC的速度快了300万倍。 Now, this amazing increase has been transformational in my business, which is making software for computer-aided control system design. It’s made possible larger-scale design, analysis, and modeling right at your fingertips on your desktop.
70年代的世界没有安全气囊,没有防抱死刹车,没有磁带。如果你的车里有晶体管,那么你的收音机里也有。它不是其他任何地方。在这段时间内发生的部分变化是,例如,今天的汽车有50到100个微控制器。他们在动力系统。它们在底盘系统中。他们有安全系统。它们存在于便利系统中,遍布整个汽车。这是一个巨大的转变。
然而,在这一转变期间,工业出现了麻烦。说到这个,我想谈谈当时传统的发展过程。传统的开发过程包括需求、规范、设计、实现和测试。通常,软件算法、机械和电气部件是分开设计的。传统的开发过程很快就遇到了在这段时间内发生的软件复杂性增长的问题。问题开始于存在于阶段之间的墙。写在纸上的东西和用工业使用的旧工艺设计的东西之间总是有差距。组件的分离设计导致了这些设计流之间的隔离,直到集成和测试最终将它们拉到一起。还有更多:需求文档很难分析。纸上的规格是不准确的,而且几乎总是过时的。 Physical prototypes are expensive. Think, for example, automobiles and airplanes. And, worst of all, writing code is very expensive, and introduces defects. And then, of course, testing finds them late in the process when they’re harder to fix. So, this is kind of the state of things when industry started to run into a problem.
还有更多的麻烦。这最终导致了大量的召回,错过了发货日期,以及工业中各种各样的问题,这些问题来自于突然增加的复杂性,增加的软件。
所以,麻烦,更多的麻烦,然后是大麻烦。我想起了阿丽亚娜5作为传统做事方式的象征。我会放一段视频。有多少人看过视频阿丽亚娜5?夫妇在这里。我认为这是最著名的软件失败之一。这是第一次飞行阿丽亚娜5.之前的车是阿里安4.在升空后的15秒内,发生了这样的事情。好吧,作为一个控制工程师,你不会想看到这些的。好吧,这是一个5亿美元的失败。他们拿走了控制系统,硬件和软件阿里安4他们把它移到了阿丽亚娜5然后把它拴上。不幸的是,阿丽亚娜5有更强的火箭,火箭有更大的水平运动比阿里安4.在起飞过程中,当推进器为了调整风力而失灵时,处理器溢出了。定点计算溢出了。当你包装一个定点变量时,你的执行器不会发生什么好事,它很快就自毁了。
现在,虽然你可以编写软件来捕捉它,但我不认为这是一个软件缺陷,发生的事情是他们真的没有建模和模拟它。提前建立模型很容易看到这种情况的发生。这本质上是一个需求失败,在模拟过程中很容易发现。
好了,现在我要进入演讲的第二部分,讨论基于模型的设计的兴起,以帮助解决这些问题。解决工业问题的方法实际上分为两部分。第一部分是多域系统建模。我们可以看看建模软件的演变。它开始于古老的文本ODE语言。隆德大学的SIMNON是最早从事这项研究的人之一。然后,世界转向了处理控制图的图形块图。但实际上,正确地为这些系统建模所需要的进化是多域系统建模。这就是我想说的。
我想看一看建模域——在这里我使用的域比较松散——这样的概念需要对系统进行完整的建模,总共有六个建模域。第一个领域是显而易见的:系统模型需要包括连续时间模型。这些通常用于植物建模,环境建模,模拟元素。第二个领域是离散时间控制。这使得数字控制、图像处理、视频处理成为可能。第三个领域是物理模型。包括电子,机械连杆,液压,流体,热学。这些模型不同于控制图因为它们在图线上有双向流动,它们是用微分代数方程来模拟的。如今,物理模型变得非常重要,因为现代产品中机电一体化的大量增加。下载188bet金宝搏第四个领域是状态机模型。 State chart notation describes control and mode logic, like this diagram of an automobile power window controller. This type of mode logic actually accounts for a large percentage of embedded software that you find in automobiles, airplane, and other devices. The fifth domain is discrete-event modeling. These modeling elements include messages, servers, queues, and it can be used to model computer networks and buses with network packet queues. These are important in cars with can buses and other types of networks. The sixth and last domain is simply text-based code models. It turns out that some elements of system models are simply best described better with text code than with graphical models. The example here I’m showing right now is a model of an extended Kalman filter, and it takes only 16 lines of MATLAB code. The Kalman filter is most naturally described using textual matrix operations. If you make it graphical, good things don’t happen.
好的,我想给你们展示一个所有这些协同工作的例子。这个例子,好的,这是一个风力涡轮机发电场的图片,我要给你们看一个风力涡轮机的多域模型。这是一个风力涡轮机的多域模型。这是刀片。这是在一个细胞里,它是一个隔间,里面装着除了刀片以外的所有东西。这就是塔。我们甚至还有一个电网模型。这是俯仰控制器,偏航控制器,和主控制器。这是风的模型,是系统的输入。让我们打开,一个细胞。 Here we find a gear train—it’s hard to see from back there, isn’t it?—a generator and actuator models. Let’s open up the wind input. The input will be a wind speed that ramps up and settles back down. We specify changes in wind direction in there, and then the power grid includes the transmission line. We can look now at the main controller. This is a Stateflow model that controls the turbine. It has separate modes of park, start-up, generating, and braking. Here’s the yaw controller. For this example, it’s a simple PID controller.
好的,我想展示所有这些一起工作,这个多域模拟。那里发生了很多事。我们要以两倍的速度运行。如果你看左上角,你可以看到风速在增加。在右边,你可以看到桨叶迎着风的角度,然后他们开始控制它。在右下角,你可以看到转子的速度。所以,你看到它加速,最终达到15转。在顶部,你可以看到俯仰控制器,工作保持速度,尽管风向变化。在左上方,你可以看到风在变化,在左下方,你可以看到单元格在变化指向风。在右上方左上方,你看到风速开始下降,所以右上角的控制器开始努力工作,试图保持速度。 Eventually it gives up and puts on braking and feathers the blades to the wind. So, there’s a lot going on there. You know, you guys may not have seen something as multidomain. This was sort of purposely built with a whole bunch of domains all working at once to sort of demonstrate the concept. Most people use a subset of that, but this is an example of all those working.
我们在MathWorks的目标,也是一直在努力的目标,是建立一个单一的建模环境,可以模拟整个物理系统:机械的,数字的,硬件的,软件的,环境的,所有的东西。它需要我所说的所有不同的领域。这是我们MathWorks 25年来的主要追求。这是一个大团队的毕生心血来建造的,一个可以模拟所有这些的环境。
解决工业问题的第二部分是流程创新。传统的瀑布式流程被一种新的流程所取代,我们称之为基于模型的设计。在基于模型的设计中,模型就是规范。它是可执行的。它产生明确的规范,并且您可以立即开始验证和测试开发。不要等到最后一刻。设计是迭代优化的。这允许您快速进行设计探索。你可以在早期尝试很多不同的想法。您可以在构建之前优化设计,并且可以尽早发现缺陷。这是基于模型的设计的一个巨大阶段。 This is the idea of automatically generating code. And this eliminates hand coding. That alone is a reason why many of the major industrial customers use Model-Based Design. In the automotive industry, this saves literally billions of dollars in terms of the cost, taking cost out of the system of creating embedded software. And it completely eliminates hand code errors. The test and verification is done continuously. It doesn’t wait until the end. It’s all the way through the process. And this obviously allows you to detect areas earlier and implementations that work the first time when you go to the hardware. So, the traditional process has been replaced by this new process called the Model-Based Design workflow.
我现在想谈谈对工业的影响。现在,我们作为控制工程师是非常幸运的,因为控制是重要事情的核心,所以如果你看到世界上正在发生或正在建造的重要事情,你可能会在那里找到一个控制工程师和一些控制正在进行。所以,我有一些基于模型的设计的展示例子,但它们实际上是展示自动控制的惊人部分的设计。
这是我几年前在马萨诸塞州开第一辆雪佛兰伏特的照片。Volt的动力系统由电力驱动单元、锂离子电池、发电机和许多控制策略组成。通用汽车开发团队的这句话强调了电池、电力驱动和发动机之间的相互依赖关系,这对整体设计非常重要。这张幻灯片是通用汽车自己讲的他们是如何扩大基于模型的设计的。在制造汽车的过程中,他们有数百万块积木的模型。他们每六周发布一次。他们有成百上千的工程师分散在全球各地。所以,这种类型的设计,你知道,可以很好地扩展。
但小公司也可以使用它。同样在汽车行业的特斯拉,他们在没有物理原型的情况下模拟了数百种动力总成配置。这里引用了一位工程师的话,它表明基于模型的设计是可行的。它使一家小公司能够在一家没有其他资源的公司生产汽车。
航空航天一直是一个寻找示范例子的有趣地方。联合攻击战斗机是美国下一代军用飞机项目。这是一种短距起降飞机。你可以看看后面的喷嘴。你可以看到下面的点。在飞行员的后面有一个直直地指向地下的风扇。主要设计是在几年前完成的,但第一次航母测试是在去年。这是一个难以置信的控制问题。这就是所谓的六自由度控制问题。你控制着XYZ坐标以及俯仰、偏航和滚转。 You’re also landing on a moving aircraft carrier, as well. Just, you know, control of unstable systems is just always fun to watch, right? And so, MBD was used to design and fully automatically code the flight control for this airplane.
基于模型设计的第二个航空航天例子是猎户座.美国目前还没有将人类送入太空的能力。猎户座是美国取代航天飞机的下一艘载人飞船。它打算搭载4到6名宇航员。第一个轨道猎户座试飞是大约一年半前。再一次,回到我的前提,在有趣的事情的核心,你会发现控制,这些事情是控制工程的成功,以及基于模型的设计作为一个整体。
这是另一个航天应用。约翰霍普金斯大学应用物理实验室建造了“新视野号”宇宙飞船。这是GNC的基于模型的设计。去年进行了一次冥王星的飞掠,让人类在人类历史上第一次看到了冥王星。同样,我认为控制社区取得了显著的成功。在我看来,GNC是宇宙飞船的核心,所以这些控制问题使得这些成为可能。
这是一个较小的应用程序。这是APL基于模型的神经义肢设计。首先,使用手臂的虚拟模型训练控制软件。病人通过思考就能学会控制手臂。身体的神经末梢上有传感器,可以接收大脑发出的信号。在训练了控制软件之后,他就装上了其中一只手臂。所以,这是一个双侧截肢者,他的生活被传感,计算,通信和控制的融合改变了。大约一年半前,当我第一次看到这个应用程序时,我甚至不知道这是可能的。这是一个小团队在构建控制方面可以做的事情的例子。
我有几个关于基于模型的设计对教育的影响的例子。教育中有一个影响很大的领域是基于项目的学习和工程竞赛。好吧,这是一个有趣的问题。这是电动双轮车,用于阿德莱德大学四年级的顶点项目和研究。这是在没有控制器的情况下运行。你可以看到它基本不稳定。它经常摇晃。你可以操纵它,但很难控制它。项目的第一步是推导出运动的数学方程。第二步是设计一个控制系统。 Step three is they simulate it on the control systems on the model. And step four is they generate code and run it in real time as part of this project. And you can see it’s nice and stable now. Now, as these projects go, there’s always a step five, which is showing off, and so their showing off on this particular project was to stabilize this upside down as well, and have some fun there.
这是来自大学教授的评论,他指出,当你完成你的项目清单时,一些最好的学生在完成所有这些工作后,已经在成为经验丰富的控制工程师的道路上走得很好。
这里还有几个例子。在德国学生方程式比赛中,来自25个国家的115支队伍参加了8个项目的比赛。团队使用基于模型的设计来模拟策略、分析性能、设计实验和实现控制器。我希望我在研究生院的对照组也能这样。这是机器船。这是自主航道导航,图像处理,控制。很明显,学生们非常喜欢这些东西。你知道,这是一个重要的技术趋势。这是在慕尼黑工业大学。这个项目的学生设计飞行控制系统,然后他们在学校校园里的真实飞行模拟器中驾驶这些系统。 And boy, what a great way to feel your control gains and your control designs, but to sit in a flight simulator and bring the thing in for a landing based upon your control system.
我想提一下基于模型的设计的一个元影响,这个元影响,产品开发的长期影响,是把更多的时间花在设计上,而不是用在实现和测试上。这是一个很好的趋势。你知道,设计是有趣的部分。谁想要进行实现和测试?这张图,我们将由亚瑟·利特尔研究它显示了随着时间的变化。基于模型的设计是这一趋势的速度推动者,允许您在实现和测试上花费更少的时间。
这是汽车行业的一个例子在过去,这是汽车制造商和供应商在不同发展阶段的细分。现在的情况是,汽车制造商正在进行更多的设计。供应商做的设计和以前一样多,但每个人都想参与设计,因为这是IP所在。这就是制高点所在。这就是创新发生的地方。因此,基于模型的设计帮助鼓励了这条道路,让汽车制造商能够比过去做更多的设计。
基于模型的设计对工业的总体影响是增加了系统中的数学和算法内容,通过早期设计迭代推动创新。我提到的最重要的一点是消除手工编码。由于早期的验证和确认,质量得到了改善——缺陷少,召回少。它有助于跨学科、跨开发阶段的协作,其结果是在如何设计、实现和测试系统的行业中发生了巨大的变化。
现在,有趣的一件事是MATLAB真的是出自教育,出自大学。这是游戏最初起步的地方,也是控制领域最先流行起来的地方。基于模型的设计实际上首先开始于工业领域,并基于工业的需求、用例和要求进行开发,然后作为一种有用的工具回到教育领域。所以,作为一家公司,看到这两个不同起源的平台对我们来说很有趣。
好了,我演讲的最后一部分,我想谈谈今天我们所看到的一些惊人的趋势,这些趋势在今天是非常强大的。他们将影响公司和行业的结果。实际上,业界正在疯狂地追赶当前的一些趋势。我还将展示一些设计工具是如何进化来支持这些趋势的,我还想分享一些我们已经看到的与这些趋势相关的更惊人的行业和教育应用程序。金宝app
我想提到的第一个大趋势是软件、算法和数学。我们确实参与了世界上所有软件的建设。我指的是所有设备。什么是设备?设备就是洗衣机。这是一台冰箱。你的车是一个装置。它有30到100个处理器。或者这家酒店的电梯。你们都在酒店的电梯里待过。 That didn’t exist two years ago. And so, we’re really participating in the putting of software in everything. I’ve heard some people have said software is eating the world. Okay. The fundamental enabler of the digital age is the transistor. The first one was made in 1947. There were 25 million trillion made in 2014. That’s actually 30 billion for every human on the planet. And more transistors made in 2014 than every year up through 2011. Now, there’s more. There’s actually been a huge surge in the last 15 years or so. There’s an acceleration, even an explosion, in the growth of the transistors, as measured by companies like Intel. We’re really heading towards software to find everything. So that’s really, in my mind, the biggest trend there is going on these days. And this, of course, is leading to smarter systems: adaptive; autonomous; collaborative; multi-function. You know, there’s tracks of this conference that are focused on these particular aspects. Obviously, an enormous change.
如果你看看整个行业,你知道,在三到五年的时间里发生了很多这样的事情,现在每个人都在努力执行这些趋势。但在工业领域,这很神奇。有一些初创公司正在建造垂直着陆的运载火箭,它们都是在去年左右着陆的。一些互联网公司正在进入航空航天领域。互联网公司进入汽车行业。你让他们进入汽车和航空设备。好的。我们看到控制工程师从大公司流向这些新公司,他们带来了他们的基于模型的设计方法。基于模型的设计直接针对这些公司所瞄准的快速开发和短开发周期。当然,你知道,还有成千上万的其他应用程序,它们都是正在发生的事情的一部分。
第二个趋势是物联网。我不打算赘述,但有一个有趣的模型,当我听说物联网时,我总是喜欢它。在19世纪初,很有可能你的一生都没有离开过你的村庄,而地球上第一个连接是交通系统。在那几百年里,火车头、蒸汽船、火车、汽车、飞机真的把地球上的所有地方都连接起来了。下一个层次的连接是人与人之间的连接,这是通过移动设备实现的。这很大程度上是乔布斯和他的时代。直到最近,近10年,才真正实现了连接地球上的每一个人。这就是第二波。现在,当然,最大的浪潮是连接地球上所有的东西。所以,我一直认为这是理解它的一个很好的背景。
现在,我们在MathWorks,从控制,软件和工具的角度来看,我们认为互联网有三个部分。智能连接设备是物联网上的东西。它们通常自主运行,将信息反馈给云,并进行一些本地闭环控制和数据缩减。探索性分析是在收集数据后获得洞察的工具,然后你有了物联网平台,它们在云中,它们收集、组织和存储来自设备的数据。因此,基于模型的设计所缺少的部分是物联网平台。所以,我们最近推出了一个物联网云,我们称之为ThingSpeak,以支持基于模型的设计中的物联网应用。金宝app这是一个允许应用程序从设备中收集数据的云。你可以分析它们,你可以写MATLAB,上传MATLAB脚本,然后你可以对它们采取行动。你可以在那里施加控制动作。所以,这是为了完成物联网与基于模型的设计的连接。
在过去几年里发生的第三个大趋势是低成本嵌入式处理器和实验硬件的增长。这是Arduino,树莓派,乐高头脑风暴。你知道,这些也不过几个月前的。还有无人机和其他低成本实验。这真的是非常惊人的,它们是如何迅速地跳入场景,并创建了创客社区和诸如此类的东西。
在MathWorks,我们创建了硬件支持包,通过MATLAB和Sim金宝appulink支持基于模型的设计。金宝app我们现在有170个包——每个包都是一个工具箱,允许你为这些设备编程,比如iPhone或树莓派,而不需要了解这些设备。它只是一个您可以调用的熟悉的函数库。它可以让你快速连接和运行。我们看到了指数级的增长。去年有超过30万的下载量,这条曲线真实地显示了这些硬件设备的增长从三四年前几乎不存在到今天它们在世界各地的使用量。
这些都是机器人设计竞赛的一部分。这是一个乐高头脑风暴的应用程序,你可以使用Simulink块,基于模型的设计块来做边缘跟踪。金宝app在世界各地的设计比赛中都使用这些设计。举个例子,东京的ET-Robocon。在ACC,楼下的MathWorks展览将有一个小规模的比赛,如果你有兴趣在几分钟内尝试设计一个控制器。
第四个对世界很重要的大趋势是应用程序的增长。这里有一个思考应用程序的模型。第一个平台是大型机平台,拥有数百万用户和数千个应用程序。历史上第二大平台是个人电脑。就是丹尼说的那个。它拥有数亿用户和数万个应用程序。世界现在处于第三个平台上。这是云、移动、基于浏览器的应用程序,拥有数十亿用户和数百万应用程序。MathWorks是在第二个平台的大趋势下成立的,现在全世界和每个人都在努力建设第三个平台。
控件社区总是有很多不同的应用程序和不同的工具箱。在MathWorks,作为基于模型的设计的一部分,我们已经采取了一些步骤,试图让构建应用程序变得更容易。我们在工具条上建立了一个地方,让你可以轻松地访问应用程序。我们改进了你设计和建造它们的方式。当然,你也可以在文件交换平台上创建和共享这些应用程序。我想在这里给你们一个应用程序的例子,向你们展示它的一些力量。我要展示的例子应用叫做控制系统调谐器,它会做h -∞合成。现在,为了激发这个想法,这是一个鲁棒控制理论家喜欢从数学角度来看的世界的图景。然而,现实世界是混乱的。工程师看着屏幕,看到一个这样的框图,然后说,“我怎么用h∞来调整它呢?”
现在,这张图表显示了一些流行的合成方法在控制中的灵活性和可操作性,所以这是可操作性和可灵活性的对比。显然,我们的目标是右上角的蓝带,但你可以看到现有的方法,倾向于落在不同的角落,而右下角的通用优化是暴力方法。通过Pascal Gahinet和Pierre Apkarian的一些工作,他们引入了一个新概念,叫做结构化h -∞合成。他们确实发明了这种新方法,并在几年前发表了一篇论文。这就是我想讲的。Pascal构建了一个控制系统调谐器应用程序,该应用程序使用这种固定结构的h∞循环整形算法。这个应用程序,在Simulink中调整控制器。金宝app它经过五个不同的步骤。你指定你想要调优的块,指定目标,你进行综合,然后你可以将结果可视化,并将参数更新回Simulink。金宝app
我要给你们看的是60秒内的h∞控制。这就是一个好的应用应该做的,对吧?可以让你快速完成。所以,你必须仔细观察,因为它移动得很快。但是,这里我们有一个直流电机的Simul金宝appink模型,我们想要控制电机的速度。我们有一个步骤响应目标和一个循环形状目标。好了,开始吧。这是模型。这是我们想要调优的两个块。我们在这里运行模拟。 We look at the response, and you can see extremely poor response to that step input from that. We now go up here and we select the tuner app, and we go in here and we specify the blocks we’re going to select. Then we go up there to the top again, and we choose the step response goal, what the inputs are or the outputs are that’s going to happen over. And we specify the time constant. Then we go up and we select a loop shape goal again, specify where the loop will run from in the model and then we can specify the crossover frequency of that. And then here’s how that looks in the frequency domain. Then we run the synthesis. That just takes a few seconds on today’s modern computers. We can upload the model and we can run it again. And there you see much-improved step response and overall disturbance rejection, as well. So, here you have H-infinity control in 60 seconds. That’s the goal of apps: to make something easy to use, in a practical way for an engineer.
现在,这个结构h∞的方法实际上是最近用的,或者说是最近用的罗塞塔宇宙飞船。这是一项围绕67P彗星运行的任务。这是一次为期10年的飞行,它在冬眠3年后醒来,它在那次任务中遇到了一些问题:一个推进器失去了效率;太阳能电池板中的柔性模式没有得到很好的控制。因此,他们在遇到问题之前重新调整控制器以更好地处理这些问题,他们使用了Pierre和Pascal研究的鲁棒控制工具箱中的结构化h∞。重新设计的控制器被上传到罗塞塔在2014年5月,测试演习证实,取得了更好的性能。它继续执行一些制动操作,进入彗星轨道,他们有一个探测器降落在彗星上。
这就产生了这张彗星的照片,你知道,我看着它,我说,人类以前从未见过这个。你知道,人类从未近距离观察过彗星。这是人类看到的第一张图片。我看着这个,我说h∞控制的胜利,你知道吗?有一个控制工程师在这个问题的核心,你知道,这是h -∞直接贡献对人类有用的重要问题。
这句话的附言是:他们实际上是在尝试着陆罗塞塔今年9月在彗星上的轨道飞行器。我在"着陆"后面加了引号,因为,你知道,它可能真的会撞上彗星,但因为轨道没有那么快,引力也没有那么强,他们认为它可能会在撞击中幸存下来,他们希望在撞击后能得到一些其他的遥测数据。所以,我们都应该在9月份看看它是如何发展的。
第五点:数据分析。机器学习和大数据是广泛的大趋势,但看看它们是如何被使用和应用于控制系统的是特别有趣的。这是澳大利亚一家叫BuildingIQ的公司的例子,他们正在用MATLAB开发自适应加热控制系统,实际上,我应该说基于模型的设计为办公楼开发自适应加热和冷却系统。你知道,我这里有一种建筑使用的传统控制。他们会特别考虑居住者的舒适度。他们会考虑能源使用时间的价格和需求反应,还会考虑天气因素。然后他们会在云端运行一个优化程序来帮助执行所有这些控制。所以,他们把它们从旧的方式,每天改变两次设定点到新的方式,使用所有的控制,其中有一个自适应设定点。这样就降低了25%的成本。再说一遍,这是一家刚起步的小公司把软件放在东西里,研究如何做这些事情。
第六个趋势,你们知道,这个房间里的很多人都在研究,当然是机器人和自主系统。我这里有一个卡车自动紧急制动的例子。这是斯堪尼亚公司做的。他们使用基于模型的设计、审查融合、大数据和机器学习。在这个设计中,他们将雷达和相机数据融合在一起。但他们从80tb的车辆日志视频和雷达数据开始,然后使用机器学习开发用于态势检测的融合算法。在此基础上,他们会创建一个预测模型,并将其放入车辆中。这里有一个很短的视频片段,是他们在测试他们的防撞系统。现在,作为一名在高速公路上开车的司机,我希望每辆卡车都安装这个设备。
还有两个简短的自治系统的例子。Aurora Centaur正在建造一架飞行员可选的飞机,所以你可以买一架飞机,有时你自己驾驶,有时它会自动飞行。这是我最喜欢的部分:你仍然需要地面人员向飞机挥手才能启动。但如果你看飞机内部,你会发现实际上没有人坐在那里。它只是个相机。这是可选飞行员的飞机起飞的画面。你可以看到操纵杆是由机械臂控制的。如果你是一名乘客,你会坐在飞机的后部,而这东西正在飞行。然后它就会降落。所以,这是今天建造的,一个相对较小的公司能够做到这一点。 Here’s another example: Yamaha has built something called Motobot, where they’ve slapped a robot on top of a motorcycle and are making it drive a motorcycle. It’s a pretty mean-looking device until you see the training wheels. Then it’s not quite so scary.
所以,外面发生的事情太疯狂了。你知道,每个月我们都会看到一些新的东西,在这些东西上的客户应用方面,让我们感到惊讶。这是一个大学的例子。也许你们有些人已经看过了。谁看过机器人世界杯的视频之类的?一对。好吧,这是个不错的数字。好吧,机器人世界杯是一项机器人比赛,目标是到2050年在足球世界杯上击败一支人类足球队。这是埃因霍温理工大学的团队。他们在中等规模的部门。 And this is just an amazing controls problem. They’re using controls, vision, autonomous systems, collaborative. There’s also strategy. It’s soccer, after all. And this is done by students using Model-Based Design tools. It’s really impressive what they’re doing here, and it’s a very, very competitive environment. Now, the team has advantages with Model-Based Design, because they can do design adjustments between games. In fact, they could regenerate the controls code if they want to, you know, right in between games, and this Eindhoven team is particularly good, and has had a series of top finishes over the last several years.
这是我讲过的六个趋势。这些都是我们都需要应对的重要大趋势。它们是相当大的波浪。你应该很熟悉,但它们很重要。如今,他们对大多数公司都很重要。各行各业的许多高管都在努力跟上这些趋势。它们对工业很重要。它们对控件社区很重要,对MathWorks这样的工具供应商很重要。我们必须意识到这些,并采取行动。
那么,我演讲的主要观点是什么呢?我有三个。第一个是MATLAB,它诞生于数值分析社区,是计算的开端。它首先被Danny和他的朋友在控制社区广泛采用,因为它很擅长矩阵,而控制社区有很多带有状态空间公式的矩阵。
第二个关键思想是多领域和系统建模以及基于模型的设计,从工业开始,它真正改变了复杂系统的开发方式,也改变了大学中基于项目的学习和研究。
第三个是在过去的几年里出现了惊人的技术大趋势,这与直接从数学设计自动化相结合正在放大这个房间里每个人的影响并加速了世界上控制应用的数量。
总之,我认为我们正处于一个非常激动人心的时期。当前的技术趋势是控制应用的突出趋势。在大学里有很多不可思议的机器人和其他项目,在这次会议上也有演讲。实际上,创新和小规模开发的爆炸式增长导致了初创公司的出现,并从所有这些转变了现有的行业。大学已经成为下一波世界范围内的发展和经济增长的海床。您还可以使用设计自动化软件在数学模型级别上工作,并按下一个按钮来生成工作实现,而无需编码。所以,所有的东西都在这里结合在一起来扩展控制工程的范围并放大我们在这个房间里对世界的影响。
现在,为了引起争议,我有一些行动呼吁。我想我应该跟你说些具体的想法。我有一些想法。使用Arduino等低成本硬件在你的课程中添加一个项目。组织一次学生设计比赛。成为一个创造者。在云中构建自己的物联网应用程序。这并不难。把先进的算法应用到真正的硬件上,发明一些新东西,然后开一家公司。似乎每个人都在这么做。 Create an app that allows others to easily apply your theory. Research new techniques for model-based verification and other capabilities that industry is desperate for. Or, and most of you are doing this already, but it’s really important to be research for some of the control technologies associated with these megatrends that are happening today.
所以,这些行动都是由科技大趋势所推动的。它们也是基于模型的设计工具专门设计来加速的动作。从打孔卡到计算机辅助控制系统的设计,我们已经走过了很长的一段路。谢谢大家的聆听。
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。