一种主从机器人的控制方法、系统及存储介质转让专利

申请号 : CN202110939457.9

文献号 : CN113814951B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王琳钱钟锋全锋

申请人 : 深拓科技(深圳)有限公司

摘要 :

本申请适用于机械手技术领域,提供了一种主从机器人的控制方法、系统及存储介质。本申请实施例通过基于绝对坐标系获取每个主手关节的绝对位置坐标;获取从手关节数量和从手关节构型;根据从手关节数量、从手关节构型及主手关节构型,确定与每个从手关节对应的一个指定主手关节;根据从手关节构型和指定主手关节的绝对位置坐标,进行机器人运动学正解运算,得到从手的末端位姿数据;将末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将控制指令发送至从手控制器;通过从手控制器,控制从手根据控制指令进行运动,可以根据主手构型和从手构型实现每个从手关节和对应的一个指定主手关节的适配,从而实现主手可以与异构的从手进行适配,提高主手和从手的适配性。

权利要求 :

1.一种主从机器人的控制方法,其特征在于,所述主从机器人包括主手和从手,所述主手包括主手控制器和至少一个主手关节,所述从手包括从手控制器和至少一个从手关节,所述方法应用于主手控制器,所述方法包括:基于绝对坐标系获取每个主手关节的绝对位置坐标,以得到相邻的主手关节之间的相对位置关系;

获取所述从手关节数量和从手关节构型,所述从手关节构型包括相邻的从手关节之间的连杆的转角角度、长度及偏移;

根据所述从手关节数量、所述从手关节构型及主手关节构型,得到从手关节分布结构和主手关节分布结构,选择与所述从手关节分布结构相同或相近的多个指定主手关节,确定与所述每个从手关节对应的一个指定主手关节;所述主手关节构型包括相邻的主手关节之间的连杆的转角角度、长度及偏移;

将所述从手关节构型和所述指定主手关节的绝对位置坐标作为机器人运动学正解运算的输入,进行机器人运动学正解运算,得到从手的末端位姿数据;所述机器人运动学正解运算的模型为:M=f(qi);其中,M表示末端位姿数据,qi表示每个关节的变量,f(qi)表示运算函数,所述运算函数的输入为每个关节的变量和每个关节的常量;所述每个关节的变量的确定方式为:将所述指定主手关节的绝对位置坐标转化为指定主手关节的关节转角,并将所述指定主手关节的关节转角作为对应从手关节的关节转角,并作为每个从手关节的变量;所述每个关节的常量的确定方式为:所述从手关节构型所包括的相邻的从手关节之间的连杆的转角角度、长度及偏移作为每个关节的常量;

将所述末端位姿数据和所述指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将所述控制指令发送至从手控制器;

通过所述从手控制器,控制所述从手根据所述控制指令进行运动。

2.如权利要求1所述的控制方法,其特征在于,所述方法还包括:

接收位移缩放指令,所述位移缩放指令用于调整从手的运动幅度;

将所述从手关节构型和所述指定主手关节的绝对位置坐标作为机器人运动学正解运算的输入,进行机器人运动学正解运算,得到从手的末端位姿数据,包括:根据所述从手关节构型、所述指定主手关节的绝对位置坐标及所述位移缩放指令,进行机器人运动学正解运算,得到从手的末端位姿数据;

所述将所述末端位姿数据和所述指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将所述控制指令发送至从手控制器,包括:将所述从手末端位姿数据和所述指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将所述控制指令发送至从手控制器。

3.如权利要求1或2所述的控制方法,其特征在于,所述方法还包括:

接收位移缩放指令、速度缩放指令及功能指令,所述位移缩放指令用于调整从手的运动幅度,所述速度缩放指令用于调整从手的运动速度,所述功能指令用于控制从手的末端执行预设动作;

所述将所述末端位姿数据和所述指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将所述控制指令发送至从手控制器,包括:将所述末端位姿数据、所述指定主手关节的绝对位置坐标、所述功能指令及速度缩放指令集成为控制指令,根据预设周期将所述控制指令发送至从手控制器。

4.一种主从机器人的控制方法,其特征在于,所述主从机器人包括主手和从手,所述主手包括主手控制器和至少一个主手关节,所述从手包括从手控制器和至少一个从手关节,所述方法应用于从手控制器,所述方法包括:接收控制指令;

根据所述控制指令,提取末端位姿数据;

