CN106484403A - 一种机器人跨平台的图形化开发系统 - Google Patents
一种机器人跨平台的图形化开发系统 Download PDFInfo
- Publication number
- CN106484403A CN106484403A CN201610843763.1A CN201610843763A CN106484403A CN 106484403 A CN106484403 A CN 106484403A CN 201610843763 A CN201610843763 A CN 201610843763A CN 106484403 A CN106484403 A CN 106484403A
- Authority
- CN
- China
- Prior art keywords
- cross
- robot
- module
- platform
- compile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种机器人跨平台的图形化开发系统,针对arm开发板所使用的软件系统选用不同编译工具链移植,将开源编译工具gcc和调试工具gdb移植到Windows平台下,分别生成交叉编译器和交叉调试器;在使用图形化开发工具编程生成图形化用户界面模块,采用积木搭建的方式拖拽相应的图形化模块即可生成完整的c程序,并通过匿名管道调用编译器和调试器,可实现从Windows到Linux的跨平台交叉编译和交叉调试,通过socket通讯将可执行程序下载到arm开发板,从而实现机器人的各种动作;有效降低跨平台开发的难度,避免安装Windows+Linux双系统频繁切换;同时减小机器人系统的开发难度和开发周期。
Description
技术领域
本发明涉及机器人嵌入式编程技术领域,尤其涉及一种机器人跨平台的图形化开发系统。
背景技术
嵌入式系统体积小,可靠性高,成本低,大多数机器人开发主要依赖于嵌入式技术;而图形化编程具有编程简单、使用方便等优势,被称为快速应用程序开发环境,因此嵌入式技术与图形化编程相结合成为一个热点。机器人开发涉及到诸多硬件,需要开发人员具备相关专业知识,编程的复杂性相对较高,而嵌入式开发一般基于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系统的跨平台编程。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (4)
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)图形化界面模块
采用图形化开发工具开发图形化用户界面模块,图形化用户界面模块包括人机交互模块、控制器模块、传感器模块和驱动模块;
①人机交互模块
人机交互模块用于实现人与机器人之间的信息交换,包括人到机器人和机器人到人的信息交换两部分,使用者通过外接装置向机器人发送控制指令,同时机器人将当前状态发送到人机交互模块并在显示屏显示;
②控制器模块
控制器模块对传感器模块输出的信号进行数据整合和算法处理,以确定机器人所处的外部环境状态和当前运动状态,依此做出决策,并将决策信息传给驱动模块;同时,控制器模块实时向人机交互模块传送机器人运动状态及外部工作环境状态,并通过可视化技术在人机交互界面上显示;
③驱动模块
用于接收控制器模块发出的信号指令,并将该信号指令通过动力学模型转换为每个电机需要执行的动作;同时,驱动模块将执行结果予以反馈至控制器模块;
④传感器模块
传感器模块包括激光传感器、红外传感器及光电编码器,激光传感器用于获取机器人前方障碍物距离信息,为建立地图和自主避障提供数据;红外传感器安装在机器人后方,以获取机器人后方障碍物距离信息,为机器人后退时避障提供信息;光电编码器用于检测机器人电机转过的实际圈数从而实现对里程的计算;
⑤执行机构
执行机构为机器人本体,用于执行驱动模块转换后的电机需要执行的动作,从而完成预定的工作任务;
交叉编译和调试
将通过图形化编程生成的c程序经过调试、编译与链接生成用于在嵌入式arm开发板运行的代码;同时根据arm开发板的软件版本选择相应的工具链,并利用匿名管道向cmd写命令,从而实现对图形化编程生成的c程序的交叉编译和交叉调试;
5)程序下载
当交叉编译与链接生成代码后,将代码下载至嵌入式arm开发板中,以Windows系统为客户端,arm开发板为服务器,建立socket,选择需要的代码下载到arm开发板,从而完成机器人的各个动作,即可实现Windows系统与Linux系统的跨平台编程。
2.根据权利要求1所述的一种机器人跨平台的图形化开发系统,其特征在于,外接装置包括鼠标、键盘和霍尔遥感。
3.根据权利要求1所述的一种机器人跨平台的图形化开发系统,其特征在于,图形化用户界面模块中人机交互模块与控制器模块双向连接,控制器模块与驱动模块双向连接,驱动模块与执行机构双向连接,且传感器模块分别与控制器模块、驱动模块连接。
4.根据权利要求1所述的一种机器人跨平台的图形化开发系统,其特征在于,运行在嵌入式arm开发板上的代码为二进制代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610843763.1A CN106484403A (zh) | 2016-09-23 | 2016-09-23 | 一种机器人跨平台的图形化开发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610843763.1A CN106484403A (zh) | 2016-09-23 | 2016-09-23 | 一种机器人跨平台的图形化开发系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484403A true CN106484403A (zh) | 2017-03-08 |
Family
ID=58267873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610843763.1A Pending CN106484403A (zh) | 2016-09-23 | 2016-09-23 | 一种机器人跨平台的图形化开发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484403A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632859A (zh) * | 2017-09-30 | 2018-01-26 | 江西洪都航空工业集团有限责任公司 | 一种机器人图形化开发插件式框架 |
CN107765612A (zh) * | 2017-12-07 | 2018-03-06 | 南京诚思机器人科技有限公司 | 一种机器人的运动控制方法、机器人及系统 |
CN108406764A (zh) * | 2018-02-02 | 2018-08-17 | 上海大学 | 智能开放型服务机器人操作系统及方法 |
CN109820663A (zh) * | 2019-01-31 | 2019-05-31 | 嘉兴跃泓护理设备有限公司 | 护理床遥控控制方法及其系统 |
CN110543144A (zh) * | 2019-08-30 | 2019-12-06 | 天津施格自动化科技有限公司 | 图形化编程控制机器人的方法及系统 |
CN111984248A (zh) * | 2019-05-22 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 页面编辑方法和装置、存储介质及电子装置 |
CN113492414A (zh) * | 2021-06-29 | 2021-10-12 | 江苏集萃华科智能装备科技有限公司 | 一种基于Web的机器人跨平台人机交互系统及实现方法 |
CN113515313A (zh) * | 2020-11-09 | 2021-10-19 | 苏州如林自动化软件科技有限公司 | 运动控制卡配置方法、计算机设备、运动控制方法及系统 |
CN114442506A (zh) * | 2021-12-06 | 2022-05-06 | 埃夫特智能装备股份有限公司 | 一种基于虚拟机器人控制器仿真调试平台及其调试方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105467858A (zh) * | 2015-12-01 | 2016-04-06 | 西安电子科技大学 | 一种机器人控制程序图形化集成开发环境 |
CN105843630A (zh) * | 2016-06-08 | 2016-08-10 | 江西洪都航空工业集团有限责任公司 | 一种基于机器人图形化编程开发的方法 |
-
2016
- 2016-09-23 CN CN201610843763.1A patent/CN106484403A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105467858A (zh) * | 2015-12-01 | 2016-04-06 | 西安电子科技大学 | 一种机器人控制程序图形化集成开发环境 |
CN105843630A (zh) * | 2016-06-08 | 2016-08-10 | 江西洪都航空工业集团有限责任公司 | 一种基于机器人图形化编程开发的方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107632859A (zh) * | 2017-09-30 | 2018-01-26 | 江西洪都航空工业集团有限责任公司 | 一种机器人图形化开发插件式框架 |
CN107765612A (zh) * | 2017-12-07 | 2018-03-06 | 南京诚思机器人科技有限公司 | 一种机器人的运动控制方法、机器人及系统 |
CN108406764A (zh) * | 2018-02-02 | 2018-08-17 | 上海大学 | 智能开放型服务机器人操作系统及方法 |
CN109820663A (zh) * | 2019-01-31 | 2019-05-31 | 嘉兴跃泓护理设备有限公司 | 护理床遥控控制方法及其系统 |
CN111984248A (zh) * | 2019-05-22 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 页面编辑方法和装置、存储介质及电子装置 |
CN111984248B (zh) * | 2019-05-22 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 页面编辑方法和装置、存储介质及电子装置 |
CN110543144A (zh) * | 2019-08-30 | 2019-12-06 | 天津施格自动化科技有限公司 | 图形化编程控制机器人的方法及系统 |
CN110543144B (zh) * | 2019-08-30 | 2021-06-01 | 天津施格自动化科技有限公司 | 图形化编程控制机器人的方法及系统 |
CN113515313A (zh) * | 2020-11-09 | 2021-10-19 | 苏州如林自动化软件科技有限公司 | 运动控制卡配置方法、计算机设备、运动控制方法及系统 |
CN113515313B (zh) * | 2020-11-09 | 2024-04-19 | 苏州如林自动化软件科技有限公司 | 运动控制卡配置方法、计算机设备、运动控制方法及系统 |
CN113492414A (zh) * | 2021-06-29 | 2021-10-12 | 江苏集萃华科智能装备科技有限公司 | 一种基于Web的机器人跨平台人机交互系统及实现方法 |
CN114442506A (zh) * | 2021-12-06 | 2022-05-06 | 埃夫特智能装备股份有限公司 | 一种基于虚拟机器人控制器仿真调试平台及其调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484403A (zh) | 一种机器人跨平台的图形化开发系统 | |
CN105843630B (zh) | 一种基于机器人图形化编程开发的方法 | |
US5504902A (en) | Multi-language generation of control program for an industrial controller | |
CN103123598B (zh) | 一种编译型软plc的在线调试实现方法 | |
CN109799971B (zh) | 一种文件生成装置和方法 | |
CN104503793A (zh) | 代码练习软件中代码的运行和图形化的解析方法 | |
CN103092747A (zh) | 一种控制程序的验证和测试方法及系统 | |
US20210026609A1 (en) | Support device and non-transitory computer-readable recording medium | |
CN108762765B (zh) | 基于contiki系统的开发板程序编译下载方法 | |
CN110442520B (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
CN105843659B (zh) | 一种嵌入式c编译器的实现方法及系统 | |
CN103631228A (zh) | 控制系统虚拟化方法 | |
US20180357150A1 (en) | System for development and emulation of embedded systems | |
CN105335213A (zh) | Word文件嵌入Modelica模型实现仿真报告自动生成方法 | |
KR102371701B1 (ko) | 인공지능 장치의 소프트웨어 디버깅 방법 및 장치 | |
CN113075915A (zh) | 基于em-plant的虚拟仿真实现方法、系统及设备 | |
CN112233208B (zh) | 机器人状态处理方法、装置、计算设备和存储介质 | |
Magnenat et al. | Scripting the swarm: event-based control of microcontroller-based robots. | |
KR101658795B1 (ko) | 중간언어 생성기를 포함한 로봇 프로그래밍 툴과 그 중간 언어 코드를 수행할 수 있는 버츄얼 머신을 기반으로 하는 로봇 프로그래밍 방법 | |
Djukić et al. | Model variations and automated refinement of domain-specific modeling languages for robot-motion control | |
CN113900637B (zh) | 一种基于Web的Arduino智能硬件控制方法及系统 | |
Kletsko et al. | Advanced Game Engine Wizardry for Visual Programming Environments | |
KR100633241B1 (ko) | 임베디드 리눅스 교육용 통합개발환경 시스템 | |
CN113253993B (zh) | 一种实现命令序列和事件管理的CFlex脚本语言的使用方法 | |
KR20010011036A (ko) | 인터프리터형 제어프로그램의 개발 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170308 |
|
RJ01 | Rejection of invention patent application after publication |