1.本发明涉及智能控制领域,更具体地涉及一种机器人编程控制的方法、装置和机器人系统。
背景技术:2.随着时代的发展,人力成本不断提高,制造业不断的向自动化、智能化方向发展,机器人应用的也越来越广泛。机器人编程是操作人员控制机器人进行运动以及实现相应功能的手段,随着机器人产业的不断发展,机器人的编程方式也愈加重要。
3.目前的机器人编程方式主要以文本编程为主,操作人员需要在程序编辑界面输入不同的指令来进行编程,当机器人进行生产工作时,通常需要做比较复杂的动作,为完成该动作,操作人员往往需要编辑上百行指令,指令以文本形式显示在程序编辑界面,无法很直观的看到具体逻辑,当有逻辑出现问题时,也无法快速排查和寻找到问题的根源。如此会严重影响产线的生产效率,甚至某些错误的逻辑会导致机器人运行出现安全问题。
4.中国专利号为cn112114796 a的专利公开了一种非文本可视化编程方法;提出了一种通过构建流程模块和功能模块,将功能流程运行逻辑结构图及用户使用界面设计图编译成计算机程序的编程方法;逻辑框图是系统自上而下排列的,不能随意更改节点位置,不便于编辑与修改。
5.因此,现有技术需要一种对机器人进行编程控制的方案。
6.上述在背景部分公开的信息仅用于对本发明的背景做进一步的理解,因此它可以包含对于本领域普通技术人员已知的不构成现有技术的信息。
技术实现要素:7.本发明提供了一种机器人编程控制的方法、装置和机器人系统。本发明的方案能够解决现有技术中的问题包括:(1)操控机器人运动编辑指令行数较多时,由于程序编辑界面空间有限,无法清晰在程序编辑器中直观的看到全部的程序指令;(2)由于工业机器人生产环境的复杂性,为保证安全,示教器通常采用电阻屏,不像电容屏一样便于进行滑动操作,所以示教器控件的属性大多为点击,当程序庞大时,想要查看所有的指令就特别不方便,且不容易梳理整个程序的逻辑思路;(3)当编写的程序或程序的逻辑与预期不符时,必须通过阅读所有的代码进行分析;无法快速定位并进行修改程序;(4)流程图编程模式不能随意进行节点位置的更改,不便于编辑与修改。
8.本发明的第一方面提供了一种机器人编程控制的方法,包括:在启动机器人编程的程序编辑界面时,同时建立机器人编程的逻辑控制界面;其中,当在程序编辑界面的编程指令改变时,所述逻辑控制界面根据相应的指令更新对应的逻辑。
9.根据本发明的一个实施例,所述逻辑控制界面由不同的逻辑框图组成,当在程序编辑界面的编程指令改变时,所述逻辑控制界面更新和改变指令对应的逻辑框图。
10.根据本发明的一个实施例,通过按钮进行程序编辑界面和逻辑控制界面的逻辑框
图的切换。
11.根据本发明的一个实施例,所述逻辑控制界面由主逻辑框图界面和副逻辑框图组界面,其中所述主逻辑框图由功能模块流程组成,所述副逻辑框图为每个功能模块的具体实现流程。
12.根据本发明的一个实施例,当选择逻辑控制界面中的所述功能模块流程或具体实现流程时,在所述程序编辑界面突出显示所述功能模块流程或具体实现流程对应的指令。
13.根据本发明的一个实施例,当所述程序编辑界面中的程序运行时,通过所述逻辑控制界面中的逻辑框图监控所述程序的运行。
14.根据本发明的一个实施例,其中监控所述程序的运行包括:将正运行的流程、已运行过的流程、未运行的流程和运行异常的流程采用标记进行区分;当所述程序执行循环时,在所述逻辑框图中显示已执行循环的次数和总循环的次数。
15.根据本发明的一个实施例,其中,在所述程序编辑界面上设置切换至主逻辑框图界面按钮,当点击切换至主逻辑框图界面按钮时,将所述程序编辑界面切换至主逻辑框图界面;在所述主逻辑框图界面上设置切换至程序编辑界面按钮和切换至副逻辑框图界面,当点击切换至换至程序编辑界面按钮时,将所述主逻辑框图界面切换至程序编辑界面;当点击切换至副逻辑框图界面按钮时,将所述主逻辑框图界面切换至副逻辑框图界面;在所述副逻辑框图界面上设置切换至主逻辑框图界面按钮和切换至程序编辑界面按钮,当点击切换至换至主逻辑框图界面按钮时,将所述副逻辑框图界面切换至主逻辑框图界面按钮;当点击切换至换至程序编辑界面按钮时,将所述副逻辑框图界面切换至程序编辑界面按钮。
16.本发明的第二方面提供了一种机器人编程控制的装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器用于:当执行所述计算机程序时,实现上述的方法。
17.本发明的第三方面提供了一种机器人系统,包括:示教器、机器人和驱控一体设备,其中,所述示教器采用上述的方法,或包含上述的装置。
18.本发明提出一种带有逻辑框图的机器人程序编辑实现方法,操作人员可以在程序编辑界面编辑程序,此时程序编辑器会根据所编写的程序自动生成相对应的逻辑框图,用户可以很直观的从逻辑框图部分得到该程序的逻辑与实现目的;同时,用户可以点击逻辑框图的流程快速查找到相应代码进行编辑与修改,运行程序时也可以通过逻辑框图直观的看到程序运行过的逻辑与运行过的流程。
附图说明
19.为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图进行简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1是根据本发明的示例性实施例的机器人编程系统的示意图。
21.图2是根据本发明的示例性实施例的程序编辑器程序指令编辑界面的示意图。
22.图3是根据本发明的示例性的实施例的主逻辑框图界面的示意图。
23.图4是根据本发明的示例性的实施例的副逻辑框图界面的示意图。
24.图5是根据本发明的示例性的运行程序时逻辑框图显示示意图。
25.图6是根据本发明的的示例性的各界面之间切换方法示意图。
具体实施例
26.如在本文中所使用的,词语“第一”、“第二”等可以用于描述本发明的示例性实施例中的元件。这些词语只用于区分一个元件与另一元件,并且对应元件的固有特征或顺序等不受该词语的限制。除非另有定义,本文中使用的所有术语(包括技术或科学术语)具有与本发明所属技术领域的普通技术人员通常理解的含意相同的含意。如在常用词典中定义的那些术语被解释为具有与相关技术领域中的上下文含意相同的含意,而不被解释为具有理想或过于正式的含意,除非在本发明中被明确定义为具有这样的含意。
27.本领域的技术人员将理解的是,本文中描述的且在附图中说明的本发明的装置和方法是非限制性的示例性实施例,并且本发明的范围仅由权利要求书限定。结合一个示例性实施例所说明或描述的特征可与其他实施例的特征组合。这种修改和变化包括在本发明的范围内。
28.下文中,将参考附图详细描述本发明的示例性实施例。在附图中,省略相关已知功能或配置的详细描述,以避免不必要地遮蔽本发明的技术要点。另外,通篇描述中,相同的附图标记始终指代相同的电路、模块或单元,并且为了简洁,省略对相同电路、模块或单元的重复描述。
29.此外,应当理解一个或多个以下方法或其方面可以通过至少一个控制单元或控制器执行。术语“控制单元”,“控制器”,“控制模块”或者“主控模块”可以指代包括存储器和处理器的硬件设备。存储器或者计算机可读存储介质配置成存储程序指令,而处理器具体配置成执行程序指令以执行将在以下进一步描述的一个或更多进程。而且,应当理解,正如本领域普通技术人员将意识到的,以下方法可以通过包括处理器并结合一个或多个其他部件来执行。
30.图1是根据本发明的示例性实施例的机器人编程系统的示意图。
31.如图1所示,操作人员通过示教器进行操作、编程;示教器进行编程后将数据以网络通信的形式传输给驱控一体;驱控一体解析机器人指令以控制机器人运动,并将需要显示的数据、文件等同样通过网络通信的方式传回示教器显示给操作人员。
32.根据本发明的一个或多个实施例,机器人编程与其它工业软件编程的不同之处是操作员需要用示教器在现场进行点位示教的;示教器作为机器人的编程工具;在进行界面切换时通常是通过按键或者点击的方式进行;不像电脑滑动进度条那么方便;当程序庞大时,想要查看所有的指令比较困难,操作员很难梳理整个程序的逻辑思路。本发明主要目的是为了解决操作员在对机器人编程过程中对编程逻辑的梳理比较困难与无法对整个程序运行状态进行监控的问题。
33.图2是根据本发明的示例性实施例的程序编辑器程序指令编辑界面的示意图;图3是根据本发明的示例性的实施例的主逻辑框图界面的示意图;图4是根据本发明的示例性的实施例的副逻辑框图界面的示意图。
34.如图2、图3和图4所示,本发明提供机器人编程控制的方法,包括:在启动机器人编程的程序编辑界面时,同时建立机器人编程的逻辑控制界面;其中,当在程序编辑界面的编
程指令改变时,所述逻辑控制界面根据相应的指令更新对应的逻辑。
35.根据本发明的一个或多个实施例,在本发明的带有逻辑框图的机器人程序编辑实现方法中,操作人员通过编写程序来控制机器人进行相应工作。编写程序首先要新建程序,然后进入程序编辑区域(图2所示为程序编辑器指令编辑界面),操作人员在此处进行指令的添加与修改。该实施例在新建程序时,同时会新建逻辑框图界面,如图2所示,逻辑框图由不同的流程构成,操作人员在程序编辑界面添加指令,逻辑框图界面则会根据指令更新为对应的逻辑框图。同时,操作人员可以通过按钮进行程序指令界面与流程图界面进行切换,如图2和3所示。想要控制机器人实现一个复杂的工作,操作人员需要编写大量的指令来构成程序;程序由不同的功能模块构成,为使逻辑框图的逻辑更加清晰,可分为主逻辑框图和副逻辑框图,主逻辑框图由功能模块流程所构成,如图3所示;副逻辑框图为每个功能模块的具体实现,如图4所示。
36.如图3所示,主逻辑界面是根据程序指令编辑界面自动生成的,主要是为了显示整个程序的逻辑关系,便于操作人员梳理整个功能逻辑;同时也可以通过该逻辑框图监控机器人运行情况;各个功能模块流程对应的是一段程序实现的具体功能。例如实现一个码垛工作,他需要进行拆和放2个动作,也就是需要编写实现拆码垛与放码垛的2个功能模块;主逻辑框图用来显示这些功能模块之间的逻辑;而这2个功能又需要通过设置不同的路径来实现,需要多条指令来配合;副逻辑框图用来显示一个功能模块中每条指令的逻辑关系。
37.如图4所示的副逻辑界面只是一个示例,副逻辑界面是指某一功能模块的具体实现,对应的是主逻辑框图中的一个功能模块流程,副逻辑框图的每个流程对应的是程序编辑界面的某一条指令。
38.图5是根据本发明的示例性的运行程序时逻辑框图显示示意图。
39.如图5所示,其中,第3步为已运行过的流程;第4步为正在运行的流程;第5步为循环次数;第6步为运行出错的流程;第7步为未运行流程。
40.根据本发明的一个或多个实施例,操作人员单击主逻辑框图的功能模块流程可以进入副逻辑框图界面,选择主逻辑框图的每个流程,在指令编辑区域的对应指令模块会显示高亮,选择副逻辑框图的每个流程,在指令编辑区域的对应的某条指令会显示高亮;双击逻辑框图的流程,界面将会跳转到指令编辑区域,直接定位到相应的指令,如图2显示;因此,操作人员可以很方便的查看程序的逻辑与通过逻辑框图对程序进行修改与编辑。
41.如图5所示,当程序运行时,可以通过逻辑框图界面监控程序运行情况。将正运行的流程、已运行过的流程、未运行的流程和运行异常的流程采用标记进行区分。例如,程序已经执行的部分对应的流程显示为绿色,如图5的第3步所示;程序正在执行的部分对应的流程显示为黄色,如图5的第4步所示;当程序执行循环时,在逻辑框图上会显示已循环的次数和总循环次数,其中m指程序已经执行过循环的次数,m指程序需要执行循环的次数,如图5的第5步所示;当程序运行出现异常时,逻辑框图中对应的流程显示为红色,并提示异常信息,如图5的第6步所示;程序未执行的部分,流程保持原有状态不变,如图5的第7步所示。
42.根据本发明的一个或多个实施例,本发明图5中的执行过程能够监控机器人运行情况,与现有技术编译器不同之处在于:(1)显示的是程序运行的逻辑与程序运行的状态;而程序编译器只是对程序能否正常运行进行判断;(2)该执行功能能统计程序重复运行部分的次数;当机器人重复做某一动作时便于操作员计数。
43.图6是根据本发明的的示例性的各界面之间切换方法示意图。
44.如图6所示,在所述程序编辑界面上设置切换至主逻辑框图界面按钮,当点击切换至主逻辑框图界面按钮时,将所述程序编辑界面切换至主逻辑框图界面。
45.在所述主逻辑框图界面上设置切换至程序编辑界面按钮和切换至副逻辑框图界面,当点击切换至换至程序编辑界面按钮时,将所述主逻辑框图界面切换至程序编辑界面;当点击切换至副逻辑框图界面按钮时,将所述主逻辑框图界面切换至副逻辑框图界面。
46.在所述副逻辑框图界面上设置切换至主逻辑框图界面按钮和切换至程序编辑界面按钮,当点击切换至换至主逻辑框图界面按钮时,将所述副逻辑框图界面切换至主逻辑框图界面按钮;当点击切换至换至程序编辑界面按钮时,将所述副逻辑框图界面切换至程序编辑界面按钮。
47.根据本发明的一个或多个实施例,还提供了一种机器人编程控制的装置,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器用于:当执行所述计算机程序时,实现本发明上述的方法。
48.根据本发明的一个或多个实施例,还提供了一种机器人系统,包括:示教器、机器人和驱控一体设备,其中,所述示教器采用本发明上述的方法,或包含本发明上述的装置。
49.根据本发明的一个或多个实施例,本发明提供了一种带有逻辑框图的机器人程序编辑实现方法,能根据编写的程序实时生成对应的逻辑框图。当进行指令添加、删除、备注等操作时,程序逻辑框图会随之更改。
50.根据本发明的一个或多个实施例,本发明可通过逻辑框图中的各个流程直接定位相对应的代码进行编辑与修改。
51.根据本发明的一个或多个实施例,本发明可通过逻辑框图来监控机器人运动过程。逻辑框图的状态会根据当前程序指令的执行情况随之发生改变,从而达到实时监控机器人运动过程的目的。
52.根据本发明的一个或多个实施例,本发明的方法中的控制逻辑可以使用存储在非暂时性计算机和/或机器可读介质(例如硬盘驱动器、闪存、只读存储器、光盘、数字多功能磁盘、高速缓存、随机存取存储器和/或任何其他存储设备或存储磁盘)上的编码的指令(例如,计算机和/或机器可读指令)来实现如本发明以上方法的流程的处理,在非暂时性计算机和/或机器可读介质中存储任何时间期间(例如,延长的时间段、永久的、短暂的实例、临时缓存和/或信息高速缓存)的信息。如本文所使用的,术语“非暂时性计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。
53.根据本发明的一个或多个实施例,本发明的方法可以使用控制电路、(控制逻辑、主控系统或控制模块)来实现,其可以包含一个或多个处理器,也可以在内部包含有非暂时性计算机可读介质。具体地,主控系统或控制模块可以包括微控制器mcu。用于实现本发明方法的处理的处理器可以诸如但不限于一个或多个单核或多核处理器。(一个或多个)处理器可包括通用处理器和专用处理器(例如,图形处理器、应用处理器等)的任何组合。处理器可与其耦接和/或可包括计存储器/存储装置,并且可被配置为执行存储在存储器/存储装置中的指令,以实现在本发明中控制器上运行的各种应用和/或操作系统。
54.作为本发明示例的上文涉及的附图和本发明的详细描述,用于解释本发明,但不
限制权利要求中描述的本发明的含义或范围。因此,本领域技术人员可以很容易地从上面的描述中实现修改。此外,本领域技术人员可以删除一些本文描述的组成元件而不使性能劣化,或者可以添加其它的组成元件以提高性能。此外,本领域技术人员可以根据工艺或设备的环境来改变本文描述的方法的步骤的顺序。因此,本发明的范围不应该由上文描述的实施例来确定,而是由权利要求及其等同形式来确定。
55.尽管本发明结合目前被认为是可实现的实施例已经进行了描述,但是应当理解本发明并不限于所公开的实施例,而相反的,意在覆盖包括在所附权利要求的精神和范围内的各种修改和等同配置。