加快控制系统设计的步伐和范围
在这次演讲中,MathWorks的CEO和联合创始人Jack Little提供了MATLAB的历史视角®和仿真软件®,展示了基于模型的设计如何塑造今天的技术突破,并展望了推动工程师和科学家在未来几年的大趋势。
记录:2016年7月5日
你好,每个人。欢迎来到波士顿。这是一个成为控制工程师的好时代。在当今的技术趋势下,世界要控制的东西比以往任何时候都多。如今,几乎所有你能想到的东西都能制造出来,这一切都放大了我们这些在房间里的控制工程师,对世界的影响。
今天我有两个故事要告诉你们。第一个故事是关于MATLAB和控件的起源。丹尼想让我谈谈这个。从那以后的发展历程中,工业遇到了一些麻烦,第二个故事是关于一个解决问题的方法叫做基于模型的设计。在那之后,我想谈谈我们今天看到的一些惊人的趋势。我想展示设计工具是如何进化来支持它们的,并分享一些我们现在在工业中看到的令人惊叹的控制应用。最后,我想给你们留下一些挑战和行动呼吁。
这就是MATLAB的起源。一年半前上映的一部电影叫模仿游戏.谁看过那部电影?所以,有一些人。很棒的电影,强烈推荐。绝对是一个工程师和计算机科学家作为二战英雄。这部电影引起了人们对这个人的兴趣。你认识他吗?当然,是艾伦·图灵。这部电影讨论了他破解恩尼格玛密码机的工作。作为一种旁注,底部的两行MATLAB代码完全执行了Enigma机器通过编码完成的计算。 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.
这是图灵用来破解谜机密码的机械计算器的图片。不完全是电脑。它缺少一些关键元素,如可编程性和存储。
图灵在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,它是一个简单的,交互式的访问。
所以,我想如果你和克利夫·莫勒合作过,或者也许只是用过MATLAB,这意味着你在教室里和艾伦·图灵有两个程度的区别,通过这些矩阵计算,矩阵计算是计算机最初被发明的原因之一。所以,这里真的是直人的传统。
这是我出现在这个舞台上的时候。1980年左右,我在斯坦福读研究生。我在斯坦福上Kailath的线性系统课程和其他一些数字控制课程,我们必须解Ricatti方程。信不信由你,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,斯坦福的博士论文就缩减到了这八行代码。
从1984年到今天,一件最奇妙的事情发生了:这张表显示了标准PC的规格,就像丹尼之前说的那样,在1984年。今天就在这里。性能的提升实际上是惊人的。我觉得你都没意识到,丹尼,这里的变化。看看这个:六万倍的内存;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是最早开始这样做的人之一。然后世界转向了处理控制图的图形块图。但实际上,正确建模这些系统所需要的进化是多域系统建模。这就是我想说的。
我想看看建模领域——我在这里使用的领域比较松散——这样的概念需要对一个系统进行完整的建模,其中有6个。第一个领域是明显的:系统模型需要包括连续时间模型。这些通常用于植物建模,环境建模,模拟元素。第二个领域是离散时间控制。这使得数字控制,图像处理,视频处理成为可能。第三个领域是物理模型。这包括电子学、机械连杆学、液压学、流体学、热学。这些模型与控制图不同因为它们在图线上有双向流动,它们是用微分代数方程模拟的。如今,由于现代产品中机电一体化的大幅增加,物理模型变得非常重要。2022世界杯八强谁会赢?第四个领域是状态机模型。 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真的是出自教育,出自大学。这是它最初开始的地方,也是控制区域最初流行起来的地方。基于模型的设计实际上首先在工业中开始,并基于工业的需求、用例和要求进行开发,然后回到教育中作为一种有用的工具。所以,作为一家公司,看到这两个来自不同源头的平台对我们来说很有趣。
好了,我演讲的最后一部分,我想谈谈今天我们看到的一些惊人的趋势,这些趋势在今天是非常强大的。他们会影响公司和行业的结果。事实上,工业界正在疯狂地追赶目前正在发生的一些趋势。我还将展示一些设计工具是如何发展以支持这些趋势的,我还将分享一些与这些趋势相关的更令人惊奇的工业和教育应用程序。
我想提到的第一个大趋势是软件、算法和数学。我们真的参与了世界上所有软件的构建。这里的“一切”指的是所有设备。什么是设备?设备是洗衣机。这是一台冰箱。你的车是一个装置。它有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,以支持基于模型的设计中的物联网应用。这是一个允许应用程序从设备上收集数据的云。你可以分析它们,你可以写MATLAB,上传MATLAB脚本,然后你可以对它们采取行动。你可以在那里施加控制动作。因此,这意味着完成物联网与基于模型的设计的连接。
过去几年出现的第三大趋势是低成本嵌入式处理器和实验硬件的发展。这是Arduino,树莓派,乐高头脑风暴。你知道,这是几个月前的。还有无人机和其他低成本实验。这真的是非常惊人的,它能如此迅速地跃上舞台,并创造出创作者社区和类似的东西。
在MathWorks,我们创建了硬件支持包,通过MATLAB和Simulink支持基于模型的设计。我们现在有170个软件包——每一个都是一个工具箱,允许你对这些设备编程,比如iPhone或树莓派,而无需了解这些设备。它只是一个您可以调用的熟悉的函数库。它可以让你快速连接和运行。我们看到了真正的指数级增长。去年有超过30万的下载量,这条曲线显示了这些硬件设备的增长从三四年前几乎不存在到今天它们在全世界的使用量。
这些被用作机器人设计竞赛的一部分。这是乐高头脑风暴的一个应用程序,你可以使用Simulink块,基于模型的设计块来做边缘跟踪。这些在世界各地的设计比赛中被使用。举个例子,这是东京的ET-Robocon。在ACC,楼下的MathWorks展览将有一个小规模的竞赛版本,如果你有兴趣在几分钟内尝试设计一个控制器。
第四个对世界来说很重要的大趋势是应用的增长。这是一个思考应用程序的模型。第一个平台是主机平台,拥有数百万用户和数千个应用程序。历史上第二大平台是个人电脑。就是丹尼说的那个。它拥有数亿用户和数万个应用程序。世界现在在第三个平台上。这是云,移动,基于浏览器的应用程序,它有数十亿的用户和数百万的应用程序。MathWorks是在第二个平台大趋势下成立的,现在全世界和所有人都在努力建设第三个平台。
控件社区总是有许多不同的应世界杯预选赛小组名单用程序和许多不同的工具箱。在MathWorks,作为基于模型的设计的一部分,我们已经采取了一些步骤,试图使构建应用程序更容易。我们在工具条上建立了一个地方,让你可以方便地访问应用程序。我们改进了你们设计和制造它们的方式。当然,你可以在文件交换中创建和共享这些应用程序。我想在这里给你们一个应用程序的例子向你们展示它的力量。我要展示的例子应用叫做控制系统调谐器,它会做h∞合成。现在,为了激发这个想法,这是一幅鲁棒控制理论家喜欢从数学角度来看的世界图景。然而,现实世界是混乱的。工程师看着屏幕,看到这样的框图,然后说,“我怎么用h∞来调优呢?”
现在,这张图表展示了一些流行的控制合成方法的灵活性和适应性,所以这是适应性和灵活性的对比。很明显,我们的目标是右上角的蓝色带,但你可以看到现有的方法,你知道,倾向于落在不同的角落,在右下角的通用优化是蛮力方法。通过Pascal Gahinet和Pierre Apkarian的一些工作,他们引入了一个叫做结构h -∞合成的新概念。他们真的发明了这种新方法,并在几年前发表了一篇论文。这就是我今天要讲的。Pascal构建了一个控制系统调谐器应用程序,使用这种固定结构的h -∞环整形算法。这个应用程序,调节Simulink中的控制器。它经过五个不同的步骤。您可以指定要调优的块,指定目标,进行综合,然后可以将结果可视化,并将参数更新回Simulink。
我要展示的是在60秒内h∞的控制。这是一个好的应用应该做的,对吧?允许您快速完成此操作。所以,你必须仔细观察,因为它移动得非常快。但是,这里我们有一个直流电机的Simulink模型,我们想要控制电机的速度。我们有一个阶梯反应目标和一个环形目标。好了,开始了。这是模型。这是我们想要调优的两个块。我们在这里运行模拟。 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,它诞生于数值分析领域,是计算的开端。世界杯预选赛小组名单它首先被丹尼和他在控制界的朋友广泛采用,因为它很擅长矩阵,控制界有很多带有状态空间公式的矩阵。世界杯预选赛小组名单
第二个关键思想是多领域和系统建模和基于模型的设计,从工业开始,它真正改变了复杂系统开发的方式,也改变了大学中基于项目的学习和研究。
第三个是在过去的几年里有惊人的技术大趋势,它与直接来自数学的设计自动化的结合放大了这个房间里每个人的影响加速了世界上控制应用的数量。
总之,我认为我们正处于一个非常激动人心的时期。当前的技术趋势是控制应用非常突出。在大学里有令人难以置信的机器人和其他项目,在这个会议上有演讲。事实上,创新和小规模开发的爆发导致了初创公司的出现,并从所有这些转变了现有的行业。大学已经被证明是下一波世界范围内的发展和经济增长的海床。您还可以使用设计自动化软件在数学模型级别上工作,并按下一个按钮来生成可工作的实现,而无需编码。所以,所有的东西都在这里结合起来,以扩大控制工程的范围,并放大我们在这个房间里对世界的影响。
现在,为了引起争议,我有一些行动呼吁。我想我应该跟你说些具体的想法。我有几个想法。使用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.
所以,这些行动都是由科技的大趋势所驱动的。它们也是基于模型的设计工具专门设计来加速的动作。因此,从打孔卡到计算机辅助控制系统设计,我们已经取得了长足的进步。谢谢大家的聆听。
相关产品2022世界杯八强谁会赢?
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。