学生休息室

分享技术和现实生活的例子,学生可以如何使用MATLAB和Simulink在他们的日常项目#学生成功金宝app

金宝app2019年Simulink学生挑战赛优胜者

这周的帖子是由Owen Paul发布的,他在MathWorks学生竞赛项目团队工作。

介绍

许多公司正在使用Simulink金宝app特别是在汽车、机器人和航空航天领域的基于模型的设计。但我敢打赌,如果你要调查大多数工程学学生金宝app用于他们可能不知道该说些什么。这是我们每年运行Simulink学生挑战的主要原因之一。金宝app我们在MathWorks希望突出使用Simulink的学生,并激励您在项目中使用Simulink。金宝app随着那个说的,你可能会准备退出这个博客,因为你认为我会花一个下一位1,000字来说服你为什么要进入比赛。不!在这篇博客中,我将讨论2019年Simulink学生挑战的两个首次获胜视频,并讨论这些学生正在努力的酷项目。金宝app

但在我潜入项目之前,我必须首先讨论Simulink挑战,以便给出一些背景。金宝appSimu金宝applink学生挑战是一个在线竞争,每年都有Mathworks主持人。在这一挑战中,我们向世界各地询问大学生一个简单的问题。你如何使用simulink?金宝app为了回答这个问题,学生们制作一个短暂的视频,展示了一个项目,其中他们使用了Simulink,然后用标签#imulinkChallenge2019发布到YouTube。金宝app然后,我们按照三类判断这些视频:参加比赛主题,视频的创造力和创意的适当性,以及在挑战解决方案中显示的产品知识的深度。现在你知道挑战是什么,让我们潜入!还

VELOCIMETER使用DEPICANCE DIGICTIC FILTERS(VADER)

如果你买了一辆全新的车,几天后你发现乘客门上有个突起,你会怎么想?可能不太高兴。为了避免这种愤怒和挫折,材料的质量测试是极其重要的。第一名,第一名有一个解决方案,可以帮助这一质量保证。菲利克斯•施奈德波鸿应用科学大学正在开发一种名为“VADER”的高精度光学长度和速度传感器。“这个VADER传感器包括一个明亮的LED来照亮物体的表面,以及一个线相机来拍摄移动的表面(图1)。

GIF

图1:VADER传感器

高水平工作的方式是金属板以一定的速度在装配线上移动。VADER传感器面向金属板放置,线摄像头位于金属板移动方向。当材料在相机上移动时,空间滤波测速技术就会发现缺陷。如果这听起来还不够复杂,Felix还必须考虑这样一个事实,即相机记录数据的速率高达1.6 Gbs/sec,而且这些数据必须经过预处理和过滤。为了解决这个复杂的问题,Felix求助于Simulink。金宝app

为了处理来自VADER传感器的数据,滤波是在使用现场可编程门阵列(FPGA)的定制电路板上完成的。该FPGA有三个主要用途;解码来自线摄像机的数据,过滤数据,并处理数据输出到德州仪器(TI)开发板。具体地说,一个TI板与数字信号处理器(DSP)芯片。为了解决所有这些任务,Felix在Simulink中建模了FPGA系统,将这些任务中的每一个分成子系统(图2)。金宝app

金宝app仿真软件模型

图2 FPGA板的S金宝appimulink模型

我发现这个模型中特别有趣的是过滤子系统。这就是前面提到的空间滤波实现的地方。因为菲利克斯需要使用8个平行空间滤波器,他使用了对于每个子系统块;让他自动运行数据通过过滤器8次,只使用一个块。

在滤波子系统中还增加了边缘检测算法,用于检测材料开始和结束的时间。根据这些信息,你可以很容易地推导出材料的长度以及它的运动速度。为了实现边缘检测,Felix首先使用了Simulink逻辑块(图3),他说这是一个“难以验证的大型金宝app设计”。

金宝app仿真软件模型

图3:使用Simulink逻辑的边缘检测金宝app

在发现这一点后,他转向了statflow,“这让事情变得容易多了。”乍一看,我们已经可以看到模型使用Stateflow(图4)使用更少的块,更容易读取。但对于Felix来说,真正让这个实现更好的是,他可以验证边缘检测的输出是正确的响应。用这个新的实现图来显示应用边缘检测算法前后的数据。从这些情节可以直观地解读材料的开始和结束。

Stateflow形象

图4:使用statflow的边缘检测

如前所述,FPGA板将必须处理高速率的数据,但也与TI板接口。金宝appSimulink Test用于确保在制造FPGA板或在任何硬件上测试之前,可以调试模型中的任何问题或bug。通过Simu金宝applink测试,Felix能够将真实或模拟的摄像机数据输入到模型中,并测试结果的准确性以及可能发生错误的地方。