获取从手的当前状态,所述从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据;其中,所述主手控制器能够根据所述从手关节数量、所述从手关节构型及主手关节构型,得到从手关节分布结构和主手关节分布结构,选择与所述从手关节分布结构相同或相近的多个指定主手关节,确定与所述每个从手关节对应的一个指定主手关节;所述主手控制器还能够将所述从手关节构型和所述指定主手关节的绝对位置坐标作为机器人运动学正解运算的输入,进行机器人运动学正解运算,得到从手的末端位姿数据;所述机器人运动学正解运算的模型为:M=f(qi);其中,M表示末端位姿数据,qi表示每个关节的变量,f(qi)表示运算函数,所述运算函数的输入为每个关节的变量和每个关节的常量;

所述每个关节的变量的确定方式为:将所述指定主手关节的绝对位置坐标转化为指定主手关节的关节转角,并将所述指定主手关节的关节转角作为对应从手关节的关节转角,并作为每个从手关节的变量;所述每个关节的常量的确定方式为:所述从手关节构型所包括的相邻的从手关节之间的连杆的转角角度、长度及偏移作为每个关节的常量;

根据所述末端位姿数据和所述从手的当前状态,控制所述从手进行运动。

5.如权利要求4所述的控制方法,其特征在于,所述根据所述控制指令,提取末端位姿数据,包括:根据所述控制指令,提取末端位姿数据和功能指令;

所述根据所述末端位姿数据和所述从手的当前状态,控制所述从手进行运动,包括:根据所述末端位姿数据、所述从手的当前状态及所述功能指令,控制所述从手进行运动。

6.如权利要求4所述的控制方法,其特征在于,所述根据所述控制指令,提取末端位姿数据,包括:根据所述控制指令,提取末端位姿数据、功能指令及速度缩放指令;

所述根据所述末端位姿数据和所述从手的当前状态,控制所述从手进行运动,包括:根据所述末端位姿数据、所述从手的当前状态、所述功能指令及所述速度缩放指令,控制所述从手进行运动。

7.如权利要求6所述的控制方法,其特征在于,所述根据所述末端位姿数据、所述从手的当前状态、功能指令及所述速度缩放指令,控制所述从手进行运动,包括:根据所述末端位姿数据、所述从手的当前状态及功能指令,判断所述从手的运动类型;

当所述从手的运动类型包括末端位姿变化时,根据所述速度缩放指令调整所述末端位姿变化的运动速度;

当所述从手的运动类型包括末端执行预设动作时,根据所述速度缩放指令调整所述末端执行预设动作的运动速度。

8.如权利要求4至7任一项所述的控制方法,其特征在于,所述根据所述末端位姿数据和所述从手当前状态,控制所述从手进行运动,包括:根据所述从手的当前状态、所述末端位姿数据、从手的运动类型、功能指令及速度缩放指令,计算从手运动路径;

根据所述控制指令提取指定主手关节的绝对位置坐标;

根据所述指定主手关节的绝对位置坐标、所述从手运动路径、所述从手当前状态,进行机器人运动学逆解运算,得到每个从手关节的子控制指令;

生成每个从手关节的时间戳指令;

根据每个从手关节的子控制指令、每个从手关节的时间戳指令及所述功能指令,控制所述从手进行运动;

其中,所述时间戳指令用于控制对应的从手关节根据预设时序进行运动。

9.一种主从机器人的控制系统,其特征在于,所述主从机器人包括主手和从手,所述主手包括主手控制器和至少一个主手关节,所述从手包括从手控制器和至少一个从手关节,所述主手控制器分别与每个主手关节连接,所述从手控制器分别与每个从手关节连接,所述主手控制器还与所述从手控制器连接,所述主手关节的数量大于或等于所述从手关节的数量;

所述主手控制器用于执行如权利要求1至3任一项所述控制方法的步骤;

所述从手控制器用于执行如权利要求4至8任一项所述控制方法的步骤。

10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被至少一个处理器执行时实现如权利要求1至8任一项所述控制方法的步骤。

说明书 :

一种主从机器人的控制方法、系统及存储介质

技术领域

[0001] 本申请属于机械手技术领域,尤其涉及主从机器人的控制方法、系统及存储介质。

背景技术

