一种基于机器人图形化编程开发的方法

文档序号:10488760阅读:164来源:国知局
一种基于机器人图形化编程开发的方法
【专利摘要】一种基于机器人图形化编程开发的方法,基于Visual Studio 2012开发,图形化编程模块在Windows操作系统环境下显示为图形化编程界面,图形化编程界面左侧为部件库;进行图形化编程前,首先将选择的部件库拖入图形化编程界面,再对每个部件库的控制器与接口进行连接、属性设置匹配,待每个部件库的控制器与接口设置匹配成功后,图形化编程模块才能生成正确的图形化编程程序;并通过可视化交互式仿真环境模块搭建可视化交互式仿真环境,根据图形化编程模块编程进度实时在图形化编程界面显示当前工作状态。本发明交互式操作便捷,具备良好的应用性和兼容性,编程开发门槛低有利于更多人员投入编程开发,同时减少了项目开支。
【专利说明】
一种基于机器人图形化编程开发的方法
技术领域
[0001]本发明涉及机器人编程技术领域,尤其涉及一种基于机器人图形化编程开发的方法。
【背景技术】
[0002]当今,机器人控制程序的花费在整个机器人应用系统预算中占据了很大的比例;而随着低成本开发平台变得日益唾手可得,人们将机器人用于教育与家庭服务也在不断增加,在这个过程中,开发环境也随着机器人的发展而发展。开发环境如今正在不断提升自己的应用性和兼容性,一个好的开发平台可以完成机器人开发的大部分工作,包括程序设计、虚拟测试、驱动设置等。然而在目前的机器人行业生产和开发过程中,依然存在以下问题:
1.没有统一的平台和标准
不同公司按照不同的标准和技术路线生产和开发机器人设备,而生产的机器人设备只能适合本公司开发的操作平台,不同公司之间的机器人设备及操作平台互不兼容;
2.门槛过高及重复设计
对于机器人的初学者而言进入的门槛过高,每一个开发人员都要从底层硬件入手再上升至上层的控制程序,大量的人力物力消耗在了重复的设计中。

【发明内容】