一旦模型得到了妥善测试,菲利克斯知道它会起作用,是时候开始写作硬件的C和HDL代码了......哦等待他们没有写任何代码?这是对的,不是一行代码是写的,因为高密度脂蛋白编码器也用于将FPGA Simulink模型部署到FPGA板上。金宝appFelix还为他使用的TI板建立了金宝app一个Simulink模型嵌入式编码器部署C代码。Felix说,在这个项目中使用Simulink的最大好处可能是使用HDL编码器。金宝app他说,

“在HDL项目中手工开发测试台是非常累人的,相反,在Simulink中,我可以绘制每个信号,并且,在大多数情况下,可以很快地从波形中发现错误。金宝app如果没有HDL-Coder / Simulink Coder,整个项目就不可能完成。”金宝app

通过观看视频了解更多关于这个项目的信息这里!并一定要关注他的工作,因为根据Felix的当前模拟“很快就会有一个新的Vader,这可能达到远低于市售传感器的测量错误。”

SafeTown

我们的下一个第一名获胜者让我们一睹自动驾驶汽车的近距离未来。穆斯塔法单ğluTechnischeUniversität德累斯顿正在寻找一个“SafeTown”,其中车辆知道彼此的位置并根据这些信息调整它们的位置。但是这个问题有两个主要元素。第一个是自动车元件,其中车辆必须在避开其他车辆时遵循道路。另一部分是十字路口。当车辆到达交叉路口时,它如何知道交叉路口有其他车辆,谁应该先走?

为了解决第一个问题,利用Simulink和statflow开发了一个自动驾驶汽车模型。金宝app然而,这个模型并不是从零开始构建的。穆斯塔法的球队以一个简单线跟踪示例对于团队正在使用的乐高Mindstorm EV3机器人。从这里添加PID控制器,并调整参数,直到团队满足车辆的性能,按照以下方式。之后,添加了一个州流模型以控制以下模式之间的切换:线路跟随,停止和交叉口。Mustafa告诉我们,使用Simulink对控件是关金宝app键,因为它们“可以使用各种不同的控制器并进行快速评估,调整需要或更改[其]方法。[他]不能想到另一个适合这种可能性快速发展的环境。“

对于第二个问题,将相机放置在“城镇”之上,以跟踪乐高机器人的位置并识别交叉点。图像识别算法用于识别地图上的乐高机器人。要创建此算法,Mustafa的团队开始使用Ground truth标签应用程序在视频的任意一帧中识别一个乐高机器人。机器学习算法如R-CNN, Fast R-CNN, Faster R-CNN和ACF随后在MATLAB中使用地面真相标记应用程序生成的数据进行训练。然后使用地图上多个乐高机器人的样本预录制视频对这些算法进行测试(图5)。使用该视频,穆斯塔法的团队找到了最佳算法,ACF探测器,在这个项目中使用,并调整参数,以确保算法准确识别乐高机器人,十字路口,以及何时有乐高机器人在十字路口。采用Simulink中开发的图像识别算法模型金宝appMATLAB功能块是使用。

GIF

图5:使用机器学习识别机器人和路口

现在我们已经看到了穆斯塔法的团队是如何解决这两个主要问题的,还有一个关键因素需要考虑。沟通!摄像头工作站可以识别乐高机器人何时到达十字路口,但现在它必须告诉机器人应该等待还是离开。该通信是通过Wi-Fi使用用户数据报协议(UDP)完成的。集成UDP变得更容易了,因为它有预先制作好的块。中提供了一个UDP Simulink模块金宝appLEGO EV3机金宝app器人的硬件支持包.对于摄像头工作站来说,UDP协议是一个瓶颈仪器控制工具箱被使用。安装了这些附加组件后,所有要做的就是将这些UDP块拖到它们的模型中,并设置地址和端口。

观看视频后,我在这个项目的背景上变得好奇。当被问及项目Safetown Mustafa时,

“SafeTown是一个非常有用的学生测试项目,并在真正的硬件上尝试算法。这也有助于整体理解与控制和自动化工程有关的概念。我一直想知道控制理论如何在现实生活中运作,因为我是一名学士学位。所以现在,授予本科生的机会,与他们在这些项目中与他们一起工作,让我感到快乐和满意。我希望我们能够在新的学生加入以编写他们的论文并集体增加价值的不同方面。“

要了解更多关于这个项目,并观看Lego机器人的行动,请点击这里

最后,观看其他获奖视频或找到更多有关比赛的点击这里

想要学习如何使用Simulink自己?金宝app做一些免费的金宝app仿真软件斜坡弯道课程也许明年我会写关于你的Simulink项目。金宝app还

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。