白皮书

使用 MATLAB 和 Simulink 开展机器人教学

简介

随着医疗保健、农业、制造业等不同行业对机器人和自动化应用技能的需求不断增长,全球对教学工具的需求也在与日俱增。这些工具有助于快速提升高校学生和相关专业人士在机器人和自主系统 (RAS) 方面的技能和能力。

机器人是科学和工程领域的一个跨学科分支,涵盖物理、电子、控制、机电一体化、编程和电信等众多学科的知识。同样,大学教学也面临着诸多挑战,包括从课程的准备和开发技术项目的评估和监督等一系列活动。

能否使用一套工具满足多种学科的教学需求?

在本白皮书中,我们提供了利用 MATLAB® 和 Simulink® 开展机器人教学的实用示例、资源和工具。通过分析从基础课程到毕设项目的典型学术课程(如下所示),我们将说明如何加快相关知识的教学进度,以及如何在各种教学活动中使用统一的学习平台。

机器人工程学士学位课程表,按学科分类并按年份排序。

典型的机器人专业课程,其中课程按知识领域分类。

学习目标

  • 准备课程:设计课程并为所授课程准备充足的材料。
  • 讲授课程:让课程更具吸引力、交互性和实用性。
  • 自学:为学生提供资源,激励他们独立学习。
  • 实验,:设计虚拟实验,和实体实验,。
  • 评估:改进传统评估,从而节省时间。
  • 挑战:通过将理论联系实践并与实际应用相结合,让您的学生应对挑战。
节

准备课程

您有哪些工具可供使用?您可以在哪里找到它们?

大学提供的工具

本白皮书中介绍的所有教学工具都基于 MATLAB 和 Simulink。全球许多大学都有 Campus-Wide License,支持在校内访问 MATLAB、Simulink125+ 个工具箱

MATLAB

MATLAB 是数百万工程师和科学家们用来分析数据、开发算法和创建模型的编程和数值计算平台。MATLAB 也是基于各种编程库开发和共享交互式科学计算内容的平台。

Simulink

“使用 MATLAB 和 Simulink 的基于模型的设计,适用于高级机器人系统设计中的各种软件领域。它支持复杂机电系统和控制器的仿真、实时 HIL 测试的代码生成、信号和图像处理,以及数据分析和可视化。”​

Simulink 是一种模块图环境,用于通过多域模型设计系统,在迁移至硬件前进行仿真,以及在无需编写代码的情况下进行部署。使用 Simulink 的基于模型的设计有助于缩短开发时间,减少最终产品的缺陷,并为多域系统的开发和培训提供一个集成平台。

图中描述了使用 Simulink 的基于模型设计的不同阶段。基于模型的设计系统开发工作流包括:1.研究,2.需求和设定,3.设计,4.实现,5.测试和验证。

使用 Simulink 的基于模型的设计工作流。

适用于机器人应用领域的工具箱

工具箱是 MATLAB 科学计算环境中的内置函数集合。与机器人应用密切相关的一些工具箱包括:

教学材料

使用针对机器人专门设计的资源,让教学不再局限于教室。

课件

发布基于工程的 MATLAB 和 Simulink 学习课件,供教授复用或通过改编内容将其应用到所授的课程中。一些常见课程包括:

课件中的 MATLAB 机器人游乐场的截图。图中显示示例、课程、文档等内容的相关按钮。

MATLAB 机器人游乐场。

GitHub 仓库

MathWorks 的 GitHub® 仓库包含各种开源机器人项目和资源,可供使用 MATLAB 和 Simulink 的教育工作者选择。

节

讲授课程

如何让您的课程更具吸引力、交互性和实用性?

源源不断的动力

与您的学生分享全球工程师如何使用 MATLAB 和 Simulink 加快机器人领域的创新步伐:

在线解决方案

使用 MATLAB Online™Simulink Online™ 开展机器人教学,让学生无需下载或安装相关软件,即可学习包含实时示例的课程,例如路径规划页面上显示的以下示例。通过这种基于云的资源,您能够始终访问最新版本的软件。

云存储

MATLAB Drive™ 提供了基于云的常用存储位置,用于存储您的 MATLAB 文件。通过将它与 MATLAB Online 结合使用,您可与您的学生共享机器人课程材料,并使您的课程更具交互性。

图中描述了 MathWorks 云资源,以及用户如何使用 MATLAB Drive 在不同平台(如 MATLAB Online、MATLAB 桌面和 MATLAB Mobile)之间共享和同步多达 20 GB 的文件。此外,还说明了如何使用 MATLAB Drive Connector 在本地存储同步的文件。

MATLAB Drive 支持您将文件与 MATLAB 桌面、MATLAB Online 和 MATLAB Mobile 同步。

App 设计

