一种基于脚本和插件的可扩展机器人示教器制造技术

技术编号:15690570 阅读:49 留言:0更新日期:2017-06-24 03:04
本发明专利技术提供了一种基于脚本和插件的可扩展机器人示教器,包括基础模块和插件库模块;基础模块,用于以脚本文件的形式添加或修改插件库模块中的各个功能插件,并与机器人控制器进行指令和状态通信;插件库模块,用于为基础模块提供一个或多个功能插件。该示教器采用基础模块和插件库模块的组合配合,增强了示教器软件的开发灵活度,降低开发工作量,还能够让用户自己开发功能包,具有较好的使用灵活性。

An extensible robot teaching device based on scripts and plug-ins

The invention provides a script and pluginscalable robot teaching is based on, including basic module and plug-in library module; basic module, used to add or modify each function plugin library module in the form of a script file, and directives and communication with the robot controller; a plug-in module, or multi function plug-ins for providing the basic module. The combination of the teaching device using the basic module and plug-in library module with enhanced teaching device software development flexibility, reduce the workload, but also allows users to develop their own function package, with good flexibility.

【技术实现步骤摘要】
一种基于脚本和插件的可扩展机器人示教器
本专利技术涉及一种机器人示教器,尤其是一种基于脚本和插件的可扩展机器人示教器。
技术介绍
工业机器人指的是在控制下智能完成预设工作的多关节或者多自由度的机器装备。工业机器人相比于人,具备成本低,效率高,可以克服恶劣环境等优点。目前,工业机器人已经在汽车制造,电子,橡胶塑料,军工,航天制造,食品工业,医药设备,金属制品等领域得到应用。工业机器人包括三个部分:机器人本体、控制器和示教器。示教器是人机交互设备,监测系统状态,以及收发控制指令。面对机器人的多应用领域,多工作方式和用户的需求多样化,需要开发多个版本的示教器程序。示教器软件的开发效率较低,软件版本多,难以管理,并且不能及时满足用户需求。
技术实现思路
本专利技术要解决的技术问题是现有的示教器通用性差,难以满足不同版本之间的普适应用,软件升级效率低,可扩展性差。为了解决上述技术问题,本专利技术提供了一种基于脚本和插件的可扩展机器人示教器,包括基础模块和插件库模块;基础模块,用于以脚本文件的形式添加或修改插件库模块中的各个功能插件,并与机器人控制器进行指令和状态通信;插件库模块,用于为基础模块提供一个或多个功能插件。作为本专利技术的进一步限定方案,基础模块包括通信子模块、脚本初始化子模块、主界面子模块、指令收发子模块以及状态显示子模块;通信子模块,用于与机器人控制器建立通信和心跳监测,并定时获取机器人控制器的运行状态;脚本初始化子模块,用于配置脚本文件的运行环境,注册函数到脚本文件的运行环境中,从而在脚本文件中调用注册的函数实现功能插件的加载,同时还连接功能插件与机器人控制器的信号和槽,实现功能插件与机器人控制器的函数调用;主界面子模块,用于提供通信子模块和脚本初始化子模块的接口,并读取各个功能插件的脚本文件;指令收发子模块,用于设置示教指令并将示教指令发送给机器人控制器,或者接受机器人控制器发送的反馈指令,并解析出反馈指令的内容;状态显示子模块,用于在主界面子模块上刷新显示机器人控制器的运行状态。作为本专利技术的进一步限定方案,功能插件为基础功能插件和/或自定义功能插件。作为本专利技术的进一步限定方案,基础功能插件为工程管理插件、程序编辑插件和/或数据管理插件。本专利技术的有益效果在于:采用基础模块和插件库模块的组合配合,增强了示教器软件的开发灵活度,降低开发工作量;采用自定义功能插件能够让用户自己开发功能包,增强了示教器的使用灵活性。附图说明图1为本专利技术的示教器整体框架;图2为本专利技术的示教器基础模块组成;图3为本专利技术的自定义功能插件创建流程;图4为本专利技术的插件通信机制。具体实施方式如图1-3所示,本专利技术公开的基于脚本和插件的可扩展机器人示教器,包括基础模块和插件库模块;基础模块,用于以脚本文件的形式添加或修改插件库模块中的各个功能插件,并与机器人控制器进行指令和状态通信,将用户需要的状态显示到主界面上或者插件上。插件库模块,用于为基础模块提供一个或多个功能插件。基础模块包括通信子模块、脚本初始化子模块、主界面子模块、指令收发子模块以及状态显示子模块;通信子模块,用于与机器人控制器建立通信和心跳监测,并定时获取机器人控制器的运行状态;脚本初始化子模块,用于配置脚本文件的运行环境,注册函数到脚本文件的运行环境中,从而在脚本文件中调用注册的函数实现功能插件的加载,同时还连接功能插件与机器人控制器的信号和槽,实现功能插件与机器人控制器的函数调用;主界面子模块,用于提供通信子模块和脚本初始化子模块的接口,并读取各个功能插件的脚本文件;指令收发子模块,用于设置示教指令并将示教指令发送给机器人控制器,或者接受机器人控制器发送的反馈指令,并解析出反馈指令的内容;状态显示子模块,用于在主界面子模块上刷新显示机器人控制器的运行状态。功能插件为基础功能插件和/或自定义功能插件;基础功能插件为工程管理插件、程序编辑插件和/或数据管理插件。本专利技术公开的基于脚本和插件的可扩展机器人示教器,采用基础模块加功能插件的软件架构开发示教器,并采用脚本文件灵活添加,修改功能插件和机器人指令,状态。基础模块为最基本的示教器软件包,具备加载各功能插件,与控制器通信,设置和显示控制器状态和命令的功能。基础模块还提供系统状态,数据管理类的指针给所有功能插件。采用脚本文件灵活配置功能插件,指令和状态,是在脚本中通过函数实现功能插件的加载,功能插件之间的通信,动态配置指令和状态结构。示教器升级或者用户自己开发,只需要开发功能插件,并在状态脚本和指令脚本中添加就可以实现示教器升级。如图1和2所示,示教器由基础模块和功能插件组成。基础程序包括通信子模块、脚本初始化子模块、主界面子模块、指令收发子模块以及状态显示子模块。主界面子模块用于搭建基本的程序框架,可以提供和通信模块的接口和脚本接口,读取脚本文件,并且动态显示界面。通信子模块用于建立通信和心跳监测,定时获取控制器状态,收发指令。脚本初始化子模块用于配置脚本运行环境,注册需要的函数到脚本环境中,在脚本中可以调用注册的函数,实现插件的加载,连接插件与主程序的信号和槽,实现插件与主程序的函数调用。指令收发子模块,用于设置示教指令格式,并将示教指令发送给控制器,或者接受控制器发送的反馈指令,并解析出反馈指令的内容;示教指令和反馈指令均可以通过脚本文件动态添加或修改。状态显示子模块,用于显示系统各个状态,将关键状态和主界面子模块连接,刷新状态信息。本专利技术采用的插件开发示教器程序的方式,相当于将整个示教器程序作为一个整体,更加便于开发和维护,而且在不需要动原示教器程序的基础上,可以自定义插件,放到示教器程序中。插件开发首先需要让应用程序感知插件。插件就是实现了一个或者多个接口的动态库。接口就是由专有的纯虚函数组成的类。这些纯虚函数实现了基础程序和插件的通信。因此要实现插件,首先需要让基础程序能够利用接口来使用插件。然后再创建插件。然后再为基础模块创建接口类。接口类必须包含一个纯虚析构函数,再根据基础程序的需求,添加多个纯虚函数。这些纯虚函数实现插件和主程序的通信。最后使用Q_DECLARE_INTERFACE()宏使这个接口与一个关联符联系起来。自定义功能插件的创建流程如图3所示,插件就是上面定义的接口类子类。在插件中实现接口类中定义的虚函数。在用Qt创建库工程后,需要修改文件。首先就是修改头文件,插件类必须继承接口文件,为继承的接口使用Q_INTERFACE()宏。并声明接口函数,在cpp文件中实现接口函数,在cpp文件最后加上Q_EXPORT_PLUGIN2(),让插件可以被应用程序使用。接口函数实现主程序和插件的通信,将主程序中的系统状态指针传递给插件,插件也可以将插件中的指针传递给主程序。另一个实现插件通信的方式是Qt的信号和槽机制,如图4所示。各插件提供出各自的信号和槽,用户只需要在脚本文件中connect信号和槽实现通信。编译共享库后会生成一个库文件,将库文件拷贝到主程序所在目录下使用。示教器程序会被分成多个插件,包括工程管理插件、程序编辑插件、数据管理插件等。工程管理插件用于显示,编辑当前系统下的所有工程。程序编辑界面用于显示被加载的程序的指令列表,并且可以对指令进行编辑,查看。数据管理插件用于显示,编辑当前工程下的所有本文档来自技高网...
一种基于脚本和插件的可扩展机器人示教器

【技术保护点】
一种基于脚本和插件的可扩展机器人示教器,其特征在于:包括基础模块和插件库模块;基础模块,用于以脚本文件的形式添加或修改插件库模块中的各个功能插件,并与机器人控制器进行指令和状态通信;插件库模块,用于为基础模块提供一个或多个功能插件。

【技术特征摘要】
1.一种基于脚本和插件的可扩展机器人示教器,其特征在于:包括基础模块和插件库模块;基础模块,用于以脚本文件的形式添加或修改插件库模块中的各个功能插件,并与机器人控制器进行指令和状态通信;插件库模块,用于为基础模块提供一个或多个功能插件。2.根据权利要求1所述的基于脚本和插件的可扩展机器人示教器,其特征在于:基础模块包括通信子模块、脚本初始化子模块、主界面子模块、指令收发子模块以及状态显示子模块;通信子模块,用于与机器人控制器建立通信和心跳监测,并定时获取机器人控制器的运行状态;脚本初始化子模块,用于配置脚本文件的运行环境,注册函数到脚本文件的运行环境中,从而在脚本文件中调用注册的函数实现功能插件的加载,...

【专利技术属性】
技术研发人员:王超宋方方魏永帅
申请(专利权)人:南京埃斯顿机器人工程有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1