CN109605366B - 机器人图形化编程交互***及机器人 - Google Patents
机器人图形化编程交互***及机器人 Download PDFInfo
- Publication number
- CN109605366B CN109605366B CN201811335672.2A CN201811335672A CN109605366B CN 109605366 B CN109605366 B CN 109605366B CN 201811335672 A CN201811335672 A CN 201811335672A CN 109605366 B CN109605366 B CN 109605366B
- Authority
- CN
- China
- Prior art keywords
- unit
- node
- graphical
- mechanical arm
- simulation model
- 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.)
- Active
Links
- 230000003993 interaction Effects 0.000 title abstract description 17
- 238000004088 simulation Methods 0.000 claims abstract description 119
- 230000002452 interceptive effect Effects 0.000 claims abstract description 38
- 230000000007 visual effect Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 33
- 230000033001 locomotion Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 238000012800 visualization Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000003825 pressing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1658—Programme controls characterised by programming, planning systems for manipulators characterised by programming language
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种机器人图形化编程交互***及机器人,其中,图形库模块用于存储固定节点和自定义节点;图形化编程模块用于根据用户对固定节点和/或自定义节点的选择,拖拽,参数设置的操作进行图形化编辑,得到图形化程序;辅助功能模块用于根据用户的触发对图形化编程的过程进行辅助性操作,以完成图形化编程;可视化交互式仿真模块中包含机械臂仿真模型,能够根据图形化程序进行运行。本发明中的节点可在图形化编程模块中任意位置摆放,***中增加了机械臂仿真模型,能够对图形化编程模块形成的图形化程序中的每个节点进行运行,从而指导用户进行图形化编程,提高了编程的方便性,用户可快速上手,直观,高效的完成编程,实用性好。
Description
技术领域
本发明涉及机器人编程的技术领域,尤其是涉及一种机器人图形化编程交互***及机器人。
背景技术
目前,市面上的机械臂编程交互方式分为3种:第一种是代码型,用户需要对机器人的每一步指令输入代码,代码的编写与计算机编程十分类似;第二种是任务列表型,基于代码型编程方式,用户对每一步指令不需输入完整的代码,只需输入每一步指令中需要修改的参数,程序用任务列表显示。例如UR机器人的编程界面;第三种是流程图型,使用流程图的方式表示机械臂的任务,每一个流程图中的功能块代表一个任务指令,如TM 机器人的编程界面。
代码型的机械臂编程交互方式对使用者的计算机编程能力有一定要求,并且用户需要对该机器人的编程语言有一定了解。用户友好度不高,且编程效率较低;任务列表型的机械臂编程交互方式中,机器人指令以文本形式排列在任务列表中,对用户来讲并不直观,编程需要一定的学习成本;而流程图型的机械臂编程交互方式中,流程图是***自动自上而下排列的,不能随意更改节点位置,当程序内指令较多时,整个流程图会很长,反而不便于用户进行编辑。并且流程图中的每个节点仅能查看内部参数,不能直观的展现出机械臂在该节点的实际位置。这种方式适用于任务较少的情况下编程,适用于展示类任务,在工业现场并不使实用。
综上,现有的机械臂编程交互方式不便于用户使用,实用性差。
发明内容
有鉴于此,本发明的目的在于提供一种机器人图形化编程交互***及机器人,以缓解现有的机械臂编程交互方式不便于用户使用,实用性差的技术问题。
第一方面,本发明实施例提供了一种机器人图形化编程交互***,基于跨平台C++图形用户界面应用程序开发,包括:图形库管理模块,图形化编程模块和可视化交互式仿真模块,其中,所述图形库管理模块和所述图形化编程模块设置于图形化编程界面,所述可视化交互式仿真模块设置于动画仿真界面;
所述图形库管理模块包括:图形库模块和辅助功能模块;
所述图形库模块,用于存储固定节点和自定义节点,其中,所述固定节点和所述自定义节点采用C++程序封装得到;
所述图形化编程模块,用于根据用户对所述固定节点和/或所述自定义节点的选择,拖拽,参数设置的操作进行图形化编程,得到图形化程序,其中,当进行所述参数设置时,可通过所述可视化交互式仿真模块对所述固定节点和/或所述自定义节点进行参数设置,所述图形化程序中包括:多个节点,节点之间的连接线;
所述辅助功能模块,用于根据所述用户的触发对所述图形化编程的过程进行辅助性操作,以完成所述图形化编程;
所述可视化交互式仿真模块中包含机械臂仿真模型,所述机械臂仿真模型能够根据所述图形化程序进行运行。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述固定节点包括:
程序起始节点,用于表示程序的起始位置;
运动节点,用于表示所述机械臂仿真模型的运动位置;
函数节点,用于表示内部运算或外部通讯的函数;
逻辑控制节点,用于进行程序的判断和逻辑选择;
指令集节点,用于存储多个子节点所组成的连接结构,其中,所述连接结构用于实现目标功能。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述辅助功能模块包括:保存单元,播放单元,删除线单元,删除点单元,撤销单元,恢复单元,放大单元和缩小单元;
所述保存单元,用于保存所述图形化程序;
所述播放单元,用于调出运行控制单元,以使所述机械臂仿真模型基于所述运行控制单元的控制按照所述图形化程序进行运行,其中,当所述机械臂仿真模型按照所述图形化程序进行运行时,所述图形化程序中正在运行的节点高亮显示;
所述删除线单元,用于删除所述图形化程序中的连接线;
所述删除点单元,用于删除所述图形化程序中的节点;
所述撤销单元,用于撤销所述用户的上一次操作;
所述恢复单元,用于恢复所述用户的上一次操作;
所述放大单元,用于放大所述图形化程序;
所述缩小单元,用于缩小所述图形化程序。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述辅助功能模块还包括:用于根据所述用户对所述播放单元的触发而显示的运行控制单元;
所述运行控制单元包括:开始运行单元,分布运行单元;
所述开始运行单元,用于使所述机械臂仿真模型按照所述图形化程序顺序运行,其中,当所述机械臂仿真模型开始运行后,所述图形化编程界面中显示所述机械臂仿真模型的运动;
所述分布运行单元,用于使所述机械臂仿真模型按照所述图形化程序分步运行,其中,当所述机械臂仿真模型分步运行后,所述图形化编程界面中显示所述机械臂仿真模型的运动。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述图形化编程模块还包括:节点设置单元,其中,所述节点设置单元用于根据所述用户对所述图形化程序中目标节点的触发而显示,所述目标节点为所述图形化程序中的任一节点;
所述节点设置单元包括:第一参数设置单元,移动触发单元,界面切换单元;
所述第一参数设置单元,用于对所述目标节点所对应的机械臂仿真模型的参数信息进行设置;
所述移动触发单元,用于控制所述机械臂仿真模型向所述目标节点所对应的目标位置进行运动;
所述界面切换单元,用于将所述图形化编程界面切换至所述动画仿真界面。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述可视化交互式仿真模块还包括:第二参数设置单元,控制单元;
所述第二参数设置单元,用于对所述目标节点所对应的机械臂仿真模型的参数信息进行设置;
所述控制单元至少包括:移动关节单元,移动末端单元,记录当前位置单元和归零单元;
所述移动关节单元,用于使所述第二参数设置单元处于可设置状态;
所述移动末端单元,用于使所述机械臂仿真模型的末端按钮处于可控制状态,以通过所述末端按钮对所述机械臂仿真模型进行操作;
所述记录当前位置单元,用于将所述机械臂仿真模型的所处的当前位置同步至所述目标节点所对应的参数信息;
所述归零单元,用于将所述机械臂仿真模型的位置恢复至初始位置。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述机械臂仿真模型为可控仿真模型,通过所述机械臂仿真模型的末端按钮对其运行进行控制。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,所述固定节点还包括:与外部进行通讯的节点按钮集。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,所述图形化程序中的节点可放大或缩小。
第二方面,本发明实施例还提供了一种机器人,所述机器人上设置有上述第一方面中所述的机器人图形化编程交互***。
本发明实施例带来了以下有益效果:
在本实施例中,该机器人图形化编程交互***是基于跨平台C++图形用户界面应用程序开发,包括:图形库管理模块,图形化编程模块和可视化交互式仿真模块,图形库管理模块和图形化编程模块设置于图形化编程界面,可视化交互式仿真模块设置于动画仿真界面;图形库管理模块包括:图形库模块和辅助功能模块,图形库模块用于存储固定节点和自定义节点;图形化编程模块用于根据用户对固定节点和/或自定义节点的选择,拖拽,参数设置的操作进行图形化编辑,得到图形化程序,在进行参数设置时,可通过可视化交互式仿真模块对固定节点和/或自定义节点进行参数设置;辅助功能模块用于根据用户的触发对图形化编程的过程进行辅助性操作,以完成图形化编程;可视化交互式仿真模块中包含机械臂仿真模型,该机械臂仿真模型能够根据图形化程序进行运行。通过上述描述可知,在本实施例中,固定节点和自定义节点可在图形化编程模块中任意位置摆放,并且***中增加了机械臂仿真模型,能够对图形化编程模块形成的图形化程序中的每个节点进行运行,从而指导用户进行图形化编程,此外,在对节点进行参数设置时,可通过可视化交互式仿真模块实现,即图形化编程模块和可视化仿真模块之间存在交互,提高了编程的方便性,用户可快速上手,直观,高效的完成编程,实用性好,缓解了现有的机械臂编程交互方式不便于用户使用,实用性差的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种机器人图形化编程交互***的示意图;
图2为本发明实施例提供的节点设置单元的示意图;
图3为本发明实施例提供的可视化交互式仿真模块的示意图;
图4为本发明实施例提供的节点缩放前后的示意图;
图5a为本发明实施例提供的节点放大展开的连线示意图;
图5b为本发明实施例提供的节点缩小的连线示意图;
图6为本发明实施例提供的开始进入图形化编程界面的示意图;
图7为本发明实施例提供的带有图形库管理模块的图形化编程界面的示意图;
图8为本发明实施例提供的带有节点设置单元的图形化编程界面的示意图;
图9为本发明实施例提供的带有图形化程序的图形化编程界面的示意图;
图10为本发明实施例提供的带有运行控制单元的图形化编程界面的示意图;
图11为本发明实施例提供的带有机械臂仿真模型的图形化编程界面的示意图。
图标:
1-图形库管理模块;2-图形化编程模块;3-可视化交互式仿真模块;11- 图形库模块;12-辅助功能模块;21-第一参数设置单元;22-移动触发单元; 23-界面切换单元;31-第二参数设置单元;32-控制单元;111-固定节点;112- 自定义节点。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种机器人图形化编程交互***进行详细介绍。
实施例一:
一种机器人图形化编程交互***,参考图1(图1中未示出可视化交互式仿真模块3),基于跨平台C++图形用户界面应用程序开发,包括:图形库管理模块1,图形化编程模块2和可视化交互式仿真模块3,其中,图形库管理模块1和图形化编程模块2设置于图形化编程界面,可视化交互式仿真模块3设置于动画仿真界面;
图形库管理模块1包括:图形库模块11和辅助功能模块12;
图形库模块11,用于存储固定节点111和自定义节点112,其中,固定节点111和自定义节点112采用C++程序封装得到;
图形化编程模块2,用于根据用户对固定节点111和/或自定义节点112 的选择,拖拽,参数设置的操作进行图形化编程,得到图形化程序,其中,当进行参数设置时,可通过可视化交互式仿真模块3对固定节点111和/或自定义节点112进行参数设置,图形化程序中包括:多个节点,节点之间的连接线;
辅助功能模块12,用于根据用户的触发对图形化编程的过程进行辅助性操作,以完成图形化编程;
可视化交互式仿真模块3中包含机械臂仿真模型,机械臂仿真模型能够根据图形化程序进行运行。
在本实施例中,该机器人图形化编程交互***是基于跨平台C++图形用户界面应用程序开发,包括:图形库管理模块1,图形化编程模块2和可视化交互式仿真模块3,图形库管理模块1和图形化编程模块2设置于图形化编程界面,可视化交互式仿真模块3设置于动画仿真界面;图形库管理模块1包括:图形库模块11和辅助功能模块12,图形库模块11用于存储固定节点111和自定义节点112;图形化编程模块2用于根据用户对固定节点111和/或自定义节点112的选择,拖拽,参数设置的操作进行图形化编辑,得到图形化程序,在进行参数设置时,可通过可视化交互式仿真模块3 对固定节点111和/或自定义节点112进行参数设置;辅助功能模块12用于根据用户的触发对图形化编程的过程进行辅助性操作,以完成图形化编程;可视化交互式仿真模块3中包含机械臂仿真模型,该机械臂仿真模型能够根据图形化程序进行运行。通过上述描述可知,在本实施例中,固定节点 111和自定义节点112可在图形化编程模块2中任意位置摆放,并且***中增加了机械臂仿真模型,能够对图形化编程模块2形成的图形化程序中的每个节点进行运行,从而指导用户进行图形化编程,此外,在对节点进行参数设置时,可通过可视化交互式仿真模块3实现,即图形化编程模块2和可视化仿真模块之间存在交互,提高了编程的方便性,用户可快速上手,直观,高效的完成编程,实用性好,缓解了现有的机械臂编程交互方式不便于用户使用,实用性差的技术问题。
上述内容对本发明的机器人图形化编程交互***进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。
在本发明的一个可选实施方式中,固定节点111包括:
程序起始节点,用于表示程序的起始位置;
运动节点,用于表示机械臂仿真模型的运动位置;
函数节点,用于表示内部运算或外部通讯的函数;
逻辑控制节点,用于进行程序的判断和逻辑选择;
指令集节点,用于存储多个子节点所组成的连接结构,其中,连接结构用于实现目标功能。
可选地,固定节点111还包括:与外部进行通讯的节点按钮集。
如图1中的I/O,其表示可打开添加io读写节点的按钮集;如图1中的Socket,其表示可打开添加socket创建,读写,关闭的按钮集。
而自定义节点112(即图1中的添加语句)表示若用户想要添加的脚本任务不在上述固定节点111(也可称之为固定按钮)中,可选择自定义节点 112(即添加语句),手动输入相应脚本。
具体的,程序起始节点即Start,如图1所示,运动节点包括MoveJ, MoveL,MoveC。逻辑控制节点包括While,IF。上述的节点都包含有接口,对于程序起始节点,运动节点来讲,其包含有两个接口,分别是In接口和Next接口,In接口表示连接本节点之前的程序任务,Next节点表示连接本节点之后的程序任务,用户通过鼠标将不同节点间的接口连线即完成了程序顺序的设定,而对于While,其有三个接口,分别是In接口,Next接口和Loop接口,In接口和Next接口的含义与上述In接口和Next接口的含义相同,而Loop接口连接需要循环执行的程序节点;对于IF,其有四个接口,分别是In接口,Next接口,1接口和0接口,In接口和Next接口的含义与上述In接口和Next接口的含义相同,1接口连接条件满足时执行的程序节点,0接口连接条件不满足时执行的程序节点。而对于函数节点(附图中未示出),指令集节点(附图中未示出),节点按钮集其对应的接口数量可根据其具体功能而设定,这里不再赘述。
需要说明的是,指令集节点是将多个节点的连接结构合并成一个指令集,该指令集以单个节点的形式表示,用以简化程序主线的显示。双击指令集节点,可查看其内部所有节点的连接。本发明中,节点表示机器人程序的单个指令或一段指令集。
当然,固定节点111还可以包括其它节点,比如Sleep(表示睡眠任务节点),本发明实施例对上述节点不进行具体限制。
在本发明的一个可选实施方式中,参考图1,辅助功能模块12包括:保存单元(即图1中的保存),播放单元(即图1中的Play),删除线单元 (即图1中的删除线),删除点单元(即图1中的删除点),撤销单元(即图1中的撤销),恢复单元(即图1中的恢复),放大单元(即图1右下角的+)和缩小单元(即图1右下角的-);
保存单元,用于保存图形化程序;
播放单元,用于调出运行控制单元,以使机械臂仿真模型基于运行控制单元的控制按照图形化程序进行运行,其中,当机械臂仿真模型按照图形化程序进行运行时,图形化程序中正在运行的节点高亮显示;
删除线单元,用于删除图形化程序中的连接线;
删除点单元,用于删除图形化程序中的节点;
撤销单元,用于撤销用户的上一次操作;
恢复单元,用于恢复用户的上一次操作;
放大单元,用于放大图形化程序;
缩小单元,用于缩小图形化程序。
可选地,辅助功能模块12还包括:用于根据用户对播放单元的触发而显示的运行控制单元;
运行控制单元包括:开始运行单元(即图10中的开始),分布运行单元(即图10中的分步);
开始运行单元,用于使机械臂仿真模型按照图形化程序顺序运行,其中,当机械臂仿真模型开始运行后,图形化编程界面中显示机械臂仿真模型的运动;
分布运行单元,用于使机械臂仿真模型按照图形化程序分步运行,其中,当机械臂仿真模型分步运行后,图形化编程界面中显示机械臂仿真模型的运动。
在本发明的一个可选实施方式中,参考图2,图形化编程模块2还包括:节点设置单元,其中,节点设置单元用于根据用户对图形化程序中目标节点的触发而显示,目标节点为图形化程序中的任一节点;
节点设置单元包括:第一参数设置单元21,移动触发单元22,界面切换单元23;
第一参数设置单元21,用于对目标节点所对应的机械臂仿真模型的参数信息进行设置;
移动触发单元22,用于控制机械臂仿真模型向目标节点所对应的目标位置进行运动;
界面切换单元23,用于将图形化编程界面切换至动画仿真界面。
在本发明的一个可选实施方式中,参考图3,可视化交互式仿真模块3 还包括:第二参数设置单元31,控制单元32;
第二参数设置单元31,用于对目标节点所对应的机械臂仿真模型的参数信息进行设置;
控制单元32至少包括:移动关节单元(即图3中的移动关节),移动末端单元(即图3中的移动末端),记录当前位置单元(即图3中的记录当前位置)和归零单元(即图中3的归零);
移动关节单元,用于使第二参数设置单元31处于可设置状态;
移动末端单元,用于使机械臂仿真模型的末端按钮处于可控制状态,以通过末端按钮对机械臂仿真模型进行操作;
记录当前位置单元,用于将机械臂仿真模型的所处的当前位置同步至目标节点所对应的参数信息;
归零单元,用于将机械臂仿真模型的位置恢复至初始位置。
具体的,本发明的机械臂仿真模型为可控仿真模型,通过机械臂仿真模型的末端按钮对其运行进行控制,并且图形化程序中的节点可放大或缩小。如图4所示,节点缩放前后的示意图。缩小的节点便于用户简洁查看整体程序结构,鼠标双击缩小的节点或双击图形化编程模块2任意位置时,缩小的节点会有动画放大展开的效果,显示出该节点的外部接口。
如图5a所示,表示节点放大展开的连线示意图,如图5b所示,表示节点缩小的连线示意图。
为了对本发明的机器人图形化编程交互***有更好的理解,下面以一个具体的编程过程进行详细介绍:
用户在打开***时,可根据需要选择由用户自定义节点位置的方式或者由***自动计算布局的方式对图形化程序中的节点进行布局。
进入图形化编程界面,如图6所示,Start表示程序流的起始点,此节点只表示程序起始的位置,并不做任何运动,并且会自动添加至图形化编程模块2。单击左上角的“+”图标,可打开图形库管理模块1,如图7所示,其中各节点的含义已在上述内容中进行了介绍,在此不再对其进行赘述。
单击MoveJ,会添加一个表示关节运动的节点,***会将“Start”自动与其连接,表示程序的第一步会从MoveJ开始。如果单击刚刚添加的MoveJ,会出现节点设置单元。如图8所示,其中的Axis1-Axis7(即上述内容中的第一参数设置单元21)表示该节点的参数位置信息,Speed(即上述内容中的第一参数设置单元21)表示使用70%的最大关节速度运动,blend(即上述内容中的第一参数设置单元21)表示是否使用融合。当新添加节点时,会将机械臂仿真模型当前位置信息写入新添加的节点中。单击相应的数据可以修改数值。当修改完成数值后,按住“移动到此点”(即上述内容中的移动触发单元22)可让机械臂仿真模型移动到该节点所记录的位置,在移动的过程中,若用户松开“移动到此点”,那么机械臂仿真模型则立即在松开的时刻停止运动。“Jog”(即上述内容中的界面切换单元23)可跳转至动画仿真界面,如图3所示。在动画仿真界面中,也可通过第二参数设置单元31或者通过机械臂仿真模型的末端按钮对机械臂三维模型的参数信息进行改变,改变之后单击“记录当前位置”(即记录当前位置单元),该位置会被记录到此时的目标节点MoveJ中,也就是MoveJ中的参数信息即会更新。
当单击图形库模块11中的MoveL时,又会添加一个MoveL的节点,后续添加的节点需要进行手动连接,与之前的节点连接,表示出程序流程。否则,此节点上的任务在运行时不会被执行。具体的,按住MoveJ的Next 接口,拖拽到MoveL上便完成了连接。若想取消连接,选中连接的“In端节点”(即MoveL)点击辅助功能模块12中的删除线单元即可删除连接。选中某个节点,选择删除点单元可删除节点。
为MoveL按照上述MoveJ的方式进行参数设置后,添加MoveC。MoveC 表示弧线移动,会添加相应的两个节点:MoveC_1和MoveC_2。MoveC_1 表示圆弧运动的中间点,MoveC_2表示圆弧运动的结束点。将MoveL与 MoveC_1相连,并对MoveC两个节点的参数进行设置,设置过程与MoveJ 的参数设置方式相同,在此不再赘述。
然后,添加一个循环任务,使用“添加语句”(即自定义节点)声明一个变量n=6;的节点。再添加一个While,判断条件输入n>0。将n=6;节点与While节点相连,While有1个输入In接口,2个输出:Loop接口和 Next接口。Loop接口后相连的所有节点表示while循环内所执行的任务。 Next后相连的节点表示while循环结束后的任务。在while循环内创建一个重复的动作并将n的值每次减小1。需要说明的是,双击某一节点可将该节点缩小,双击屏幕黑色区域可将所有节点在放大展开与缩小之间切换。右下角的+,-可以放大或缩小整个图形化程序在界面的显示。
接着添加一个IF,作为判断分支。判断条件为控制柜I/O输入1号端口是否为高电平。将While的Next接口与IF的In接口相连。IF中,输出 1接口连接判断条件成立后所做的任务;输出0接口连接判断条件不成立时所作的任务;输出Next接口连接if语句结束后的任务。为IF的0接口和1 接口的输出分别添加两个运动,Next接口不连接其它节点,表示程序到此终止,得到完整的图形化程序,如图9所示。
进而,单击辅助功能模块12中的保存单元可保存程序。单击“Play” (即播放单元)可打开运行控制单元(如图10中的开始和分步),再次单击运行控制单元可隐藏,运行控制单元包括开始运行单元(即图10中的开始)和分步运行单元(即图10中的分步)。
点击“开始运行单元”可运行刚刚编辑好的程序,运行后,判断机械臂仿真模型的位置是否与Start相同,若不同时,界面中出现“移动到此点”,需按住“移动到此点”手动移动机械臂模块到初始点,然后,按照图形化程序进行运行(若选择了重复运行功能,则程序开始运行时不会判断机械臂仿真模型当前位置是否与程序起始点重合);若相同时,直接按照图形化程序进行运动。当开始运行后,机械臂仿真模型在图形化编程界面中显示移动过程,如图11所示。
另外,在运行时,如果运行过程中确定图形化程序存在编程错误,则***会向用户进行报错,报错内容中显示具体哪一个参数哪一个节点错误,以指导用户对图形化程序进行修改。
本发明实现了在画布(即图形编程模块)中任意摆放任务节点的功能,并对每个节点增加了动画效果,用来引导用户进行连线、编辑等操作;同时,用户可将一段任务节点缩放至一个指令集(仍显示为一个结点,上述编程举例中并未对此进行具体介绍)中,从而减少程序主线中过多的节点显示。用户可对指令集设定自定义的颜色及标签,方便在程序主线中快速找到各个子程序集;此外,本图形化编程结合可以拖拽示教的机械臂仿真模型使用,用户可拖动机械臂到目标位置后,按下机械臂三维模型上的“记录点位”按钮,图形化编程界面中就会自动增加该点位到程序中。
本发明可让用户直观的感受到程序主线任务(即本发明的指令集节点),并能快速查找到每个子任务中的某个指令。看到某个指令的细节参数及对应在三维仿真中机械臂的形态,便于用户快速上手,对于未经过专业培训的现场工人也可快速编程。
实施例二:
一种机器人,该机器人上设置有上述实施例一中的机器人图形化编程交互***。
具体的,在机器人图形化编程交互***得到图形化程序后,后台会得到关于图形化程序的数据结构,将该数据结构翻译为机器人的脚本程序,进而再把脚本程序通过解析器解析成机器人能识别的指令,将该指令发送至机器人,从而控制机器人运动。
本发明实施例所提供的机器人图形化编程交互***及机器人的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种机器人图形化编程交互***,其特征在于,基于跨平台C++图形用户界面应用程序开发,包括:图形库管理模块,图形化编程模块和可视化交互式仿真模块,其中,所述图形库管理模块和所述图形化编程模块设置于图形化编程界面,所述可视化交互式仿真模块设置于动画仿真界面;
所述图形库管理模块包括:图形库模块和辅助功能模块;
所述图形库模块,用于存储固定节点和自定义节点,其中,所述固定节点和所述自定义节点采用C++程序封装得到;
所述图形化编程模块,用于根据用户对所述固定节点和/或所述自定义节点的选择,拖拽,参数设置的操作进行图形化编程,得到图形化程序,其中,当进行所述参数设置时,可通过所述可视化交互式仿真模块对所述固定节点和/或所述自定义节点进行参数设置,所述图形化程序中包括:多个节点,节点之间的连接线;
所述辅助功能模块,用于根据所述用户的触发对所述图形化编程的过程进行辅助性操作,以完成所述图形化编程;
所述可视化交互式仿真模块中包含机械臂仿真模型,所述机械臂仿真模型能够根据所述图形化程序进行运行。
2.根据权利要求1所述的***,其特征在于,所述固定节点包括:
程序起始节点,用于表示程序的起始位置;
运动节点,用于表示所述机械臂仿真模型的运动位置;
函数节点,用于表示内部运算或外部通讯的函数;
逻辑控制节点,用于进行程序的判断和逻辑选择;
指令集节点,用于存储多个子节点所组成的连接结构,其中,所述连接结构用于实现目标功能。
3.根据权利要求1所述的***,其特征在于,所述辅助功能模块包括:保存单元,播放单元,删除线单元,删除点单元,撤销单元,恢复单元,放大单元和缩小单元;
所述保存单元,用于保存所述图形化程序;
所述播放单元,用于调出运行控制单元,以使所述机械臂仿真模型基于所述运行控制单元的控制按照所述图形化程序进行运行,其中,当所述机械臂仿真模型按照所述图形化程序进行运行时,所述图形化程序中正在运行的节点高亮显示;
所述删除线单元,用于删除所述图形化程序中的连接线;
所述删除点单元,用于删除所述图形化程序中的节点;
所述撤销单元,用于撤销所述用户的上一次操作;
所述恢复单元,用于恢复所述用户的上一次操作;
所述放大单元,用于放大所述图形化程序;
所述缩小单元,用于缩小所述图形化程序。
4.根据权利要求3所述的***,其特征在于,所述辅助功能模块还包括:用于根据所述用户对所述播放单元的触发而显示的运行控制单元;
所述运行控制单元包括:开始运行单元,分布运行单元;
所述开始运行单元,用于使所述机械臂仿真模型按照所述图形化程序顺序运行,其中,当所述机械臂仿真模型开始运行后,所述图形化编程界面中显示所述机械臂仿真模型的运动;
所述分布运行单元,用于使所述机械臂仿真模型按照所述图形化程序分步运行,其中,当所述机械臂仿真模型分步运行后,所述图形化编程界面中显示所述机械臂仿真模型的运动。
5.根据权利要求1所述的***,其特征在于,所述图形化编程模块还包括:节点设置单元,其中,所述节点设置单元用于根据所述用户对所述图形化程序中目标节点的触发而显示,所述目标节点为所述图形化程序中的任一节点;
所述节点设置单元包括:第一参数设置单元,移动触发单元,界面切换单元;
所述第一参数设置单元,用于对所述目标节点所对应的机械臂仿真模型的参数信息进行设置;
所述移动触发单元,用于控制所述机械臂仿真模型向所述目标节点所对应的目标位置进行运动;
所述界面切换单元,用于将所述图形化编程界面切换至所述动画仿真界面。
6.根据权利要求5所述的***,其特征在于,所述可视化交互式仿真模块还包括:第二参数设置单元,控制单元;
所述第二参数设置单元,用于对所述目标节点所对应的机械臂仿真模型的参数信息进行设置;
所述控制单元至少包括:移动关节单元,移动末端单元,记录当前位置单元和归零单元;
所述移动关节单元,用于使所述第二参数设置单元处于可设置状态;
所述移动末端单元,用于使所述机械臂仿真模型的末端按钮处于可控制状态,以通过所述末端按钮对所述机械臂仿真模型进行操作;
所述记录当前位置单元,用于将所述机械臂仿真模型的所处的当前位置同步至所述目标节点所对应的参数信息;
所述归零单元,用于将所述机械臂仿真模型的位置恢复至初始位置。
7.根据权利要求1所述的***,其特征在于,所述机械臂仿真模型为可控仿真模型,通过所述机械臂仿真模型的末端按钮对其运行进行控制。
8.根据权利要求1所述的***,其特征在于,所述固定节点还包括:与外部进行通讯的节点按钮集。
9.根据权利要求1所述的***,其特征在于,所述图形化程序中的节点可放大或缩小。
10.一种机器人,其特征在于,所述机器人上设置有权利要求1至9中任一项所述的机器人图形化编程交互***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811335672.2A CN109605366B (zh) | 2018-11-09 | 2018-11-09 | 机器人图形化编程交互***及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811335672.2A CN109605366B (zh) | 2018-11-09 | 2018-11-09 | 机器人图形化编程交互***及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109605366A CN109605366A (zh) | 2019-04-12 |
CN109605366B true CN109605366B (zh) | 2021-06-01 |
Family
ID=66004137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811335672.2A Active CN109605366B (zh) | 2018-11-09 | 2018-11-09 | 机器人图形化编程交互***及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109605366B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110221828B (zh) * | 2019-05-20 | 2023-03-14 | 一汽奔腾轿车有限公司 | 一种汽车电子控制单元通讯程序的可视化编程方法 |
CN110321118A (zh) * | 2019-07-05 | 2019-10-11 | 深圳市智慧郎数码科技有限公司 | 函数代码的生成方法及相关设备 |
CN110497412A (zh) * | 2019-08-26 | 2019-11-26 | 中科新松有限公司 | 基于网页和移动端的机器人图形化编程交互*** |
CN110543144B (zh) * | 2019-08-30 | 2021-06-01 | 天津施格自动化科技有限公司 | 图形化编程控制机器人的方法及*** |
CN110750909B (zh) * | 2019-10-25 | 2023-10-27 | 中国建设银行股份有限公司 | 一种基于模型构建平台的建模方法、装置、设备及介质 |
CN110977983B (zh) * | 2019-12-20 | 2022-11-01 | 艾力机器人科技(苏州)有限公司 | 用于机械臂控制的人机界面*** |
CN113126977A (zh) * | 2019-12-31 | 2021-07-16 | 深圳市赛元微电子有限公司 | 图形化编程***及实现单片机的图形化编程的方法 |
CN111338619B (zh) * | 2020-02-21 | 2023-06-23 | 中科新松有限公司 | 一种图形化算法编程交互***、编程方法和可读存储介质 |
CN111580806A (zh) * | 2020-04-10 | 2020-08-25 | 天津大学 | 一种协作机器人图形化编程*** |
CN114454154A (zh) * | 2020-11-10 | 2022-05-10 | 德制国际有限公司 | 图形化机械手臂学习***及其学习方法 |
CN112405623B (zh) * | 2020-12-02 | 2022-07-12 | 用友网络科技股份有限公司 | 机器人的开发方法、开发装置和可读存储介质 |
CN112757273A (zh) * | 2020-12-28 | 2021-05-07 | 广州一康医疗设备实业有限公司 | 一种机械臂轨迹编辑可视化方法、***、装置及存储介质 |
CN112987685A (zh) * | 2021-02-05 | 2021-06-18 | 武汉理工大学 | 一种基于安卓的机器人开放式运动控制***及方法 |
CN113096470A (zh) * | 2021-04-06 | 2021-07-09 | 常州思泰姆教育科技有限公司 | 一种基于图形化编程的交互式教学程控*** |
CN113515084B (zh) * | 2021-07-26 | 2022-10-18 | 山东省计算中心(国家超级计算济南中心) | 一种编译型plc的图形化编程交互***及交互方法 |
CN114147705A (zh) * | 2021-11-18 | 2022-03-08 | 珠海格力智能装备有限公司 | 一种机器人的控制方法、装置、计算机设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843630A (zh) * | 2016-06-08 | 2016-08-10 | 江西洪都航空工业集团有限责任公司 | 一种基于机器人图形化编程开发的方法 |
CN105893060A (zh) * | 2016-05-09 | 2016-08-24 | 福建省闽骏科教设备有限公司 | 一种图形化编程***及其方法 |
CN106406890A (zh) * | 2016-09-23 | 2017-02-15 | 江西洪都航空工业集团有限责任公司 | 一种利用多语言建立机器人模块的方法 |
-
2018
- 2018-11-09 CN CN201811335672.2A patent/CN109605366B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893060A (zh) * | 2016-05-09 | 2016-08-24 | 福建省闽骏科教设备有限公司 | 一种图形化编程***及其方法 |
CN105843630A (zh) * | 2016-06-08 | 2016-08-10 | 江西洪都航空工业集团有限责任公司 | 一种基于机器人图形化编程开发的方法 |
CN106406890A (zh) * | 2016-09-23 | 2017-02-15 | 江西洪都航空工业集团有限责任公司 | 一种利用多语言建立机器人模块的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109605366A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109605366B (zh) | 机器人图形化编程交互***及机器人 | |
KR100856219B1 (ko) | 애니메이션 생성 프로그램을 저장한 컴퓨터 판독가능한 매체 | |
JP3881179B2 (ja) | ユーザインタフェース設計装置 | |
CN110497412A (zh) | 基于网页和移动端的机器人图形化编程交互*** | |
JPH0520044A (ja) | ユーザインタフエース装置 | |
CA2298625A1 (en) | Method for generating 3d animations from animation data | |
CN113759753B (zh) | 一种基于数字孪生平台的仿真调试*** | |
CN110384922B (zh) | 在3d图形中监测用户活动并管理控制器的方法和*** | |
JP2008254074A (ja) | ロボットのモーション編集装置及びそのプログラム | |
CN112698823A (zh) | 一种图形化的机器人编程交互***及方法 | |
JP2939021B2 (ja) | ウィンドウ管理情報入出力装置 | |
KR100246862B1 (ko) | 툴 버튼의 설정 방법 및 편집 장치 | |
CN110428485A (zh) | 二维动画编辑方法及装置、电子设备、存储介质 | |
CN104969263A (zh) | 用于生成动画的运动序列的方法、***及计算机可读记录介质 | |
Dörner et al. | Content creation and authoring challenges for virtual environments: from user interfaces to autonomous virtual characters | |
JPH09258971A (ja) | アイコンプログラミング装置 | |
CN109191590A (zh) | 一种用于制作虚拟现实应用的处理***及处理方法 | |
CN105094738A (zh) | 一种控制方法及电子设备 | |
CN111325348A (zh) | 一种量子线路的显示方法、装置、存储介质和电子装置 | |
JP4476223B2 (ja) | 画面データ作成装置、画面データの編集方法及び画面データ編集プログラム | |
KR20100054330A (ko) | 직관적 사용자 인터페이스를 이용한 프로그램 저작 방법 및저작 도구 | |
JP3498733B2 (ja) | 木構造表示編集装置 | |
JP3898507B2 (ja) | プログラム作成支援システム及びプログラム作成支援方法 | |
Bäsken et al. | GeoWin a generic tool for interactive visualization of geometric algorithms | |
CN117349917B (zh) | 一种施工方案模拟***、方法以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Robot graphical programming interaction system and robots Effective date of registration: 20231228 Granted publication date: 20210601 Pledgee: China Minsheng Banking Corp Shanghai branch Pledgor: SIASUN Co.,Ltd. Registration number: Y2023310000940 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |