一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多机器人与外部轴控制方法及系统、装置及存储介质与流程

2021-10-09 15:57:00 来源:中国专利 TAG:人与 机器人 机器 控制 方法


1.本发明涉及机器人技术领域,更具体的说是一种多机器人与外部轴控制方法及系统。


背景技术:

2.目前,随着社会发展,单台机器人工作不能满足某些场合需要。有些场合需要多台机器人一起工作,焊接大型工件;一起举升大型工件;一台机器人夹持工件,一台机器人在工件上作业等。多台机器人与外部轴一起工作,存在安全问题,需要设置干涉区,交互信号。通过多机控制方法,避免了外部繁琐的信号接线,信号干扰问题,保证信号更可靠,传输更快。机器人同步控制效果更好。
3.因此,需要一种保证信号更可靠,传输更快、机器人同步控制效果更好的多机器人与外部轴控制方法。


技术实现要素:

4.本说明书实施例的一个方面提供一种多机器人与外部轴控制方法,包括:基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系;建立并应用运动使能表及数据准备表;所述运动使能表用于标记需要运动的机器人对应的使能标记;所述数据准备表用于体现周期数据是否准备好标记;设置并获取伺服数据;将所述数据准备表中的标记复位。
5.在一些实施例中,所述应用运动使能表及数据准备表包括:当某个机器人开始运行时,置位运动使能表中此机器人对应的标记;机器人准备周期数据,通过所述关节与伺服映射表找出需要设置的伺服数据;机器人等待关节与伺服映射表中的标记复位。
6.在一些实施例中,所述获取伺服数据包括:协调器依据数据准备表及运动使能表检查是否所有需要更新的数据都已经准备好;如果所有数据都已经准备好,协调器取出所有的已经准备好的数据,及其它机器人的上一周期的数据下发到伺服。
7.在一些实施例中,所述伺服数据,包括伺服的位置数据。
8.本说明书实施例的一个方面提供一种多机器人与外部轴控制系统,包括:创建模块,用于基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系;应用模块,用于建立并应用运动使能表及数据准备表;所述运动使能表用于标记需要运动的机器人对应的使能标记;所述数据准备表用于体现周期数据是否准备好标记;设置模块,用于设置并获取伺服数据;复位模块,用于将所述数据准备表中的标记复位。
9.本说明书实施例的一个方面提供一种多机器人与外部轴控制装置,所述装置包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现所述多机器人与外部轴控制方法对应的操作。
10.本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,实现所述多机器人与外部轴控制方法。
附图说明
11.本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本技术一些实施例所示的多机器人与外部轴控制设备的应用场景示意图;图2是根据本技术的一些实施例所示的可以在其上实现处理引擎的示例性计算设备的示例性硬件和/或软件组件的示意图;图3是根据本技术的一些实施例所示的可以在其上实现一个或以上终端的示例性移动设备的示例性硬件和/或软件组件的示意图;图4是根据本技术的一些实施例所示的示例性处理引擎的示意框图;图5是根据本说明书的一些实施例所示的多机器人与外部轴控制方法的流程图;图6是根据本说明书的一些实施例所示的多机器人与外部轴控制方法的实现流程示意图;图7是根据本说明书的一些实施例所示的配置流程的示意图;图8是根据本说明书的一些实施例所示的操作流程示意图;图9是根据本说明书的一些实施例所示的编程流程示意图;图10是根据本说明书的一些实施例所示的自动运行流程示意图。
具体实施方式
12.为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
13.应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
14.如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
15.本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数
步操作。
16.机器人是一种能够半自主或全自主工作的智能机器。机器人具有感知、决策、执行等基本特征,可以辅助甚至替代人类完成危险、繁重、复杂的工作,提高工作效率与质量,服务人类生活,扩大或延伸人的活动及能力范围。按照应用环境可以将机器人分为制造环境下的工业机器人和非制造环境下的服务与仿人型机器人。工业机器人是广泛用于工业领域的多关节机械手或多自由度的机器装置,具有一定的自动性,可依靠自身的动力能源和控制能力实现各种工业加工制造功能。工业机器人被广泛应用于电子、物流、化工等各个工业领域之中。
17.随着机器人技术的日益成熟及社会的发展,有些场合需要多台机器人一起工作,焊接大型工件;一起举升大型工件;一台机器人夹持工件,一台机器人在工件上作业等,此时即会涉及需要进行多机器人与外部轴的控制通过多机控制方法,避免了外部繁琐的信号接线,信号干扰问题,保证信号更可靠,传输更快。机器人同步控制效果更好。
18.本技术的实施例可以应用于各类工业机器人。应当理解的是,本技术的系统及方法的应用场景仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。虽然本技术主要以工业机器人为例进行了描述,但需要注意的是,本技术的原理也可应用于其他类型机器人。
19.图1是根据本技术的一些实施例的示例性多机器人与外部轴控制的方法的应用场景示意图。在一些实施例中,应用场景100可以被配置为工厂中利用机器人实现自动化操作的场景中。如可以应用于机床上下料、焊接、搬运、装卸、涂装等机器人操作场景。应用场景100可以包括服务器110、网络120、用户终端130、存储设备140和机器人系统150。服务器110可以包括处理引擎112。在一些实施例中,服务器110、用户终端130、存储设备140和机器人系统150可以经由无线连接(例如,网络120)、有线连接或其组合彼此连接和/或通信。
20.计算系统110可以用于执行多机器人与外部轴控制的方法的流程。计算系统110是指具有计算能力的系统,在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在用户终端130和/或存储设备140中的信息和/或数据。又例如,服务器110可以直接连接到用户终端130和/或存储设备140以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在具有本技术中图2所示的一个或多个组件的计算设备200上实现。
21.在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以执行多机器人与外部轴控制的方法的相关步骤并处理相关数据。例如,处理引擎112可以接受机器人系统150返回的数据并进行相应处理及判断。在一些实施例中,处理引擎112可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(cpu)、专用集成电路(asic)、专用指令集处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处
理器等或其任何组合。
22.网络120可以促进信息和/或数据的交换。在一些实施例中,应用场景100中的一个或以上组件(例如,服务器110、用户终端130、存储设备140和机器人系统150)可以将信息和/或数据通过网络120发送到应用场景100中的其他组件。例如,处理引擎112可以经由网络120向用户终端130发送执行结果。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络120可以包括电缆网络、有线网络、光纤网络、电信网络、内联网、因特网、局域网(lan)、广域网(wan)、无线局域网(wlan)、城域网(man)、广域网(wan)、公共电话交换网(pstn)、bluetooth tm 网络、zigbee网络、近场通信(nfc)网络或类似内容,或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括诸如基站和/或互联网交换点120

