机械臂协同控制方法、装置、设备及存储介质转让专利
申请号 : CN202010552897.4
文献号 : CN111844021B
文献日 : 2021-12-03
发明人 : 田军 , 马吉宏 , 董锤锤
申请人 : 慧灵科技(深圳)有限公司
摘要 :
权利要求 :
1.一种机械臂协同控制方法,其特征在于,包括:在各个线上机械臂的标识信息后面分别显示用于触发各个所述线上机械臂的控制流程的第二控件,所述各个线上机械臂的标识信息和第二控件分别存在对应关系,所述各个线上机械臂对应的第二控件的类型分别由机械臂的功能决定;
针对任一所述线上机械臂,响应于监听到的用户作用于该线上机械臂的所述第二控件的第五操作,加载用于配置该线上机械臂的控制流程的第二界面;
接收用户在所述第二界面输入或选择的该线上机械臂的流程信息,根据所述流程信息生成该线上机械臂的控制流程;
响应于监听到的用户作用于至少两个线上机械臂的第一操作,生成包括至少两个所述线上机械臂的机械臂操作序列;
针对所述机械臂操作序列中的第一线上机械臂,响应于监听到的用户作用于所述第一线上机械臂的第二操作,生成用于控制所述第一线上机械臂的第一指令,所述第一指令用于控制所述第一线上机械臂执行第一控制流程;
监测所述第一线上机械臂的执行结果,根据所述第一线上机械臂的执行结果确定所述第一线上机械臂的第一状态参数;
根据所述第一状态参数确定第二线上机械臂的第二状态参数,并根据所述第二状态参数生成用于控制所述第二线上机械臂的第二指令;
所述第二指令用于控制所述第二线上机械臂执行第二控制流程,所述第二线上机械臂为所述机械臂操作序列中与所述第一线上机械臂相邻的线上机械臂。
2.如权利要求1所述的方法,其特征在于,在所述响应于监听到的用户作用于至少两个线上机械臂的第一操作之前,包括:在第一界面的第一区域显示用于触发搜索线上机械臂的第一控件;
响应于监听到的用户作用于所述第一控件的第四操作,在所述第一界面的第二区域显示所有线上机械臂的标识信息;
针对任一所述线上机械臂的所述标识信息,对应设置有用于供用户选择该线上机械臂执行控制流程顺序的选择框;
响应于监听到的用户作用于至少两个线上机械臂的第一操作,生成包括至少两个所述线上机械臂的机械臂操作序列,包括:响应于监听到的用户在至少两个所述线上机械臂的标识信息对应的选择框中的所述第一操作,根据用户在所述选择框中的操作顺序,生成包括至少两个所述线上机械臂的标识信息的所述机械臂操作序列。
3.如权利要求2所述的方法,其特征在于,针对所述机械臂操作序列中的第一线上机械臂,响应于监听到的用户作用于所述第一线上机械臂的第二操作,生成用于控制所述第一线上机械臂的第一指令,包括:
针对所述机械臂操作序列中的第一线上机械臂,响应于监听到的用户作用于该线上机械臂的第一流程控件的所述第二操作,生成用于控制该线上机械臂执行预先配置的第一控制流程的第一指令。
4.如权利要求1所述的方法,其特征在于,所述第一线上机械臂为放料机械臂,所述第二线上机械臂为抓料机械臂;
所述第一线上机械臂的第一状态参数包括放料成功或放料不成功;
监测所述第一线上机械臂的执行结果,根据所述第一线上机械臂的执行结果确定所述第一线上机械臂的第一状态参数,包括:监测所述第一线上机械臂的执行结果,若检测到所述第一线上机械臂执行完成放料步骤,则确定所述第一线上机械臂的第一状态参数为放料成功;
若检测到所述第一线上机械臂没有执行完成所述放料步骤,则确定所述第一线上机械臂的第一状态参数为放料不成功。
5.如权利要求3所述的方法,其特征在于,所述第二线上机械臂的第二状态参数包括夹爪打开或夹爪关闭;
根据所述第一状态参数确定第二线上机械臂的第二状态参数,包括:若所述第一状态参数为放料成功,则确定所述第二状态参数为夹爪打开;
若所述第一状态参数为放料不成功,则确定所述第二状态参数为夹爪关闭。
6.如权利要求5所述的方法,其特征在于,所述第二控件还包括初始化控件、关节回零控件、拖动示教控件、配置IO控件、码垛控件、示教点位控件、通信管理控件和视觉控件。
7.一种机械臂协同控制装置,其特征在于,包括:生成模块,用于响应监听到的用户作用于至少两个线上机械臂的第一操作,生成包括至少两个所述线上机械臂的机械臂操作序列;
第二生成模块,用于针对所述机械臂操作序列中的第一线上机械臂,响应于监听到的用户作用于所述第一线上机械臂的第二操作,生成用于控制所述第一线上机械臂的第一指令,所述第一指令用于控制所述第一线上机械臂执行第一控制流程;
确定模块,用于监测所述第一线上机械臂的执行结果,根据所述第一线上机械臂的执行结果确定所述第一线上机械臂的第一状态参数;
第三生成模块,用于根据所述第一状态参数确定第二线上机械臂的第二状态参数,并根据所述第二状态参数生成用于控制所述第二线上机械臂的第二指令,所述第二指令用于控制所述第二线上机械臂执行第二控制流程,所述第二线上机械臂为所述机械臂操作序列中与所述第一线上机械臂相邻的线上机械臂;
第三显示模块,用于在各个所述线上机械臂的标识信息后面分别显示用于触发各个所述线上机械臂的控制流程的第二控件,所述各个线上机械臂的标识信息和第二控件分别存在对应关系,所述各个线上机械臂对应的第二控件的类型分别由机械臂的功能决定;
加载模块,用于针对任一所述线上机械臂,响应于监听到的用户作用于该线上机械臂的所述第二控件的第五操作,加载用于配置该线上机械臂的控制流程的第二界面;
第三生成模块,用于接收用户在所述第二界面输入或选择的该线上机械臂的流程信息,根据所述流程信息生成该线上机械臂的控制流程。
8.一种机械臂协同控制设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
说明书 :
机械臂协同控制方法、装置、设备及存储介质
技术领域
背景技术
用中往往需要多台机械臂协同工作,在多机械臂协同工作过程中,需要考虑多机械臂相互
之间的避碰以及多个机械臂之间工作的协调分配等问题,因此,仅根据单个机械臂的操作
软件显然无法满足多机械臂协同工作的需求。
发明内容
机械臂之间工作的协调分配问题。
令用于控制所述第一线上机械臂执行第一控制流程;
上机械臂执行第二控制流程,所述第二线上机械臂为所述机械臂操作序列中与所述第一线
上机械臂相邻的线上机械臂。
设置有用于供用户选择该线上机械臂执行控制流程顺序的选择框;
的标识信息的所述机械臂操作序列。
的第一指令,包括:
一控制流程的第一指令。
一指令,所述第一指令用于控制所述第一线上机械臂执行第一控制流程;
的所述标识信息,对应设置有用于供用户选择该线上机械臂执行控制流程顺序的选择框;
的标识信息的所述机械臂操作序列。
一控制流程的第一指令。
处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。
态参数;进而根据所述第一状态参数确定机械臂操作序列中与所述第一机械臂相邻的第二
线上机械臂的第二状态参数,并根据所述第二状态参数生成用于控制所述第二线上机械臂
的第二指令,实现了将机械臂操作序列中的相邻两个机械臂通过状态参数进行协同控制,
解决多机械臂在协同工作时,由于单个机械臂的操作软件无法解决多机械臂相互之间的避
碰以及多个机械臂之间工作的协调分配问题。
附图说明
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其他的附图。
具体实施方式
细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电
路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
示或暗示相对重要性。
中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、
“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是
所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变
形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
该机械臂协同控制系统100包括机械臂协同控制设备101和至少两个线上机械臂102,在图1
中,示例性地,仅示出了两个线上机械臂102,可以理解地,在实际应用中,可以是任意几个
线上机械臂,其中,线上机械臂102为与机械臂协同控制设备101已建立通信连接的机械臂。
具体地,机械臂协同控制设备101与至少两个线上机械臂102均有通信连接,例如,机器人协
同控制设备101与至少两个线上机械臂102之间建立蓝牙、wifi等无线通信连接,或者建立
有线通信连接。
请的一些实施例中,当用户需要通过机械臂协同控制设备101控制用于协同完成任务的至
少两个线上机械臂102协同工作时,参考图2,用户可以在机械臂协同控制设备101的第一界
面200上选择至少两个线上机械臂102,机械臂协同控制设备101响应于监听到的用户作用
于至少两个线上机械臂102的第一操作,生成包括至少两个所述线上机械臂102的机械臂操
作序列1021(具体地,在图中以索引表示操作序列);其中,所述第一界面200为用于配置机
械臂协同控制流程的界面,在一种实施方式中,在机械臂协同控制设备101中预先安装有机
械臂协同控制程序,用户点击运行该机械臂协同控制程序即可加载所述第一界面200;在另
一种可实施方式中,机械臂协同控制设备101中预先安装有浏览器系统,用户可以通过该浏
览器系统登录所述第一界面200。在本实施例中,在生成包括至少两个所述线上机械臂102
的机械臂操作序列1021之后,响应于监听到的用户作用于所述机械臂操作序列1021中的第
一线上机械臂的第二操作,生成用于控制所述第一线上机械臂的第一指令,所述第一指令
用于控制所述第一线上机械臂执行第一控制流程;在本实施例中,所述第一线上机械臂为
用户选择的所述机械臂操作序列1021中的任一机械臂102,例如,所述第一线上机械臂为位
于所述机械臂操作序列1021队首的机械臂102,所述第一控制流程为预先设置的所述第一
线上机械臂对应的执行流程。具体地,当根据所述第一指令控制所述第一线上机械臂执行
所述第一控制流程时,监测所述第一线上机械臂的执行结果,根据所述第一线上机械臂的
执行结果确定所述第一线上机械臂的第一状态参数;进而根据所述第一状态参数确定第二
线上机械臂的第二状态参数,并根据所述第二状态参数生成用于控制所述第二线上机械臂
的第二指令,根据所述第二指令控制所述第二线上机械臂执行第二控制流程,其中,所述第
二线上机械臂为所述机械臂操作序1021中与所述第一线上机械臂相邻的线上机械臂。也即
在本申请的实施例中,根据第一线上机械臂的第一状态参数,确定与第一线上机械臂相邻
的第二线上机械臂的第二状态参数,通过相邻两个线上机械臂的状态参数实现相邻两个机
械臂的协同工作,其中机械臂的状态参数可以是预设的全局变量。
索控件2011,也即,在图2所示的实施例中,所述第一控件为所述搜索控件2011,当用户对所
述搜索控件2011进行点击操作时,该机械臂协同控制设备101响应于监听到的该点击操作,
搜索所有线上机械臂102,并在所述第一界面200的第二区域202显示所有线上机械臂102的
标识信息1022和分别用于触发配置各个机械臂102的控制流程的第二控件1023。示例性地,
如图2所示,该第二控件1023包括初始化控件1024、回零控件1025、拖动示教控件1026和重
命名控件1027。可以理解地,各个线上机械臂102的标识信息1022和第二控件1023分别存在
对应关系,且各个线上机械臂102对应的第二控件1023可以相同也可以不相同,具体地,各
个线上机械臂102对应的第二控件1023的类型分别由机械臂的功能决定。
另一些实施例中,如图2所示,在第一区域201的预设位置,例如搜索控件2011对应的相邻位
置处还设置有初始化控件2012,用户也可以通过点击该位置处的初始化控件将机械臂操作
序列中的所有机械臂全部激活。另外,用户还可以通过各个机械臂的重命名控件1027给在
线的各个机械臂进行重新命名,比如上料机械臂、下料机械臂或者取料机械臂等,通过对各
个机械臂进行重新命名可以方便在以后逻辑编辑中有更好的可读性。便于编程人员进行界
面编程。
械臂102的选择框1028进行点击操作,并根据用户进行点击操作的顺序,生成用于协同工作
的所述机械臂序列1021。
软件实现。详述如下。
协同工作时,可以在机械臂协同控制设备101的第一界面200上进行选择操作,例如点击操
作,机械臂协同控制设备101在监听到该点击操作后,生成包括至少两个所述线上机械臂的
机械臂操作序列。
第一指令用于控制所述第一线上机械臂执行第一控制流程。
以理解地,各个机械臂的控制流程的配置原理相同,在本实施例中,各个机械臂的控制流程
的配置过程分别包括对各自的示教点位、IO、码垛及拖动视教过程的配置。
点击操作,加载用于配置拖动示教的第二界面。示例性地,用于配置拖动示教的第二界面
400如图4所示,由图4可知,用于配置拖动示教的第二界面400包括导入CAD图控件401以及
用于显示机械臂末端移动轨迹的轨迹区域402。例如,在图4中用于显示机械臂末端移动轨
迹的轨迹区域402中显示有1号机械臂末端的移动轨迹,需要说明的是,机械臂末端运动轨
迹可以直接由用户在第二界面400上输入该机械臂的点位坐标或者选择该机械臂的点位坐
标,并根据所述点位坐标生成,也可以通过控制机械臂末端移动获得,也可以直接通过导入
CAD图的方式,把轨迹导入进来,进一步地,由图4还可以看出,在第二界面400的右边还设置
有用于显示出机械臂末端移动轨迹上所有的点位坐标403,可以理解地,在后续的编程中,
如果需要控制对应的机械臂执行此轨迹,则是控制对应机械臂的末端根据所有的点位坐标
403进行移动。
添加点位按钮去、删除点位按钮、修改点位按钮、更新点位按钮以及移动点位按钮;当用户
点击添加点位按钮,则在第二界面400的点位坐标对应区域添加一行点位坐标,通常点位坐
标用于表示机械臂所处的手系状态,如果将添加的点位命名为待机位,则在后续的逻辑编
程中用到待机位时,控制机械臂运动到该点位对应的位置。示例性地,点击修改点位按钮,
可以手动修改已有点位的坐标值,点击更新点位按钮,可以把选择的某一行点位的坐标值
修改为机械臂的当前坐标值,点击移动点位按钮,可以将机械臂移动到选中的点位坐标位
置处。
可以弹出用于配置该机械臂对应的输入IO和输出IO的快捷菜单,用户可以根据实际的需要
在所述快捷菜单配置对应机械臂的输入IO和输出IO,例如,若该机械臂为上料机械臂,对应
地,在后续的控制流程中如果需要该机械臂执行来料信号触发的命令,则该机械臂的输入
IO等待一个来料信号,如果需要该机械臂执行吸料命令,则机械臂的输出IO会发出一个吸
料信息。
程的结果,例如,如图5所示,在所述第三界面的第一区域501处设置有所述机械臂操作序列
1028,并在所述机械臂操作序列1028中的各个机械臂标识信息1022处对应分别设置有状态
选择框501以及流程控件502。示例性地,在本实施例中,响应于监听到的用户作用于至少两
个线上机械臂的第一操作,生成包括至少两个所述线上机械臂的机械臂操作序列具体可以
包括:针对所述机械臂操作序列中的第一线上机械臂,响应于监听到的用户作用于该线上
机械臂的第一流程控件的所述第二操作,生成用于控制该线上机械臂执行预先配置的第一
控制流程的第一指令。
功;
机械臂的第二状态参数,包括:若所述第一状态参数为放料成功,则确定所述第二状态参数
为夹爪打开;若所述第一状态参数为放料不成功,则确定所述第二状态参数为夹爪关闭。
例中,当响应于监听到的用户作用于1号线上机械臂的流程控件502的点击操作后,生成用
于控制1号线上机械臂的第一指令,并在所述第二区域503处显示该1号机械臂的执行结果。
的第二状态参数包括“夹爪打开”和“夹爪关闭”。机械臂协同控制设备101根据1号线上机械
臂的执行结果,确定1号线上机械臂的第一状态参数,进而根据所述第一状态参数确定2线
上号机械臂的第二状态参数,2号线上机械臂在检测到自身的第二状态参数后,执行2号线
上机械臂对应的第二控制流程,进而实现了1号机械臂和2号机械臂的协同控制,使得1号机
械臂和2号机械臂相互协同完成物料搬运任务。示例性地,若机械臂系统控制设备101监测
到1号线上机械臂的第一状态参数为“上料成功”,则对应确定2号线上机械臂的第二状态参
数为“夹爪打开”,若监测到1号线上机械臂的第一状态参数为“上料不成功”,则对应确定2
号线上机械臂的第二状态参数为“夹爪关闭”,可以理解地,所述第一状态参数用于表示1号
机械臂的执行结果,所述第二状态参数用于表示2号机械臂的执行结果。
信号,通过所述控制信号实现1号线上机械臂与1号线上机械臂的协同工作。具体地,所述控
制信号对应为1号线上机械臂的第一状态参数或者2号线上机械臂的控制信号,具体可以根
据1号线上机械臂和2号线上机械臂执行任务的类型预先设置。
状态参数;进而根据所述第一状态参数确定机械臂操作序列中与所述第一机械臂相邻的第
二线上机械臂的第二状态参数,并根据所述第二状态参数生成用于控制所述第二线上机械
臂的第二指令,实现了将机械臂操作序列中的相邻两个机械臂通过状态参数进行协同控
制,解决多机械臂在协同工作时,由于单个机械臂的操作软件无法解决多机械臂相互之间
的避碰以及多个机械臂之间工作的协调分配问题。
定。
第一指令,所述第一指令用于控制所述第一线上机械臂执行第一控制流程。
的所述标识信息,对应设置有用于供用户选择该线上机械臂执行控制流程顺序的选择框;
的标识信息的所述机械臂操作序列。
一控制流程的第一指令。
处不再赘述。
储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,
所述处理器70执行所述计算机程序72时实现上述任意各个机械臂协同控制方法实施例中
的步骤。
域技术人员可以理解,图7仅仅是机械臂协同控制设备101的举例,并不构成对机械臂协同
控制设备101的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的
部件,例如还可以包括输入输出设备、网络接入设备等。
成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
所述机械臂协同控制设备101的外部存储设备,例如所述机械臂协同控制设备101上配备的
插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪
存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述机械臂协同控制设备101
的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装
载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储
器71还可以用于暂时地存储已经输出或者将要输出的数据。
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
行所述计算机程序时实现上述任意各个方法实施例中的步骤。
骤。
法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程
序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个
方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以
为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可
以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、
计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random
Access Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者
光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和
电信信号。
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如
多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另
一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置
或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。