这个例子展示了如何在Simulink®中模拟一个简单的闭环控制算法,以及如何在LEGO®MINDSTORMS®EV3™硬件上运行它。金宝app
在使用独立车轮控制的车辆中,对每个车轮施加相同的动力通常不会导致车辆直线行驶。这是由每个车轮所经历的机械和表面差异造成的。为了减少车辆的航向偏差,一个更好的方法是使用一个闭环控制器,根据两个电机的转速不同来调整施加到两个电机上的功率。其中一个控制器就是众所周知的比例-积分-微分(PID)控制器。
比例-积分-导数控制是一种基本的控制回路反馈机制。控制器通过调整系统控制输入,使所选系统变量的测量值与期望值之间的差值最小化。
这个例子向您展示了如何使用一个简单的设备模型来模拟控制器,首先是没有反馈控制(开环控制),然后是反馈控制(闭环控制)。该示例还演示了如何在模拟PID控制器和在同一模型的硬件上运行PID控制器之间进行切换。
我们建议完成入门乐高®MINDSTORMS®EV3™硬件和与LEGO®MINDSTORMS®EV3™硬件通信的例子。
乐高MINDSTORMS EV3 Brick
两台乐高MINDSTORMS EV3大型电机
EV3 Wi-Fi适配器或USB以太网适配器(步骤3和步骤5可选)
1.用两个马达来控制两个独立的轮子。例如,您可以构建与教育核心集中打印的构建说明中描述的类似的工具。
2.设置EV3块与主机之间的连接。请参阅中题目1和2入门乐高®MINDSTORMS®EV3™硬件的例子。
这一步说明了独立动力车轮导致车辆的方向偏差。
1.打开模型.观察模型中的两个不同的子系统。
2.打开开环控制器子系统。这个子系统控制车辆的行驶。观察控制器没有使用两个编码器输出之间的差异来控制电机。
3.注意到汽车子系统。这个子系统包含了模拟的和实际的电动机。环境控制器模块根据当前环境获取模拟或实际电机的输出。这允许您在一个模型中同时表示模拟和实际的电机。作为一种替代方法,您可以创建两个模型,一个用于模拟,另一个用于在实际硬件上运行。
4.单击Simulink工具栏中的Run按钮。金宝app单击范围Block and observe that the编码器输出信号不匹配随着时间的推移增加。这表示车辆不会直线移动。
1.的任务5中描述的配置模型入门乐高®MINDSTORMS®EV3™硬件的例子。
2.在硬件选项卡,单击金宝app构建、部署和启动.模型在乐高MINDSTORMS NXT硬件上运行,车辆开始移动。
3.注意,飞行器的路径不是直线的,正如模拟所预测的那样。
1.打开模型.观察模型中的两个子系统。
2.双击PID控制器子系统。注意,P控制用于同步两个电机时,车辆运行直线。同样,注意在一个回合中,没有应用同步。
3.点击运行按钮。金宝app单击范围Block and observe that the编码器输出信号不匹配仍然接近于零。这表明车辆的倾斜度会比开环控制模型。
1.的任务5中描述的配置模型入门乐高®MINDSTORMS®EV3™硬件的例子。
2.在硬件选项卡,单击金宝app构建、部署和启动.模型在乐高MINDSTORMS EV3硬件上运行,车辆开始移动。
3.观察车辆的路径是直线的,正如模拟预测。
调整PID控制器设置。提高车辆在粗糙或倾斜表面上直线移动的能力。
使用仿真金宝app软件监视和优化功能调整参数和监控信号。
这个例子展示了如何在乐高MINDSTORMS EV3硬件上模拟和实现一个基本的闭环控制器。在你学到的例子中:
开环控制不能保证在独立动力车轮的车辆中直线行驶。
闭环控制使用两个编码器输出之间的差异来计算功率,应该应用到每个车轮单独。
仿真硬件和实际硬件可以在同一模型中使用,只要存在在它们之间进行切换的机制。