赛车休息室

学生竞赛的最佳实践和团队合作

问答2020 Simulink学生挑金宝app战胜利者

今天的博客设有托马斯海登的问答。托马斯是东北大学的机械工程学生,以及2020年的考虑因素挑战。金宝app
-

介绍

在今年年初,我们完成了2020 Simulink学生挑战赛。金宝app有很多很棒的作品,但在今天的博客中,我想了解第一名的获奖视频。今年的首先获胜视频有一个航空航天示例,显示了模拟链接如何用于模拟游戏卡尔巴尔空间计划中的火箭发射。金宝app这个项目是一种创造性的使用Simulink的方法,因为我想了解有关该项目的更多信息和金宝app视频后面的学生Thomas Hayden,有一个问答。

问答与托马斯•

你好托马斯,你能告诉你自己和你上学的地方吗?

我是东北大学计算机专业大四的学生。我一直很喜欢机器人技术和编程的交集,并且做过两个涉及机器人技术和编程的合作项目。

创建一个控制KSP火箭发射的Simulink模型是什么动机?金宝app

我一直对机器人学有兴趣,我真的进入火箭,我一直在玩Kerbal Space计划(KSP)。有一天,我想知道是否有一种方法可以在游戏中自动启动,因为所有现实世界都是完全自动化的。我以为这将是我享受的一种挑战。我开始了Kerbal操作系统(kos)是一种用于控制KSP中的火箭的自定义文本语言。使用KOS我有很多成功,但它始终感觉到与Simulink这样的类似的东西,这与Simulink这样的东西相比,这有与航空航天相关的各种功能。金宝app因此,我决定尝试使用KSP使用Simulink。金宝app

获得Simulink与KSP交谈有多棘手?金宝app在将MATLAB功能块连接到KSP的Java代码时,您是否遇到过任何问题?

我花了一段时间才使Simulink和KSP之间的通信工作起来,但大部分时间都花在了寻找合适的工具上。金宝app起初,我试图通过telnet连接与应用程序通信,但这不能处理足够高的轮询率。一旦我发现kRPC我用一个独立的Java程序对它进行了测试,以确保我知道如何使用它,然后才开始研究如何与Simulink进行对话。金宝app我以前从未用MATLAB使用过Java程序,所以我需要学习它们是如何交互的,以及在Simulink中的MATLAB函数块如何与Java代码接口。金宝app这花费了一些工作(可能是因为我不熟悉它),但我得到了正确的设置,预先运行的脚本将配置连接,然后Simulink块可以通过该连接进行交谈。金宝app

你是如何为不同的飞行部分创建和调整控制器的?

使用PID循环直接控制车辆的方向,该PID环在很大程度上与几个测试飞行进行调节,看看它是如何反应的。由于火箭的上升轮廓基于一大吨的因素,因此,车辆的引导非常困难,包括第一和第二阶段,拖动,有效载荷质量,目标轨道等的推力。我意识到我无法计算理想的轨迹(实际上,我甚至不确定理想的轨迹是否在实践中计算或者简化,以使其在飞行中可以计算),因此我制作了简化的设计。第一阶段飞行遵循我绘制的曲线,旨在在一定的高度水平。第二阶段然后看它在它中的轨道,并确定它是否应该燃烧以及与之有什么态度(方向)。

在你的视频中,你提到在Simulink中记录飞行数据来调整飞行参数。金宝app记录了哪些数据,这些数据是如何用于改进模型中的控制器的?

添加了数据记录以调试具有导致问题的一些边缘盒的姿态控制。然而,数据记录的增加的益处是我可以更好地调整PID循环,特别是在游戏中很难看到的长轴旋转,因为火箭几乎旋转对称。在这些实际好处之上,我很有趣地制作飞行型谱的其他有趣的地块和我在KRPC API中找到的其他数据。

Simulink金宝app是如何使这个项目成为可能的?你使用了哪些功能让这个项目顺利进行?

我决定使用Simulink的最大原因是便于查看和调试设计。金宝app对于这样的应用程序,我发现能够直观地跟踪路径和计算是非常有价值的。我想把我现在拥有的状态代码换成一些statflow块,因为它们是为我试图用Simulink开关和其他组件做的事情而设计的。金宝app当我换掉它时,代码应该更容易阅读和查看。

如果他们想重新创建这个项目,你会在哪里建议有人开始?

此项目的最新版本的代码可用github存储库并且可以作为一个伟大的起点。有些方面很困难或可能需要一段时间来理解,但可以通过慢慢取出类似的项目。我没有任何正式的经验编写火箭控制代码,但这个项目是通过逻辑上的问题来思考并逐步逐步思考来完成的。请记住,模拟的好处是您可以在没有实际摧毁火箭的情况下又一次地运行它!

您对此项目的计划是什么?我们在哪里可以去看未来的更新?

关于这个项目的最佳和最糟糕的事情是,我想做的无尽供应。首先在列表中为目标轨道添加更多选项,并添加一些更复杂的操作。之后,我想确保代码非常强大,然后添加一个现实主义模式,它会使一切达到实际的地球量表,使空气动力学更加现实,以及发动机点火条件等其他改进。有一个完整的想法列表,这么多的事实上,我没有机会留给他们所有人!我想发布更新,因为它们看起来很重要YouTube频道

毕业后你想做什么?

毕业后,我想做一些机器人编程,如果那涉及到编程火箭,那就更好了!

你还有什么想说这个项目吗?

总的来说,这个项目一直很有趣,我建议别人试着像这样的东西。我发现由于代码写道,观看某些东西的奖励非常有益,我知道很多人都认为同样的事情。

-

托马斯,非常感谢你花时间回答这些问题。很高兴了解更多关于您如何制作这个项目,并期待看到未来的更新!

要查看托马斯的Simulink学生挑战赛获奖视频金宝app和其他检查2020挑战页面。谢谢你的阅读,我希望你喜欢。

|

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。