论文部分内容阅读
本研究以“高档数控机床与基础制造装备”国家重大科技专项“15kg喷涂机器人成套装备”项目为背景,针对现有机器人离线编程系统存在问题与技术发展方向,设计并开发了用于机器人离线编程通用平台系统的可扩展的机器人中间语言系统。 本文首先分析研究了国内外机器人离线编程系统的发展近况以及机器人语言的研究现状,分析了机器人编程语言系统的应用需求。在此基础上,借鉴计算机高级语言的结构特点,针对本课题组开发的机器人离线编程与仿真通用平台,设计了一种通用的、功能灵活的、易于扩展的机器人中间语言。此语言力求拥有较完善的数学和逻辑体系,以及基本的数据结构和程序结构,解决课题组现有的中间语言方案在数据结构、数学与逻辑运算、控制结构等诸多方面的缺陷和功能难以扩展的缺点。针对上述的机器人中间语言,研究开发了相应的语言解释执行系统,该系统由词法分析系统、语法分析系统和语义解释执行系统构成。本文设计了基于正则表达式描述的机器人中间语言词法规则,由词法规则文件生成不确定有穷自动机模型,再优化为状态数最少的确定有穷自动机模型。词法分析系统接受机器人中间语言源代码,并输出词法单元,交给语法分析系统处理。然后,本文设计了基于上下文无关文法描述的语法规则,由语法规则文件生成LR项集族,并利用自底向上的LR语法分析技术将其转换为语法分析表,语法分析系统接受词法单元,输出语法分析树,交给语义解释执行系统处理。语义解释执行系统通过将语法分析系统输出的语法树解释并转化为机器人离线编程通用平台中的机器人作业任务的方式,来完成语义解释执行的过程。本文为语义解释执行系统设计实现了较丰富的类型系统和作用域独立的符号表机制,功能上支持多样化的声明和初始化方式以及控制流语句的跳转功能,还开发了错误处理系统和简单的调试辅助功能。为了让中间语言的词法和语法系统更加具有扩展性,词法分析器和语法分析器部分的代码被设计得比较结构化、样板化和过程化,这样不同代码模块之间完全隔离,损失了代码可读性,却非常利于代码的自动化生成。基于这样的设计,本文采用元编程的方式来根据词法和语法规则自动构造词法和语法分析器的代码。一旦词法和语法规则配置文件发生变化,词法和语法分析器的代码也会重新生成。 本文设计实现的机器人中间语言系统,最终应用于课题组多年来研发的“ROBOLP机器人离线编程与仿真通用平台”系统,并在实际的机器人仿真作业场景下加以验证。利用本语言系统的诸多特性,非常快速的利用语言中内置的数学函数描述了一些复杂的作业轨迹,并实现其作业算法,代码简练清晰,易于调试。而在此之前,这样的复杂轨迹难以示教获得,一般通过为其开发特定的轨迹规划的软件来实现。因此,本文开发的系统,可提高离线编程的效率,使得用户能够编程实现更复杂的机器人作业任务,能有利于推进自主研发的机器人离线编程系统的商品化应用。