机器人足球:一个学习Simulink关键特性的练习万博1manbetx
这个演示将帮助您应用在“Simulink简介”网络研讨会中讨论的Simulink的关键特性万博1manbetx
演示是专门使用在网络研讨会中显示的功能和概念构建的;建模一个简单的连续系统,添加非线性,包括文档,使用子系统,掩蔽,模型参考,总线等。
如果你是Simulink的新手,建议万博1manbetx你在尝试练习和执行游戏的新策略之前先观看网络研讨会。
演示的附加说明。这些注释故意保持模糊,并按随机顺序列出,因为预期您将探索模型,以了解所有组件及其相互之间的交互。
1.演示模拟了一场2对2的机器人足球比赛。机器人被认为比足球重。因此,球和机器人之间的任何碰撞都是完全弹性的。机器人的运动不受碰撞的影响。
2.由于机器人被认为是质点,因此不实现机器人之间的碰撞。
3.所有情况下的碰撞建模都假定为弹簧接触模型。当物体与边界碰撞接近边界时,计算一个与“穿透距离”成负比例的力。
4.策略子系统作为参考模型实现。这是有意为之,以便竞争团队能够保护自己的策略,并在彼此之间运行模拟。您可以使用模型引用保护模式来生成mdlp文件,而不是mdl文件(在R2009b中引入):
> >万博1manbetx Simulink.ModelReference.protect(“Team_1_Strategy”)
和
> >万博1manbetx Simulink.ModelReference.protect(“Team_2_Strategy”)
5.机器人动力学是质点的简单动力学。然而,机器人的质量与电池功率或“耐力”成反比。还在系统中加入了一些阻尼,以避免过多的超调。此外,每次机器人启动或刹车时,它都会发生小功率损失,从而降低了它在游戏中的耐力。
6.系统中的位置坐标为2D,即(x,y)。信号尺寸已明确设置。单击任何输出端口-屏蔽子系统的>信号属性以查看维度。
7.球动力学有一个简单的实现-同样的“基于弹簧”接触动力学。从球的角度来看,有五个接触力需要解释:与4个机器人的接触和边界的接触。
8.观察解算器已经变成ode15s,这是一个僵硬的解算器。其原因是系统中存在刚度,这是因为接触/碰撞模型具有高弹簧常数。这可能会产生具有相对不同动力学的模式。使用ode45解算器,更快的模式将迫使自适应解算器采取更小的步骤,减慢模拟速度。Ode15s忽略了一些快速动态。
9.机器人动力学子系统上的所有图标绘制命令均使用MATLAB patch命令实现。这些是Mike Woodward在旗帜演示中拍摄的:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/8856-flags
使用其他标志来定制。
10.2D动画使用Simulink 3D animation完万博1manbetx成。场地用草图像纹理化,并选择了一个视点,使它看起来像2D。“GOAL”文本保留在字段后面。进球的那一刻,这篇文章就会被翻译到前面,给人一种电视效果。贴图也被用来在机器人身上涂上旗帜。为了改变这些,你必须改变图像。
11.仔细研究一下策略子系统,看看你是否能想出更早得分的有效策略。请注意,每个队都完全了解对方的位置和球的位置。他们也知道自己团队电池的剩余电量。没有可用的速度信息。
12.你需要安装Simu万博1manbetxlink 3D动画来查看动画。
你可以尝试的练习:
1.如何使用statflow实现基于球位置的攻击和防御策略混合使用的有限状态机?
2.在Simulink中,你应该万博1manbetx使用哪个模块将一个新信号输入到这些策略子系统中,以便能够测量从游戏开始开始的时间,从而将其作为策略的一部分?
3.识别演示中使用的MAT文件中的内容。文件中的数据内容的“类型”是什么?确定加载MAT文件的函数。为什么我们的模型中需要这些数据对象?
4.探索使用控制策略的可能性,如PID,以提高机器人的跟踪
引用作为
万博1manbetx仿真软件的家伙(2021)。机器人足球:一个学习Simulink关键特性的练习万博1manbetx(//www.tianjin-qmedu.com/matlabcentral/fileexchange/28196-robot-soccer-an-exercise-in-learning-the-key-features-of-万博1manbetxsimulink), MATLAB中央文件交换。检索.