1、120

2,

之类的有线或无线网络接入点,应用场景100的一个或以上组件可以通过有线或无线网络接入点连接到网络120,以交换数据和/或信息。
23.在一些实施例中,用户终端130可以包括移动设备130

1、平板计算机130

2、膝上型计算机130

3、台式计算机130

4等或其任意组合。在一些实施例中,移动设备140

1可以包括智能家居设备、可穿戴设备、移动设备、虚拟现实设备、增强现实设备等,或其任何组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制设备、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴设备可以包括手环、鞋袜、眼镜、头盔、手表、衣物、背包、智能配饰等或其任意组合。在一些实施例中,移动设备可以包括移动电话、个人数字助理(pda)、游戏设备、导航设备、销售点(pos)设备、膝上型计算机、台式机等,或任何它们的组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括googleglass tm 、riftcon tm 、fragments tm 、gearvr tm 等。在一些实施例中,用户终端130也可以用于向服务器110发送操作指令。在一些实施例中,操作人员(例如,操作工人等)可以使用用户终端130来访问存储在存储设备140中的相关记录。
24.在一些实施例中,用户终端130可以经由用户接口向处理引擎112或安装在用户终端130中的处理器发送和/或接收与多机器人与外部轴控制的有关的信息。例如,用户终端130可以经由用户接口将相应的程序指令发送到处理引擎112或处理器。用户界面可以是在用户终端130上实现的执行用于多机器人与外部轴控制的方法的应用程序的形式。在用户终端130上实现的用户界面可以促进用户与处理引擎112之间的通信。例如,用户可以经由在用户终端130上实现的用户界面输入执行对多机器人与外部轴控制的请求。在一些实施例中,用户界面可以促进呈现或显示从处理引擎112接收的与多机器人与外部轴控制的有关的信息和/或数据(例如,信号)。例如,信息和/或数据可以包括指示多机器人与外部轴控制的内容的结果,或者指示异常报警等。在一些实施例中,信息和/或数据可以被进一步配置为使用户终端130向用户显示结果。
25.存储设备140可以存储数据和/或指令。在一些实施例中,存储设备140可以存储从机器人系统150获得的数据。存储设备140可以存储处理引擎112可以执行或用来执行本技术中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备140可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(rom)等或其任意组合。示例性大容量存储
器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写内存可以包括随机存取内存(ram)。示例性ram可包括动态随机存取内存(dram)、双倍数据速率同步动态随机存取内存(ddrsdram)、静态随机存取内存(sram)、晶闸管随机存取内存(t

ram)和零电容随机存取内存(z

ram)等。示例性rom可以包括掩模型只读内存(mrom)、可编程只读内存(prom)、可擦除可编程只读内存(eprom)、电可擦除可编程只读内存(eeprom)、光盘只读内存(cd

rom)和数字多功能磁盘只读内存等。在一些实施例中,所述存储设备140可在云端平台上执行。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
26.在一些实施例中,存储设备140可以连接到网络120以与应用场景100中的一个或以上组件(例如,服务器110、用户终端130)通信。应用场景100中的一个或多个组件可以经由网络120访问存储在存储设备140中的数据或指令。在一些实施例中,存储设备140可以直接连接到应用场景100中的一个或以上组件或与之通信(例如,服务器110、用户终端130)。在一些实施例中,存储设备140可以是服务器110的一部分。
27.机器人系统150由至少两个机器人构成,在一些实施例中,构成机器人系统150的机器人可以是相同类型的机器人或执行相同操作的机器人,例如,都是用于码垛的机器人。在一些实施例中,构成机器人系统150的机器人可以是不同类型的机器人或执行不同操作的机器人,例如,机器人系统150包括码垛机器人150

