只要有可能,我就会把真实的系统引入课堂来分析、建模和解决复杂的物理系统。当学生能够真正看到控制命令如何影响系统行为时,整个学习体验对他们来说变得更有意义。为了帮助学生解决实际项目,我向他们介绍了MATLAB®和仿真软金宝app件®.他们很容易掌握这些工具,并很快使用它们来修改模型以满足特定的控制要求。更重要的是,学生使用MATLAB和Simulink实时控制运行的真实系统。金宝app
最近,我在我的课程计划中增加了一个ABB工业机械臂(图1)。该机械臂的控制单元已经坏了一段时间,导致整个机械臂无法使用。我抓住了这个机会,基于Arduino Mega微控制器创建了一个全新的控制单元,通过基于MATLAB和Simulink的接口进行管理。金宝app
构建新型机器人控制硬件
在ABB机器人可以在课堂上使用之前,我必须更换它原来的控制单元,它已经损坏无法修复。我在Arduino微控制器的基础上构造了一个替代控制器。它包括所有必要的接口和板,用于处理来自机器人编码器和电机电流传感器的输入(图2)。
教学实验室设备可能非常昂贵。我可以用一个微控制器创建一个自定义的设置,可以在MATLAB和Simulink环境中编程,花费不到100欧元。金宝app与黑盒系统相比,这种设置让我可以更好地控制我可以教什么以及如何教。
教学控制软件原理与ERICC3
为了帮助学生们开始学习,我在Simulink中创建了一个简单的演示页面,概述了在使用机器人时使用的启动、关闭和归家过程(图3)。金宝app
在课堂上,我介绍了控制理论的原理。我强调了直接控制链的局限性,并解释了如何经常需要更复杂的反馈循环来满足特定控制场景的约束或要求。然后,我通过Simulink和ERICC3中的模拟演示了这些概念。金宝app
班级被分成四到五人一组,每组分配一个角色,比如项目管理、实验或模拟。除了完成分配给他们的职责外,每组都必须向全班做最后的口头报告。
学生们解决的第一个任务是在Simulink中为单个电机开发PID控制模型。金宝app他们使用该模型通过仿真优化伺服参数,然后用机械臂在Arduino Mega上实时运行控制器。然后,他们进行了差距分析,生成了一个图,将命令位置和速度与实验期间收集的实际位置和速度测量结果进行比较(图4)。
我给学生们一份说明书,描述了手臂要做的一系列动作。他们必须使用规范来扩展或修改状态流®图(图5),然后他们将其用作监督控制器,自动初始化手臂及其运动,同时连续监测每个电机的电流。
下一个步骤
我可以在几个方面改进我用机械臂教授的课程。例如,我看到了增加更多控制参数以及将模型仿真结果与测量结果进行比较的机会。我还计划在MATLAB中结合波德图进行频响分析。介绍的每个概念或原理都将与机器人的实际实施相联系。具体、有形的体验比教科书或屏幕模拟更令人难忘。