[0002] 随着自动控制技术和机械工艺的快速发展,机器人在生产、服务、教育、检修等各种领域得到广泛运用,用户对机器人的工作能力要求也逐步提高。主从机器人(Master‑Slave Robot)包括主手和从手,用户通过控制主手,主手可以将用户操作映射至从手,从而通过从手实现用户操作,以赋予主手和从手远程同步协作的能力。
[0003] 目前市面上主从机器人类型丰富,而多数主从机器人的主手需要搭配一一对应的从手使用;少数主从机器人的主手可以搭配多款从手使用,但是受到从手自由度等因素限制,可以与主手搭配的从手数量少,导致主手和从手的适配性差,容易形成资源浪费,如何提高主手和从手的适配性成为当前亟需解决的问题。

发明内容

[0004] 有鉴于此,本申请实施例提供了一种主从机器人的控制方法、系统及存储介质,以解决现有主从机器人主手和从手的适配性差的问题。
[0005] 本申请实施例的第一方面提供了一种应用于主手控制器的主从机器人的控制方法,包括:
[0006] 基于绝对坐标系获取每个主手关节的绝对位置坐标,以得到相邻的主手关节之间的相对位置关系;
[0007] 获取所述从手关节数量和从手关节构型,所述从手关节构型包括相邻的从手关节之间的连杆的转角角度、长度及偏移;
[0008] 根据所述从手关节数量、所述从手关节构型及主手关节构型,确定与所述每个从手关节对应的一个指定主手关节;所述主手关节构型包括相邻的主手关节之间的连杆的转角角度、长度及偏移;
[0009] 根据所述从手关节构型和所述指定主手关节的绝对位置坐标,进行机器人运动学正解运算,得到从手的末端位姿数据;
[0010] 将所述末端位姿数据和所述指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将所述控制指令发送至从手控制器;
[0011] 通过所述从手控制器,控制所述从手根据所述控制指令进行运动。
[0012] 本申请实施例第一方面提供的应用于主手控制器的主从机器人的控制方法,可以根据主手构型和从手构型实现每个从手关节和对应的一个指定主手关节的适配,从而实现主手可以与异构的从手进行适配,提高主手和从手的适配性。
[0013] 本申请实施例的第二方面提供了一种应用于从手控制器的主从机器人的控制方法,包括:
[0014] 接收控制指令;
[0015] 根据所述控制指令,提取末端位姿数据;
[0016] 获取从手的当前状态,所述从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据;
[0017] 根据所述末端位姿数据和所述从手的当前状态,控制所述从手进行运动。
[0018] 本申请实施例第二方面提供的应用于从手控制器的主从机器人的控制方法,可以使从手可以接收并提取主手发送的控制指令,并实时响应控制指令进行运动,实现主手和异构从手的适配。
[0019] 本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现本申请实施例第一方面和第二方面提供的主从机器人的控制方法的步骤。
[0020] 可以理解的是,上述第三方面的有益效果可以参见上述第一方面和第二方面中的相关描述,在此不再赘述。

附图说明

[0021] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1是本申请实施例提供的主从机器人为异构主从机器人时,主手包括的主手控制器通过有线或无线连接与从手包括的从手控制器进行通信的场景示意图;
[0023] 图2是本申请实施例提供的应用于主手控制器的控制方法的第一种流程示意图;
[0024] 图3是本申请实施例提供的主手控制器与从手控制器之间交互的时序示意图;
[0025] 图4是本申请实施例提供的应用于主手控制器的控制方法的第二种流程示意图;
[0026] 图5是本申请实施例提供的应用于从手控制器的控制方法的第一种流程示意图;
[0027] 图6是本申请实施例提供的应用于从手控制器的控制方法的第二种流程示意图;
[0028] 图7是本申请实施例提供的应用于从手控制器的控制方法的第三种流程示意图;
[0029] 图8是本申请实施例提供的控制系统的结构示意图。

具体实施方式

