学生休息室

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

金宝app2019年Simulink学生挑战获奖者

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

介绍

许多公司都在使用Simulink金宝app特别是在汽车,机器人和航空航天的基于模型的设计领域。但是我打赌,如果你要调查大多数工程学生金宝app是指他们可能不知道说什么。这也是我们每年举办Simulink学生挑战赛的主要原因之一。金宝app我们MathWorks希望强调使用Simulink的学生,并鼓励您在项目中使用Simulink。金宝app尽管如此,你可能已经准备好退出这个博客了,因为你认为我会花接下来的1000字来说服你为什么你应该参加这个比赛。不!在本博客中,我将讨论2019年Simulink学生挑战赛的两个一等奖视频,并讨论这些学生正在做的酷项目。金宝app

但在我深入研究这些项目之前,我必须先简要地讨论一下Simulink挑战,以提供一些背景知识。金宝appSimu金宝applink学生挑战赛是MathWorks每年举办的一项在线竞赛。在这个挑战中,我们向世界各地的大学生提出一个简单的问题。你如何使用Simulink?金宝app为了回答这个问题,学生们制作了一个简短的视频,展示了他们使用Simulink的一个项目,然后将其发布到YouTube上,标签是#SimulinkChallenge2019。金宝app然后,我们根据三个方面对这些视频进行评判:参赛作品是否符合竞赛主题,视频的创意和原创性,以及挑战方案中展示的产品知识的深度。现在你知道挑战是什么了,让我们开始吧!?

VELOCIMETER使用DEPICANCE DIGITAL 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模型

我发现在这个模型中特别有趣的东西是过滤子系统。这是先前提到的空间滤波的位置。因为Felix需要使用8个并行空间过滤器,所以他使用了对于每个子系统块;允许他使用一个块自动通过过滤器8次自动运行数据。

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

金宝app仿真软件模型

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

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

Stateflow形象

图4:使用状态流检测边缘检测

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

一旦模型经过了适当的测试,Felix知道它可以工作,是时候开始为硬件编写C和HDL代码了……哦,等等,不,他们不需要写任何代码?没错,没写一行代码是因为HDL编码器也用于将FPGA Simulink模型部署到FPGA板上。金宝appFelix还为他使用的TI板建立了金宝app一个Simulink模型嵌入式编码器部署C代码。菲利克斯表示,HDL编码器可能是使用Simulink对此项目的最大益处。金宝app他说,

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

通过观看视频了解有关此项目的更多信息在这里!一定要关注他的工作,因为根据菲利克斯目前的模拟,“可能很快就会有一个新版本的VADER,它的测量误差远低于商业可用的传感器。”

Safetown.

下一位冠军得主让我们得以一窥不久的未来无人驾驶汽车。MustafaSaraoğlu.在Technische Universität网站上,德雷斯顿正在寻找创建一个“安全城”,车辆可以了解彼此的位置,并根据这些信息调整它们的方向。但这个问题有两个主要因素。第一个是自动驾驶汽车元素,即车辆必须沿着道路行驶,同时避开其他车辆。另一部分是交叉点。当一辆车到达十字路口时,它如何知道什么时候还有其他车辆在路口以及谁应该先走?

为了解决第一个问题,使用Simulink和StateFlow开发了一种自主车型。金宝app然而,此模型不是从头开始构建的。Mustafa的团队开始了简单的线路跟踪示例团队正在使用的乐高MINDSTORM EV3机器人。从这里开始,添加一个PID控制器,并对参数进行调整,直到团队对车辆的性能满意。之后,添加statflow模型来控制以下模式的切换:跟线、停车、过路口。Mustafa告诉我们,使用Simulink进行控制是金宝app关键,因为他们“可以使用各种不同的控制器,并在需要时进行快速评估、调整或改变(他们的)方法。(他)想不出另一个如此适合如此快速发展的环境了。”

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

gif

图5:使用机器学习识别机器人和交叉点

现在我们已经看到了祛鱼队的团队如何解决了这两个主要问题,还有一个思考的重要元素。沟通!相机工作站可以识别乐高机器人在交叉路口时,但现在它必须告诉机器人是否应该等待或去。使用用户数据报协议(UDP)通过Wi-Fi完成此通信。由于这是有预先制造的块,因此易于整合UDP。乐高机器人有一个提供的UDP Simulink块金宝app乐高EV3机器人硬金宝app件支持包.对于摄像头工作站来说,UDP协议是一个瓶颈仪器控制工具箱被使用。安装了这些附加组件后,所有要做的就是将这些UDP块拖到它们的模型中,并设置地址和端口。

看完视频后,我对这个项目的背景产生了好奇。当被问及安全城项目时,穆斯塔法说,

“SafeTown是一个非常有用的项目,学生可以在真实的硬件上测试和尝试他们的算法。这也有助于全面理解与控制和自动化工程相关的概念。我一直想知道控制理论在现实生活中是如何运作的,因为我还是一个单身汉。所以现在,把这个机会给本科生,和他们一起做这样的项目,让我感到很开心和满足。我希望随着新同学的加入,我们可以在不同的方面进行改进,共同增加价值。”

要了解有关此项目的更多信息,请在操作中观看乐高机器人在这里

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

想要了解如何使用Simulink吗?金宝app拿自由金宝appSimulink Ondramp课程也许明年我会写关于你的Simulink项目。金宝app?

|
  • 打印
  • 发送电子邮件

评论

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