借助 MATLAB App 设计工具,您无需成为专业的软件开发人员,即可创建专业的机器人 App。

创建诸如工业机器人 App 的应用只需下面两个步骤:

  1. 使用拖放式组件设计用户界面,而无需编写代码。
  2. 编写用于确定 App 行为的代码。

工业机器人工作区 App 的 MATLAB App 设计工具设计视图(左)和代码视图(右)。

请访问 MATLAB App 库File Exchange,了解与机器人相关的更多示例。

交互式脚本

您可以在实时编辑器这种单一环境中创建交互式文档,以将 MATLAB 代码与格式化文本、方程和图像相结合。此外,实时脚本可存储输出,并将该输出显示在创建它的代码旁。

实时脚本可以在您的课程中以一组交互式在线教程和练习的形式呈现。例如,您可以通过实时脚本讲授使用机器人操作系统(ROSROS2)进行机器人开发和编程的基础知识。

图中显示了如何将 ROS 实时脚本导出为不同文件格式,如 PDF、Word、HTML 或 LaTeX。

实时脚本可以导出为 PDF、Word、HTML 和 LaTeX 格式。

访问实时脚本库File Exchange,以及查找与机器人相关的更多示例

节

自学

您如何为学生自学提供便利?他们可以利用哪些平台?

交互式在线课程

通过机器人方面的相关练习学习如何编程。MATLAB Academy 托管灵活的交互式自定进度在线课程,提供带分步指导和自动反馈的实操练习。

入门之旅课程

入门之旅课程是免费的交互式自定进度在线课程。查找图像处理、深度学习等领域的机器人相关入门之旅课程。

更多课程

通过以下完整的课程体系,更深入地了解不同学科:

MATLAB Academy 界面,其中显示机器人练习(左)和机器人项目(右)。

视频

查找有关 MATLAB、Simulink 及其他机器人相关产品和服务的视频与在线研讨会:

书籍计划,

MathWorks 书籍计划, 支持编撰 MATLAB 和 Simulink 相关书籍的全球作者和出版商。此包括 30 多本与机器人和自主系统相关的书籍。

MathWorks 书籍计划, 包含的机器人相关书籍。

您是否正在或计划撰写一本关于使用 MATLAB 和 Simulink 产品系列开发机器人应用的书籍?您可能有资格成为 MathWorks 书籍计划, 的成员。

节

实验,

您如何使用或设计实验,来让学生积极参与和主动学习?

虚拟实验,

使用 MATLAB 和 Simulink,您可以通过集成建模和仿真来构建交互式虚拟实验,

MATLAB:编程实验,

MATLAB 可以帮助学生将机器人方面的想法和理念转换为在现实环境中无缝运行的自主系统模型。

应用示例:

Simulink:设计和仿真

Simulink 可用于建模和仿真。您可以使用可复用的组件和库(包括专用的第三方建模工具)仿真大型机器人系统模型:

使用 Simulink 3D Animation、Gazebo 和 Quanser 虚拟实验,进行 Simulink 仿真。

Simscape:物理系统建模

Simscape™ 可用于在 Simulink 环境中快速创建机器人系统的模型。使用 Simscape,您无需编写代码即可求方程组的数值解。您只需构建自定义模块,并以图形方式连接它们,求解器便可完成这项求解工作。

送货四轴飞行器的 Simscape 模型(左)和仿真(右)。

应用示例:

Stateflow:状态机和流程图

Stateflow® 提供了一种图形语言,其中包括状态转移图、流程图、状态转移表和真值表。您可以使用 Stateflow 来描述 MATLAB 算法和 Simulink 模型如何对输入信号、事件和基于时间的条件作出反应。

取放工作流的 Stateflow 模型与仿真。

实体实验,

设计和仿真系统对于尝试新概念并可视化其工作原理至关重要。转向硬件有利于学生获得使用真实系统的实践经验。

工程师和科学家们可以将 MATLAB 和 Simulink 连接到物理硬件,以设计、测试和验证结合硬件组件和软件算法的系统。

MATLAB Mobile:移动设备和传感器

学生兜里其实就有个带有加速度计、速度计、磁力计、方向跟踪器、GPS 和摄像头等传感器的小型便携式实验室。这些传感器通常用于机器人和自主系统环境感知方面的应用。

使用智能手机和平板电脑等移动设备,学生可以:

  • 从设备传感器采集数据,并在 MATLAB 中分析数据。
  • 拍摄照片和录制视频,以供进一步处理和分析。

借助 MATLAB Mobile™ 这款工具,您可以通过连接到运行在 MathWorks Cloud 上的 MATLAB 会话,在移动设备上学习和讲授机器人和自主系统相关的主题。

 MATLAB Mobile 的四张截图,显示传感器设置、示例、实时脚本和 MATLAB Drive。

