一种机器人跨平台的图形化开发系统,针对arm开发板所使用的软件系统选用不同编译工具链移植,将开源编译工具gcc和调试工具gdb移植到Windows平台下,分别生成交叉编译器和交叉调试器;在使用图形化开发工具编程生成图形化用户界面模块,采用积木搭建的方式拖拽相应的图形化模块即可生成完整的c程序,并通过匿名管道调用编译器和调试器,可实现从Windows到Linux的跨平台交叉编译和交叉调试,通过socket通讯将可执行程序下载到arm开发板,从而实现机器人的各种动作;有效降低跨平台开发的难度,避免安装Windows+Linux双系统频繁切换;同时减小机器人系统的开发难度和开发周期。
【技术实现步骤摘要】
本专利技术涉及机器人嵌入式编程
,尤其涉及一种机器人跨平台的图形化开发系统。
技术介绍
嵌入式系统体积小,可靠性高,成本低,大多数机器人开发主要依赖于嵌入式技术;而图形化编程具有编程简单、使用方便等优势,被称为快速应用程序开发环境,因此嵌入式技术与图形化编程相结合成为一个热点。机器人开发涉及到诸多硬件,需要开发人员具备相关专业知识,编程的复杂性相对较高,而嵌入式开发一般基于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)交叉编译和调试将通过图形化本文档来自技高网...
【技术保护点】
一种机器人跨平台的图形化开发系统,其特征在于,包括如下步骤:1)准备资源文件针对arm开发板所使用的软件系统选用不同编译工具链移植,arm开发板linux系统包括armel版本和armhf版本,其中,armel版本,将编译工具链arm‑none‑linux‑gnueabi‑xxx移植至Windows平台,生成交叉编译器和交叉调试器; armhf版本,将编译工具链arm‑linux‑gnueabihf‑xxx移植至Windows平台,生成交叉编译器和交叉调试器;2)创建匿名管道创建父进程与子进程,子进程继承父进程的公开句柄,并在父进程创建一条匿名管道,父进程通过匿名管道向cmd中写交叉编译命令和交叉调试命令;与此同时,子进程采用读句柄从此匿名管道中读数据,通过匿名管道建立图形化开发与cmd联系,进而调用交叉编译器和交叉调试器,以实现图形化开发与cmd的信息交换;3)图形化界面模块采用图形化开发工具开发图形化用户界面模块,图形化用户界面模块包括人机交互模块、控制器模块、传感器模块和驱动模块;①人机交互模块人机交互模块用于实现人与机器人之间的信息交换,包括人到机器人和机器人到人的信息交换两部分,使用者通过外接装置向机器人发送控制指令,同时机器人将当前状态发送到人机交互模块并在显示屏显示;②控制器模块控制器模块对传感器模块输出的信号进行数据整合和算法处理,以确定机器人所处的外部环境状态和当前运动状态,依此做出决策,并将决策信息传给驱动模块;同时,控制器模块实时向人机交互模块传送机器人运动状态及外部工作环境状态,并通过可视化技术在人机交互界面上显示;③驱动模块用于接收控制器模块发出的信号指令,并将该信号指令通过动力学模型转换为每个电机需要执行的动作;同时,驱动模块将执行结果予以反馈至控制器模块;④传感器模块传感器模块包括激光传感器、红外传感器及光电编码器,激光传感器用于获取机器人前方障碍物距离信息,为建立地图和自主避障提供数据;红外传感器安装在机器人后方,以获取机器人后方障碍物距离信息,为机器人后退时避障提供信息;光电编码器用于检测机器人电机转过的实际圈数从而实现对里程的计算;⑤执行机构执行机构为机器人本体,用于执行驱动模块转换后的电机需要执行的动作,从而完成预定的工作任务;交叉编译和调试将通过图形化编程生成的c程序经过调试、编译与链接生成用于在嵌入式arm开发板运行的代码;同时根据arm开发板的软件版本选择相应的工具链,并利用匿名管道向cmd写命令,从而实现对图形化编程生成的c程序的交叉编译和交叉调试;5)程序下载当交叉编译与链接生成代码后,将代码下载至嵌入式arm开发板中,以Windows系统为客户端,arm开发板为服务器,建立socket,选择需要的代码下载到arm开发板,从而完成机器人的各个动作,即可实现Windows系统与Linux系统的跨平台编程。...
【技术特征摘要】
1.一种机器人跨平台的图形化开发系统,其特征在于,包括如下步骤:1)准备资源文件针对arm开发板所使用的软件系统选用不同编译工具链移植,arm开发板linux系统包括armel版本和armhf版本,其中,armel版本,将编译工具链arm-none-linux-gnueabi-xxx移植至Windows平台,生成交叉编译器和交叉调试器;armhf版本,将编译工具链arm-linux-gnueabihf-xxx移植至Windows平台,生成交叉编译器和交叉调试器;2)创建匿名管道创建父进程与子进程,子进程继承父进程的公开句柄,并在父进程创建一条匿名管道,父进程通过匿名管道向cmd中写交叉编译命令和交叉调试命令;与此同时,子进程采用读句柄从此匿名管道中读数据,通过匿名管道建立图形化开发与cmd联系,进而调用交叉编译器和交叉调试器,以实现图形化开发与cmd的信息交换;3)图形化界面模块采用图形化开发工具开发图形化用户界面模块,图形化用户界面模块包括人机交互模块、控制器模块、传感器模块和驱动模块;①人机交互模块人机交互模块用于实现人与机器人之间的信息交换,包括人到机器人和机器人到人的信息交换两部分,使用者通过外接装置向机器人发送控制指令,同时机器人将当前状态发送到人机交互模块并在显示屏显示;②控制器模块控制器模块对传感器模块输出的信号进行数据整合和算法处理,以确定机器人所处的外部环境状态和当前运动状态,依此做出决策,并将决策信息传给驱动模块;同时,控制器模块实时向人机交互模块传送机器人运动状态及外部工作环境状态,并通过可视化技术在人机交互界面上显示;③驱动模块用于接收控制器模块发出的信号指令,并将该信号指...
【专利技术属性】
技术研发人员:郑友胜,史小露,杨宛璐,陈磊,鲍志娟,
申请(专利权)人:江西洪都航空工业集团有限责任公司,
类型:发明
国别省市:江西;36
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。