[0030] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0031] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0032] 还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0033] 如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0034] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0035] 在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0036] 在应用中,现有的主从机器人类型丰富,主从机器人的主手和从手通常是一一对应搭配使用,不同自由度或不同关节构型的主手和从手搭配使用时容易出现不兼容的问题,导致主手和从手的适配性差。
[0037] 针对上述技术问题,本申请实施例提供一种主从机器人的控制方法,通过根据主手关节构型和从手关节构型,在主手关节中选择与每个从手关节对应的一个指定主手关节,实现主手与异构的从手进行适配,提高主手和从手的适配性。
[0038] 在应用中,本申请实施例提供的主从机器人的控制方法,可以应用于能够对主从机器人进行驱动控制的任意终端设备,例如,主手控制器或从手控制器,或者,与主手控制器或从手控制器有线或无线通信连接的具有数据处理及控制功能的计算设备。计算设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等,本申请实施例对终端设备的具体类型不作任何限制。
[0039] 在应用中,本申请实施例提供的控制方法可以适用于同构主从机器人和异构主从机器人,同构主从机器人的主手的关节构型和关节数量(自由度)与从手的关节构型和关节数量相同,异构主从机器人的主手的关节构型与从手的关节构型不同,或者,主手的关节数量与从手的关节数量不同。
[0040] 图1实例性的示出了当主从机器人为异构主从机器人时,主手110包括的主手控制器通过有线或无线连接与从手120包括的从手控制器进行通信的示意图。具体的,主手控制器和从手控制器可以通过串行接口(Serial Interface)或并行接口(Parallel Interface)形成有线连接;主手控制器和从手控制器还可以通过蓝牙(Blootooth)、紫蜂协议(ZigBee)或无线局域网(Wireless Local Area Network,WLAN)等无线通信方式形成无线连接。
[0041] 如图2所示,本申请实施例提供的主从机器人的控制方法,应用于主手控制器,包括如下步骤S201至S206:
[0042] 步骤S201、基于绝对坐标系获取每个主手关节的绝对位置坐标,以得到相邻的主手关节之间的相对位置关系。
[0043] 在应用中,绝对坐标系可以将主手所在空间的任意位置作为原点建立坐标系,具体可以将主手所在工作环境的地面的任意一点作为原点、也可以将主手的基座作为原点、还可以将主手的任意一个主手关节作为原点。绝对坐标系是主手所有元件的公共参考坐标系,通过获取每个元件的绝对位置坐标,可以反映所有元件的绝对位置(Absolute Position)。
[0044] 在应用中,选定绝对坐标系的原点后,主手控制器可以基于绝对坐标系获取每个主手关节的绝对位置坐标,绝对位置坐标可以反映相邻的主手关节之间的绝对角度,从而得到相邻的主手关节之间的相对位置关系,并可以根据实际需求将绝对角度转化为六轴坐标(包括相邻的主手关节的笛卡尔x、y、z坐标、偏转角、俯仰角及回仰角)、弧度、关节转角等参数。
[0045] 步骤S202、获取从手关节数量和从手关节构型,从手关节构型包括相邻的从手关节之间的连杆的转角角度、长度及偏移。
[0046] 在应用中,主手控制器可以通过与从手控制器的连接,读取从手关节数量和从手关节构型。通过对比主手关节数量和从手关节数量,以及对比主手关节构型和从手关节构型,可以判断主手和从手是否异构。如果主手和从手为同构,主手控制器可以发送每个主手关节的绝对位置坐标至从手控制器,通过从手控制器,控制每个从手关节按照每个主手关节的绝对位置坐标进行运动;如果主手和从手为异构进入步骤S203。
[0047] 在一个实施例中,步骤S202包括:
[0048] 获取从手的机械尺寸。
[0049] 在应用中,主手控制器还可以读取从手的机械尺寸,结合从手所在工作环境,设置从手的最大移动范围,最大移动范围具体可以包括每个从手关节的最大关节转角和最大位置,以提高从手运动时的安全性。
[0050] 步骤S203、根据从手关节数量、从手关节构型及主手关节构型,确定与每个从手关节对应的一个指定主手关节;主手关节构型包括相邻的主手关节之间的连杆的转角角度、长度及偏移。
[0051] 在应用中,在主手和从手为异构且主手的关节数量大于从手的关节数量时,主手控制器需要选择与从手关节数量相等的指定主手关节,使每个从手关节对应一个指定主手关节,从而形成主手关节和从手关节的映射关系。具体的,根据从手关节构型和主手关节构型,可以得到从手关节分布结构和主手关节分布结构,主手控制器可以选择与从手关节分布结构相同或相近的多个指定主手关节,以提高从手运动的流畅度和准确度。
[0052] 例如,假设主手关节数量为6,从手关节数量为5,则根据从手关节构型和主手关节构型,主手控制器选择与从手关节分布结构相似的第1个至第5个主手关节作为指定主手关节,第1个至第5个指定主手关节和第1个至第5个从手关节一一对应。
[0053] 步骤S204、根据从手关节构型和指定主手关节的绝对位置坐标,进行机器人运动学正解运算,得到从手的末端位姿数据。
[0054] 在应用中,机器人运动学正解运算的模型为:
[0055] M=f(qi);
[0056] 其中,M表示末端位姿数据,qi表示每个关节的变量,f(qi)表示运算函数,运算函数的输入为每个关节的变量和每个关节的常量。
[0057] 在应用中,根据指定主手关节的绝对位置坐标,可以获取每个从手关节的变量,例如,可以将指定主手关节的绝对位置坐标转化为指定主手关节的关节转角,并将指定主手关节的关节转角作为对应从手关节的关节转角,并可以作为每个从手关节的变量;从手关节构型包括相邻的从手关节之间的连杆的转角角度、长度及偏移,可以作为每个关节的常量。因此,将从手关节构型和指定主手关节的绝对位置坐标作为机器人运动学正解运算的输入,可以得到从手的末端位姿数据,以确定从手的末端位置和末端姿态。
[0058] 步骤S205、将末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将控制指令发送至从手控制器。
[0059] 在应用中,主手控制器可以将末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,控制指令还可以集成有从手的最大移动范围,并根据预设周期将控制指令发送至从手控制器,实现从手跟随主手进行运动。需要说明的是,预设周期的时间长度越短,从手跟随主手运动的延迟越低,预设周期可以根据实际需要进行设置。
[0060] 步骤S206、通过从手控制器,控制从手根据控制指令进行运动。
[0061] 在应用中,主手控制器用于生成并发送控制指令,从手控制器用于接收并解析控制指令,以控制从手跟随主手进行运动。
[0062] 图3示例性的示出了主手控制器与从手控制器之间交互的时序图。
[0063] 如图4所示,在一个实施例中,基于图2所对应的实施例,包括步骤S401至步骤S407:
[0064] 步骤S401、基于绝对坐标系获取每个主手关节的绝对位置坐标;
[0065] 步骤S402、接收位移缩放指令,位移缩放指令用于调整从手的运动幅度;
[0066] 步骤S403、获取从手关节数量和从手关节构型;
[0067] 步骤S404、根据从手关节数量、从手关节构型及主手关节构型,确定与每个从手关节对应的一个指定主手关节;
[0068] 步骤S405、根据从手关节构型、指定主手关节的绝对位置坐标及位移缩放指令,进行机器人运动学正解运算,得到从手的末端位姿数据;
[0069] 步骤S406、将从手末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将控制指令发送至从手控制器;
[0070] 步骤S407、通过从手控制器,控制从手根据控制指令进行运动。
[0071] 在应用中,步骤S401与上述步骤S201提供的控制方法相同;步骤S403、S404与上述步骤S202、S203提供的控制方法相同;步骤S407和上述步骤S206提供的控制方法相同,在此不再赘述。区别在于,步骤S201之后还包括步骤S402,步骤S204包括步骤S405,步骤S205包括步骤S406,下面对步骤S402、步骤S405及步骤S406进行说明。
[0072] 在应用中,关于步骤S402,主手控制器可以接收用户发送的位移缩放指令,位移缩放指令可以用于调整从手的运动幅度,位移缩放指令的大小具体可以是0.2倍、0.5倍、0.75倍、1.5倍或2倍等,容易理解的是,在位移缩放指令的大小小于1倍时,可以根据位移缩放指令减小从手的运动幅度,在位移缩放指令的大小大于1倍时,可以根据位移缩放指令提高从手的运动幅度,位移缩放指令的大小可以根据实际需要进行设置。
[0073] 在一个实施例中,步骤S402包括:
[0074] 接收位移缩放指令、速度缩放指令及功能指令,位移缩放指令用于调整从手的运动幅度,速度缩放指令用于调整从手的运动速度,功能指令用于控制从手的末端执行预设动作。
[0075] 在应用中,主手控制器还可以接收用户发送的速度缩放指令和功能指令,速度缩放指令可以用于调整从手根据末端位姿数据移动的运动速度,功能指令用于控制从手的末端执行预设动作,以下对具体的末端执行预设动作进行举例说明:当从手的末端为夹爪、仿生手、吸盘等等夹具时,预设动作可以是夹取或释放;当从手的末端为移动底盘、转台、云台等可移动机构时,预设动作可以是具体的移动轨迹;当从手的末端为温度传感器、湿度传感器、爆炸物检测传感器、音频/视频监听设备、金属探测器、爆炸物销毁装置、X光透视检测装置等设备时,预设动作可以是执行设备功能或调整设备参数;当从手的末端包括夹具、可移动机构、设备等多种工具时,预设动作可以是多种工具之间的切换或配合工作;预设动作还可以是多种工具的工作信息显示。此外,末端执行预设动作时具有预设的运动速度,速度缩放指令还可以用于缩放预设的运动速度,具体可以是将速度缩放指令和预设的运动速度相乘,以调整从手的末端执行预设动作的运动速度,速度缩放指令的大小具体可以是是0.2倍、0.5倍、0.75倍、1.5倍或2倍等,容易理解的是,在速度缩放指令的大小小于1倍时,可以根据速度缩放指令降低执行预设动作的运动速度,在速度缩放指令的大小大于1倍时,可以根据速度缩放指令提高执行预设动作的运动速度,速度缩放指令的大小可以根据实际需要进行设置。
[0076] 在应用中,关于步骤S405,主手控制器可以将位移缩放指令与从手关节构型和指定主手关节的绝对位置坐标,作为机器人运动学正解运算的输入,具体的,在未代入位移缩放指令时,主手控制器可以根据从手关节构型和指定主手关节的绝对位置坐标,计算得到从手的源末端位姿数据,在代入位移缩放指令后,当主手和从手异构时,位移缩放指令可以用于缩放上述源末端位姿数据,从而得到末端位姿数据;当主手和从手同构时,位移缩放指令可以用于缩放一个或多个指定主手关节的绝对位置坐标,从而实现缩放从手的源末端位姿数据,并将源末端位姿数据作为末端位姿数据,其中,位移缩放指令作为系数参与运动学正解运算。
[0077] 在应用中,关于步骤S406,主手控制器将从手末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将控制指令发送至从手控制器。预设周期的设置和上述步骤S205的预设周期的设置一致,在此不再赘述。
[0078] 在一个实施例中,步骤S406包括:
[0079] 将末端位姿数据、指定主手关节的绝对位置坐标功能指令及速度缩放指令集成为控制指令,根据预设周期将控制指令发送至从手控制器。
[0080] 在应用中,主手控制器发送的控制指令还可以集成有功能指令,实现远程控制从手执行预设动作。
[0081] 在应用中,主手控制器通过接收速度缩放指令和功能指令,通过速度缩放指令,可以调整从手的运动速度,还通过将功能指令集成至控制指令,实现远程控制从手执行预设动作,从而提升从手的功能性和主手对从手的控制能力。
[0082] 本申请实施例提供的应用于主手控制器的控制方法,通过基于绝对坐标系获取每个主手关节的绝对位置坐标;获取从手关节数量和从手关节构型;根据从手关节数量、从手关节构型及主手关节构型,确定与每个从手关节对应的一个指定主手关节;根据从手关节构型和指定主手关节的绝对位置坐标,进行机器人运动学正解运算,得到从手的末端位姿数据;将末端位姿数据和指定主手关节的绝对位置坐标集成为控制指令,根据预设周期将控制指令发送至从手控制器;通过从手控制器,控制从手根据控制指令进行运动,可以根据主手构型和从手构型实现每个从手关节和对应的一个指定主手关节的适配,从而实现主手可以与异构的从手进行适配,提高主手和从手的适配性。
[0083] 如图5所示,本申请实施例提供的主从机器人的控制方法,应用于从手控制器,包括如下步骤S501至S504:
[0084] 步骤S501、接收控制指令;
[0085] 步骤S502、根据控制指令,提取末端位姿数据。
[0086] 在应用中,从手控制器在接收到控制指令后,可以对控制指令进行解析以提取控制指令包括的末端位姿数据。
[0087] 在一个实施例中,步骤S502包括:
[0088] 根据控制指令,提取从手的末端位姿数据和功能指令;
[0089] 在应用中,在控制指令包括末端位姿数据和功能指令时,从手控制器还可以对控制指令进行解析以提取控制指令包括的末端位姿数据和功能指令。
[0090] 步骤S503、获取从手的当前状态,从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据。
[0091] 在应用中,从手控制器可以获取从手的当前状态,需要说明的是,从手关节的绝对位置坐标所在的绝对坐标系,是从手所在空间的任意位置作为原点建立的坐标系,与主手关节的绝对位置坐标所在的绝对坐标系不同。每个从手关节的运动数据包括每个从手关节的第一运动速度和第一运动方向。
[0092] 步骤S504、根据末端位姿数据和从手的当前状态,控制从手进行运动。
[0093] 在应用中,从手控制器可以根据末端位姿数据和从手的当前状态,确定从手开始根据控制指令运动时第二运动速度和第二运动方向,结合第一运动速度和第一运动方向,计算每个从手关节开始根据控制控制运动时的加速度,当任意一个从手关节的加速度大于预设加速度时,从手存在运动过快容易影响结构稳定性的问题,可以降低上述加速度至预设加速度,提高从手运动的安全性。其中,预设加速度可以根据实际需要进行设置。
[0094] 在一个实施例中,步骤S504包括:
[0095] 根据末端位姿数据、从手的当前状态及功能指令,控制从手进行运动。
[0096] 在应用中,在控制指令的解析结果包括功能指令时,从手控制器还可以根据功能指令控制从手进行运动,使从手的末端根据功能指令执行预设动作。
[0097] 如图6所示,在一个实施例中,基于图5所对应的实施例,包括如下步骤S601至步骤S604:
[0098] 步骤S601、接收控制指令;
[0099] 步骤S602、根据控制指令,提取末端位姿数据、功能指令及速度缩放指令;
[0100] 步骤S603、获取从手的当前状态,从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据;
[0101] 步骤S604、根据末端位姿数据、从手的当前状态、功能指令及速度缩放指令,控制从手进行运动。
[0102] 在应用中,步骤S601、S603与上述步骤S501、S503提供的控制方法一致,在此不再赘述。区别在于,步骤S502包括步骤S602,步骤S504包括步骤S604,以下对步骤S602和步骤S604进行说明。
[0103] 在应用中,在控制指令包括末端位姿数据、功能指令及速度缩放指令时,从手控制器可以对控制指令进行解析以提取末端位姿数据、功能指令及速度缩放指令。从手控制器在接收到速度缩放指令时,可以对从手的运动类型进行判断以确定速度缩放指令的具体作用对象。
[0104] 在一个实施例中,步骤S604包括:
[0105] 根据末端位姿数据和从手的当前状态及功能指令,判断从手的运动类型;
[0106] 当从手的运动类型包括末端位姿变化时,根据速度缩放指令调整末端位姿变化的运动速度;
[0107] 当从手的运动类型包括末端执行预设动作时,根据速度缩放指令调整末端执行预设动作的运动速度。
[0108] 在应用中,从手的运动类型包括末端位姿变化和末端执行预设动作,其中,末端位姿变化包括末端位置变化和末端姿态变化,判断从手的运动类型的具体方式为:在从手的末端位置变化,从手的末端姿态不变时,从手的运动类型为末端位置变化;在从手的末端位置不变,从手的末端姿态变化时,从手的运动类型为末端姿态变化;在从手的末端位置变化,且从手的末端姿态也变化时,从手的运动类型为末端位姿变化;在控制指令包括功能指令时,判断从手的运动类型包括末端执行预设动作。在从手的运动类型同时包括末端位姿变化和末端执行预设动作时,速度缩放指令可以用于调整末端位姿变化和末端执行预设动作的运动速度。
[0109] 在应用中,从手控制器可以根据从手的当前状态得到从手的当前末端位置和从手的当前末端姿态,从而根据末端位姿数据以及功能指令可以实现判断从手的运动类型。当从手的运动类型包括末端位姿变化时,可以根据速度缩放指令调整末端位姿变化的运动速度,当从手运动类型包括末端执行预设动作时,可以根据速度缩放指令调整末端执行预设动作的运动速度,提高从手的运动连贯性,以及提高从手的末端执行预设动作时的精度,使用户可以更好的通过地主手对从手进行映射控制。
[0110] 如图7所示,在一个实施例中,基于图6所对应的实施例,包括如下步骤S701至步骤S708:
[0111] 步骤S701、接收控制指令;
[0112] 步骤S702、根据控制指令,提取末端位姿数据、功能指令及速度缩放指令;
[0113] 步骤S703、获取从手的当前状态,从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据。
[0114] 在应用中,图7所对应的实施例与图6所对应的实施例的区别在于,步骤S604包括步骤S704至步骤S708,下面对步骤S704和步骤S708进行说明。
[0115] 步骤S704、根据从手的当前状态、末端位姿数据、从手的运动类型、功能指令及速度缩放指令,计算从手运动路径。
[0116] 在应用中,从手控制器可以将从手的当前状态、末端位姿数据、从手的运动类型、功能指令及速度缩放指令输入轨迹规划计算方程,得到从手的当前状态运动至末端位姿数据的运动路径。与传统的轨迹规划计算的区别在于,本申请实施例可以将速度缩放指令作为轨迹规划计算的系数,以调整从手的运动速度。
[0117] 步骤S705、根据控制指令提取指定主手关节的绝对位置坐标;
[0118] 步骤S706、根据指定主手关节的绝对位置坐标、从手运动路径、从手当前状态,进行机器人运动学逆解运算,得到每个从手关节的子控制指令。
[0119] 在应用中,从手控制器可以根据主手关节的绝对位置坐标、从手运动路径、从手当前状态进行运动学逆解运算,得到每个从手关节的子控制指令,进而得到每个从手关节的关节转角信息、位置信息、速度信息、加速度信息及力矩前馈信息。
[0120] 在应用中,从手控制器还可以进行核算校验,核算校验包括环境校验和性能校验:
[0121] 环境校验可以判断每个从手关节的关节转角信息是否大于对应的最大关节转角,以及每个从手关节的位置信息是否大于对应的最大位置;在所有从手关节的关节转角信息小于对应的最大关节转角,以及所有从手关节的位置信息小于对应的最大位置时,判断环境校验通过;在任意一个从手关节的关节转角信息大于对应的最大关节转角,或者在任意一个从手关节的位置信息大于对应的最大位置时,判断环境校验不通过,可以将导致环境校验不通过的从手关节的最大关节转角或最大位置代入轨迹规划计算方程,以重新计算从手运动路径,直至环境校验通过,以确定从手关节在运动过程中不会受到工作环境影响;
[0122] 每个从手关节还可以根据硬件性能的限制设置有最大速度、最大加速度、最大力矩前馈三种性能限制,性能校验可以判断每个从手关节的速度信息是否大于最大速度,每个从手关节的加速度信息是否大于最大加速度,每个从手关节的力矩前馈信息是否大于最大力矩前馈;在所有从手关节未超出上述三种性能限制时,判断性能校验通过;在任意一个从手关节超出上述任意一种性能性能限制时,判断性能校验不通过,可以将导致性能校验不通过的从手关节的性能下调至对应的性能限制,例如,当第一个从手关节的速度信息大于最大速度时,将第一个从手关节的速度下调至对应的最大速度。其中,最大速度、最大加速度及最大力矩前馈可以根据实际需要进行设置。
[0123] 步骤S707、生成每个从手关节的时间戳指令;
[0124] 步骤S708、根据每个从手关节的子控制指令、每个从手关节的时间戳指令及功能指令,控制从手进行运动;其中,时间戳指令用于控制对应的从手关节根据预设时序进行运动。
[0125] 在应用中,可以根据从手运动轨迹生成每个从手关节的时间戳指令,并将每个从手关节的子控制指令和时间戳指令进行配对,使每个从手关节的子控制指令准确按照预设时序进行运动。
[0126] 在应用中,从手控制器可以根据子预设周期将每个从手关节的子控制指令、每个从手关节的时间戳指令及功能指令发送至每个从手关节,子预设周期通常小于预设周期,从而提升从手的运动精度实现从手可以准确跟随主手进行运动。
[0127] 本申请实施例提供的应用于从手控制器的控制方法,通过接收控制指令;根据控制指令,提取从手的末端位姿数据;获取从手的当前状态,从手的当前状态包括每个从手关节的绝对位置坐标和每个从手关节的运动数据;根据末端位姿数据和从手的当前状态,控制从手进行运动,使从手可以接收并提取主手发送的控制指令,并实时响应控制指令进行运动,实现主手和异构从手的适配。
[0128] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0129] 如图8所示,本申请实施例提供的一种主从机器人的控制系统,包括主手10和从手20,主手10包括主手控制器11和至少一个主手关节12,从手20包括从手控制器21和至少一个从手关节22,主手控制器11分别与每个主手关节12连接,从手控制器21分别与每个从手关节22连接,主手控制器11还与从手控制器21连接,主手关节12的数量大于或等于从手关节22的数量;
[0130] 主手控制器用于执行上述应用于主手控制器的控制方法实施例中的步骤,从手控制器用于执行上述应用于从手控制器的控制方法实施例中的步骤。
[0131] 在应用中,主手控制器可以包括处理器和存储器,从手控制器也可以包括处理器和存储器。
[0132] 在应用中,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0133] 在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0134] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0135] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0136] 在本申请所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0137] 所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0138] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。