CN112698823A - 一种图形化的机器人编程交互系统及方法 - Google Patents
一种图形化的机器人编程交互系统及方法 Download PDFInfo
- Publication number
- CN112698823A CN112698823A CN202011641014.3A CN202011641014A CN112698823A CN 112698823 A CN112698823 A CN 112698823A CN 202011641014 A CN202011641014 A CN 202011641014A CN 112698823 A CN112698823 A CN 112698823A
- Authority
- CN
- China
- Prior art keywords
- instruction
- robot
- module
- program
- graphical
- 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
- 230000003993 interaction Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000010586 diagram Methods 0.000 claims abstract description 34
- 238000012800 visualization Methods 0.000 claims abstract description 27
- 238000004088 simulation Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 3
- 238000004220 aggregation Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
本发明涉及机器人编程技术领域,具体涉及一种图形化的机器人编程交互系统及方法,所述系统包括:指令集模块,用于提供机器人的运动控制指令和程序逻辑控制指令,指令集模块中配置有多个指令类别,每个指令类别均包括多个可拖拽的指令;程序编辑模块,用于对机器人图形化程序进行编辑,以及读取拖拽至程序编辑模块中的指令,将多个指令以树状图的形式进行展示;指令属性设置模块,用于查看和修改程序编辑模块中指令属性;辅助编辑模块,用于对机器人图形化程序进行操作管理;可视化模块,用于以三维模型的方式展示机器人的位姿,以及以三维动画的方式展示机器人的运动轨迹,本发明提供的机器人编程交互系统交互便捷、且实用性强。
Description
技术领域
本发明涉及机器人编程技术领域,具体涉及一种图形化的机器人编程交互系统及方法。
背景技术
当前,机器人的编程已经逐步从代码和文本式编程的方式向图形式编程的方式发展。目前市面上的机器人图形化编程交互方式主要有两种:第一种是拼图式,即用户拖动指令,并像拼图一般将程序节点进行拼接;另一种是流程图式,其交互由指令节点和节点连线组成,用户通过拖拽指令节点,并通过节点连接线来连接各个程序节点。
其中,拼图式的本质是树状结构,但是由于其子父指令节点缩进不明显,导致程序较长、循环跳转较多时用户无法迅速直观的获取程序大概逻辑,显得较为臃肿;而流程图式的编程交互方式同样存在以上问题,且由于程序的逻辑需要使用节点连接线来表示,这要求用户具备程序节点合理布局的能力,否则在编写较大、较复杂的程序时,可能会由于节点布局的不合理,导致节点连接线错综复杂,从而使机器人图形化程序的阅读性变差,另外,采用流程图式的编程交互方式,在进行连接程序节点的操作难以在无鼠标的移动平台、嵌入式的示教器上得到良好的交互。
而且,在当前图形化编程的实际应用过程中发现,由于机器人图形化程序会包含大量的运动控制指令节点,大量的运动控制指令节点会将程序的结构和逻辑淹没,这将使用户更加难以快速获取程序的总体结构逻辑。
综上,现有的机器人图形化编程仍然存在交互不够便捷、且实用性较差的问题。
发明内容
本发明提供一种图形化的机器人编程交互系统及方法,以解决现有技术中所存在的一个或多个技术问题,至少提供一种有益的选择或创造条件。
为了实现上述目的,本发明提供以下技术方案:
一种图形化的机器人编程交互系统,所述系统包括:指令集模块、程序编辑模块、指令属性设置模块、辅助编辑模块以及可视化模块;
所述指令集模块,用于提供机器人的运动控制指令和程序逻辑控制指令,所述指令集模块中配置有多个指令类别,每个所述指令类别均包括多个可拖拽的指令;
所述程序编辑模块,用于对机器人图形化程序进行编辑,以及读取拖拽至所述程序编辑模块中的指令,将多个所述指令以树状图的形式进行展示;
所述指令属性设置模块,用于显示和设置所述程序编辑模块中指令的属性;
所述辅助编辑模块,用于对机器人图形化程序进行操作管理;
所述可视化模块,用于以三维模型的方式展示所述机器人的位姿,以及以三维动画的方式展示所述机器人的运动轨迹。
进一步,所述指令集模块、程序编辑模块、指令属性设置模块以及可视化模块均以窗口界面的形式进行呈现,且都处于同一显示界面。
进一步,所述指令类别包括:
运动控制类别,包括多种用于控制机器人运动的运动控制指令;
逻辑和分支类别,包括逻辑判断指令、分支跳转指令以及循环类指令;
数字IO控制类别,包括获取机器人输入状态的控制指令和控制机器人输出状态的控制指令;
子程序类别,包括用于调用子程序的指令;
运动容器类别,包括多个用于将所述运动控制指令进行聚合管理的运动容器指令。
进一步,所述程序编辑模块还用于:识别从所述指令集模块中拖拽至所述程序编辑模块的窗口界面内的指令,并根据所述指令所处位置将所述指令添加至树状图中对应位置。
进一步,所述程序编辑模块还用于:将所述指令分为一级指令和二级指令:所述一级指令为树状图中的叶节点,所述二级指令为树状图中父节点;
当识别到指令集模块中的指令被拖拽至树状图中相邻两个节点中间的空白区域时,将所述指令添加为该树状图中相邻两个节点中间的节点;
当识别到指令集模块中的指令被拖拽至树状图中任一节点所在区域时,如果该节点为叶节点,则将所述指令添加为与该节点下方相邻的节点;如果该节点为父节点,则将所述指令添加为该节点中最前或最后的节点。
进一步,所述程序编辑模块还用于对所述程序编辑模块中的运动容器指令进行一键折叠,以及单独显示所述程序编辑模块中所有的运动容器指令。
进一步,所述指令还包括图标,所述图标用于标识所述指令的状态;所述指令的状态包括:被禁用状态、正确状态以及错误状态;其中,所述被禁用状态表示指令被禁用,所述正确状态表示指令的属性已完整设置,所述错误状态表示指令的属性未完整设置或设置错误。
进一步,所述辅助编辑模块包括:保存单元、撤销单元、重做单元、删除单元、复制单元和黏贴单元;
所述保存单元,用于保存所述机器人图形化程序;
所述撤销单元,用于撤销对所述机器人图形化程序的上一次操作;
所述重做单元,用于恢复被所述撤销单元撤销的上一次操作;
所述删除单元,用于删除用户在指令集模块中选择的指令;
所述复制单元,用于复制用户在指令集模块中选择的指令;
所述黏贴单元,用于将通过所述复制单元复制的指令黏贴到用户在树状图中选择的节点位置。
进一步,所述辅助编辑模块还包括:仿真运行单元和实际运行单元;
所述仿真运行单元,用于将所述机器人图形化程序在所述可视化模块中以三维动画的方式对机器人的运动进行仿真,并在仿真时进行碰撞检测,检测在执行机器人图形化程序过程中是否存在碰撞,当检测到在执行机器人图形化程序过程中存在碰撞时,在机器人的三维模型中标记存在碰撞的部位;
所述实际运行单元,用于将所述机器人图形化程序发送至机器人控制器中,以使机器人控制器执行所述机器人图形化程序。
一种图形化的机器人编程交互方法,基于上述任一所述的图形化的机器人编程交互系统,所述方法包括以下步骤:
步骤S100、进入所述机器人编程交互系统,新建一个空白的机器人图形化程序;
步骤S200、从指令集模块中添加指令至程序编辑模块中;
步骤S300、在指令属性设置模块配置指令参数;
步骤S400、当完成对机器人图形化程序的编辑时,通过辅助编辑模块对机器人图形化程序进行仿真运行,通过可视化模块显示机器人的三维动画;
步骤S500、判断机器人运动是否达到预期,若是,执行步骤S600,若否,执行步骤S200;
步骤S600、保存所述机器人图形化程序。
本发明的有益效果是:本发明公开一种图形化的机器人编程交互系统,本发明通过指令集模块提供机器人的运动控制指令和程序逻辑控制指令,通过程序编辑模块对机器人图形化程序进行编辑,以及读取拖拽至所述程序编辑模块中的指令,将多个所述指令以树状图的形式进行展示;通过指令属性设置模块显示和设置所述程序编辑模块中指令的属性;通过辅助编辑模块对对机器人图形化程序进行操作管理;通过可视化模块以三维模型的方式展示所述机器人的位姿,以及以三维动画的方式展示所述机器人的运动轨迹。本发明采用树状控件作为所述机器人图形化程序的显示和编辑的方式,无需用户进行节点之间的连接和布局,且树状图的结构性更直观,树状图的结构和程序逻辑结构一一对应,可更直观的展示程序整体逻辑,用户只需将指令拖拽至所述指令集模块中的期望位置,即可往机器人图形化程序对应的位置添加对应的程序指令。从而提高机器人编程的交互便捷性、以及实用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一种图形化的机器人编程交互系统的整体布局示意图;
图2a是本发明实施例中程序编辑模块的折叠效果示意图;
图2b是本发明实施例中树状图的显示模式示意图;
图3是本发明实施例中删除单元在删除二级指令时的效果示意图;
图4是本发明实施例中辅助功能模块的示意图;
图5是本发明实施例中三维场景的示意图;
图6是本发明实施例中指令集模块的根节点示意图;
图7是本发明实施例中配置界面的示意图;
图8a是本发明实施例中为机器人图形化程序添加二级指令时的效果示意图;
图8b是本发明实施例中为机器人图形化程序添加一级指令时的效果示意图;
图9是本发明实施例一种图形化的机器人编程交互方法的流程示意图。
具体实施方式
以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
参考图1,如图1所示为本申请实施例提供的一种图形化的机器人编程交互系统,所述系统包括:指令集模块110,程序编辑模块120,指令属性设置模块130,辅助编辑模块140以及可视化模块150;
所述指令集模块110,用于提供机器人的运动控制指令和程序逻辑控制指令,所述指令集模块110中配置有多个指令类别111,每个所述指令类别111均包括多个可拖拽的指令;
所述程序编辑模块120,用于对机器人图形化程序进行编辑,以及读取拖拽至所述程序编辑模块120中的指令,将多个所述指令以树状图的形式进行展示;
所述指令属性设置模块130,用于显示和设置所述程序编辑模块120中指令的属性;
所述辅助编辑模块140,用于对机器人图形化程序进行操作管理;
所述可视化模块150,用于以三维模型的方式展示所述机器人的位姿,以及以三维动画的方式展示所述机器人的运动轨迹。
本发明采用树状控件作为所述机器人图形化程序的显示和编辑的方式,较于流程图式的图形化编程方式有一个显而易见的好处,即无需用户进行节点之间的连接和布局,且树状图的结构性更直观,树状图的结构和程序逻辑结构一一对应,可更直观的展示程序整体逻辑,用户只需将指令拖拽至所述指令集模块110中的期望位置,即可往机器人图形化程序对应的位置添加对应的程序指令;在一个实施例中,所述系统基于跨平台的C++图形交互框架开发。
在一个改进的实施例中,所述指令集模块110、程序编辑模块120、指令属性设置模块130以及可视化模块150均以窗口界面的形式进行呈现,且都处于同一显示界面。
可见,用户无需进行页面切换,即可同时处于可被观察和使用的状态,减少编程过程中切换页面的操作。
在一个改进的实施例中,所述指令类别111包括:
运动控制类别,包括多种用于控制机器人运动的运动控制指令;
逻辑和分支类别,包括逻辑判断指令、分支跳转指令以及循环类指令;
数字IO控制类别,包括获取机器人输入状态的控制指令和控制机器人输出状态的控制指令;
子程序类别,包括用于调用子程序的调用指令;通过调用指令调用子程序,可以控制执行中的程序跳转到指定的子程序继续执行;
运动容器类别,包括多个用于将所述运动控制指令进行聚合管理的运动容器指令。
需要说明的是,所述运动容器类别可以包含零个、一个或多个运动控制指令。在一个具体的实施例中,所述机器人的运动控制指令包括:MOVEJ(关节运动)、MOVEL(直线运动);所述逻辑和分支指令包括:WHILE语句,FOR循环语句,IF语句,GOTO语句;所述数字IO(输入输出)指令包括:DI(数字输入)指令和DO(数字输出)指令;所述子程序指令包括:CALL(调用)命令;所述运动容器指令包括:PATH(路径)命令。
本发明还提供了运动容器指令,用户在进行实际的机器人应用编程时,可以提前将机器人的运动控制指令划分为几个运动容器指令,并将运动容器指令插入到机器人图形化程序中,而暂不添加具体的运动控制指令,直到机器人图形化程序的主体逻辑编辑完成后,再逐一为各个运动容器指令添加具体的运动控制指令。
在一个改进的实施例中,所述程序编辑模块120还用于:识别从所述指令集模块110中拖拽至所述程序编辑模块120的窗口界面内的指令,并根据所述指令所处位置将所述指令添加至树状图中对应位置。
在一个改进的实施例中,所述程序编辑模块120还用于:将所述指令分为一级指令和二级指令:所述一级指令为树状图中的叶节点,所述二级指令为树状图中父节点。
具体的,一级指令指不可拥有子指令的指令,如上述的数字IO控制指令,运动控制指令;二级指令指可拥有子指令的指令,且二级指令可以进行嵌套,即二级指令可以成为另一个二级指令的子指令,如上述的循环指令,逻辑指令;所述二级指令可拥有零个、一个或多个子指令。
在本实施例中,用户即使将指令拖拽至与一级指令重合的位置,所述程序编辑模块120也自动将拖拽的指令添加至一级指令的下方。
在一个改进的实施例中,所述程序编辑模块120,还具体用于:
当识别到指令集模块110中的指令被拖拽至树状图中相邻两个节点中间的空白区域时,将所述指令添加为该树状图中相邻两个节点中间的节点;
当识别到指令集模块110中的指令被拖拽至树状图中任一节点所在区域时,如果该节点为叶节点,则将所述指令添加为与该节点下方相邻的节点;如果该节点为父节点,则将所述指令添加为该节点中最前或最后的节点。
具体地,用户将指令集模块110中的指令拖拽至树状图中相邻两个节点中间的空白区域时,所述程序编辑模块120将所述指令添加为该树状图中相邻两个节点中间的新的节点;
用户将指令集模块110中的指令拖拽至树状图中指定节点上(即重叠)时,如果指定节点为叶节点(一级指令),则将所述指令添加为与该叶节点下方相邻的节点;如果指定节点为父节点(二级指令),则将所述指令添加为该父节点中最前或最后的节点;在拖拽和添加指令的过程中,指令集模块110中的指令属性不会发生变化,即,若该指令为一级指令,则将该指令添加进树状图中后,依然为一级指令(叶节点);若该指令为二级指令,则将该指令添加进树状图中后,依然为二级指令(父节点);从而达到根据用户的动作将指令对应添加到合适位置的目的。
在一个改进的实施例中,所述程序编辑模块120还用于分离机器人的运动控制指令和程序逻辑控制指令。
在一个改进的实施例中,所述程序编辑模块120还用于对所述程序编辑模块120中的所有运动控制指令进行一键折叠,以及单独显示所述程序编辑模块120中所有的运动容器指令。
本实施例中,由于运动容器指令是二级指令,当用户只关心程序逻辑时,通过将所有的运动容器指令进行一键折叠,减少树状图的长度,有助于用户快速理解机器人图形化程序的整体结构和逻辑;当单独显示所述程序编辑模块120中所有的运动容器指令时,所述程序编辑模块120将机器人图形化程序中所有非运动容器指令进行隐藏,只显示运动容器指令,有助于用户快速查看机器人图形化程序中的运动控制部分。通过将机器人运动控制部分和程序逻辑部分进行分离,并采用独立显示的方式,有效提高了机器人图形化程序的可读性和可维护性。
参考图2a和图2b,用户可通过点击折叠路径230按钮来折叠程序中所有的运动控制指令;点击展开路径240按钮展开程序中所有的运动控制指令,方便用户查看各个路径的细节;
当用户想忽略程序逻辑信息而只关注于运动控制信息时,可通过点击所述程序编辑模块120界面中的Table(工作台)来切换树状图的显示模式;当用户点击路径工作台220时,所述程序编辑模块120将进入路径显示模式260,此时所述程序编辑模块120只显示程序中的路径指令;当用户点击程序工作台210时,所述程序编辑模块120显示进入程序完整显示模式250,此时所述程序编辑模块120显示程序中的所有指令;通过提供一键折叠路径指令和单独显示路径指令的功能,可以有效将机器人运动部分和程序逻辑进行分离,有效提高程序的可读性和可维护性。
在一个改进的实施例中,所述指令属性设置模块130包括指令通用参数配置单元131和指令专有参数配置单元132;所述指令通用参数配置单元131包含指令类型、指令状态和指令注释;所述指令专有参数配置单元132用于配置各个指令的专有属性;
在一个改进的实施例中,所述指令还包括图标121,所述图标121用于标识所述指令的状态;所述指令的状态包括:被禁用状态、正确状态以及错误状态;其中,所述被禁用状态表示指令被禁用,所述正确状态表示指令的属性已完整设置,所述错误状态表示指令的属性未完整设置或设置错误。
在一个改进的实施例中,所述辅助编辑模块140包括:保存单元、撤销单元、重做单元、删除单元、复制单元和黏贴单元;
所述保存单元,用于保存所述机器人图形化程序;
所述撤销单元,用于撤销对所述机器人图形化程序的上一次操作;
所述重做单元,用于恢复被所述撤销单元撤销的上一次操作;
所述删除单元,用于删除用户在指令集模块110中选择的指令;
如图3所示,如果选中的指令为二级指令(图中所示的WHILE语句),则将其所有子指令一并删除;
所述复制单元,用于复制用户在指令集模块110中选择的指令;如果选中的指令为二级指令,则复制其本身和其所有子指令;
所述黏贴单元,用于将通过所述复制单元复制的指令黏贴到用户在树状图中选择的节点位置。
在一个改进的实施例中,所述辅助编辑模块140还包括:仿真运行单元和实际运行单元;
所述仿真运行单元,用于将所述机器人图形化程序在所述可视化模块150中以三维动画的方式对机器人的运动进行仿真,并在仿真时进行碰撞检测,检测在执行机器人图形化程序过程中是否存在碰撞,当检测到在执行机器人图形化程序过程中存在碰撞时,在机器人的三维模型中标记存在碰撞的部位;
所述实际运行单元,用于将所述机器人图形化程序发送至机器人控制器中,以使机器人控制器执行所述机器人图形化程序。
在一个改进的实施例中,所述可视化模块150还用于,当检测到用户选中所述指令集模块110中的运动控制单元时,以三维模型的方式展示所述运动控制单元中运动控制指令所代表的目标位姿(机器人目标点位的位姿);当检测到用户选中所述指令集模块110中的运动容器类别111时,以三维动画的方式展示所述运动容器类别中所有运动控制指令组成的机器人运动轨迹。
参考图4,并结合图1中的可视化模块150,在一个改进的实施例中,所述可视化模块150还包括:辅助功能模块151,所述辅助功能模块151用于控制可视化模块150的三维场景,所述辅助功能模块151包括:放大模型单元410、缩小模型单元420、视角调整单元430;所述视角调整单元430包括移动视角单元和旋转视角单元;
所述放大模型单元410,用于放大可视化模块150中的三维模型;等同于拉近三维场景观察视角相对机器人模型的距离;
所述缩小模型单元420,用于缩小可视化模块150中的三维模型;等同于拉远三维场景观察视角相对机器人模型的距离;
所述移动视角单元,用于平移可视化模块150中三维场景的观察视角;
所述旋转视角单元,用于旋转可视化模块150中三维场景的观察视角;
在本实例中,所述移动视角单元和旋转视角单元复用同一可选中按钮,即视角调整单元430,当可选中按钮处于选中状态时,则三维可视化场景处于移动视角模式,使用鼠标或手指在三维可视化场景区域滑动,即可移动视角,使用鼠标或手指在三维可视化场景区域旋转,即可旋转视角。
参考图5,本实例中的三维场景包括:当前位姿模型510和目标位姿模型520;
所述当前位姿模型510,用于显示机器人当前的实际位姿或仿真位姿;
所述目标位姿模型520,用于显示指令集模块110中用户选中的运动控制指令的目标位姿;
在所述指令集模块110中,在指令集模块110选中运动控制指令时,可视化模块150中的目标位姿机器人模型,将会显示为当前指令集模块110中选中运动控制指令的目标位姿;
下面将结合上述实施例,并以一个具体的使用示例来进一步说明如何利用该系统进行机器人图形化程序的图形化编程;
参考图9,本申请实施例还提供一种图形化的机器人编程交互方法,基于上述任一所述的图形化的机器人编程交互系统,所述方法包括以下步骤:
步骤S100、进入所述机器人编程交互系统,新建一个空白的机器人图形化程序;
步骤S200、从指令集模块中添加指令至程序编辑模块中;
步骤S300、在指令属性设置模块配置指令参数;
步骤S400、当完成对机器人图形化程序的编辑时,通过辅助编辑模块对机器人图形化程序进行仿真运行,通过可视化模块显示机器人的三维动画;
步骤S500、判断机器人运动是否达到预期,若是,执行步骤S600,若否,执行步骤S200;
步骤S600、保存所述机器人图形化程序。
在一个具体的实施例中,用户通过机器人编程交互系统进行编程时,进行以下操作:
S1、触发进入所述机器人编程交互系统,新建并打开一个空白的机器人图形化程序,所述机器人图形化程序的指令集模块110只显示根节点;
其中,所述根节点如图6中的Program;
S2、从指令集模块110拖拽一个指令MOVEJ至程序编辑模块120中,指令MOVEJ将会添加为树状图中根节点Program的第一个子节点,也是程序的第一个指令,且指令属性设置模块130自动切换为MOVEJ指令的配置界面,如图7所示;
S3、为指令MOVEJ指令设置目标点位;即修改指令的参数;
S4、继续添加指令:从指令集模块110中拖拽一个循环指令WHILE至指令集模块110中的第一个指令之后,指令WHILE将会添加到刚刚添加的指令MOVEJ的下面;
如图8a所示,在本实施例中,为机器人图形化程序添加二级指令(WHILE指令)时,会自动添加一个闭合指令(END WHILE指令);
S5、成功添加WHILE指令后,指令属性设置模块130将自动切换为指令WHILE的配置界面,在配置界面中可以完成WHILE指令的循环条件的配置;
S6、继续从指令集模块110中拖拽另一个指令MOVEJ至和刚刚添加成功的指令WHILE重合位置,所述程序编辑模块120将MOVEJ指令添加成为WHILE指令的子指令;如图8b所示;
S7、不断添加指令并设置参数,直到程序逻辑上达到用户期望时,点击辅助编辑模块140中的保存单元,保存所述的机器人图形化程序;
S8、如果存在错误的指令或参数不完整的指令,系统将禁止用户保存,并弹窗提示;
S9、通过点击辅助编辑模块140中的仿真运行单元,以使可视化模块150根据所述机器人图形化程序显示机器人的三维动画;
S10、通过仿真运行观察机器人运动达到预期时,通过点击辅助编辑模块140中的实际运行单元,系统将所述机器人可视化程序下方至实际机器人控制系统中,并进行实机调试;
S11、如果仿真调试过程或实际调试过程中发现程序存在问题,则在指令集模块110中选中存在问题的指令,对其进行编辑;
S12、完成调试,保存所述机器人图形化程序,退出系统。
上述系统实施例中的内容均适用于本方法实施例中,本方法实施例所具体实现的功能与上述系统实施例相同,并且达到的有益效果与上述系统实施例所达到的有益效果也相同。
尽管本申请的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求,考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本申请的预定范围。此外,上文以发明人可预见的实施例对本申请进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本申请的非实质性改动仍可代表本申请的等效改动。
Claims (10)
1.一种图形化的机器人编程交互系统,其特征在于,所述系统包括:指令集模块、程序编辑模块、指令属性设置模块、辅助编辑模块以及可视化模块;
所述指令集模块,用于提供机器人的运动控制指令和程序逻辑控制指令,所述指令集模块中配置有多个指令类别,每个所述指令类别均包括多个可拖拽的指令;
所述程序编辑模块,用于对机器人图形化程序进行编辑,以及读取拖拽至所述程序编辑模块中的指令,将多个所述指令以树状图的形式进行展示;
所述指令属性设置模块,用于显示和设置所述程序编辑模块中指令的属性;
所述辅助编辑模块,用于对机器人图形化程序进行操作管理;
所述可视化模块,用于以三维模型的方式展示所述机器人的位姿,以及以三维动画的方式展示所述机器人的运动轨迹。
2.根据权利要求1所述的一种图形化的机器人编程交互系统,其特征在于,所述指令集模块、程序编辑模块、指令属性设置模块以及可视化模块均以窗口界面的形式进行呈现,且都处于同一显示界面。
3.根据权利要求2所述的一种图形化的机器人编程交互系统,其特征在于,所述指令类别包括:
运动控制类别,包括多种用于控制机器人运动的运动控制指令;
逻辑和分支类别,包括逻辑判断指令、分支跳转指令以及循环类指令;
数字IO控制类别,包括获取机器人输入状态的控制指令和控制机器人输出状态的控制指令;
子程序类别,包括用于调用子程序的指令;
运动容器类别,包括多个用于将所述运动控制指令进行聚合管理的运动容器指令。
4.根据权利要求2所述的一种图形化的机器人编程交互系统,其特征在于,所述程序编辑模块还用于:识别从所述指令集模块中拖拽至所述程序编辑模块的窗口界面内的指令,并根据所述指令所处位置将所述指令添加至树状图中对应位置。
5.根据权利要求4所述的一种图形化的机器人编程交互系统,其特征在于,所述程序编辑模块还用于:将所述指令分为一级指令和二级指令:所述一级指令为树状图中的叶节点,所述二级指令为树状图中父节点;
当识别到指令集模块中的指令被拖拽至树状图中相邻两个节点中间的空白区域时,将所述指令添加为该树状图中相邻两个节点中间的节点;
当识别到指令集模块中的指令被拖拽至树状图中任一节点所在区域时,如果该节点为叶节点,则将所述指令添加为与该节点下方相邻的节点;如果该节点为父节点,则将所述指令添加为该节点中最前或最后的节点。
6.根据权利要求3所述的一种图形化的机器人编程交互系统,其特征在于,所述程序编辑模块还用于对所述程序编辑模块中的运动容器指令进行一键折叠,以及单独显示所述程序编辑模块中所有的运动容器指令。
7.根据权利要求3所述的一种图形化的机器人编程交互系统,其特征在于,所述指令还包括图标,所述图标用于标识所述指令的状态;所述指令的状态包括:被禁用状态、正确状态以及错误状态;其中,所述被禁用状态表示指令被禁用,所述正确状态表示指令的属性已完整设置,所述错误状态表示指令的属性未完整设置或设置错误。
8.根据权利要求2所述的一种图形化的机器人编程交互系统,其特征在于,所述辅助编辑模块包括:保存单元、撤销单元、重做单元、删除单元、复制单元和黏贴单元;
所述保存单元,用于保存所述机器人图形化程序;
所述撤销单元,用于撤销对所述机器人图形化程序的上一次操作;
所述重做单元,用于恢复被所述撤销单元撤销的上一次操作;
所述删除单元,用于删除用户在指令集模块中选择的指令;
所述复制单元,用于复制用户在指令集模块中选择的指令;
所述黏贴单元,用于将通过所述复制单元复制的指令黏贴到用户在树状图中选择的节点位置。
9.根据权利要求2所述的一种图形化的机器人编程交互系统,其特征在于,所述辅助编辑模块还包括:仿真运行单元和实际运行单元;
所述仿真运行单元,用于将所述机器人图形化程序在所述可视化模块中以三维动画的方式对机器人的运动进行仿真,并在仿真时进行碰撞检测,检测在执行机器人图形化程序过程中是否存在碰撞,当检测到在执行机器人图形化程序过程中存在碰撞时,在机器人的三维模型中标记存在碰撞的部位;
所述实际运行单元,用于将所述机器人图形化程序发送至机器人控制器中,以使机器人控制器执行所述机器人图形化程序。
10.一种图形化的机器人编程交互方法,基于权利要求1至9任一所述的图形化的机器人编程交互系统,其特征在于,所述方法包括以下步骤:
步骤S100、进入所述机器人编程交互系统,新建一个空白的机器人图形化程序;
步骤S200、从指令集模块中添加指令至程序编辑模块中;
步骤S300、在指令属性设置模块配置指令参数;
步骤S400、当完成对机器人图形化程序的编辑时,通过辅助编辑模块对机器人图形化程序进行仿真运行,通过可视化模块显示机器人的三维动画;
步骤S500、判断机器人运动是否达到预期,若是,执行步骤S600,若否,执行步骤S200;
步骤S600、保存所述机器人图形化程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011641014.3A CN112698823A (zh) | 2020-12-31 | 2020-12-31 | 一种图形化的机器人编程交互系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011641014.3A CN112698823A (zh) | 2020-12-31 | 2020-12-31 | 一种图形化的机器人编程交互系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698823A true CN112698823A (zh) | 2021-04-23 |
Family
ID=75514020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011641014.3A Pending CN112698823A (zh) | 2020-12-31 | 2020-12-31 | 一种图形化的机器人编程交互系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698823A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741881A (zh) * | 2021-09-16 | 2021-12-03 | 杭州分叉智能科技有限公司 | 一种rpa可视化流程设计方法 |
CN113741882A (zh) * | 2021-09-16 | 2021-12-03 | 杭州分叉智能科技有限公司 | 一种rpa图形化指令设计方法 |
CN113760261A (zh) * | 2021-09-03 | 2021-12-07 | 福建天泉教育科技有限公司 | 一种基于fgui的图形化积木编程方法及终端 |
CN114742984A (zh) * | 2022-04-14 | 2022-07-12 | 北京数字冰雹信息技术有限公司 | 一种动态三维模型的编辑方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102227692A (zh) * | 2008-09-29 | 2011-10-26 | 费希尔-罗斯蒙特系统公司 | 过程控制系统的元件的高效设计和配置 |
CN106997285A (zh) * | 2016-09-20 | 2017-08-01 | 遨博(北京)智能科技有限公司 | 一种控制机器人的方法及装置 |
CN110497412A (zh) * | 2019-08-26 | 2019-11-26 | 中科新松有限公司 | 基于网页和移动端的机器人图形化编程交互系统 |
-
2020
- 2020-12-31 CN CN202011641014.3A patent/CN112698823A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102227692A (zh) * | 2008-09-29 | 2011-10-26 | 费希尔-罗斯蒙特系统公司 | 过程控制系统的元件的高效设计和配置 |
CN106997285A (zh) * | 2016-09-20 | 2017-08-01 | 遨博(北京)智能科技有限公司 | 一种控制机器人的方法及装置 |
CN110497412A (zh) * | 2019-08-26 | 2019-11-26 | 中科新松有限公司 | 基于网页和移动端的机器人图形化编程交互系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760261A (zh) * | 2021-09-03 | 2021-12-07 | 福建天泉教育科技有限公司 | 一种基于fgui的图形化积木编程方法及终端 |
CN113760261B (zh) * | 2021-09-03 | 2023-05-23 | 福建天泉教育科技有限公司 | 一种基于fgui的图形化积木编程方法及终端 |
CN113741881A (zh) * | 2021-09-16 | 2021-12-03 | 杭州分叉智能科技有限公司 | 一种rpa可视化流程设计方法 |
CN113741882A (zh) * | 2021-09-16 | 2021-12-03 | 杭州分叉智能科技有限公司 | 一种rpa图形化指令设计方法 |
CN113741881B (zh) * | 2021-09-16 | 2024-01-30 | 杭州分叉智能科技有限公司 | 一种rpa可视化流程设计方法 |
CN113741882B (zh) * | 2021-09-16 | 2024-03-26 | 杭州分叉智能科技有限公司 | 一种rpa图形化指令设计方法 |
CN114742984A (zh) * | 2022-04-14 | 2022-07-12 | 北京数字冰雹信息技术有限公司 | 一种动态三维模型的编辑方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112698823A (zh) | 一种图形化的机器人编程交互系统及方法 | |
CN109605366B (zh) | 机器人图形化编程交互系统及机器人 | |
CN110497412A (zh) | 基于网页和移动端的机器人图形化编程交互系统 | |
JP2781035B2 (ja) | 階層型編集コマンド・メニュー表示方法 | |
JPH1074251A (ja) | オブジェクト編集方法,オブジェクト編集システム及び記録媒体 | |
WO1997011416A1 (fr) | Processeur de langage robotique | |
JP2007524176A (ja) | 処理システムをプログラミングする方法 | |
JPH11134017A (ja) | オフラインティーチング方法 | |
US6717587B2 (en) | Positioning and alignment aids for shape objects having authorable behaviors and appearances | |
CN110764754A (zh) | 一种机械手运动控制器的自由编程方法 | |
US20020075328A1 (en) | Contextual and dynamic command navigator for CAD and related systems | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
KR102300005B1 (ko) | 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템 | |
CN115526015B (zh) | 基于命令交互式的电网图生成方法、装置、介质及设备 | |
JPH09274553A (ja) | ウィンドウ表示制御装置及びウィンドウ表示制御方法 | |
JP2021094644A (ja) | オフラインプログラミング装置及びオフラインプログラミング方法 | |
US20230236804A1 (en) | Method and Apparatus for Automatic Programming | |
JPH10291183A (ja) | ロボット言語処理装置 | |
Witte et al. | A Hybrid Editor for Fast Robot Mission Prototyping | |
CN111862297A (zh) | 基于Coin3D的协作机器人可视化仿真示教方法 | |
CN115048008B (zh) | 一种hmi画面中对象的可视化方法和设备 | |
CN116522421B (zh) | 一种图形元素的编辑方法、系统及计算机程序产品 | |
JP3898507B2 (ja) | プログラム作成支援システム及びプログラム作成支援方法 | |
CN115454408A (zh) | 轨迹的图形化编程方法、装置、电子装置和存储介质 | |
JP4212396B2 (ja) | 図形要素選択プログラム |
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 |