1、焊接机器人150

2、搬运机器人150

3、涂装机器人150

4等。在一些实施例中,机器人系统150可以配置有/耦合到网络模块,该网络模块使机器人系统150能够经由网络120与处理引擎112、用户终端130和/或存储设备140连接。
28.应当注意,以上描述意图是说明性的,而不是限制本技术的范围。对于本领域技术人员而言,许多替代,修改和变化将是显而易见的。本文描述的示例性实施例的特征,结构,方法和其他特性可以以各种方式组合以获得另外的和/或替代的示例性实施例。例如,机器人系统150可以配置有存储模块、处理模块、通信模块等。然而,这些变化和修改不脱离本技术的范围。
29.图2是根据本技术的一些实施例所示的可以在其上实现处理引擎的示例性计算设备的示例性硬件和/或软件组件的示意图。如图2所示,计算设备200可以包括处理器210、存储器220、输入/输出(i/o)230和通信端口240。
30.处理器210(例如,逻辑电路)可以执行计算机指令(例如,程序代码)并根据本文描述的技术执行处理引擎112的功能。在一些实施例中,处理器210可以被配置为处理与应用场景100的一个或以上组件有关的数据和/或信息。例如,处理器210可以在由机器人150返回的数据中控制相应的操作。在一些实施例中,处理器210可以向相关联的用户终端130发送通知。
31.在一些实施例中,处理器210可以在其中包括接口电路210

a和处理电路210