[0003]本发明所解决的技术问题在于提供一种基于机器人图形化编程开发的方法,以解决上述【背景技术】中的缺点。
[0004]本发明所解决的技术问题采用以下技术方案来实现:
一种基于机器人图形化编程开发的方法,在Windows操作系统环境下,基于VisuaIStud1 2012开发,包括如下模块:
1)图形库管理模块
对图形化编程所需的部件库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”,部件库包括人机交互库、驱动库、控制器库、图形库、传感器库,且每个部件库分别设置有控制器;
对图形化编程所需的文字库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对图形化编程所需的图形库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对图形化编程所需的算法库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对可视化交互式仿真环境模块的可视化交互式仿真环境文件进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除,,、“编辑”、“保存”;
2)图形化编程模块在Windows操作系统环境下,图形化编程模块显示为图形化编程界面,图形化编程界面左侧为部件库;在进行图形化编程前,首先将选择的部件库拖入图形化编程界面,再对每个部件库的控制器与接口进行连接、属性设置匹配,待每个部件库的控制器与接口设置匹配成功后,图形化编程模块才能生成正确的图形化编程程序;
3)可视化交互式仿真环境模块
搭建可视化交互式仿真环境,结合图形化编程模块以完成机器人图形化编程的仿真,并根据图形化编程模块编程进度实时在图形化编程界面显示当前工作状态,以实现仿真;
基于机器人图形化编程的具体步骤如下:
①开始
在图形化编程界面点击开始;
②部件库拖拽
在图形化编程界面的部件库中选择所需的部件,并将所选的部件拖入图形化编程界面,同时设置所选的部件与控制器的接口属性进行接口类型匹配以实现相互连接,若接口不匹配,则该部件无法连接,若接口匹配成功,所选的部件控制器调用函数进行连线绘制操作;当所选的部件连接成功后,对所在部件库的控制器设置机器人编号;
③生成C程序
点击图形化编程界面的生成C程序菜单项时,控制器根据错误类型弹出相应的警告,提示进行属性设置操作,并中断生成程序的操作,待完成控制器接口属性设置后,图形化编程模块才能生成正确的图形化编程程序,对于完成图形化编程的图形,点击图形化编程界面的文件/保存菜单可对图形进行保存,保存为xml文件后,生成库函数并封装;
部件库中每个部件下均封装有与其对应的程序,控制器模块在部件库中创建时根据其接口属性编写有主框架控制程序,该主框架控制程序用于实现对各个控制器接口功能调用;同样其他部件在部件库中创建时同时编写自身的程序,程序名称、函数名称根据部件的命名来获得;当图形化编程完成时,各个部件与控制器通过接口连接,生成C程序时首先根据当前打开的图形,收集当前打开的图形关键信息保存在NewPr0.xml文件中,根据该xml文件和控制器创建时的主框架控制程序,将生成对应的Windows程序和Linux程序,并在两个程序区中显示;
④保存C程序
当对生成的C程序进行编辑后需保存时,可进行此操作;此保存的是当前生成的C程序,故将保存至该程序的路径和文件名下,没有提供另存的功能,因此重新编辑程序时需注意,不能随意修改图形化编程自动生成的C程序;
⑤编译与连接
此工序负责将图形化编程生成的Windows程序编译并连接生成可执行程序,在此过程通过调用开源软件MinGW(Minimalist GNU on Windows)实现调试;
同时在此编译与连接过程中,该主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成编译与连接操作;此过程中生成的C程序为主程序即main.cpp,在编译与连接时调用其他部件的程序,其他部件的程序所在路径需通过NewPr0.xml文件获取,而后采用参数-1指定编译;
⑥交叉编译与连接将主框架控制程序生成的Linux程序通过交叉编译与连接生成可在嵌入式计算机上运行的可执行程序,具体执行是:触发Acobuild命令,获取Linux程序名称和头文件路径,再解析Linux程序名称和头文件路径,而后控制器通过解析主框架控制程序的Linux程序向交叉编译器传送Acobui Id命令,以生成可执行程序;
对Linux程序进行交叉编译,在此过程中,Linux主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成交叉编译操作;交叉编译操作利用匿名通道与交叉编译器实现数据的重定向,在生成可执行程序的过程中提示有错误或警告时,此信息均在图形化编程界面的输出窗口中显示;交叉编译正确后则生成main文件,该文件可在嵌入式Linux目标ARM板上运行的可执行程序;
⑦程序下载
当Linux程序在交叉编译与连接生成可执行程序后,经网络下载到嵌入式计算机,至此编程完毕;
编写完毕的程序可通过串口通讯传输至单片机以储存,或通过可视化交互式仿真环境模块的搭建可视化交互式仿真环境,实现仿真再现。
[0005]在本发明中,控制器的接口属性包括1^8、1^代^打。
[0006]在本发明中,图形关键信息包含控制器程序、控制器接口、控制器属性、接口连接状态、接口连接部件程序。
[0007]在本发明中,步骤⑤)中,编译与连接工序将图形化编程生成的Windows程序编译并连接生成的可执行程序格式为*.exe。
[0008]在本发明中,步骤⑤)中,编译与连接工序中调用开源软件MinGW(Minimalist GNUon Windows)实现调试,同时采用-g命令配合-ο命令,直接作用于源源程序,即Windows程序main.cpp文件,并指定输出文件,即main.exe文件,由此编译并连接生成载有调试信息的可执行程序。
[0009]在本发明中,步骤⑥)中,交叉编译器基于ARM架构的Linux系统,可用于编译ARM架构的u_boot、Linux内核、Iinux应用。
[0010]在本发明中,图形化编程模块基于TCP/IP的Socket编程方式,图形化开发环境为客户端,客户端触动OnAccept,将可执行文件内容读取并通过网络传送,ARM板上运行有服务器用于接收该文件,并写入至一个可执行文件中,从而实现程序下载;Socket编程的IP地址为本机的IP地址,端口号固定为8888,客户端程序的IP地址、端口号与本机的IP地址、端口号相同,连接成功后,选择Linux程序生成的可执行文件,即可进行程序下载。
[0011]有益效果:
1、本发明用户界面友好,交互式操作便捷,应用性好;
2、本发明有效降低了机器人编程开发的进入门坎,有利于更多人员投入到机器人开发中;
3、本发明基于TCP/IP的Socket编程,具备良好的兼容性,有利于促使不同厂家机器人设备及操作平台相互兼容,以降低生产成本;
4、本发明有效减少软件工程师的工作量,同时减少项目开支。
【附图说明】
[0012]图1为本发明的较佳实施例项目总体组成图。
[0013]图2为本发明的较佳实施例部件库界面图。
[0014]图3为本发明的较佳实施例图形化编程流程图。
【具体实施方式】
[0015]为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。
[0016]一种基于机器人图形化编程开发的方法,在Windows操作系统环境下,基于VisualStud1 2012开发,包括如下模块:
1)图形库管理模块
对图形化编程所需的部件库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”,部件库包括人机交互库、驱动库、控制器库、图形库、传感器库;
对图形化编程所需的文字库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对图形化编程所需的图形库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对图形化编程所需的算法库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”;
对可视化交互式仿真环境模块的可视化交互式仿真环境文件进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除,,、“编辑”、“保存”;
2)图形化编程模块
在Windows操作系统环境下,图形化编程模块显示为图形化编程界面,图形化编程界面左侧为部件库,部件库内包含图形化编程所需的图形库,该图形库不能在图形化编程界面下编辑,已在图形库管理模块/部件库中编辑并保存;在图形化编程界面下,只能选择部件库中的部件进行拖拽以完成连接工作;进行图形化编程时首先将选择的部件库拖入图形化编程界面,在对每个部件库的控制器与接口进行连接、属性设置;当接口不匹配时,则该部件无法连接,若接口匹配成功,控制器调用函数进行连线绘制操作;当部件库拖入控制器但没有设置属性时,控制器自动识别出错误;点击生成C程序菜单项时,控制器根据错误类型弹出相应的警告,提示进行设置操作,并中断生成程序的操作;待完成每个部件库的控制器与接口设置后,图形化编程模块才能生成正确的图形化编程程序,本实施例采用C++语言,对于完成图形化编程的图形,点击文件/保存菜单可对图形进行保存,保存为xml文件后,生成库函数并封装;
图形化编程模块菜单主要是在通过对部件库中部件选择、拖拽、连接、设置属性一系列工序完成图形化编程预备工作后,再进一步完成图形化编程的后续工作,后续工作包括生成C程序、保存C程序、编译与连接、交叉编译与连接、程序下载;
3)可视化交互式仿真环境模块
搭建可视化交互式仿真环境,结合图形化编程模块以完成机器人控制系统的仿真,并根据图形化编程模块编程进度实时在图形化编程界面显示当前工作状态,以实现仿真。
[0017]在本实施例中,图形化编程具体步骤如下: ①开始
在图形化编程界面点击开始;
②部件库拖拽
在图形化编程界面的部件库中选择所需的部件,并将所选的部件拖入图形化编程界面,同时设置所选的部件与控制器的接口属性进行接口类型匹配以实现相互连接,接口属性包括USB、Uart、Wifi等,若接口不匹配,则该部件无法连接,若接口匹配成功,所选的部件控制器调用函数进行连线绘制操作,同时对所选的部件库控制器设置机器人编号;当部件拖入图形化编程界面但没有设置属性时,控制器自动识别出错误;
③生成C程序
点击图形化编程界面的生成C程序菜单项时,控制器根据错误类型弹出相应的警告,提示进行属性设置操作,并中断生成程序的操作,待完成属性设置后,图形化编程模块才能生成正确的图形化编程程序,本实施例采用C++语言,对于完成图形化编程的图形,点击图形化编程界面的文件/保存菜单可对图形进行保存,保存为xml文件后,生成库函数并封装;部件库中每个模块下均封装有与其对应的程序,控制器模块在部件库中创建时根据其接口属性编写有主框架控制程序,该主框架控制程序用于实现对各个控制器接口功能调用;同样其他部件在部件库中创建时同时编写自身的程序,程序名称、函数名称根据部件的命名来获得,需严格按照图形化编程所需的部件库管理方法创建部件;当图形化编程完成时,各个模块与控制器通过接口连接,生成C程序时首先根据当前打开的图形,收集当前打开的图形关键信息保存在NewPr0.xml文件中,该xml文件包含控制器程序、控制器接口、控制器属性、接口连接状态、接口连接部件程序等信息,根据该xml文件和控制器创建时的主框架控制程序,将生成对应的Windows程序和Linux程序,并在两个程序区中显示;
④保存C程序
当对生成的C程序进行编辑后需保存时,可进行此操作;此保存的是当前生成的C程序,故将保存至该程序的路径和文件名下,没有提供另存的功能,因此重新编辑程序时需注意,不能随意修改图形化编程自动生成的C程序;
⑤编译与连接
此工序负责将图形化编程生成的Windows程序编译并连接(-ο命令)生成可执行程序(*.exe),在此过程通过调用开源软件MinGW(Minimalist GNU on Windows)实现,-g命令可产生本机格式的调试信息,并通过调试器GDB处理调试信息并进行调试;在本实施例中,采用-g命令配合-ο命令,直接作用于源源程序,S卩Windows程序main.cpp文件,并指定输出文件,即main.exe文件,由此编译并连接生成载有调试信息的可执行程序;
在编译与连接过程中,该主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成编译与连接操作;此过程中生成的C程序为主程序即main.cpp,在编译与连接时调用其他部件的程序,其他部件的程序所在路径需通过NewPr0.xml获得,而后采用参数-1指定编译;
⑥交叉编译与连接
将主框架控制程序生成的Linux程序通过交叉编译连接生成可在飞思卡尔1.MX6Q嵌入式计算机上运行的可执行程序,具体执行是:触发Acobuild命令,获取Linux程序名称和头文件路径,再解析Linux程序名称和头文件路径,而后控制器通过解析主框架控制程序的Linux程序向交叉编译器传送Acobui Id命令,以生成可执行程序;对于交叉编译器,采用基于GCC、使用Gl i be库、经过Code sour eery公司优化过推出的编译器arm-none-l inux-gnueab1-gee,此交叉编译器用于基于ARM架构的Linux系统,可用于编译ARM架构的u-boot、Linux 内核、Iinux 应用;
对Linux程序进行交叉编译,在此过程中,Linux主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成交叉编译操作;交叉编译操作利用匿名通道与交叉编译器实现数据的重定向,在生成可执行程序的过程中提示有错误或警告时,此信息均在输出窗口中显示;交叉编译正确后则生成main文件,该文件可在嵌入式Linux目标ARM板上运行的可执行程序;
⑦程序下载
当Linux程序在交叉编译与连接生成可执行程序后,经网络下载到嵌入式计算机;本实施例中基于TCP/IP的Socket编程方式,图形化开发环境为客户端,客户端触动OnAccept,将可执行文件内容读取并通过网络传送,ARM板上运行有服务器用于接收该文件,并写入至一个可执行文件中,从而实现程序下载;Socket编程的IP地址为本机的IP地址,端口号固定为8888,客户端程序也需连接同样的IP地址和端口号才能与服务器连接成功,连接成功后,选择Linux程序生成的可执行文件,即可进行程序下载,至此编程完毕;
编写完毕的程序可通过串口通讯传输至单片机以储存,或通过可视化交互式仿真环境模块的搭建可视化交互式仿真环境,实现仿真再现。
[0018]以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
【主权项】
1.一种基于机器人图形化编程开发的方法,在Windows操作系统环境下,基于VisualStud1 2012开发,其特征在于,包括如下模块: 1)图形库管理模块 对图形化编程所需的部件库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”,部件库包括人机交互库、驱动库、控制器库、图形库、传感器库,且每个部件库分别设置有控制器; 对图形化编程所需的文字库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”; 对图形化编程所需的图形库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”; 对图形化编程所需的算法库进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除”、“编辑”、“保存”; 对可视化交互式仿真环境模块的可视化交互式仿真环境文件进行管理,包括“新建”、“打开”、“导入”、“添加”、“删除,,、“编辑”、“保存”; 2)图形化编程模块 在Windows操作系统环境下,图形化编程模块显示为图形化编程界面,图形化编程界面左侧为部件库;在进行图形化编程前,首先将选择的部件库拖入图形化编程界面,再对每个部件库的控制器与接口进行连接、属性设置匹配,待每个部件库的控制器与接口设置匹配成功后,图形化编程模块才能生成正确的图形化编程程序; 3)可视化交互式仿真环境模块 搭建可视化交互式仿真环境,结合图形化编程模块以完成机器人图形化编程的仿真,并根据图形化编程模块编程进度实时在图形化编程界面显示当前工作状态,以实现仿真; 基于上述模块,机器人图形化编程的具体步骤如下: ①开始 在图形化编程界面点击开始; ②部件库拖拽 在图形化编程界面的部件库中选择所需的部件,并将所选的部件拖入图形化编程界面,同时设置所选的部件与控制器的接口属性进行接口类型匹配以实现相互连接,若接口不匹配,则该部件无法连接,若接口匹配成功,所选的部件控制器调用函数进行连线绘制操作;当所选的部件连接成功后,对所在部件库的控制器设置机器人编号; ③生成C程序 点击图形化编程界面的生成C程序菜单项时,控制器根据错误类型弹出相应的警告,提示进行属性设置操作,并中断生成程序的操作,待完成控制器接口属性设置后,图形化编程模块才能生成正确的图形化编程程序,对于已完成图形化编程的图形,点击图形化编程界面的文件/保存菜单可对图形进行保存,保存为xml文件后,生成库函数并封装; 部件库中每个部件下均封装有与其对应的程序,控制器模块在部件库中创建时根据其接口属性编写主框架控制程序,该主框架控制程序用于实现对各个控制器接口功能调用;同样其他部件在部件库中创建时同时编写自身的程序,程序名称、函数名称根据部件的命名来获得;当图形化编程完成时,各个部件与控制器通过接口连接,生成C程序时首先根据当前打开的图形,收集当前打开的图形关键信息保存在NewPr0.xml文件中,根据该xml文件和控制器创建时的主框架控制程序,将生成对应的Windows程序和Linux程序,并在两个程序区中显不; ④保存C程序 当对生成的C程序进行编辑后需保存时,进行此操作;此保存的是当前生成的C程序; ⑤编译与连接 此工序负责将图形化编程生成的Windows程序编译并连接生成可执行程序,在此过程通过调用开源软件MinGW实现调试; 同时在此编译与连接过程中,该主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成编译与连接操作;此过程中生成的C程序为主程序即main.cpp,在编译与连接时调用其他部件的程序,其他部件的程序所在路径需通过NewPr0.xml文件获取,而后采用参数-1指定编译; ⑥交叉编译与连接 将主框架控制程序生成的Linux程序通过交叉编译与连接生成可在嵌入式计算机上运行的可执行程序,具体执行是:触发Acobuild命令,获取Linux程序名称和头文件路径,再解析Linux程序名称和头文件路径,而后控制器通过解析主框架控制程序的Linux程序向交叉编译器传送Acobui Id命令,以生成可执行程序; 对Linux程序进行交叉编译,在此过程中,Linux主程序采用参数-1和参数-1指定头文件名称和待调用的库,以完成交叉编译操作;交叉编译操作利用匿名通道与交叉编译器实现数据的重定向,在生成可执行程序的过程中提示有错误或警告时,此信息均在图形化编程界面的输出窗口中显示;交叉编译正确后则生成main文件,该文件可在嵌入式Linux目标ARM板上运行的可执行程序; ⑦程序下载 当Linux程序在交叉编译与连接生成可执行程序后,经网络下载到嵌入式计算机,至此编程完毕; 编写完毕的程序可通过串口通讯传输至单片机以储存,或通过可视化交互式仿真环境模块的搭建可视化交互式仿真环境,实现仿真再现。2.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,控制器的接口属性包括USB、Uart、Wifi。3.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,图形关键信息包含控制器程序、控制器接口、控制器属性、接口连接状态、接口连接部件程序。4.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,步骤⑤)中,编译与连接工序将图形化编程生成的Windows程序编译并连接生成的可执行程序格式为*.exe。5.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,步骤⑤)中,编译与连接工序中调用开源软件MinGW(Minimalist GNU on Windows)实现调试,同时采用_g命令配合-ο命令,直接作用于源源程序,S卩Windows程序main.cpp文件,并指定输出文件,即main.exe文件,由此编译并连接生成载有调试信息的可执行程序。6.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,步骤⑥)中,交叉编译器基于ARM架构的Linux系统,可用于编译ARM架构的u_boot、Linux内核、Iinux应用。7.根据权利要求1所述的一种基于机器人图形化编程开发的方法,其特征在于,图形化编程模块基于TCP/IP的Socket编程方式,图形化开发环境为客户端,客户端触动OnAccept,将可执行文件内容读取并通过网络传送,ARM板上运行有服务器用于接收该文件,并写入至一个可执行文件中,从而实现程序下载;Socket编程的IP地址为本机的IP地址,端口号固定为8888,客户端程序的IP地址、端口号与本机的IP地址、端口号相同,连接成功后,选择Linux程序生成的可执行文件,即可进行程序下载。
【文档编号】G06F9/44GK105843630SQ201610402734
【公开日】2016年8月10日
【申请日】2016年6月8日
【发明人】周继强, 王丽峰, 涂国栋, 杨宛璐, 陈磊, 刘川, 倪琳轩, 张孝勇, 朱洪昌
【申请人】江西洪都航空工业集团有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1