一种机器人跨平台的图形化开发系统的制作方法

文档序号:12176425阅读:763来源:国知局

本发明涉及机器人嵌入式编程技术领域,尤其涉及一种机器人跨平台的图形化开发系统。



背景技术:

嵌入式系统体积小,可靠性高,成本低,大多数机器人开发主要依赖于嵌入式技术;而图形化编程具有编程简单、使用方便等优势,被称为快速应用程序开发环境,因此嵌入式技术与图形化编程相结合成为一个热点。机器人开发涉及到诸多硬件,需要开发人员具备相关专业知识,编程的复杂性相对较高,而嵌入式开发一般基于Linux系统进行编译和链接,Windows系统却是PC机上最普及的操作系统,故为不熟悉Linux系统的开发人员提供一个完整的嵌入式开发环境,为c语言编程基础较弱的开发人员提供一个图形化编程系统,极大方便熟悉Windows人员进行机器人图形化嵌入式开发已经亟待解决的技术问题。



技术实现要素:

本发明所解决的技术问题在于提供一种机器人跨平台的图形化开发系统,以解决上述背景技术中的缺点。

本发明所解决的技术问题采用以下技术方案来实现:

一种机器人跨平台的图形化开发系统,包括如下步骤:

1)准备资源文件

针对arm开发板所使用的软件系统选用不同编译工具链移植,arm开发板linux系统包括armel版本和armhf版本,其中,armel版本,将编译工具链arm-none-linux-gnueabi-xxx移植至Windows平台,生成交叉编译器和交叉调试器; armhf版本,将编译工具链arm-linux-gnueabihf-xxx移植至Windows平台,生成交叉编译器和交叉调试器;

2)创建匿名管道

创建父进程与子进程,子进程继承父进程的公开句柄,并在父进程创建一条匿名管道,父进程通过匿名管道向cmd中写交叉编译命令和交叉调试命令;与此同时,子进程采用读句柄从此匿名管道中读数据,通过匿名管道建立图形化开发与cmd联系,进而调用交叉编译器和交叉调试器,以实现图形化开发与cmd的信息交换;

3)图形化界面模块

采用图形化开发工具开发图形化用户界面模块,图形化用户界面模块包括人机交互模块、控制器模块、传感器模块和驱动模块;

①人机交互模块

人机交互模块用于实现人与机器人之间的信息交换,包括人到机器人和机器人到人的信息交换两部分,使用者通过外接装置向机器人发送控制指令,同时机器人将当前状态发送到人机交互模块并在显示屏显示;

②控制器模块

控制器模块对传感器模块输出的信号进行数据整合和算法处理,以确定机器人所处的外部环境状态和当前运动状态,依此做出决策,并将决策信息传给驱动模块;同时,控制器模块实时向人机交互模块传送机器人运动状态及外部工作环境状态,并通过可视化技术在人机交互界面上显示;

③驱动模块

用于接收控制器模块发出的信号指令,并将该信号指令通过动力学模型转换为每个电机需要执行的动作;同时,驱动模块将执行结果予以反馈至控制器模块,供控制器模块参考并做出相应调整;

④传感器模块

传感器模块包括激光传感器、红外传感器及光电编码器,激光传感器用于获取机器人前方障碍物距离信息,为建立地图和自主避障提供数据;红外传感器安装在机器人后方,以获取机器人后方障碍物距离信息,为机器人后退时避障提供信息;光电编码器用于检测机器人电机转过的实际圈数从而实现对里程的计算;

⑤执行机构

执行机构为机器人本体,用于执行驱动模块转换后的电机需要执行的动作,从而完成预定的工作任务;

4)交叉编译和调试

将通过图形化编程生成的c程序经过调试、编译与链接生成用于在嵌入式arm开发板运行的代码;同时根据arm开发板的软件版本选择相应的工具链,并利用匿名管道向cmd写命令,从而实现对图形化编程生成的c程序的交叉编译和交叉调试;

5)程序下载

当交叉编译与链接生成代码后,将代码下载至嵌入式arm开发板中,以Windows系统为客户端,arm开发板为服务器,建立socket,选择需要的代码下载到arm开发板,从而完成机器人的各个动作,即可实现Windows系统与Linux系统的跨平台编程。

