没有合适的资源?快使用搜索试试~ 我知道了~
网络物理实验室:小学生掌握控制理论的元素
第九届国际会计师联合会控制教育进展国际自动控制联合会,俄罗斯下诺夫哥罗德,2012年控制工程在学校:通过实例谢尔盖·A Philippov *,Alexander L. 弗拉德科夫 **,** 圣彼得堡物理数学学院239(电子邮件:safilippov@gmail.com)**俄罗斯科学院机械工程问题研究所,61 Bolshoy ave V.O.,圣-圣彼得堡,199178*圣彼得堡国立大学 ,俄罗斯传真:+7(812)321-4771,(电子邮件:fradkov@mail.ru)摘要-圣彼得堡国立大学和圣彼得堡物理数学学院239的联合项目“网络物理实验室”始于2008年。由于该项目的教学技术的控制理论的元素在学校已经开发。使用基于乐高Mindstorms NXT的简单设备,小学生已经开始掌握目前只有高中或大学生才能掌握的科学。本文介绍了该项目的一些想法和最近的研究结果。1. 产品介绍一个重要而有趣的教学任务是在专家的知识领域和学生之间“搭建桥梁”,帮助学生看到他们未来职业的前景,即进行职业指导,并让学生看到他们未来专业知识的实用性。有两种方法可以训练学童通过机器人编译控制算法:1) 使用计算机科学中研究的标准基本算法结构;2) 使用控制理论的元素。第一种方法应用得更频繁,但它没有揭示控制可能性的多样性。它的典型代表是基于分支“if”的继电调节器。在基本的变体开关,然后,对于高级程序员,三个位置和更多(多个选择)。在开关调节器中,调节机构在来自传感器的信号的影响下可以接受一个或另一个极限位置:“打开”或“关闭”。因此,对可调对象的校正作用只能是最大值或最小值。第二种方法更难被学生理解。然而,它是进一步发展的关键。该方法是基于反馈和错误关闭控制的概念,通过研究最简单的标准控制器-比例和微分(对于高级学生也积分)来解释在使用第一种方法[1]获得了很好的经验之后,我们已经通过第二种方法,并开发了一种通过基本示例教学自动控制的技术。每一个例子都依次采用继电器控制器,然后采用比例控制器及其与其他控制器的组合。它能让学生感受到最简单的数学方法在控制和集中注意力。由于数学已经成为机器人技术学习的基本要素之一,在239号教室,Robolab小学的2.9.4和高中的RobotC被选为编程环境。标准的Lego Mindstorms NXT环境(G-NXT语言)没有明确表达的数学装置,因此我们不使用它。方法的一个关键点也是使用受控系统(对象)的差分方程,而不是微分方程,很好地对应于基于计算机的控制的离散性质[2,3]。在本文中,我们证明了进一步扩展的方法,通过一些例子。2. 示例1. 电动机的控制。任务(控制目标)是将电机保持在给定的位置α=45º(图1)。①的人。Fig. 1.马达稳定在45度位置。基于继电器开关调节器的解决方案如下(图2)。学生们观察到它会引起不希望的振荡。三位调节器的引入几乎不能改善系统操作。图二.一台电机的继电器控制。© 2012 IFAC 118 10.3182/20120619-3-RU-2024.000962012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会119对象,需要对电机进行慢速控制。task main(){intalpha=45;nMotorEncoder[motorA]=0;while(true){if(nMotorEncoder[motorA]alpha)motor[motorA]=-100;其他return 100;wait1Msec(1);}}用比例反馈控制代替分支的算法的一些简化可以显著地改善调节性能(图14)。3)。P控制器在比例调节时,控制动作u(t)通常是可调值x(t)与其预设值x*(t)的动态误差偏差e(t)的函数e ( t ) =x*(t)-x(t)u(t)=ke增益系数k定义调节器对系统的影响。由于调节将以规则的间隔进一步考虑,传递到采样数据控制,我们采用以下符号:e=ei=e(ti)=e(t),u=u(t),对于t在区间[ti-1,ti)上运行。图三.基于比例调节器的电机控制算法。task main(){int k=5,u,alpha=45;nMotorEncoder[motorA]=0;while(true){见图4。机器人装饰师然后,PD控制器限制驱动电机的速度而不降低精度。PD控制器可以将比例微分调节器表示为两个分量的和。考虑到误差的速度(ei-ei-1)/dt的微分分量相对于比例分量具有相反的符号。因此,为了便于控制电机,我们将接受ei =xi-x* p=kpeid=kd(ei-ei-1)u=p+d严格地说,在速度感测时,应该有一个值dt,对应于测量之间的时间间隔的持续时间。然而,我们将dt导入系数kd,因为所有间隔都等于1 ms。PD调节器的另一个出色表现是沿着不规则的墙壁驱动机器人。3. 示例2. 沿着墙走。使用距离传感器,机器人应该沿着曲线壁以给定的距离L移动(图5)。让我们从比例控制器开始。u=k*(alpha-nMotorEncoder[motorA]);motor[motorA]=u;return(1);}}在并行任务中推导控制,我们有机会将电机安装在任何位置,只需设置参数Alpha。它提供了调节电机位置的速度和顺序的可能性。使用这种简单的方法,我们已经建立了机器人鼓手,并获得了第三名,在WRO 2009年。这一招也适用于机器人操作器已获得的能力,以履行确切的运动序列。然而,对于机器人装饰(图。4)它画各种球形图五.沿墙行驶距离L的任务。将S1表示为传感器返回的到墙壁的当前距离。发动机以平均速率50运动,但任何偏离给定路线的偏差都会产生如下的校正动作u:2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会120电机[电机B]=50+u;电机[电机C]=50-u;评价控制作用很容易:i =k*(i);因此,在S1=L时,机器人不会改变路线,而是直接前进。如果出现偏差,则调整其路线。平均尺寸的机器人NXT的系数k的典型值取决于许多因素而在1至10之间波动。我们建议学生们通过试错来调整它。注意,这样的调节器仅在小的偏转角下有效地工作。见图6。带比例调节器的沿墙驱动算法。RobotC中的程序如下:task main(){int k=3;int L=SensorValue[S1];while(true){u=k*(SensorValue[S1]-L);motor[motorB]=50+u;motor[motorC]=50-u;wait1Msec(1);}}在某些情况下,P-调节器可能会使系统不稳定(图7,左)。例如,如果机器人是从墙壁定向的,但是到墙壁的距离小于期望的距离,则电机得到命令以从墙壁更强烈地转向。因此,可能失去与墙壁的接触(距离传感器实际上仅接收来自耳道表面的反射信号)。图7. 比例调节器的问题差分组件(右侧)是必要的。为了避免这种情况,我们添加了一个考虑到机器人方向的差分组件(图1)。7在右边)。换句话说,速度值将影响控制动作。已知速度为v=Δ s/Δt,其中Δs是时间间隔Δt期间的距离变化。我们通过机器人偏离给定位置的速度来定义微分分量:d=k*(S1由于采样是以固定的间隔Δt进行的,因此可以简化表示k2=k * Δ t,d=k2*(S1-Sold)的表达式。因此,PD调节器由两项组成:u = p+d = k1 *(S1可以从数学上证明,对于稳定的目标实现,系数k2应该超过k1。通过PD调节器沿着墙壁驱动的算法作为一个整体看起来如下(图11)。8):task main(){float u,k1=2,k2=10;int Sold,L;Sold=L=SensorValue[S1];while(true){u = k1*(SensorValue[S1]-L)+k2*(SensorValue[S1]-Sold);Sold=SensorValue[S1];motor[motorB]=50+u;motor[motorC]=50-u;wait1Msec(1);}}见图8。基于PD调节器的沿墙行驶算法4. 示例3. 沿着线走。问题是使机器人以最大速度沿黑白边界移动。通过继电器开关调节器的解决方案是无效的,但对初学者来说很清楚:机器人沿着生产线抖动,显著降低了一个或另一个电机的速度(图9)。取光传感器的黑色和白色之间的边界值45。见图9。继电器调节器沿黑白边界驱动的算法。2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会121u=k*(传感器值[s1]-灰色);电机[电机B]=v+u;电机[电机C]=v-u;等待1毫秒(1);}}见图10。沿着黑白的分界线行驶。这是从内置的电子教科书Lego Mindstorms NXT Edu中获得的经典示例,其中提供了类似的解决方案(图10)。它可以被改进,减少了电机的速度差,但是它会减少机器人在急转弯时的机动性。在说服一个学生继电器调节器工作无效后,我们建议他/她转到比例调节器。沿着黑色和白色之间的边界驱动可以由P调节器实现,这可能看起来很奇怪,因为人眼只能看到两种状态:黑色和白色,继电器调节器可能看起来更合适。但机器人看到不同的,没有尖锐的边界之间的颜色(图。11)。图十一岁人类和机器人感知的差异有人可能会说,机器人是近视眼,看到灰色的阴影逐渐变化。光传感器仅捕获来自一个光电池的反射光的原因,以及黑场的一段的存在正好降低了累积照度。它帮助我们创建P调节器,如下所示(图1)。12):见图12。基于P调节器的黑线驱动算法。task main(){float u,k=2.5,v=50;int grey=45; while(true){孩子们看到,配备了这种控制器的标准推车移动得又快又精确,就像在铁轨上一样。但我们需要更快的速度。令人惊讶的是,沿着线路快速行驶的问题可以通过PD调节器更好地解决。(The解决方案几乎与沿着墙壁驾驶的算法相同。)PD调节器的效果只能在机器人开始离开生产线时的高速下才能看到。为了达到这样的速度,需要增大轮径,甚至实现提升传动。正常的乐高车的速度约为每秒40厘米,而带有调节器的快速乐高机器人的速度可以达到每秒1米。奇怪的是,这些比赛的领导者是基于RCX制造的机器人。5. E示例3*。两个传感器在一条线上。一个特别感兴趣的是沿着一条线与两个光传感器分配在它的两个边界上的算法。基于继电器四位置调节器的解决方案基本上输给P-调节器的解决方案。图13岁黑线上两个光传感器的布局变体至于在第一种情况下的两个传感器的信号处理,考虑了4个状态(图 13),嵌套分 支(需要构造(图14))。14):图14. 带继电器调节器的两个传感器沿黑线行驶的算法。RobotC中的一个解决方案,基于构造«if»,为了简洁起见省略了。相反,我们考虑基于P调节器的基本解决方案(图1)。15)。考虑到在一个相同的领域传感器显示相同的值,我们得到简单的控制算法,甚至不需要初步校准。2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会122图15.在带有两个光传感器的P调节器上的线路上行驶。task main(){float u,k=3,v=50;while(true){然而,它的解决方案的例子是困难的,涉及到高等数学元素。这里有一个有趣的任务,为教师:如何解释的原则,PID调节器的操作,以学生没有加载他/她与多余的知识?下面描述一种可能的解决方案6. PID-R调节器如标题所示,该调节器由三个组件组成,以以下简单形式(图17)表示:u=k*(传感器值[S1]-传感器值[S2]);电机[电机B]=v+u;int maximum(1);int maximum(1);}}最后,可以设计用于极端风扇的算法-高速线驱动器(图16)。添加了差分组件,即使在高速下也可以保持传感器之间的线路。因此,为了对值err进行误差补偿,输入传感器读数差的阈值。图17. PID调节器电路。不u( t)= p+ i+ d= kp e( t)+ kie(τ) dτ+kd0德,DT图16.在PD调节器上的线路上行驶。task main(){float u,p,d,k1=3,k2=10,v=50; intSold=0,e,err=SensorValue[S1]-[S2];while(true){e=SensorValue[S1]-SensorValue[S2]-err;u=k1*e+k2*(e-eold);eold=e;motor[motorB]=v+u;motor[motorC]=v-u; wait1Msec(1);其中,调节器输入的输入值是动态误差e(t),而其输出是校正动作u(t)。在电路上用三角形表示的比例分量负责系统在给定状态下的定位。它的大值可能会导致过冲与随后的自激振荡。积分部分积累负经验(增加误差)并计算出补偿影响。在最小偏差的比例分量“削弱”也积分,在牺牲快速放大的总和,有助于“保持”调节值的必要之一。微分分量跟踪系统状态变化的速度,并以可能的超调进行阻碍。让我们考虑整体的组成部分。它是以动态的方式定义的,被添加到先前的值。ike(t)ddt物理意义上的价值i是,它与}}使系统处于错误状态的持续时间。为对于一个新的机器人选择合适的系数将占用一些时间。一般来说,调节器系数的精确调整是一项困难的工程任务,但在第一阶段,学童通过试验和错误来选择它们。也许,跟踪一条线是最有用的,也是控制理论方法优于正常编程的最生动的例子。更准确地说,我们展示了他们成功的共生。5. 实施例4. 平衡机器人。让机器人在两个轮子上垂直站立的问题对每个男生或女生来说都是令人兴奋的系数ki放在括号外,可以谈论误差的总持续时间的值i。图18.平衡机器人赛格威。2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会123PID调节器通过向下的光传感器应用于机器人平衡(图18)。在机器人偏离垂直位置时,传感器的输出以RAW格式呈现,这将测量精度提高了约10倍。在图19中给出了Robolab中的算法。它最大的部分是用来初始化变量的。为了提高精度,不仅传感器的数据c以RAW格式读出,而且大多数变量都以实数格式浮点数声明。实际上,PID算法是一个循环。图19.基于PID调节器的机器人平衡算法。遵循在线路上行驶的传统,作为预设值x*,它被用于平衡位置中的光传感器的可变灰度平均指示。新参数scale设置校正动作缩放。事实上,这是削弱系数,因为调节器产生的值对于NXT电机来说太高了。可以将其导入内部已经可用的系数,但对于RobotC,此参数将是另一个,并且是相同的系数。RobotC上的类似示例在各种情况下略有不同。首先,在大约1,4倍以上的这种环境的插入,比在Robolab,因此系数规模有必要增加高速性能NXT。其次,RAW值以正确的顺序传输,并且需要安装电机的反向或简单地提交负校正动作。task main(){public intfindDuplicate = 0; intfindDuplicate =0;float kp=25,ki=350,kd=0.3;float scale=14;float dt=0.001;float p,i=0,d,u;while(true){err=灰色传感器原始数据[S3];p=kp*err;i=i+ki*err*dt;d=kd*(err-errold)/dt;errold=err; u=(p+i+d)/scale;motor[motorB]=u;motor[motorC]=u;wait1Msec(1);}}掌握了这个简单的算法,学童准备解决更具挑战性的任务:稳定的陀螺仪传感器,驱动平衡机器人沿着一条线与两个光传感器,通过蓝牙控制等在2011年秋季,我们的学生参加了第一届俄罗斯比赛的平衡机器人和我们的学园学生已成为赢家。图20.平衡机器人是在初中学习。C包括总之,我们得出的结论是,大学与学园的合作是非常富有成效的。自动控制原理的应用极大地改变了机器人控制的性质。在任何有意义的地方,学童都用监管机构取代传统算法。使用数学来改善控制性能似乎不仅有效,而且非常有趣。R参考值[1] S.A. Filippov , A. L. Fradkov. 基 于 LEGO MindstormsNXT的网络物理实验室-第一步。第三届IEEE系统与控制会议。圣彼得堡,8-10 2009年7月,第1236 -1241页。[2] S.A.Filippov.«Robotics for children and parents» Edited byA.L.Fradkov,2ndEdition,St.Petersburg:Nauka,2011.[3] Filippov S.A.,Fradkov A.L.,安德列夫斯基湾基于LEGO Mindstorms NXT,在大学和高中联合教授机器人和控制。国际会计师联合会第18届世界自动化大会论文集。控制米兰,2011年,pp.9824-9829.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功