没有合适的资源?快使用搜索试试~ 我知道了~
第九届国际会计师联合会控制教育进展国际自动控制联合会,俄罗斯下诺夫哥罗德,2012年控制工程教育借助基于模型的机器人构造集编程工具。罗曼·M 卢钦 ** 俄罗斯圣彼得堡国立大学数学力学系(电子邮件:romilu@mail.ru)翻译后摘要:本报告提出了使用各种编程工具的机器人施工集在不同阶段的控制理论研究的方法。分析了机器人构建集的编程工具,如LEGO® Mindstorms。基于模型的情况下,编程机器人集,它允许更复杂的问题被设置和解决,工具的好处。圣彼得堡国立大学数学力学系的技术应用经验被认为是。关键词:控制教育,基于模型的控制,机器人编程,植物。1. 介绍随着技术的进步,出现了越来越多的复杂工具来解决日益复杂的问题。为了能够迎接新的挑战,我们不仅需要新的理论工具,而且使用新技术工具的必要性也需要新的学习工具和方法。与此同时,提高技术进步的速度需要尽快开始现代技术的研究。通常很容易找到任何工具的必要文档,但不幸的是,由于大量的描述性信息,特定过程的基本事实被掩盖的情况并不少见。换句话说,对问题的数学分析往往被淹没在大量的技术细节和环境中。然而,与此同时,很难看到数学模型和抽象技术在现实生活中的应用,也很难看到对复杂变换的需求。因此,在更新教育方法的同时,还需要制定新的教育方法和使用现代技术。这对于控制理论的教学尤为重要。最近出现了大量的微控制器和自动控制系统。一方面,它强调需要研究技术方面,但另一方面,它进一步强调需要探讨这种系统的一般方面的基本问题。一旦了解了一般原则,就更容易转向技术方面。一般来说,在技术进步的现阶段,使用嵌入式系统来实现控制系统早已成为一种趋势。通常它是一个系统,由一个微控制器和额外的接口来控制设备。有趣的是,每 年 生 产 的 新 CPU 中 约 有 98% 是 嵌 入 式 的 ( Barr ,2009)。据估计,2010年编写的软件代码中有90%都是在这样的系统上编写的(Kai Qian,2009)。嵌入式系统控制器的一个显著示例是机器人构建集LEGO® Mindstorms NXT(LEGO MINDSTORMSNXT2011,矶川 2007年结构足NXT试剂盒97972008年,乐高Mindstorms Wikipedia 2011).除了易于使用,这个建筑集有两个重要的特点,有助于教育过程第一,有机会学习微控制器的编程,第二,更重要的是-有可能创建设计,模拟复杂的解决方案的组件最新的问题(整体复杂设计的各个元素)。然而,这个构造集的大多数编程工具都是针对任务的,虽然技术上很困难,但从理论上看,很简单。它经常发生,因为大量的工程师和程序员的工作,其中一个必须做的,而解决问题。这主要是由于编程工具本身-这些工具的概念和范例不允许高层次的抽象。这反过来又使得不可能直接关注模型和控制的方程。但随着时间的推移,工具正在改进,其中现在有那些实现基于模型的方法来创建控制系统软件的工具。本报告讨论了控制论教育过程的建设和嵌入式控制系统的开发与高级案例工具的问题,以及选择适当的编程工具,这一过程中的问题。1.1任务和工具© 2012 IFAC 425 10.3182/20120619-3-RU-2024.000922012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会426有 几 种 用 于 教 育 目 的 的 构 建 套 件 , 例 如 VEX 或Fischertechnik的构建套件。由于其简单的使用和可用性,LEGO ® Mindstorms NXT在俄罗斯非常受欢迎。本文不描述该构造集的特征。那些希望了解更多信息的人可以在官方网站(LEGO MINDSTORMS NXT 2011)或社区页面(LEGO NXT社区2011)上了解。在俄罗斯,它是最广泛的结构设置,所以它经常在教育中使用。在学校机器人教学的几本书中,有一本书“儿童和家长的机器人”(Filippov,2010 a)可以区分开来,这很有趣,因为它提出了一种使用LEGO ® Mindstorms NXT(这本书有俄语版)“从头开始”进行控制理论,机器人和编程教育的方法。这本书的材料是基于多年的经验,在部分机器人在Lyceum 239圣彼得堡和合作与大学和青年中心的圣彼得堡。此外,有必要注意到Lyceum 239和圣彼得堡国立大学数学和力学系理论控制论系在项目“网络物理实验室”范围内的合作,该项目于2008年在机械工程RAS问 题 研 究 所 的 基 础 上 开 始 ( Filippov , 2009 年 ) 。Filippov,2010 b)。LEGO ®机械零件是许多人从小就熟悉的,并为创造力提供了无限的机会。人们经常可以找到世界各地各种教育机构的学生使用这种结构的例子(Gawthrop,2004。Ferri,2009,Benedettelli,2009. 瓦莱拉2009. Kim,2010年。亚琛大学,2011年)。在大多数情况下,这是学校高年级的学生或一年级的学生。在这种分配中,制造商考虑的最初目标受众及其开发的编程工具发挥了相当大的作用。这反过来又决定了大多数问题的特性,这些问题在控制理论方面通常并不十分复杂。使用乐高积木组创建的建筑的主要部分具有无反馈的程序控制,或简单的继电器或比例控制器(不太常见-比例-微分)。这类问题的例子数不胜数,这里是其中的一些:机器人分拣臂,赛车乐高,卢比奇的立方体求解器。当然,这些问题对于基本了解工程和控制理论的基础知识当然很重要,但对于教高年级学生来说,他们没有兴趣。通常可以注意到,最初的学生在体验其功能和技术特征后对构建集的兴趣显着下降。可能,一个主要原因是相对理论简单的解决问题;基本困难的问题,上述工程和编程的性质与典型的知名算法的解决方案。作为影响未充分探索(或优化)的理论问题的高容量问题的例子,可以服务于:推车上的逆摆的稳定问题,不同类型的摆动的控制,机器人自行车手,一个机器人的球(稳定的建设上的顶部的松散的球),系统的迫害“狮子羚羊”[2],等等,重要的是要注意,这些问题通常是部分更复杂的任务,在花的研究。2. 刀具的分类目前可以分配三组编程工具LEGO ® Mindstorms NXT。应该立即指出,这种分类是任意的,由教育任务决定,只涉及一些工具。更完整的列表可以在Lego MindstormsWikipedia(2011)中找到。但在给出分类之前,有必要考虑固件和虚拟机(VM)的定义。实际上,固件是操作系统(OS),它在NXTBIOS执行结束后接管控制权。通常这个操作系统是某个特定字节码的虚拟机。实际上,它一方面是一个字节码解释器,另一方面是一组驱动程序和硬件命令(图1)。要在这种方案下运行某些程序,需要将其转换为计算机上的字节码,在设备上传输,然后VM形式的OS将一致地执行字节码命令并为硬件生成指令。这种方法足够通用,它没有驱动程序的问题,并且NXT设备上的软件可以自主运行。然而,也有明显的缺点:VM是一个额外的层,它使用的资源比实际需要的多。有一个性能损失,RAM和ROM,增加响应时间.Fig. 1.虚拟机工作方案。从技术上讲,LEGO ® NXT的编程工具可以分为两个不同的集合:1)使用固件(自己的或标准的)的工具,以及2)将程序与自己的microOS链接的工具。根据语法,它们也可以分为两组:1)具有自己的语法或案例工具(可视化编程语言)的工具,2)以标准方法的添加或库形式制作的工具(如C/C++,Java,Matlab ®\Simulink®)。考虑到这些集合的交集,我们区分了三组(图2):1)需要固件的装置,具有自己的程序语言语法(NXT-G,NBC,NXC,RobotC); 2)也需要固件的装置,但具有常 见 的 编 程 语 言 语 法 , 如 C / C++ , Java , Matlab ®Simulink ®(LeJos,RWTH Mindstorms);3)意味着不需要固件工作,并使用常见的编程语言语法,如C / C++,Java,Matlab ® Simulink ®(ECRobot,nxtOsek)。第一组包括:NXT-G-案例-乐高编辑器®基于LabView ®、NBC和NXC - C和类汇编语言。此外,还有一个来自National Instruments的基于LabView的案例工具Robolab。所有这些工具都使用标准固件。RobotC -类C语言,2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会427使用自己的固件。总的来说,这个小组结合了非常适合的设施,为初始编程教学,并为第一次熟悉嵌入式系统。图二.虚拟机工作方案。但事实上,他们每个人都有自己的编程语言,大大限制了使用这些工具的可能性。用稍微复杂一点的计算来解决这个问题,导致需要为这些语言编写自己的计算库。当然,也有由爱好者创建的附加组件,但对这些库的质量和可靠性存在合理的怀疑。第二组的代表,其中包括LeJos(Java for LEGO )和RWTH Mindstorms , 不 具 有 这 样 的 缺 陷 。 RWTHMindstorms是MatLab ®的工具箱,因此具有其所有功能。Java有很多库,但在这里我们必须记住,安装在LEGO ® NXT砖上的ARM 7 CPU既没有大的生产能力,也没有浮点单元。事实也证明,并不是每一个第三方库都可以与LeJos一起使用。RWTH Mindstorms与NXT砖的交互方案完全不同-程序在MatLab ®环境中的计算机上执行,并且仅传输设备控制命令。事实证明,绕过了对程序体积和计算能力的限制。然而,NXT设备依赖于计算机,即失去了工作的自主性。然而,还有另一个重要的缺陷-增加响应时间,因为需要将信息从传感器传输到计算机并等待控制命令。应该注意的是,RWTH Mindstorms固件需要在NXT设备上运行一个为标准固件编写的特殊程序。凭借其所有的特点,RWTH头脑风暴是一个方便的方式来解决问题的初中学生。实际上,它是为亚琛技术大学(德国)的教育目的而设计的(Behrens 2009; Behrens etal 2011)。最大的兴趣是第三组,其中包括nxtOSEK和嵌入式编码机器人NXT(ECRobot)。nxtOSEK -一组C/C++库,包含LEGO ® NXT设备控制函数。程序由GCC编译器和GNUARM工具链编译。每个程序都与实时操作系统OSEK的内核相连,设计用来控制微控制器的内燃机。这是由nxtOSEK创建的程序,不需要固件工作,所以它运行得更快,而不必下载未使用的驱动程序和节省内存。ECRobot软件包是nxtOSEK上的一个正式的悬挂,并提供了在案例工具Simulink ® \ MATLAB ®中使用它的机会。使用MATLAB ® - Real-Time Workshop Simulink ® -软件包将图表翻译成C语言,然后使用nxtOSEK将此代码编译成三种类型的二进制文件(用于启动程序的三种方式)。ECRobot软件包能够使用整数模拟浮点运算(定点运算),因此我们可以说它具有MatLab ®\Simulink ®的所有功能,创建了一个独立的可执行、小而高效的程序。但是这个包的主要特征是在这个包中实现的一个范例-基于模型的设计。3. 基于模型的设计最初的术语基于模型的设计(MBD)可以定义为基于用于仿真的模型自动生成程序的技术。它几乎已经成为一个标准,建立仿真模型的调节器的开发过程中,一系列的实验过程中,控制算法的验证和确认。MBD的主要思想是使用控制器模型不仅用于仿真,而且用于针对控制设备的程序代码生成。如果有能力从设备中读取真实生活实验的数据,它可以用来恢复系统的内部状态,这反过来又可以用来进一步改进调节器的模型。因此,在开发过程中我们是沿着链条前进的,这就形成了一个螺旋式的开发过程:模拟→代码生成→实验→数据分析 →Imprevemnt 外来资产 西木拉提翁m→odelcod egeneration.图三.控制系统设计过程的v模型。使用这种方法,原来源代码是由模型自动生成的。这允许程序的设计保持在一个非常高的抽象级别-模型的级别(图3),并且还可以开发2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会428软件自动“自上而下”。应该注意的方法的一些其他好处包括:在控制系统设计中早期检测错误,减少设备上的负载,通过仿真检查性能,更容易优化模块之间的交互,自动代码生成节省时间并消除语义错误。4. 个学习MBD范式允许最大限度地关注程序的数学内容,消除设计过程中可能的(合理的)技术细节。这无疑是向前迈出的重要一步:10年前,这种工具的可能性似乎是一个遥远的未来。图三.学习的阶段但在学习的不同阶段,重要的是使用不同的方法来制定问题,并使用各种工具来解决它们。再次必须强调的是,在学习过程的开始,作为问题被要求采取“简化”制定有意义的数学问题。请注意,当遇到嵌入式系统编程和管理理论基础时,使用NXT-G,NXC和NBC等软件仍然没有意义,因为它们是为学生设计的。为了探索机器人系统的控制,亚琛工业大学(RWTH Aachen TechnicalUniversity)(2011年)开发了一套RWTH MindstormsNXT(每年约有360名本科生参加LEGO ® NXT机器人研讨会)。用“简化”的措辞解决问题很方便。但迟早会有技术上的困难,其解决方案将不得不改变问题,“完善理论”(使用新的数学仪器),并实现一个解决方案,技术上更先进的工具(见图2)。例如,它出现0.1秒的延迟是重要的稳定的钟摆,这是在LEGO ® NXT实现的后面,它必须考虑在设计控制和最小化的程序编写时,做后者在RWTH几乎是不可能的。因此,改变了问题(延迟)和软件(因为RWTH延迟器不再适用)。这种方法的目的是给学生一个实际的例子,需要使用更复杂的数学仪器,以表明最初的“天真”的解决方案并没有得到令人满意的结果。因此,另一个目的是介绍一种通用的嵌入式系统编程技术。开发基于MBD的应用程序的原则,如ECRobot软件包所利用的原则,被诸如National Instruments和dSpace等公司使用,这些公司在嵌入式控制系统开发工具市场上占据领先地位。可以在教育过程中使用这些公司使用的方法。在熟悉ECRobot NXT之后,这个过程中的下一个合乎逻辑的步骤是试验技术上更复杂的支架。5. 范例的实施上述方法在圣彼得堡国立大学数学和力学系与学生一起进行“网络物理实验室”项目时进行了测试(该项目是基于Lyceum 239,理论控制论和系统编程数学和力学系圣彼得堡国立大学机械工程RAS问题研究所的基础上的合作)(Filippov,2010年b)。项目参与者参加了许多会议,并出版了20多本出版物。在四月的教育和学校和圣高中的合作过程中的下一个线圈-“赛博物理实验室”中的彼得堡走到了尽头。传统上,每个这样的阶段都以一个名为“机器人秀”的小型娱乐节目结束,庆祝数学和力学学院SPbSU的日子。这次展览是对学生作品进行认可和讨论的第一步。然后,在所做工作的基础上,学生们正在为会议和期刊准备文章,在技术展览会上演示。并在平行的准备文章,他们继续他们的研究和研究工作,在俄罗斯科学院机械工程问题研究所进行实际培训,在下一个学期。目前,在该计划下接受培训的学生参加了许多俄罗斯会议和展览,应该指出的是,他们参加了2009年第三届IEEE系统与控制会议和第50届IEEE决策与控制会议以及欧洲控制会议。见Yakubovich V. A. (2011年)。另外,必须说的方向,在开发的课程的基础上扩展-在可访问的游戏形式中研究人工智能问题。这种形式是一个机器人足球。大量的当代问题可以在这种智力游戏的基础上进行研究。但这提出了开发新的教育摊位和工具的问题。而更详细的描述将在单独的文章中进行。值得注意的是,在数学和力学系,已经开发了新的工具QReal(2011)和Embox(2011)(Terekhov,2009),可以用来编程LEGO ® NXT和其他建筑套件。与现有的工具相比,QReal和Embox更通用,更有效,并实现了几种方法,2012年6月19日至21日,俄罗斯下诺夫哥罗德,国际会计师联合会第九届研讨会429嵌入式系统编程,包括基于模型的。它们共同代表了机器人教学和编程的一致解决方案。有了它,人们可以更新教育的方法和过程,这必将有助于大学和学校的融合。工具越有效、越简单,越早有机会接触它们,就越容易集中精力研究控制理论的问题,解决控制论的问题(如N.维纳(1948年),现代控制论之父),即有可能提高教育过程到一个新的水平。6. 结论可能是理想的研究方法,既可以说明和兴趣是一块哲学家的石头,但概述的方法是朝着这个方向迈出的一步。正如我们所看到的,它通过增加学生作品的数量和质量来产生效果。这种方法也很有趣,因为它可以更准确地实现西摩·派普特的想法-著名的心理学家和语言徽标的创造者,他的书有 趣 的 是 , 在 圣 彼 得 堡 的 物 理 和 数 学 Lyceum 239 与SPbSU合作,这种方法正在使用,但是,在学生理解工具的帮助下,例如早期阶段的RoboLab和后期阶段的RobotC。它继续给出许多结果。引用巴尔河(2009年)。《C语言编程的真正男人》//嵌入式系统设计。联合商业媒体. P. 二、.贝伦斯A.,阿托夫湖,施耐德·D和Aach T.(2011年)。“使用MATLAB和乐高头脑风暴进行新生教育的关键因素”。智能机器人及其应用国际会议(ICIRA),计算机科学讲义。第7101卷,553-562,Springer。贝伦斯河(2009年)。MATLAB遇到LEGO Mindstorms-一门实用工程的新生入门课程。/ A。Behrens等//IEEE Transactions on Education.卷52.Benedettelli,D.; Casini,M.; Garulli,A.; Giannitrapani,A.; Vicino,A.(2009年)。多智能体系统的LEGOMindstorms 实 验 装 置 //Proc. IEEE Conf. ControlApplications,Intelligent Control,IEEE,1230-1235CONSTRUCTOPEDIA NXT Kit 9797(2008)。测试版2.1.塔夫茨大学工程教育推广中心。.维基百科,自由的百科全书(2011)费里湾H、Ahmed S,Michaels J. E.等(2009年)。使用LEGO Mindstorms NXT套件进行信号处理实验,用于信号与系统课程//Proc. American Control Conference,St. Louis,USA,3787-3792.Filippov S.A.(2010年a)。机器人为孩子和父母圣彼得堡:科学Philippov SA,Fradkov A. L.(2010年b)。乐高机器人在机电一体化和自动化培训的学校和大学。/ /第七届科学技术会议。“机电一体化、自动化、控制”(MAC-2010),SSC RF JSC“Concern”CRI“Electrodevice”,圣彼得堡,49-52。菲利普·S一、弗拉德科夫河L.(2009年)。基于LEGOMindstorms NXT的网络物理实验室-第一步。第三届IEEE系统与控制会议。7月8日至10日,圣彼得堡Isogawa Yoshihito(2007). LEGO Technic Tora no Maki.版本1.00,矶川工作室,Inc. .Gawthrop,P.,麦古金(2004年)。基于LEGO的控制Experiment// IEEE IEEE IEEE. 系统麦格 /Vol. 24、N.五,43-56.钱凯,刘继刚,陶立新(2009)。实时嵌入式系统在线教学。/ ACM New York,NY,USA.Kim Y.(2010年)。使用LEGO Mindstorms NXT电机系统的控制系统实验室//第18届IEEE地中海控制自动化会议,173-178。02 The Dog(2011). 乐高头脑风暴维基百科(2011)。。QReal官方网站(2011).亚琛工业大学(2011年)。Lehrstuhl fürBildverarbeitung.MATLAB与LEGO Mindstorms相遇捷列霍夫河N.,布莱克斯河A,Litvinov Y.等人(2009).可视化建模环境QReal的体系结构。//系统编程四号。圣彼得堡。圣彼得堡国立大学,171-196。Valera , A.; Valles , M.; Fernandez , A.; Albertos , P.(2009年)。基于LEGO Mindstorms NXT机器人的机电一体化实际工作开发平台//控制应用智能控制,IEEE,1224-1229。维纳河(1961年)。《控制论:动物与机器中的控制与沟通》(Cybernetics:Or Control and Communicationin the Animal and the Machine ) Paris , ( HermannCie). 1948.坎布马萨诸塞州(MIT出版社:2nd reviseded ed.Yakubovich V. A.,Melnikov A.,Proskurnikov A.,卢钦河(2011年)。信号不变性和自主轮式机器人的轨迹转向问题//第50届IEEE决策与控制会议和欧洲控制会议。
下载后可阅读完整内容,剩余1页未读,立即下载
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)