在本发明中,外接装置包括鼠标、键盘和霍尔遥感。

在本发明中,图形化用户界面模块中人机交互模块与控制器模块双向连接,控制器模块与驱动模块双向连接,驱动模块与执行机构双向连接,且传感器模块分别与控制器模块、驱动模块连接。

在本发明中,运行在嵌入式arm开发板上的代码为二进制代码。

有益效果: 本发明提供一种跨平台图形化开发系统,为c语言编程基础较弱的开发人员提供一个图形化编程系统,开发者不需要考虑严格的语法语义、也不需要花费大量的经历去处理程序代码的结构问题;为不熟悉Linux软件开发人员提供一个完整的嵌入式开发环境,有效降低从Windows到Linux跨平台开发的难度,避免了开发人员安装Windows+Linux双系统频繁切换;同时减小机器人系统的开发难度和开发周期。

附图说明

图1是本发明的较佳实施例中的图形化界面模块示意图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

一种机器人跨平台的图形化开发系统,包括如下步骤:

1)准备资源文件

arm开发板软件系统有armel版本和armhf版本两种,针对armel版本,本实施例将编译工具链arm-none-linux-gnueabi-xxx移植至Windows平台,生成交叉编译器和交叉调试器;针对armhf版本,将编译工具链arm-linux-gnueabihf-xxx移植至Windows平台,生成交叉编译器和交叉调试器;

2)创建匿名管道

创建父进程与子进程,子进程继承父进程的公开句柄,并在父进程创建一条匿名管道,父进程通过匿名管道向cmd中写交叉编译命令和交叉调试命令;与此同时,子进程用读句柄从此匿名管道中读数据,通过匿名管道建立图形化开发与cmd联系,进而调用交叉编译器和交叉调试器,以实现图形化开发与cmd的信息交换;

3)图形化界面模块

采用图形化开发工具开发图形化用户界面模块,图形化用户界面模块包括人机交互模块、控制器模块、传感器模块和驱动模块;

①人机交互模块

人机交互模块用于实现人与机器人之间的信息交换,包括人到机器人和机器人到人的信息交换两部分,编程人员可通过鼠标、键盘和霍尔遥感向机器人发送控制指令,同时机器人通过TCP/IP方式将当前状态发送到人机交互模块并在显示屏显示;

②控制器模块

控制器模块对传感器模块输出的信号进行数据整合和算法处理,以确定机器人所处的外部环境状态和当前运动状态,依此做出决策,并将决策信息传给驱动模块;同时,控制器模块实时向人机交互层传送机器人运动状态及外部工作环境状态,并通过可视化技术在人机交互界面上显示;

③驱动模块

驱动模块用于接收控制器模块发出的信号指令,并将该信号指令通过动力学模型转换为每个电机需要执行的动作;同时,驱动模块将执行结果予以反馈至控制器模块,供控制器模块参考并做出相应调整;

④传感器模块

传感器模块包括激光传感器、红外传感器及光电编码器,激光传感器用于获取机器人前方障碍物距离信息,为建立地图和自主避障提供数据;红外传感器安装在机器人后方,以获取机器人后方障碍物距离信息,为机器人后退时避障提供信息;光电编码器用于检测机器人电机转过的实际圈数从而实现对里程的计算;

⑤执行机构

执行机构主要是机器人本体,用于执行驱动模块转换后的电机需要执行的动作,从而完成预定的工作任务;

4)交叉编译和调试

将通过图形化编程生成的c程序经过调试、编译与链接生成用于在嵌入式arm开发板运行的二进制代码;根据arm开发板的软件版本选择相应的工具链,利用匿名管道向cmd写命令,从而实现对图形化编程生成的c程序的交叉编译和交叉调试;

5)程序下载

当交叉编译与链接生成二进制代码后,将二进制代码通过TCP/IP一键下载至嵌入式arm开发板中,以Windows系统为客户端,arm开发板为服务器,建立socket,选择需要的二进制代码下载到arm开发板,从而完成机器人的各个动作,即可实现Windows系统与Linux系统的跨平台编程。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1