发明名称 一种机器人跨平台的图形化开发系统
摘要 一种机器人跨平台的图形化开发系统,针对arm开发板所使用的软件系统选用不同编译工具链移植,将开源编译工具gcc和调试工具gdb移植到Windows平台下,分别生成交叉编译器和交叉调试器;在使用图形化开发工具编程生成图形化用户界面模块,采用积木搭建的方式拖拽相应的图形化模块即可生成完整的c程序,并通过匿名管道调用编译器和调试器,可实现从Windows到Linux的跨平台交叉编译和交叉调试,通过socket通讯将可执行程序下载到arm开发板,从而实现机器人的各种动作;有效降低跨平台开发的难度,避免安装Windows+Linux双系统频繁切换;同时减小机器人系统的开发难度和开发周期。
申请公布号 CN106484403A 申请公布日期 2017.03.08
申请号 CN201610843763.1 申请日期 2016.09.23
申请人 江西洪都航空工业集团有限责任公司 发明人 郑友胜;史小露;杨宛璐;陈磊;鲍志娟
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 南昌新天下专利商标代理有限公司 36115 代理人 施秀瑾
主权项  一种机器人跨平台的图形化开发系统,其特征在于,包括如下步骤: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系统的跨平台编程。
地址 330000 江西省南昌市高新区航空大道南昌航空城北区