CN113119104B - 机械臂控制方法、机械臂控制装置、计算设备及系统 - Google Patents

机械臂控制方法、机械臂控制装置、计算设备及系统 Download PDF

Info

Publication number
CN113119104B
CN113119104B CN201911418029.0A CN201911418029A CN113119104B CN 113119104 B CN113119104 B CN 113119104B CN 201911418029 A CN201911418029 A CN 201911418029A CN 113119104 B CN113119104 B CN 113119104B
Authority
CN
China
Prior art keywords
joint
angle
arm
pose information
angle value
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.)
Active
Application number
CN201911418029.0A
Other languages
English (en)
Other versions
CN113119104A (zh
Inventor
林泽才
安昭辉
陈金亮
刘益彰
庞建新
熊友军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201911418029.0A priority Critical patent/CN113119104B/zh
Publication of CN113119104A publication Critical patent/CN113119104A/zh
Application granted granted Critical
Publication of CN113119104B publication Critical patent/CN113119104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本申请适用于机械臂技术领域,提供了机械臂控制方法、机械臂控制装置、计算设备、系统及计算机可读存储介质,该机械臂控制方法包括:获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;获得所述位姿信息与所述机械臂中的关节的映射关系;根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。通过上述方法,可以解决机械臂在进行动作模仿时,计算过程较为复杂,耗时较久的问题。

Description

机械臂控制方法、机械臂控制装置、计算设备及系统
技术领域
本申请属于机械臂技术领域,尤其涉及机械臂控制方法、机械臂控制装置、计算设备、系统及计算机可读存储介质。
背景技术
由于其较好的灵活性和适应性,具有冗余自由度的机械臂在多种应用场合得到广泛的应用,例如,可以通过机械臂与人或者其他物体的交互来实现相应的功能(如控制机械臂的抓取等)。其中,具有冗余自由度的机械臂可以通过模仿特定对象的动作来实现教学、示范、娱乐以及完成复杂环境下的操作任务等多方面的需求。
但是在实际应用中,在确定具有冗余自由度的机械臂的运动状态时,存在无数多的运动学逆解,因此,在机械臂进行动作模仿时,由于特定对象的动作以及机械臂本身都可能存在较多的情况,并且所述机械臂的运动规划可能存在不确定性,导致计算过程往往较为复杂,耗时较久,使得对机械臂的控制难以满足交互的需求。
发明内容
本申请实施例提供了机械臂控制方法、机械臂控制装置、计算设备、系统及计算机可读存储介质,可以解决机械臂在进行动作模仿时,计算过程较为复杂,耗时较久的问题。
第一方面,本申请实施例提供了一种机械臂控制方法,其中,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M,所述机械臂控制方法包括:
获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
获得所述位姿信息与所述机械臂中的关节的映射关系;
根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。
第二方面,本申请实施例提供了一种机械臂控制装置,其中,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M,所述机械臂控制装置包括:
获取模块,用于获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
映射模块,用于获得所述位姿信息与所述机械臂中的关节的映射关系;
确定模块,用于根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
处理模块,用于根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。
第三方面,本申请实施例提供了一种计算设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的机械臂控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的机械臂控制方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备执行上述第一方面中所述的机械臂控制方法。
第六方面,本申请实施例提供了一种系统,包括至少一个传感设备,用于采集位姿信息并向计算设备传输所述位姿信息,所述位姿信息包括关于目标物体的位姿的信息,以及包括计算设备,所述计算设备用于实现如第一方面所述的机械臂控制方法。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中,通过获取至少一个传感设备采集的位姿信息,可以确定所述机械臂所要模仿的动作的情况;进一步的,获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系,并根据所述位姿信息和所述映射关系,确定机械臂的当前臂角值,可以根据机械臂所要模仿的动作的具体情况,采用不同的臂角决策方式,以针对多种场景都能准确高效地确定所述机械臂的当前臂角值,从而提升所述机械臂对各种模仿场景的适应能力,其中,臂角可以体现所述机械臂的冗余自由度,从而根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值,此时,针对相应的位姿信息,可以利用所述臂角,获取到所述机械臂的各个关节的确定的解,以在后续更合理地控制所述机械臂的运动,使得所述机械臂在根据传感设备的位姿信息进行动作模仿时,相应的计算效率较高,并且所述机械臂的运动规划更合理,更符合动作模仿的要求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种机械臂控制方法的流程示意图;
图2是本申请一实施例提供的机械臂的一种示意图;
图3是本申请一实施例提供的目标平面和参考平面的一种示意图;
图4是本申请一实施例提供的另一种机械臂控制方法的流程示意图;
图5是本申请一实施例提供的一种机械臂控制装置的结构示意图;
图6是本申请实施例提供的计算设备的结构示意图;
图7是本申请实施例提供的系统的一种结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
具体地,图1示出了本申请实施例提供的第一种机械臂控制方法的流程图。
本申请实施例提供的机械臂控制方法可以应用于机械臂,也可以应用于与机械臂耦合地连接的其他计算设备,例如,可以应用于机器人、服务器、手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等计算设备上,并通过该其他计算设备,实现对机械臂的控制。本申请实施例对计算设备的具体类型不作任何限制。
该机械臂控制方法中,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M。
本发明实施例中,所述机械臂可以具有多个自由度,如可以具有4个自由度、5个自由度、6个自由度或者7个自由度等等。所述冗余自由度为所述机械臂在完成指定操作时所需的自由度之外所具有的多余自由度。其中,所述机械臂在每一个自由度方向上的运动可以通过关节来实现,并且,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,其中,可以是每一个关节对应一个自由度。所述关节可以依次连接,也可以其中几个关节合并在一处,所述关节可以包括旋转轴、线性轴、连杆等多种结构形式中的一种或多种。所述关节的设置方式可以有多种,并且,所述关节的结构形式也可以有多种,在此不做限制。例如,所述机械臂可以具有7个自由度,此时,所述机械臂可以包括7个关节;而所述机械臂的末端自由度可以具有6个自由度,例如末端自由度可以具有沿x轴线性运动的自由度、沿x轴旋转运动的自由度、沿y轴线性运动的自由度、沿y轴旋转运动的自由度、沿z轴线性运动的自由度以及沿z轴旋转运动的自由度,此时,所述机械臂具有的自由度相较所述机械臂末端运动所需要的自由度多出一个自由度,因此,所述机械臂可以为具有一个冗余自由度的、并且具有七个自由度的机械臂。
如图2所示,为所述机械臂的关节的一种示例图,其中,所述机械臂为具有一个冗余自由度的,并且具有七个自由度的机械臂,q1、q2、q3、q4、q5、q6以及q7为所述机械臂的7个关节。
当然,所述机械臂也可以为具有两个、三个冗余自由度或者冗余自由度为其他数量的机械臂,所述机械臂的具体构造在此不作限制。
该机械臂控制方法可以包括:
步骤S101,获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息。
本申请实施例中,所述传感设备可以用于采集所述机械臂所要模仿的动作的信息,所述传感设备的个数以及设置方式可以根据实际应用场景来确定。所述目标物体可以为所述机械臂所要模仿的物体,所述目标物体可以包括人的手臂、其他动物的手臂或者其他可运动的物体。在一些情况下,所述目标物体的动作可以被所述传感设备捕捉,从而通过相关终端生成相应的信号来控制所述机械臂模仿所述目标物体的动作。例如,在一些实施例中,所述传感设备由人穿戴于手臂上,并且,各个传感设备可以分别位于人的腕关节、手指关节、肘关节以及肩关节中的至少一个,以采集人的手臂乃至手指的动作。当然,所述传感设备也可以用于其他场景中,例如,所述传感设备可以位于能够采集得到所述目标物体的位姿信息的环境中。并且,在一些情况下,可以有多个传感设备位于同一位置。
示例性的,所述传感设备的类型可以包括重力传感器、陀螺仪、加速度计、红外传感器、激光传感器、摄像头、超声传感器等等中的一种或多种。所述传感设备所采集的位姿信息可以通过指定数据传输方式(例如有线传输或者无线传输等方式)传输至执行本申请实施例中的计算设备上。所述位姿信息可以包括各个传感设备的位置信息、姿态信息、速度信息等等中的至少一种,其中,所述位置信息和所述姿态信息可以包括相对位置信息和/或绝对位置信息以及相对姿态信息和/或绝对姿态信息。具体的,根据各个所述传感设备所设置的位置(如人的腕关节、肘关节和/或肩关节等位置),所述传感设备的位姿信息可以指示相应的物体的动作信息。
步骤S102,获得所述位姿信息与所述机械臂中的关节的映射关系。
本申请实施例中,所述位姿信息与所述机械臂中的关节的映射关系可以根据所述位姿信息所对应的传感设备来划分,例如,用于采集人的手臂的动作时,该传感设备可以包括位于人的肩部的传感设备、位于人的肘部的传感设备以及位于人的腕部的传感设备等。此外,也可以根据所述位姿信息中的具体参数等信息来划分,例如,由同一传感设备所采集的位姿信息可能对应所述机械臂中的多个关节,此时,可以根据同一传感设备所采集的位姿信息中的数据所对应的参数(如对应的方向、所在的平面等等)等信息,来区分不同的位姿信息所分别对应的关节;此外,若所述位姿信息中包括图像信息(如二维图像信息和/或深度图像信息等),则可以通过图像识别等方式对所述图像信息进行分析,以获得所述位姿信息与所述机械臂中的关节的映射关系。
此外,通过获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系,可以对所述位姿信息进行区分,从而确定当前所述机械臂的关节所要模仿的动作的情况,例如,所要模仿的动作具体包括哪些关节的信息,以及所要模仿的动作没有涉及哪些关节等等,从而在后续选择更合适的信息处理方法。
步骤S103,根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值。
本申请实施例中,所述当前臂角值可以为所述机械臂的臂角的当前取值。其中,所述臂角与所述机械臂的当前状态有关。所述当前臂角值可以为所述机械臂的参考平面与目标平面之间的夹角。示例性的,对于具有7个自由度以及一个冗余自由度的机械臂。所述参考平面为所述机械臂的末端位姿处于当前的末端目标位姿且所述机械臂中的第三关节的角度值为0°时,所述机械臂的各个关节所构成的平面,所述目标平面为所述参考平面绕特定向量旋转某一角度所得到的平面,此时,旋转的这一角度即臂角,所述特定向量可以为所述机械臂的第一关节指向所述第七关节所得到的向量。而由于所述机械臂具有冗余自由度,因此,当所述机械臂的各个关节构成的平面为所述目标平面时,所述机械臂的末端位姿也处于当前的末端目标位姿。
需要说明的是,本申请实施例中的角度可以包括正值以及负值,此时,各个角度的正负可以指示该角度的方向,如相对于对应基准线的顺时针方向或者逆时针方向。
下面以一个具体示例来对所述目标平面和所述参考平面进行说明。
如图3所示,为所述目标平面和所述参考平面的一种示例。其中,所述机械臂为具有一个冗余自由度的,并且具有七个自由度的机械臂。当所述机械臂的末端处于目标位姿时,第一关节、第二关节、第三关节的交点为特征点S,第五关节、第六关节、第七关节的交点为特征点W。其中,所述机械臂中的第三关节的角度值为0时,第四关节对应的特征点为E0;所述机械臂中的每个关节均处于目标角度值时,第四关节对应的特征点为E,那么,特征点S、特征点E和特征点W所组成的平面为目标平面,特征点S、特征点E0和特征点W所组成的平面为目标平面。
本申请实施例中,根据所述位姿信息和所述映射关系,确定所述当前臂角值的方式可以根据具体应用场景来确定。在获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系之后,可以对所述位姿信息进行区分,从而确定当前所述机械臂的关节所要模仿的动作的情况。例如,所要模仿的动作具体包括哪些关节的信息,以及所要模仿的动作没有涉及哪些关节。此时,根据所要模仿的动作的情况,可以针对性的确定所述当前臂角值,从而提升所述机械臂应对不同模仿场景时的适应能力和计算效率。
例如,若所述位姿信息与所述机械臂的各个关节存在映射关系,即所述位姿信息可以对应各个关节的期望位姿,则可以根据各个关节的期望位姿在空间中的几何关系,构建所述目标平面和所述参考平面,并计算得到所述当前臂角值。而若所述位姿信息中,不涉及所述机械臂中的部分关节,则可以确定所述当前臂角值为所述机械臂在上一时刻的臂角值或者所述机械臂的初始臂角值。
步骤S104,根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。
本申请实施例中,所述M个关节中的每一个关节的关节角度与所述臂角的关系,可以根据所述机械臂的几何特性、坐标系之间的转换关系等信息,通过Denavit–Hartenberg建模方法等方式,预先推导得到。根据所述M个关节中的每一个关节与所述臂角的关系,在确定所述臂角值以及所述机械臂的末端的目标位姿的情况下,可以获得各个关节的目标角度值。
在一些实施例中,在获得各个关节的目标角度值之后,还包括:
若各个关节的目标角度值分别在对应的关节运动范围内,则根据各个关节的目标角度值,控制所述机械臂。
本申请实施例中,各个关节的关节运动范围可以根据实际场景来确定。例如,可以根据所述关节本身的运动范围、所述目标物体的运动特性、环境因素等等来确定。
本申请实施例中,由于所述机械臂具有冗余自由度,因此在常规情况下关节角度与机械臂末端的目标位姿不存在一一对应的关系,对于固定的机械臂末端的目标位姿,可以对应关节的多种目标角度。而本发明实施例中,通过所述臂角可以体现所述冗余自由度,同时可以针对相应的位姿信息,有针对性地获取到所述机械臂的各个关节的运动可以有确定的解,以更合理地控制所述机械臂的运动。
本申请实施例中,示例性的,若执行本申请实施例的计算设备为所述机械臂的一部分,则可以通过所述计算设备向所述机械臂发出相关指令,以驱动相应的关节根据对应的目标角度值进行移动。当然,在一些实施例中,若所述计算设备为与所述机械臂耦合地连接的终端,此时,该其他终端可以通过预设信息传输方式,向所述机械臂发送相应的控制指令,以指示所述机械臂进行相应的操作。本申请实施例中,控制所述机械臂的具体方式在此不作限定。
在一些实施例中,所述M个关节按其在所述机械臂上的位置,划分为上部关节、中部关节以及下部关节;
所述根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值,包括:
若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息、腕部位姿信息和肩部位姿信息,获得所述当前臂角值,其中,所述肘部位姿信息与所述机械臂的中部关节的位姿相对应,所述腕部位姿信息与所述机械臂的下部关节的位姿相对应,所述肩部位姿信息与所述机械臂的上部关节的位姿相对应。
本申请实施例中,所述上部关节、中部关节以及下部关节的划分方式可以有多种。例如,所述上部关节、中部关节以及下部关节的划分可以以所述关节在所述机械臂上,与特定特征点(如基准点)的距离远近等来划分,也可以根据所述关节的具体功能、所述目标物体的特性等信息来划分。例如,若所述机械臂用于模仿人的手臂的动作,那么,所述上部关节可以对应人的肩部,此时,所述上部关节可以为与所述机械臂的基准点距离最近的A个关节;所述下部关节可以对应人的腕部,此时,所述下部关节可以为与所述机械臂的基准点距离最远的B个关节;所述中部关节可以对应人的肘部,此时,所述中部关节可以包括除所述A个关节和B个关节之外的其他关节中的至少一个。
其中,所述腕部位姿信息可以包括目标物体在第一指定位置处的沿三个自由度方向的信息,所述肩部位姿信息可以包括目标物体在第二指定位置处的沿三个自由度方向的信息,所述第二指定位置与所述第一指定位置不同。本申请实施例中,所述肘部位姿信息可以与所述机械臂的中部关节的位姿相对应,此时,所述位姿信息可以与所述机械臂的各个关节存在映射关系,即所述位姿信息可以对应各个关节的期望位姿,此时,可以根据各个关节的期望位姿在空间中的几何关系,构建所述目标平面和所述参考平面,并计算得到所述当前臂角值。
在一些实施例中,所述若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息、腕部位姿信息和肩部位姿信息,获得所述当前臂角值,包括:
若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息获得肘部关键点坐标,根据所述腕部位姿信息获得腕部关键点坐标,并根据所述肩部位姿信息获得肩部关键点坐标;
根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得目标平面的第一法向量,其中,所述目标平面与参考平面的夹角为所述当前臂角值;
获得在所述M个关节中的指定关节处于预设角度时,肘部的参考坐标;
根据所述参考坐标,获得参考平面的第二法向量;
根据所述第一法向量和第二法向量,获得所述当前臂角值。
本申请实施例中,由于所述肘部位姿信息可以与所述机械臂的中部关节的位姿相对应,因此,所述位姿信息可以对应各个关节的期望位姿,因此,通过所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,可以获得在所述目标平面内的两个向量,从而获得所述目标平面的第一法向量。
由于所述第一法向量可以标识所述目标平面的方向,所述第二法向量可以标识所述参考平面的方向,因此,可以根据所述第一法向量和第二法向量,获得所述当前臂角值。
其中,在一些实施例中,所述根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得所述目标平面的第一法向量,包括:
根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得肩部到腕部的第一向量rsw和肩部到肘部的第二向量rse,其中,
rsw=Pw-Ps,rse=Pe-Ps
所述Pw为所述腕部关键点坐标,Ps为所述肩部关键点坐标,rsw为所述第一向量,rse为所述第二向量,Pe为所述肘部关键点坐标;
根据所述第一向量和所述第二向量,获得所述目标平面的第一法向量rcross,其中,
rcross=rsw×rse
所述根据所述参考坐标,获得所述参考平面的第二法向量,包括:
根据所述参考坐标,获得在所述指定关节处于预设角度时,所述肩部到所述肘部的第三向量
Figure BDA0002351685680000121
其中,
Figure BDA0002351685680000122
所述
Figure BDA0002351685680000123
为上部关节中的指定关节处于第一角度时,所述肘部的参考坐标;
根据所述第一向量和所述第三向量,获得所述参考平面的第二法向量
Figure BDA0002351685680000124
其中
Figure BDA0002351685680000125
所述根据所述第一法向量和第二法向量,获得所述当前臂角值,包括:
获得与第一法向量rcross和第二法向量
Figure BDA0002351685680000126
垂直的第四向量
Figure BDA0002351685680000127
其中,
Figure BDA0002351685680000128
构建臂角方向标识Ψflag的表达式,其中,
Figure BDA0002351685680000131
根据所述第一法向量rcross、第二法向量
Figure BDA0002351685680000132
和臂角方向标识Ψflag获得所述当前臂角值Ψ,其中,
Figure BDA0002351685680000133
其中,所述
Figure BDA0002351685680000134
可以根据参考平面对应的各个关节的几何关系以及坐标系转换关系等推导得到。其中:
Figure BDA0002351685680000135
所述lse为肩部到肘部的距离,所述
Figure BDA0002351685680000136
为在所述指定关节处于预设角度时,所述指定关节的坐标系与所述机械臂的基准坐标系之间的旋转矩阵。
在一些实施例中,所述根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值,包括:
若所述位姿信息包括腕部位姿信息和肩部位姿信息,则确定所述当前臂角值为所述机械臂在上一时刻的臂角值或者所述机械臂的初始臂角值。
本申请实施例中,由于缺乏与所述中部关节相对应的位姿,因此,所述位姿信息没有限制所述机械臂的臂角。而为了使所述机械臂的运动更流畅、简洁,以降低所述机械臂中各个关节的运动幅度,因此,可以确定所述当前臂角值为所述机械臂在上一时刻的臂角值或者所述机械臂的初始臂角值。其中,所述初始臂角值可以根据所述机械臂的设置来确定。例如,所述初始臂角值可以为所述机械臂本次开机时所述臂角所对应的值,也可以是一个控制周期中,所述机械臂在该控制周期开始是所述臂角所对应的值,此外,所述初始臂角值也可以是用户或者开发者预设的值。
在一些实施例中,在获得各个关节的目标角度值之后,还包括:
若存在至少一个关节的目标角度值不在对应的关节运动范围内,则在预设角度区间内,以所述当前臂角值为初始值并以预设角度间隔依次获得待检测臂角值,并且每次获得一个待检测臂角值时,对于所述待检测臂角值,基于所述M个关节中的每一个关节的关节角度与所述臂角的关系,获得各个关节的待验证关节角度,直到存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,或者,直到遍历所述预设角度区间。
本申请实施例中,若存在至少一个关节的目标角度值不在对应的关节运动范围内,则可以按照一定的角度间隔,在预设角度区间内,依次查找使得对应的关节的关节角度满足相应的关节运动范围的臂角值。在一些实施例中,若所述位姿信息包括腕部位姿信息和肩部位姿信息,而可能缺少诸如肘部位姿信息等,因此,所述机械臂的所要模仿的动作可能不涉及肘部的动作,相应的,在动作模仿的过程中,也可能不涉及对肘部动作的模仿,此时,所述预设角度区间可以较大,例如,可以在[-π,π]的区间范围内。
其中,查找所述待检测臂角值的方向可以根据需要来确定,例如,可以在所述预设角度区间内,沿正向角度方向以预设角度间隔依次获得待检测臂角值,沿反向角度方向以预设角度间隔依次获得待检测臂角值,此外,也可以以正向和反向相互交替的方式,以预设角度间隔获得待检测臂角值。
在一些实施例中,若遍历所述预设角度区间之后,不存在待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则对于对应的目标角度值不在对应的关节运动范围内的关节,确定所述关节的控制角度为在对应的关节运动范围内的同时,与对应的目标角度值的差值最小的角度。
本申请实施例中,在一些情况下,所述位姿信息可以包括肘部位姿信息、腕部位姿信息和肩部位姿信息,而此时,通过控制所述机械臂的臂角的取值,可以保证所述机械臂的构型与所要模仿的目标物体的整体形态的相似度。而同时,所述目标物体(如人的手臂)的腕部的活动角度范围往往较小,因此,较容易导致所述下部关节中,存在至少一个关节的目标角度值不在对应的关节运动范围内。因此,若所述下部关节中,存在至少一个关节的目标角度值不在对应的关节运动范围内,且遍历所述第二预设角度区间之后,不存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的关节角度分别满足对应的关节限制条件,则可以采用由所述位姿信息得到的所述目标夹角值,以控制所述机械臂的臂角的取值,保证所述机械臂的构型与所要模仿的目标物体的整体形态的相似度,同时,确定不符合条件的关节的控制角度为符合对应的关节限制条件的同时,与对应的目标角度值差值最小的角度,从而适当地牺牲下部关节的模仿准确度,以保证所述机械臂的形态的准确性。
在一些实施例中,在确定所述关节的控制角度之后,还可以根据对应的目标角度值不满足对应的关节限制条件的关节的控制角度,和,除不满足对应的关节限制条件的关节之外的其他关节的目标角度值,控制所述机械臂。
而在一些实施例中,若所述位姿信息包括腕部位姿信息和肩部位姿信息,并且,在遍历所述预设角度区间之后,不存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则可以确认对所述位姿信息所指示的动作模仿失败,而此时,可以不针对所述位姿信息来控制所述机械臂。当然,在一些场景中,也可以根据目标角度等对所述机械臂进行控制。
在一些实施例中,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
如图4所示,在根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值之前,所述机械臂控制方法还包括:
步骤S401,构建关于所述第四关节的第一角度表达式;
步骤S402,构建所述第一关节在所述第三关节处于指定角度时的第二角度表达式;
步骤S403,构建所述第二关节在所述第三关节处于指定角度时的第三角度表达式;
步骤S404,根据罗德里格斯公式,得到关于目标平面与参考平面之间的第一旋转矩阵的第一公式,其中,所述目标平面与所述参考平面的夹角为所述当前臂角值;
步骤S405,根据所述第一公式,得到关于所述第三关节的坐标系与所述机械臂的基准坐标系之间的第二旋转矩阵的第二公式;
步骤S406,获得所述第七关节的坐标系与所述机械臂的基准坐标系之间的变换关系表达式;
步骤S407,根据所述第一角度表达式、第二角度表达式、第三角度表达式、第一公式、第二公式和所述变换关系表达式,得到所述M个关节中的每一个关节的关节角度与臂角的关系。
其中,在参考平面中,所述第三关节处于指定角度,例如,所述第三关节为0°。所述机械臂具有7个关节,此时,所述机械臂可以用于模仿人的手臂的动作,以执行相应的操作。
具体的,所述第一角度表达式为:
q4=arc cos((lse 2+lew 2-lsw 2)/2lselew),
其中,q4为所述第四关节的角度,lse肩部到肘部的距离,lew为肘部到腕部的距离,lsw为肩部到腕部的距离,所述肩部由所述第一关节、第二关节和第三关节进行等效得到,所述肘部与所述第四关节相对应,所述腕部由所述第五关节、第六关节和所述第七关节进行等效得到;
所述第二角度表达式为:
Figure BDA0002351685680000171
其中,p(px,py,pz)所述目标位姿所指示的所述机械臂末端的目标坐标,
Figure BDA0002351685680000172
为所述第一关节在所述第三关节处于指定角度时的角度;
所述第三角度表达式为:
Figure BDA0002351685680000173
其中,
Figure BDA0002351685680000174
为所述第二关节在所述第三关节处于指定角度时的角度;
所述第一公式为:
0RΨ=I+sinΨRsw+(1-cosΨ)[Rsw]2
其中,Ψ为所述臂角,I为单位矩阵,Rsw为所述肩部到所述腕部的单位向量的斜对称矩阵,0RΨ为目标平面与参考平面之间的第一旋转矩阵;
所述第二公式为:
0R30RΨ 0R3 0=As sinΨ+Bs cosΨ+Cs,
其中,0R3 0为在所述第三关节处于指定角度时,所述第三关节的坐标系与所述机械臂的基准坐标系之间的第三旋转矩阵,所述0R3为所述第三关节的坐标系与所述机械臂的基准坐标系之间的第二旋转矩阵;
所述变换关系表达式为:
0R70R3 3R4 4R7
其中,所述3R4为所述第四关节的坐标系相对于所述第三关节的坐标系的第四旋转矩阵,所述4R7为所述第七关节的坐标系相对于所述第四关节的坐标系的第五旋转矩阵,所述0R7为所述第七关节的坐标系相对于所述机械臂的基准坐标系的第六旋转矩阵;
所述M个关节中的每一个关节的关节角度与臂角的关系包括:
Figure BDA0002351685680000175
q2=arc sin(-As(2,1)sinΨ-Bs(2,1)cosΨ-Cs(2,1)),
Figure BDA0002351685680000181
q5=arc tan 2(Aw(1,2)sinΨ+Bw(1,2)cosΨ+Cw(1,2),
Aw(0,2)sinΨ+Bw(0,2)cosΨ+Cw(0,2)),
q6=arc cos(Aw(2,2)sinΨ+Bw(2,2)cosΨ+Cw(2,2)),
Figure BDA0002351685680000182
其中,
Figure BDA0002351685680000183
Aw=3R4 TAsT0R7,Bw=3R4 TBsT0R7,Cw=3R4 TCsT0R7
通过上述推导,可以得到第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节的关节角度分别与所述臂角的关系,此时,若给定所述臂角的值以及所述机械臂末端的目标位姿,可以求解得到各个关节的目标角度值。
本申请实施例中,通过获取至少一个传感设备采集的位姿信息,可以确定所述机械臂所要模仿的动作的情况;进一步的,获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系,并根据所述位姿信息和所述映射关系,确定机械臂的当前臂角值,可以根据机械臂所要模仿的动作的具体情况,采用不同的臂角决策方式,以针对多种场景都能准确高效地确定所述机械臂的当前臂角值,从而提升所述机械臂对各种模仿场景的适应能力,其中,臂角可以体现所述机械臂的冗余自由度,从而根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值,此时,针对相应的位姿信息,可以利用所述臂角,获取到所述机械臂的各个关节的确定的解,以在后续更合理地控制所述机械臂的运动,使得所述机械臂在根据传感设备的位姿信息进行动作模仿时,相应的计算效率较高,并且所述机械臂的运动规划更合理,更符合动作模仿的要求。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的机械臂控制方法,图5示出了本申请实施例提供的一种机械臂控制装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M。
参照图5,该机械臂控制装置5包括:
获取模块501,用于获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
映射模块502,用于获得所述位姿信息与所述机械臂中的关节的映射关系;
确定模块503,用于根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
处理模块504,用于根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。
可选的,所述机械臂控制装置5还包括:
控制模块,用于若各个关节的目标角度值分别在对应的关节运动范围内,则根据各个关节的目标角度值,控制所述机械臂。
可选的,所述M个关节按其在所述机械臂上的位置,划分为上部关节、中部关节以及下部关节;
所述确定模块503具体用于:
若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息、腕部位姿信息和肩部位姿信息,获得所述当前臂角值,其中,所述肘部位姿信息与所述机械臂的中部关节的位姿相对应,所述腕部位姿信息与所述机械臂的下部关节的位姿相对应,所述肩部位姿信息与所述机械臂的上部关节的位姿相对应。
可选的,所述确定模块503具体包括:
第一处理单元,用于若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息获得肘部关键点坐标,根据所述腕部位姿信息获得腕部关键点坐标,并根据所述肩部位姿信息获得肩部关键点坐标;
第二处理单元,用于根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得目标平面的第一法向量,其中,所述目标平面与参考平面的夹角为所述当前臂角值;
第三处理单元,用于获得在所述M个关节中的指定关节处于预设角度时,肘部的参考坐标;
第四处理单元,用于根据所述参考坐标,获得参考平面的第二法向量;
第五处理单元,用于根据所述第一法向量和第二法向量,获得所述当前臂角值。
可选的,所述第二处理单元具体用于:
根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得肩部到腕部的第一向量rsw和肩部到肘部的第二向量rse,其中,
rsw=Pw-Ps,rse=Pe-Ps
所述Pw为所述腕部关键点坐标,Ps为所述肩部关键点坐标,rsw为所述第一向量,rse为所述第二向量,Pe为所述肘部关键点坐标;
根据所述第一向量和所述第二向量,获得所述目标平面的第一法向量rcross,其中,
rcross=rsw×rse
所述第四处理单元具体用于:
根据所述参考坐标,获得在所述指定关节处于预设角度时,所述肩部到所述肘部的第三向量
Figure BDA0002351685680000201
其中,
Figure BDA0002351685680000211
所述
Figure BDA0002351685680000212
为上部关节中的指定关节处于第一角度时,所述肘部的参考坐标;
根据所述第一向量和所述第三向量,获得所述参考平面的第二法向量
Figure BDA0002351685680000213
其中
Figure BDA0002351685680000214
所述第五处理单元具体用于:
获得与第一法向量rcross和第二法向量
Figure BDA0002351685680000215
垂直的第四向量
Figure BDA0002351685680000216
其中,
Figure BDA0002351685680000217
构建臂角方向标识Ψflag的表达式,其中,
Figure BDA0002351685680000218
根据所述第一法向量rcross、第二法向量
Figure BDA0002351685680000219
和臂角方向标识Ψflag获得所述当前臂角值Ψ,其中,
Figure BDA00023516856800002110
可选的,所述确定模块503具体用于:
若所述位姿信息包括腕部位姿信息和肩部位姿信息,则确定所述当前臂角值为所述机械臂在上一时刻的臂角值或者所述机械臂的初始臂角值。
可选的,所述机械臂控制装置5还包括:
第二处理模块,用于若存在至少一个关节的目标角度值不在对应的关节运动范围内,则在预设角度区间内,以所述当前臂角值为初始值并以预设角度间隔依次获得待检测臂角值,并且每次获得一个待检测臂角值时,对于所述待检测臂角值,基于所述M个关节中的每一个关节的关节角度与所述臂角的关系,获得各个关节的待验证关节角度,直到存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,或者,直到遍历所述预设角度区间。
可选的,所述机械臂控制装置5还包括:
第三处理模块,用于若遍历所述预设角度区间之后,不存在待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则对于对应的目标角度值不在对应的关节运动范围内的关节,确定所述关节的控制角度为在对应的关节运动范围内的同时,与对应的目标角度值的差值最小的角度。
可选的,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
所述机械臂控制装置5还包括:
第一构建模块,用于构建关于所述第四关节的第一角度表达式;
第二构建模块,用于构建所述第一关节在所述第三关节处于指定角度时的第二角度表达式;
第三构建模块,用于构建所述第二关节在所述第三关节处于指定角度时的第三角度表达式;
第四处理模块,用于根据罗德里格斯公式,得到关于目标平面与参考平面之间的第一旋转矩阵的第一公式,其中,所述目标平面与所述参考平面的夹角为所述当前臂角值;
第五处理模块,用于根据所述第一公式,得到关于所述第三关节的坐标系与所述机械臂的基准坐标系之间的第二旋转矩阵的第二公式;
第六处理模块,用于获得所述第七关节的坐标系与所述机械臂的基准坐标系之间的变换关系表达式;
第七处理模块,用于根据所述第一角度表达式、第二角度表达式、第三角度表达式、第一公式、第二公式和所述变换关系表达式,得到所述M个关节中的每一个关节的关节角度与臂角的关系。
本申请实施例中,通过获取至少一个传感设备采集的位姿信息,可以确定所述机械臂所要模仿的动作的情况;进一步的,获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系,并根据所述位姿信息和所述映射关系,确定机械臂的当前臂角值,可以根据机械臂所要模仿的动作的具体情况,采用不同的臂角决策方式,以针对多种场景都能准确高效地确定所述机械臂的当前臂角值,从而提升所述机械臂对各种模仿场景的适应能力,其中,臂角可以体现所述机械臂的冗余自由度,从而根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值,此时,针对相应的位姿信息,可以利用所述臂角,获取到所述机械臂的各个关节的确定的解,以在后续更合理地控制所述机械臂的运动,使得所述机械臂在根据传感设备的位姿信息进行动作模仿时,相应的计算效率较高,并且所述机械臂的运动规划更合理,更符合动作模仿的要求。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6为本申请一实施例提供的计算设备的结构示意图。如图6所示,该实施例的计算设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个机械臂控制方法实施例中的步骤。
所述计算设备6可以是机器人、机械臂、桌上型计算机、笔记本、掌上电脑及云端服务器等设备,其中,所述计算设备6为桌上型计算机、笔记本、掌上电脑及云端服务器等设备时,该计算设备6可以与机械臂耦合地连接,以控制所述机械臂。该计算设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是计算设备6的举例,并不构成对计算设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入设备、输出设备、网络接入设备等。其中,上述输入设备可以包括触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、摄像头等,输出设备可以包括显示器、扬声器等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器61在一些实施例中可以是上述计算设备6的内部存储单元,例如计算设备6的硬盘或内存。上述存储器61在另一些实施例中也可以是上述计算设备6的外部存储设备,例如上述计算设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,上述存储器61还可以既包括上述计算设备6的内部存储单元也包括外部存储设备。上述存储器61用于存储操作系统、应用程序、引导装载程序(Boot Loader)、数据以及其他程序等,例如上述计算机程序的程序代码等。上述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,尽管未示出,上述计算设备6还可以包括网络连接模块,如蓝牙模块Wi-Fi模块、蜂窝网络模块等等,在此不再赘述。
本申请实施例中,上述处理器60执行上述计算机程序62以实现上述任意各个计算机控制方法实施例中的步骤时,通过获取至少一个传感设备采集的位姿信息,可以确定所述机械臂所要模仿的动作的情况;进一步的,获得所述至少一个传感设备采集的位姿信息与所述机械臂中的关节的映射关系,并根据所述位姿信息和所述映射关系,确定机械臂的当前臂角值,可以根据机械臂所要模仿的动作的具体情况,采用不同的臂角决策方式,以针对多种场景都能准确高效地确定所述机械臂的当前臂角值,从而提升所述机械臂对各种模仿场景的适应能力,其中,所述指定夹角臂角可以体现所述机械臂的冗余自由度,从而根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值,此时,针对相应的位姿信息,可以利用所述指定夹角臂角,获取到所述机械臂的各个关节的确定的解,以在后续更合理地控制所述机械臂的运动,使得所述机械臂在根据传感设备的位姿信息进行动作模仿时,相应的计算效率较高,并且所述机械臂的运动规划更合理,更符合动作模仿的要求。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例中还提供了一种系统,如图7所示,是本申请实施例提供的系统的一种结构示意图。所述系统7包括:
至少一个传感设备71,用于采集位姿信息并向计算设备6传输所述位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
计算设备6,用于:
获取至少一个传感设备71采集的位姿信息;
获得所述位姿信息与所述机械臂中的关节的映射关系;
根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值。
可选的,所述传感设备71可以包括红外传感器、激光传感器、超声传感器以及摄像头中的至少一种。
其中,示例性的,所述传感设备71可以位于所述目标物体上,也可以位于能够采集到所述目标物体的位姿信息的环境中。所述传感设备71的个数、类型以及设置方式等在此不作限定。
所述计算设备6可以与所述传感设备71耦合地连接。所述计算设备6的具体结构及设置可以参照上述实施例。
通过所述传感设备71,可以方便地采集目标物体的三维位姿信息,从而便于计算设备6根据所述位姿信息与所述机械臂的关节建立映射,得到所述位姿信息与所述机械臂中的关节的映射关系,并进行后续的处理。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/计算设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (12)

1.一种机械臂控制方法,其特征在于,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M,所述机械臂控制方法包括:
获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
获得所述位姿信息与所述机械臂中的关节的映射关系;
根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值;
在获得各个关节的目标角度值之后,还包括:
若存在至少一个关节的目标角度值不在对应的关节运动范围内,则在预设角度区间内,以所述当前臂角值为初始值并以预设角度间隔依次获得待检测臂角值,并且每次获得一个待检测臂角值时,对于所述待检测臂角值,基于所述M个关节中的每一个关节的关节角度与所述臂角的关系,获得各个关节的待验证关节角度,直到存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,或者,直到遍历所述预设角度区间;
若遍历所述预设角度区间之后,不存在待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则对于对应的目标角度值不在对应的关节运动范围内的关节,确定所述关节的控制角度为在对应的关节运动范围内的同时,与对应的目标角度值的差值最小的角度。
2.如权利要求1所述的机械臂控制方法,其特征在于,在获得各个关节的目标角度值之后,还包括:
若各个关节的目标角度值分别在对应的关节运动范围内,则根据各个关节的目标角度值,控制所述机械臂。
3.如权利要求1所述的机械臂控制方法,其特征在于,所述M个关节按其在所述机械臂上的位置,划分为上部关节、中部关节以及下部关节;
所述根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值,包括:
若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息、腕部位姿信息和肩部位姿信息,获得所述当前臂角值,其中,所述肘部位姿信息与所述机械臂的中部关节的位姿相对应,所述腕部位姿信息与所述机械臂的下部关节的位姿相对应,所述肩部位姿信息与所述机械臂的上部关节的位姿相对应。
4.如权利要求3所述的机械臂控制方法,其特征在于,所述若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息、腕部位姿信息和肩部位姿信息,获得所述当前臂角值,包括:
若所述位姿信息包括肘部位姿信息、腕部位姿信息和肩部位姿信息,则根据所述肘部位姿信息获得肘部关键点坐标,根据所述腕部位姿信息获得腕部关键点坐标,并根据所述肩部位姿信息获得肩部关键点坐标;
根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得目标平面的第一法向量,其中,所述目标平面与参考平面的夹角为所述当前臂角值;
获得在所述M个关节中的指定关节处于预设角度时,肘部的参考坐标;
根据所述参考坐标,获得参考平面的第二法向量;
根据所述第一法向量和第二法向量,获得所述当前臂角值。
5.如权利要求4所述的机械臂控制方法,其特征在于,所述根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得所述目标平面的第一法向量,包括:
根据所述肘部关键点坐标、所述腕部关键点坐标和所述肩部关键点坐标,获得肩部到腕部的第一向量rsw和肩部到肘部的第二向量rse,其中,
rsw=Pw-Ps,rse=Pe-Ps
所述Pw为所述腕部关键点坐标,Ps为所述肩部关键点坐标,rsw为所述第一向量,rse为所述第二向量,Pe为所述肘部关键点坐标;
根据所述第一向量和所述第二向量,获得所述目标平面的第一法向量rcross,其中,
rcross=rsw×rse
所述根据所述参考坐标,获得所述参考平面的第二法向量,包括:
根据所述参考坐标,获得在所述指定关节处于预设角度时,所述肩部到所述肘部的第三向量
Figure FDA0003671267190000041
其中,
Figure FDA0003671267190000042
所述
Figure FDA0003671267190000043
为上部关节中的指定关节处于第一角度时,所述肘部的参考坐标;
根据所述第一向量和所述第三向量,获得所述参考平面的第二法向量
Figure FDA0003671267190000044
其中
Figure FDA0003671267190000045
所述根据所述第一法向量和第二法向量,获得所述当前臂角值,包括:
获得与第一法向量rcross和第二法向量
Figure FDA0003671267190000046
垂直的第四向量
Figure FDA0003671267190000047
其中,
Figure FDA0003671267190000048
构建臂角方向标识Ψflag的表达式,其中,
Figure FDA0003671267190000049
根据所述第一法向量rcross、第二法向量
Figure FDA00036712671900000410
和臂角方向标识Ψflag获得所述当前臂角值Ψ,其中,
Figure FDA00036712671900000411
6.如权利要求3所述的机械臂控制方法,其特征在于,所述根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值,包括:
若所述位姿信息包括腕部位姿信息和肩部位姿信息,则确定所述当前臂角值为所述机械臂在上一时刻的臂角值或者所述机械臂的初始臂角值。
7.如权利要求1至6任意一项所述的机械臂控制方法,其特征在于,所述机械臂具有1个冗余自由度,所述机械臂具有7个关节,所述7个关节为第一关节、第二关节、第三关节、第四关节、第五关节、第六关节和第七关节;
在根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值之前,还包括:
构建关于所述第四关节的第一角度表达式;
构建所述第一关节在所述第三关节处于指定角度时的第二角度表达式;
构建所述第二关节在所述第三关节处于指定角度时的第三角度表达式;
根据罗德里格斯公式,得到关于目标平面与参考平面之间的第一旋转矩阵的第一公式,其中,所述目标平面与所述参考平面的夹角为所述当前臂角值;
根据所述第一公式,得到关于所述第三关节的坐标系与所述机械臂的基准坐标系之间的第二旋转矩阵的第二公式;
获得所述第七关节的坐标系与所述机械臂的基准坐标系之间的变换关系表达式;
根据所述第一角度表达式、第二角度表达式、第三角度表达式、第一公式、第二公式和所述变换关系表达式,得到所述M个关节中的每一个关节的关节角度与臂角的关系。
8.一种机械臂控制装置,其特征在于,机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M,所述机械臂控制装置包括:
获取模块,用于获取至少一个传感设备采集的位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
映射模块,用于获得所述位姿信息与所述机械臂中的关节的映射关系;
确定模块,用于根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
处理模块,用于根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值;
第二处理模块,用于若存在至少一个关节的目标角度值不在对应的关节运动范围内,则在预设角度区间内,以所述当前臂角值为初始值并以预设角度间隔依次获得待检测臂角值,并且每次获得一个待检测臂角值时,对于所述待检测臂角值,基于所述M个关节中的每一个关节的关节角度与所述臂角的关系,获得各个关节的待验证关节角度,直到存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,或者,直到遍历所述预设角度区间;
第三处理模块,用于若遍历所述预设角度区间之后,不存在待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则对于对应的目标角度值不在对应的关节运动范围内的关节,确定所述关节的控制角度为在对应的关节运动范围内的同时,与对应的目标角度值的差值最小的角度。
9.一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的机械臂控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的机械臂控制方法。
11.一种机械臂控制系统,其特征在于,包括:
至少一个传感设备,用于采集位姿信息并向计算设备传输所述位姿信息,所述位姿信息包括关于目标物体的位姿的信息;
计算设备,用于:
获取至少一个传感设备采集的位姿信息;
获得所述位姿信息与机械臂中的关节的映射关系;所述机械臂具有N个冗余自由度和M个关节,所述M个关节分别控制所述机械臂在对应的M个自由度上运动,所述N和M均为大于0的整数,且N小于M;
根据所述位姿信息和所述映射关系,确定所述机械臂的当前臂角值;
根据所述M个关节中的每一个关节的关节角度与臂角的关系、所述位姿信息以及所述当前臂角值,获得各个关节的目标角度值;
在获得各个关节的目标角度值之后,所述计算设备,用于:
若存在至少一个关节的目标角度值不在对应的关节运动范围内,则在预设角度区间内,以所述当前臂角值为初始值并以预设角度间隔依次获得待检测臂角值,并且每次获得一个待检测臂角值时,对于所述待检测臂角值,基于所述M个关节中的每一个关节的关节角度与所述臂角的关系,获得各个关节的待验证关节角度,直到存在一个待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,或者,直到遍历所述预设角度区间;
若遍历所述预设角度区间之后,不存在待检测臂角值,使得所述待检测臂角值所对应的各个关节的待验证关节角度分别在对应的关节运动范围内,则对于对应的目标角度值不在对应的关节运动范围内的关节,确定所述关节的控制角度为在对应的关节运动范围内的同时,与对应的目标角度值的差值最小的角度。
12.如权利要求11所述的机械臂控制系统,其特征在于,所述传感设备包括红外传感器、激光传感器、超声传感器以及摄像头中的至少一种。
CN201911418029.0A 2019-12-31 2019-12-31 机械臂控制方法、机械臂控制装置、计算设备及系统 Active CN113119104B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911418029.0A CN113119104B (zh) 2019-12-31 2019-12-31 机械臂控制方法、机械臂控制装置、计算设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911418029.0A CN113119104B (zh) 2019-12-31 2019-12-31 机械臂控制方法、机械臂控制装置、计算设备及系统

Publications (2)

Publication Number Publication Date
CN113119104A CN113119104A (zh) 2021-07-16
CN113119104B true CN113119104B (zh) 2022-08-05

Family

ID=76769598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911418029.0A Active CN113119104B (zh) 2019-12-31 2019-12-31 机械臂控制方法、机械臂控制装置、计算设备及系统

Country Status (1)

Country Link
CN (1) CN113119104B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113997282B (zh) * 2021-10-13 2022-11-25 杭州景业智能科技股份有限公司 机械臂控制方法、装置、电子装置和存储介质
CN114135224B (zh) * 2021-11-30 2024-02-02 江苏徐工工程机械研究院有限公司 岩土工程机械及其工作臂挠度补偿方法
CN114074329B (zh) * 2022-01-19 2022-04-15 成都博恩思医学机器人有限公司 一种机器人远心不动点的校验控制方法及相关装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287191A (ja) * 2000-04-10 2001-10-16 Kawasaki Heavy Ind Ltd マスタアームのリンク位置検出方法
CN106202713A (zh) * 2016-07-11 2016-12-07 尔智机器人(上海)有限公司 一种偏置机械臂逆运动学求解方法
CN106313049A (zh) * 2016-10-08 2017-01-11 华中科技大学 一种仿人机械臂体感控制系统及控制方法
CN106737671A (zh) * 2016-12-21 2017-05-31 西安科技大学 七自由度仿人机械臂的双层拟人运动规划方法
CN106844951A (zh) * 2017-01-18 2017-06-13 哈尔滨工业大学深圳研究生院 基于分段几何法求解超冗余机器人逆运动学的方法及系统
CN107729637A (zh) * 2017-10-09 2018-02-23 燕山大学 基于臂形角区间的冗余自由度机械臂运动规划及评价方法
CN108241339A (zh) * 2017-12-27 2018-07-03 北京航空航天大学 仿人机械臂的运动求解和构型控制方法
CN108789406A (zh) * 2018-06-05 2018-11-13 上海大学 一种用于冗余机械臂可达性分析的逆解求解方法
CN109676606A (zh) * 2018-12-29 2019-04-26 深圳前海达闼云端智能科技有限公司 一种计算机械臂臂角范围的方法、机械臂及机器人
CN109702751A (zh) * 2019-03-01 2019-05-03 中国科学院电子学研究所 一种七自由度串联机械臂的位置级逆解方法
CN109719725A (zh) * 2018-12-29 2019-05-07 深圳前海达闼云端智能科技有限公司 一种机械臂运动规划的方法、机械臂及机器人

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001287191A (ja) * 2000-04-10 2001-10-16 Kawasaki Heavy Ind Ltd マスタアームのリンク位置検出方法
CN106202713A (zh) * 2016-07-11 2016-12-07 尔智机器人(上海)有限公司 一种偏置机械臂逆运动学求解方法
CN106313049A (zh) * 2016-10-08 2017-01-11 华中科技大学 一种仿人机械臂体感控制系统及控制方法
CN106737671A (zh) * 2016-12-21 2017-05-31 西安科技大学 七自由度仿人机械臂的双层拟人运动规划方法
CN106844951A (zh) * 2017-01-18 2017-06-13 哈尔滨工业大学深圳研究生院 基于分段几何法求解超冗余机器人逆运动学的方法及系统
CN107729637A (zh) * 2017-10-09 2018-02-23 燕山大学 基于臂形角区间的冗余自由度机械臂运动规划及评价方法
CN108241339A (zh) * 2017-12-27 2018-07-03 北京航空航天大学 仿人机械臂的运动求解和构型控制方法
CN108789406A (zh) * 2018-06-05 2018-11-13 上海大学 一种用于冗余机械臂可达性分析的逆解求解方法
CN109676606A (zh) * 2018-12-29 2019-04-26 深圳前海达闼云端智能科技有限公司 一种计算机械臂臂角范围的方法、机械臂及机器人
CN109719725A (zh) * 2018-12-29 2019-05-07 深圳前海达闼云端智能科技有限公司 一种机械臂运动规划的方法、机械臂及机器人
CN109702751A (zh) * 2019-03-01 2019-05-03 中国科学院电子学研究所 一种七自由度串联机械臂的位置级逆解方法

Also Published As

Publication number Publication date
CN113119104A (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
JP7273880B2 (ja) 仮想オブジェクト駆動方法、装置、電子機器及び可読記憶媒体
CN113119104B (zh) 机械臂控制方法、机械臂控制装置、计算设备及系统
CN113119098B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN111208783B (zh) 一种动作模仿方法、装置、终端及计算机存储介质
Fang et al. A robotic hand-arm teleoperation system using human arm/hand with a novel data glove
CN109732593B (zh) 一种机器人的远端控制方法、装置及终端设备
CN106313049A (zh) 一种仿人机械臂体感控制系统及控制方法
CN108693958B (zh) 一种手势识别方法、装置及系统
CN108279773B (zh) 一种基于marg传感器和磁场定位技术的数据手套
CN109676602A (zh) 行走机器人的自适应标定方法、系统、设备及存储介质
CN111113429B (zh) 一种动作模仿方法、动作模仿装置及终端设备
CN112775931A (zh) 机械臂控制方法、装置、计算机可读存储介质及机器人
CN115847422A (zh) 一种用于遥操作的姿态识别方法、装置及系统
Hilman et al. Virtual hand: VR hand controller using IMU and flex sensor
CN113084791B (zh) 机械臂控制方法、机械臂控制装置及终端设备
Parga et al. Tele-manipulation of robot arm with smartphone
CN111433783A (zh) 手部模型生成方法、装置、终端设备及手部动作捕捉方法
US20210200224A1 (en) Method for controlling a robot and its end-portions and device thereof
CN113814951A (zh) 一种主从机器人的控制方法、系统及存储介质
CN111113428B (zh) 机器人控制方法、机器人控制装置及终端设备
CN113001537B (zh) 机械臂控制方法、机械臂控制装置及终端设备
CN112894794B (zh) 人体手臂动作模仿方法、装置、终端设备及存储介质
KR20190075356A (ko) 객체를 식별하기 위한 장치 및 방법
Bai et al. Kinect-based hand tracking for first-person-perspective robotic arm teleoperation
CN116394265B (zh) 一种姿态传感器标定方法、装置、设备及存储介质

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
GR01 Patent grant
GR01 Patent grant