通过 MATLAB Mobile,可以使用传感器,访问示例,运行实时脚本,并将它们与 MATLAB Drive 共享。

实操示例(计算机视觉与人工智能):

在您的移动设备上,使用 MATLAB Mobile 运行此脚本,并使用 Deep Learning Toolbox™ 拍摄和分类照片。

 >> m=mobiledev; %acquire data from the mobile device sensors

 >> c=camera(m); %connect to the camera

 >> c.Autofocus='on’; %activate autofocus

 >> im=snapshot(c,'manual’); %take a photo

 >> imshow(im) %review your photo

 >> net=alexnet; %use AlexNet pretrained neural network

 >> layer=net.Layers; 

 >> outlayer=layer(end); %last AlexNet layer is where the categories name are

 >> categorias=outlayer.ClassNames; 

 >> img=imresize(im,[227,227]); %resize your image to meet AlexNet requirements

 >> [pred,scores]=classify(net,img); %classify your photo

 >> highscores=scores>0.04; %define the highscores

 >> bar(scores(highscores)) %plot the results

 >> set(gca,'xtick',1:7); 

 >> xticklabels(categorias(highscores)) %add categories name to the plot

后续步骤示例:打开您的计算机,探索深度网络设计器和深度学习网络分析器,并根据您的需要调整此预训练网络

硬件支持

您一旦对自己的模型感到满意,就可以根据算法自动生成 C、HDL 或 PLC 代码,并在操作臂、无人机、移动机器人和 MATLAB 和 Simulink 支持的任何机器人硬件上运行它们。

图中说明了如何使用自动代码生成从 MATLAB、Simulink 和 Stateflow 模型自动生成 C、HDL、PLC 或 GPU 代码。

为支持的硬件自动生成代码。

低成本硬件

通过使用 MATLAB 和 Simulink 进行实践学习,并结合低成本的硬件,学生可以参与具有激励意义的项目,并在此期间积累宝贵的专业知识。

实时应用

您还可以使用专业硬件对机器人、操作臂、自主系统和电机等的控制设计及动态特性进行仿真和测试。

Speedgoat® 机器是一种实时目标计算机,专门设计用来与 Simulink 和 Simulink Real-Time™ 配合使用,以创建、控制和监测实时应用。

节

评估

如何改进和简化传统评估?

自动化评估

MATLAB Grader™ 可帮助您在各种教学环境或 Web 浏览器中实现批量作业评判,并自动给 MATLAB 编程作业打分。

提交作业

在问题描述中使用富文本、图像、超链接和 LaTeX 方程。选择及格/不及格分制或加权分制。

两幅图像显示的是同一个控制工程实验室实践。第一幅图显示 PDF,第二幅图显示使用 MATLAB Grader 的自评练习。

关于控制工程的 PDF 作业和 MATLAB Grader 作业。

即时反馈

MATLAB Grader 让您可以详细了解学生难以掌握的知识点:

  • 查看答案图,了解学生答案的代码量、收到时间以及与答案之间的差距。
  • 查看学生调试代码以接近正确答案的完整历史记录。
  • 查看学生成绩(仅限教师和经授权的助教查看)。
  • 为学生提供有关答案的实时上下文反馈。

MATLAB Grader 反馈图。

“编写复杂的代码片断时,我能得到实时反馈(或者确认),这真是棒极了;否则,调试自己的代码真是毫无头绪。这也激励我在做所有 MATLAB 作业时都力争满分。”

LMS 集成

MATLAB Grader 可以提供自动评判的结果,并将其直接馈送到您的学习平台,同时在您平时使用的课程管理工具中提供报告。

截图显示集成在 Moodle 中的 MATLAB Grader。

Moodle LMS 集成中的 MATLAB Grader 分数。

题库

MATLAB Grader 习题集(如电路和动力学)仅供认证教师使用。教师可以通过客户支持请求访问权限。

节

挑战

您如何让学生接受挑战?您可以在哪里找到相关毕设项目主题?

学生竞赛

MathWorks 支持与机器人、汽车和人工智能相关的竞赛

欧洲漫游车挑战赛(左)、MathWorks 迷你无人机竞赛(中)和大学生方程式大赛(右)的演示。

研究项目

寻找 RAS 研究项目的新想法,提交您的成果,并获得 MathWorks 的官方认可:

节

小结

准备课程 讲授课程 自学
MATLAB 和 Simulink
工具箱
课件
MATLAB 和 Simulink Online
MATLAB Drive
MATLAB App 设计工具
MATLAB 实时编辑器
交互式课程
其他资源
实验, 评估 挑战
Simscape
Stateflow
MATLAB Mobile
硬件支持
MATLAB Grader 竞赛
创新项目