b。接口电路可以被配置为从总线(图2中未示出)接收电信号,其中电信号对结构化数据和/或指令进行编码以供处理电路进行处理。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码成电信号。然后,接口电路可以经由总线从处理电路发送电信号。
32.计算机指令可以包括例如例程、程序、对象、组件、数据结构、过程、模块和功能,其执行本文描述的特定功能。例如,处理器210可以处理与从用户终端130、存储设备140和/或
应用场景100的任何其他组件获得的机器人相关的信息。在一些实施例中,处理器210可以包括一个或以上硬件处理器、诸如微控制器、微处理器、精简指令集计算机(risc)、专用集成电路(asic)、专用指令集处理器(asip)、中央处理器(cpu)、图形处理器(gpu)、物理处理器(ppu)、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、高级risc机器(arm)、可编程逻辑设备(pld),能够执行一个或以上功能的任何电路或处理器等,或其任意组合。
33.仅仅为了说明,在计算设备200中仅描述了一个处理器。然而,应注意,本技术中的计算设备200还可以包括多个处理器,因此,如本技术中所述的由一个处理器执行的操作和/或方法步骤也可以由多个处理器联合或分开地执行。例如,如果在本技术中,计算设备200的处理器同时执行步骤a和步骤b,则应当理解,步骤a和步骤b也可以由计算设备200中的两个或以上不同处理器联合或分别执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b)。
34.存储器220可以存储从用户终端130、存储设备140和/或应用场景100的任何其他组件获得的数据/信息。在一些实施例中,存储器220可以包括大容量内存装置、可移动内存装置、易失性读写内存器、只读内存器(rom)等或其任何组合。例如,大容量存储器可以包括磁盘、光盘、固态驱动器等。可移动存储设备可以包括闪存内存、软盘、光盘、存储卡、zip磁盘、磁带等。易失性读写内存可以包括随机存取内存(ram)。ram可以包括动态ram(dram)、双倍速率同步动态ram(ddrsdram)、静态ram(sram)、晶闸管ram(t

ram)和零电容器ram(z

ram)等。rom可以包括掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、光盘rom(cd

rom)和数字多功能盘rom等。在一些实施例中,存储器220可以存储一个或以上程序和/或指令以执行本技术中描述的示例性方法。例如,存储器220可以存储用于处理引擎112的用于确定相应的程序。
35.i/o230可以输入和/或输出信号、数据、信息等。在一些实施例中,i/o230可以使用户能够与处理引擎112进行交互。在一些实施例中,i/o230可以包括输入设备和输出设备。输入设备的示例可以包括键盘、鼠标、触摸屏、麦克风等、或其组合。输出设备的示例可以包括显示设备、扬声器、打印机、投影仪等或其组合。显示设备的示例可以包括液晶显示器(lcd)、基于发光二极管(led)的显示器、平板显示器、曲面屏幕、电视设备、阴极射线管(crt)、触摸屏屏幕等,或其任意组合。
36.通信端口240可以连接到网络(例如,网络120)以促进数据通信。通信端口240可以在处理引擎112与用户终端130、机器人150或存储设备140之间建立连接。该连接可以是有线连接、无线连接、可以实现数据传输和/或接收的任何其他通信连接,和/或这些连接的任意组合。有线连接可以包括例如电缆、光缆、电话线等,或其任意组合。无线连接可以包括例如bluetooth
tm
链路、wi

fi
tm
链路、wimax
tm
链路、wlan链路、zigbee链路、移动网络链路(例如,3g、4g、5g)等,或其任意组合。在一些实施例中,通信端口240可以是和/或包括标准化通信端口,例如rs232、rs485等。
37.图3是根据本技术的一些实施例所示的可以在其上实现用户终端的示例性移动设备的示例性硬件和/或软件组件的示意图。在一些实施例中,图3所示的移动设备300可以由操作工人或管理人员使用。用户可以是机器人研发人员、机器人使用人员等。例如,机器人研发人员可以经由移动设备300查看多机器人与外部轴控制中的相关数据。在一些实施例
中,机器人使用人员可以经由移动设备300查看多机器人与外部轴控制结果等信息。
38.如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(gpu)330、中央处理单元(cpu)340、i/o接口350、内存360和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,可将移动操作系统370(例如,ios tm 、android tm 、windowsphone tm )和一个或以上应用380从存储器390加载到内存360中,以便由cpu340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从处理引擎112接收和渲染与图像处理有关的信息或其他信息。可以通过i/o接口350实现与信息流的用户交互,并通过网络120将其提供给处理引擎112和/或应用场景100的其他组件。
39.为了实施本技术描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口元素的计算机可用于实施个人计算机(pc)或任何其他类型的工作站或终端设备。若计算机被适当的程序化,计算机亦可用作服务器。
40.本领域普通技术人员将理解,当应用场景100的元件执行时,该元件可以通过电信号和/或电磁信号来执行。例如,当处理引擎112处理诸如做出确定或识别信息的任务时,处理引擎112可以操作其处理器中的逻辑电路来处理该任务。当处理引擎112向用户终端130发送数据(例如,验证数据)时,处理引擎112的处理器可以生成对数据进行编码的电信号。处理引擎112的处理器然后可以将电信号发送到输出端口。如果用户终端130通过有线网络与处理引擎112通信,则输出端口可以物理地连接至电缆,该电缆可以进一步将电信号传输至服务器110的输入端口。如果用户终端130通过无线网络与处理引擎112通信,则处理引擎112的输出端口可以是一个或以上天线,其可以将电信号转换为电磁信号。在诸如用户终端130和/或服务器110之类的电子设备中,当其处理器处理指令,发出指令和/或执行动作时,该指令和/或动作是通过电信号进行的。例如,当处理器从存储介质(例如,存储设备140)检索或保存数据时,它可以向存储介质的读/写设备发送电信号,该读/写设备可以在存储介质中读取或写入结构化数据。该结构数据可以通过电子设备的总线,以电信号的形式传输至处理器。在此,电信号可以指的是电信号、一系列电信号和/或一个或以上离散的电信号。
41.图4根据本技术的一些实施例所示的示例性处理引擎的示意框图。
42.如图4所示,在一些实施例中,处理引擎112可以包括创建模块410、应用模块420、设置模块430、复位模块440。处理引擎140可以被实现在各种组件上(例如,如图2所示的计算设备200的处理器210)。例如,处理引擎140的至少一部分可以在如图2所示的计算设备或如图3所示的移动设备上实现。
43.创建模块用于基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系。
44.在一些实施例中,应用模块进一步用于:当某个机器人开始运行时,置位运动使能表中此机器人对应的标记;机器人准备周期数据,通过所述关节与伺服映射表找出需要设置的伺服数据;机器人等待关节与伺服映射表中的标记复位。
45.设置模块用于设置并获取伺服数据;在一些实施例中,设置模块进一步用于:协调器依据数据准备表及运动使能表检查是否所有需要更新的数据都已经准备好;如果所有数据都已经准备好,协调器取出所有的已经准备好的数据,及其它机器人的上一周期的数据
下发到伺服。
46.复位模块用于将所述数据准备表中的标记复位。
47.应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd

rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
48.需要注意的是,以上对于处理引擎及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图4创建模块、应用模块可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,处理引擎中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
49.图5是根据本说明书的一些实施例所示的多机器人与外部轴控制方法的流程图。在一些实施例中,图5所示的过程500可以在图1所示的应用场景100中实现。例如,过程500可以作为指令的形式存储在存储介质(例如,存储设备140或计算设备200的存储器220)中,并且由处理器(例如,存储设备140)、服务器110的处理引擎112,计算设备200的处理器或图4中所示的处理引擎112中的一个或以上模块调用和/或执行。下面呈现的所示过程500的操作旨在说明。在一些实施例中,过程500可以利用一个或以上未描述的附加操作和/或没有所讨论的一个或以上操作来完成。另外,图5中示出的和下面描述的过程500的操作的顺序不旨在限制性的。
50.如图5所示,该流程500可以包括以下步骤:步骤510,基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系。具体的,该步骤可以由创建模块执行。
51.步骤520,建立并应用运动使能表及数据准备表;所述运动使能表用于标记需要运动的机器人对应的使能标记;所述数据准备表用于体现周期数据是否准备好标记。具体的,该步骤可以由应用模块执行。
52.步骤530,设置并获取伺服数据。具体的,该步骤可以由设置模块执行。
53.步骤540,将所述数据准备表中的标记复位。具体的,该步骤可以由复位模块执行。
54.在上述流程中,需要说明的是,多台机器人一个控制器控制需要解决的一个关键点即同步问题。所有机器人通过同一控制器控制,当两个机器人同时运动时,插补需要在同一个周期内插补。如果多个机器人各自插补没有通过协调器同步,那么有可能在某一周期另一机器人所对应的伺服收到的数据依然是前一周期的旧数据,导致速度变为0,引起机器人在运动的过程中产生拉动。
55.因此,需要获取受控伺服,依据机器人本体的关节与伺服的关系建立一张映射表,然后建立一张机器人运动使能表,此表中包含机器人是否需要运动;某个机器人需要运动的时候,将此表中自己对应的使能标记置位;同时,还需要建立一张数据准备表,此表中包含此周期的数据是否准备好标记。
56.方法实施时,当某个机器人开始运行,先置位“运动使能表”中此机器人对应的标记,然后,机器人准备周期数据,通过“关节与伺服映射表”找出需要设置的伺服数据;接着,机器人等待“关节与伺服映射”表中的标记复位,设置伺服数据,由协调器依据“数据准备表”及“运动使能表”检查是否所有需要更新的数据都已经准备好;如果所有数据都已经准备好,协调器取出所有的已经准备好的数据,及其它机器人的上一周期的数据下发到伺服,最后,将“数据准备表”中的标记复位。
57.图6是根据本说明书的一些实施例所示的多机器人与外部轴控制方法的实现流程示意图。
58.下面呈现的所示过程600的操作旨在说明。在一些实施例中,过程600可以利用一个或以上未描述的附加操作和/或没有所讨论的一个或以上操作来完成。另外,图6中示出的和下面描述的过程600的操作的顺序不旨在限制性的。
59.如图6所示,多机器人与外部轴控制方法的实现流程包括:配置流程610,在配置流程中主要是要实现机器人的相关配置。
60.如图7所示为根据本说明书的一些实施例所示的配置流程的示意图。
61.配置流程包括:步骤710,开启多机器人控制;在一些实施例中,可以在参数中设置开启多机控制功能。
62.步骤720,配置机器人数;即设置控制机器人数量,具体数量根据实际情况而设定。
63.步骤730,配置机器人结构;在一些实施例中,可以进入机器人机构设置模块,设置所有机器人的结构形式,如6轴串联机器人、4轴平行四边形机器人等。自动调用对应机器人算法库,由用户控制机器人结构。
64.步骤740,配置机器人与外部轴相关参数;即设置所有机器人、外部轴相关数据,在一些实施例中,相关参数可以包括连杆参数、减速比、耦合等,以及控制参数,各轴正向运动方向等。
65.步骤750,机器人轴配置及外部轴配置;即配置每个机器人各个轴所对应的物理轴,如6轴机器人j1到j6轴分别对应的物理轴地址。
66.步骤760,创建机器人零位;即选择机器人,在零点界面创建机器人各轴原点。
67.步骤770,配置完成。
68.操作流程620,即根据坐标系移动机器人。
69.如图8所示是根据本说明书的一些实施例所示的操作流程示意图。
70.操作流程包括:步骤810,选择操作机器人;在一些实施例中,可以手动选择需要操作的机器人,相应界面的状态栏会显示当前选中的机器人号。
71.步骤820,判断有无报警;若有则需对报警进行排除并重新判断;步骤830,在没有报警时进行伺服使能;
步骤840,选择运动坐标系;如关节坐标系、直角坐标系、工具坐标系、用户坐标系等。
72.步骤850,通过按键移动机器人。在一些实施例中,可以通过安全开关,给机器人上电,使能状态,并控制机器人移动任意移动。
73.编程流程630,即编辑并配置主程序及子程序。
74.如图9所示是根据本说明书的一些实施例所示的编程流程示意图。
75.编程流程中需要先新建程序,输入程序名字;然后配置程序控制的机器人轴组或者主程序(无轴组);接着,打开程序,编程程序,包括:子任务及主程序,子任务中编辑控制机器人运动轨迹等指令。主程序不能编辑运动指令,只能编辑启动子任务、等待信号等指令。最后,程序编辑完成后,试运行子程序,机器人运行是否正常。确认无误后,完成编辑。
76.自动运行流程640,即运行前述编辑完成的程序。
77.如图10所示是根据本说明书的一些实施例所示的自动运行流程示意图。
78.自动运行流程包括以下步骤:先选择主程序,包括将选择的主程序打开,使得光标位于首行。然后切换到自动运行模式,接着选择程序运行的模式,包括单次、循环模式等。在一些实施例中,单次模式,程序只完整运行一次。在一些实施例中,循环模式,程序运行完一次后,一直重复运行。然后点击运行,开始运行程序,最后,主程序运行,自动启动子程序,控制器通过内部算法模块实现多机器人与外部轴控制方法;控制多台机器人一起运动,按照程序执行正确的运动。
79.本说明书的实施例的多机器人与外部轴控制方法具有的有益效果包括但不限于以下几点:1. 机器人与外部轴协同的方法可以实现外部轴随意组合,实现机器人轴可以灵活配置。2.可以实现可以控制多台机器人一起工作。3.具有更好的同步性,且更加安全可靠。
80.本说明书实施例还提供一种多机器人与外部轴控制设备,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行前述的多机器人与外部轴控制方法,所述方法包括:基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系;建立并应用运动使能表及数据准备表;所述运动使能表用于标记需要运动的机器人对应的使能标记;所述数据准备表用于体现周期数据是否准备好标记;设置并获取伺服数据;将所述数据准备表中的标记复位。
81.本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机实现前述的方法,所述方法包括:基于获取的受控伺服建立关节与伺服映射表;所述关节与伺服映射表用于表示机器人本体的关节与伺服的关系;建立并应用运动使能表及数据准备表;所述运动使能表用于标记需要运动的机器人对应的使能标记;所述数据准备表用于体现周期数据是否准备好标记;设置并获取伺服数据;将所述数据准备表中的标记复位。
82.上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
83.同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
84.此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
85.计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。
86.本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c 、c#、vb.net、python等,常规程序化编程语言如c语言、visual basic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。
87.此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
88.同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
89.一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例
描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有
±
20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
90.针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
91.最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献