技术文章和通讯

利用MATLAB实时脚本在线讲授最优控制和动态规划

作者:Duarte J. Antunes,埃因霍温理工大学


当我的课程最优控制与动态规划在COVID-19大流行期间过渡到一个在线模型,MATLAB®现场脚本被证明是无价之宝。它们使我能够以一种互动、参与的方式教授复杂的概念,并且比传统的带幻灯片的讲座更适合在线学习。

使用实时脚本,我可以组合格式化的文本、图像、超链接、方程和代码(图1)。由于脚本是实时的,学生可以调整参数或修改代码,并立即看到它们的更改如何影响输出。这个过程让学生积极学习,鼓励对材料的探索。在一项课后学生调查中,97%的受访者表示,现场脚本在完成作业时“有帮助”或“非常有用”。

图1.中使用的实时脚本最优控制和动态规划。

Lectures-with-Slides的局限性

当我教最优控制与动态规划过去,我的讲座都是用幻灯片来介绍一个新概念,描述如何实现它,然后展示一些示例输出。例如,在关于线性二次稳压器(LQRs)的课程中,我将首先讨论相关方程以及特殊情况和假设,展示MATLAB实现,然后显示各种参数值的代码输出(图2)。我会布置练习,要求学生用MATLAB解决一组最优控制问题。这些练习包括一个带有MATLAB代码快照的示例解决方案。

图2。LQR上的幻灯片系列。从左上角顺时针方向:简介、示例应用程序、相应的MATLAB代码和结果图。

我一直觉得这种方式是一种笨拙的表现材料的方式。幻灯片上的代码只是实现的快照,我必须包含许多图来显示不同参数值对输出的影响。在这些问题的推动下,我决定将所有涉及MATLAB的课程材料转换为实时脚本。

从幻灯片到现场脚本

总共,我转换了16节课,30个MATLAB例子,30个MATLAB练习,10个评分作业。对于每个课程主题,我都将介绍性讨论文本复制到现场脚本中,并使用标题、要点和链接到背景材料的超链接来组织它。我使用Live Editor输入LaTeX命令,并在将方程式放入Live脚本之前预览相应的方程式(图3)。

图3.将LaTeX方程插入实时脚本并预览输出。

在某些情况下,方程很长,我没有LaTeX代码。在这些情况下,我使用Mathpix OCR软件扫描书写或打印的方程式,为我生成乳胶。

一旦我创建了现场脚本,我通过MATLAB驱动基于云的存储。学生下载每堂课的脚本,并在笔记本电脑上或在浏览器中使用MATLAB在线(图4)使用MATLAB Online,学生可以在任何计算机或平板电脑上运行和编辑脚本,甚至是没有安装MATLAB的机器。

图4。LQR控制课程的实时脚本在浏览器中运行,使用MATLAB Online。学生可以使用第29行上的滑块更改参数值,并在右侧的绘图中查看结果效果。

现场脚本作业和自动评分

在课堂上,学生经常用相应的现场脚本进行实验,改变参数值并检查结果。我鼓励这种实验,因为它有助于他们吸收新材料。

实时脚本在帮助学生完成作业方面同样有价值。例如,有一项作业涉及为buzz wire游戏开发一种控制算法。在该游戏的真实版本中,目标是沿着弯曲的电线传递一个环,而不让环在任何点接触电线。对于该作业,我将其减少为两个-量纲问题,算法必须通过计算环沿导线向下移动(图5)时每个时间步的偏移量和角度来控制环的轨迹,以便在最短时间内到达导线末端。

图5。嗡嗡声线分配的可视化,其中一个环(蓝线)必须沿着一根线(红曲线)而不接触它。

当我解释这项作业时,学生们往往会有很多问题。当我为他们提供一个示例实现的实时脚本时,他们能够自己回答其中的许多问题;他们可以脱机运行脚本,更改控制参数,准确地看到什么构成了环与导线的接触,等等。

为了简化评分,我向学生展示了他们需要在现场脚本中开发的功能,以完成作业,并明确定义了输入和输出。然后我使用这个特定的功能来自动评分学生的解决方案MATLAB分级机,与我们的学习管理系统Canvas集成。

活动脚本的计划改进和其他用途

在为我的课程开发新的实时脚本时,我继续添加增强功能。这些增强包括合并更多动画。我这样做是为了完成一项作业,在这项作业中,学生们必须为追逐吃豆人的幽灵制定一个最优控制策略™-类似于追捕逃避游戏中的角色(图6)。我发现动画比我的文字描述更能帮助学生理解作业。

图6。追逃游戏,学生为鬼(红色)开发最优控制算法,以追主角(黄色)。

为了回应学生的反馈,我还在MATLAB代码中添加了更多的在线评论。我注意到,今天的学生依靠看到代码和代码注释来巩固他们的理解。在过去,我倾向于淡化实现细节,但越来越多的学生理解编程语言,并且发现当某些概念用注释代码而不是自然语言表达时,更容易掌握它们。一名学生指出,“当您决定更改某个参数或某段代码时,了解问题/解决方案是如何变化的确实很有帮助。通常情况下,示例仅限于所示的一种变化。此外,某些理论的实际实现有时很难想象,而这段代码可以极大地帮助该过程。”

活动脚本的主要优点之一是易于学习和使用。我发现大多数学生在阅读文档5分钟后就可以开始学习了。在我教的另一门关于信号与系统的课程中,我要求学生提交一份关于他们的项目的报告。许多人自己决定将最终报告创建为活动脚本,并使用活动脚本来解释他们的项目通过视频

关于作者

Duarte Antunes是埃因霍温科技大学机械工程系副教授,他是控制系统技术集团的成员,他的教学和研究活动主要集中在控制理论上。

2021年出版的

查看相关功能的文章