首页> 中国专利> 运动学解析解择优方法、装置、计算机设备及存储介质

运动学解析解择优方法、装置、计算机设备及存储介质

摘要

本申请涉及一种运动学解析解择优方法、装置、计算机设备及存储介质,该方法包括:获取机器人的当前角度值、以及运动学逆解的目标角度值;根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,第一位置为机器人运动临界位置,第二位置与第一位置相差180度,参考位置为第一位置或第二位置;根据参考位置判定输出当前角度值与目标角度值之间运动的最优解。本申请采用本方法能够在机器人运动临界位置,准确地得到运动学逆解的最优解,保证了工业机器人运动的流畅性和安全性。

著录项

  • 公开/公告号CN114770510A

    专利类型发明专利

  • 公开/公告日2022-07-22

    原文格式PDF

  • 申请/专利权人 杭州景业智能科技股份有限公司;

    申请/专利号CN202210499390.6

  • 发明设计人 张鑫;金丁灿;袁沛;金杰锋;

    申请日2022-05-09

  • 分类号B25J9/16;

  • 代理机构杭州华进联浙知识产权代理有限公司;

  • 代理人金无量

  • 地址 310051 浙江省杭州市滨江区信诚路857号悦江商业中心35001室

  • 入库时间 2023-06-19 16:06:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-22

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及工控技术领域,特别是涉及一种运动学解析解择优方法、装置、计算机设备及存储介质。

背景技术

目前,工业机器人的位置控制系统基本上都是以运动学逆解为基础,解算出目标位置所对应的关节角度,把关节角度信息输入到控工业机器人的控制系统中对各个关节进行位置控制。运动学逆解算法主要分为数值解法和解析解法,数值解法的特点为通用性高,解法唯一,但是求解速度较慢(毫秒级),解析解法的特点为运算速度快(微秒级),会产生多解,但通用性差。为了能使工业机器人实时响应不同位置的作业任务,控制系统中一般以解析解法来对机器人进行运动逆解,对产生的多解进行择优,把最优的解法输入到控制系统中。

然而,由于解析解法会出现多组解,则必须选择一个最适合当前运动状态的解。通常的择优算法是每一组解与当前机器人各个关节角作差,设定一个较小的阈值(通常为30度~50度),若差值小于阈值,则判定该解为最优解。该方法在正常情况下均适用,但在关节角度临界状态下并不适用,无法得到最优解的情况,不能保证运动平滑。而且在择优的过程中,阈值设定过小,则会把最优解过滤掉,如果阈值设定过大,则得到不是最优解,导致机器人出现角度突变,会对外部环境造成损坏。

发明内容

基于此,有必要针对上述技术问题,提供一种能够优化运动学解析解临界位置最优解的运动学解析解择优方法、装置、计算机设备及存储介质。

第一方面,本申请提供了一种运动学解析解择优方法,包括:

获取机器人的当前角度值、以及运动学逆解的目标角度值;

根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,第一位置为机器人运动临界位置,第二位置与第一位置相差180度,参考位置为第一位置或第二位置;

根据参考位置判定输出当前角度值与目标角度值之间运动的最优解。

在其中一个实施例中,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置包括:

若当前角度值、目标角度值分别与第一位置的角度差值之和小于或等于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第一位置作为参考位置;

若当前角度值、目标角度值分别与第一位置的角度差值之和大于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第二位置作为参考位置。

在其中一个实施例中,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解包括:

若当前角度值和目标角度值位于参考位置的不同侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之和;

若当前角度值和目标角度值位于参考位置的同一侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之差。

在其中一个实施例中,机器人的运动范围为-180度至+180度,其中,第一位置对应的角度值为180度,第二位置对应的角度值为0度,当前角度值为θ,目标角度值为θ1;

当前角度值与第一位置的角度差值Δ1_1=180°-|θ|;

目标角度值与第一位置的角度差值Δ1_2=180°-|θ1|;

当前角度值与第二位置的角度差值Δ2_1=|θ|-0°;

目标角度值与第二位置的角度差值Δ2_2=|θ1|-0°。

在其中一个实施例中,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置包括:

若Δ1_1+Δ1_2≤Δ2_1+Δ2_2,则以第一位置作为参考位置;

若Δ1_1+Δ1_2>Δ2_1+Δ2_2,则以第二位置作为参考位置。

在其中一个实施例中,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解包括:

若以第一位置作为参考位置,则:当当前角度值和目标角度值位于第一位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_1+Δ1_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_2-Δ1_1|;

若以第二位置作为参考位置,则:当当前角度值和目标角度值位于第二位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_1+Δ2_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_2-Δ2_1|。

在其中一个实施例中,通过当前角度值和目标角度值的正负判定与第一位置或第二位置之间的位置关系。

第二方面,本申请还提供了一种运动学解析解择优装置,包括:

获取模块,用于获取机器人的当前角度值、以及运动学逆解的目标角度值;

位置模块,用于根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,第一位置为机器人运动临界位置,第二位置与第一位置相差180度,参考位置为第一位置或第二位置;

择优模块,用于根据参考位置判定输出当前角度值与目标角度值之间运动的最优解。

第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项实施例中的运动学解析解择优方法的步骤。

第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项实施例中的运动学解析解择优方法的步骤。

上述运动学解析解择优方法、装置、计算机设备及存储介质,通过获取机器人的当前角度值、以及运动学逆解的目标角度值,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,能够在机器人运动临界位置,准确地得到运动学逆解的最优解,提升了运动逆解的后对多解择优的准确性,从而保证了工业机器人运动的流畅性和安全性。同时,省去了现有技术中阈值了设定,避免了阈值设定过小把最优解过滤掉,也避免了阈值设定过大导致机器人出现角度突变,破坏外部环境,提升了机器人运动的安全性和准确性。

附图说明

为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一个实施例中运动学解析解择优方法的流程示意图;

图2为一个实施例中运动学解析解择优方法具体场景下的算法流程图;

图3为一个实施例中运动学解析解择优装置的结构框图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述相同功能的元件或相同概念的名称,但这些不应受这些术语限制。

在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。

正如背景技术所述,现有技术中的运动学解析解法中存在关节角度临界状态下无法保证运动平滑的技术问题,经发明人研究发现,出现这种问题的原因在于,计算机在计算运动逆解时,并不能判断下一个解所对应电机的旋转方向,从而会忽视最优的解,不能保证运动平滑,例如,当前关节状态在179度,目标角度在-179度的情况下,对于机器人关节来讲,旋转2度即可到达-179度,而现有技术中运动学解析解法作差后绝对值在358度,如此,机器人的执行效率将大打折扣,同时也会致机器人出现角度突变,会对外部环境造成损坏。

基于以上原因,本发明提供了一种运动学解析解择优方案。

在一个实施例中,如图1所示,提供了一种运动学解析解择优方法,包括以下步骤:

S100:获取机器人的当前角度值、以及运动学逆解的目标角度值;

具体地,本实施例中的机器人具体以关节型机械臂为例,但不仅限于此,更为广泛的,本实施例中的机器人泛指以运动学逆解为位置控制基础的设备,其中,机器人的当前角度值为机器人当前所处位置所对应的关节角度,运动学逆解的目标角度值为以运动学逆解为基础解算出目标位置所对应的关节角度。本实施例可以通过机器人的位置传感器获取当前角度值,也可以通过与机器人的驱动器通信获取当前角度值,本实施例对此不作限定。

S200:根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,第一位置为机器人运动临界位置,第二位置与第一位置相差180度,参考位置为第一位置或第二位置;

其中,本实施例的第一位置为机器人运动临界位置,运动临界位置为机器人运动范围的临界点位置,例如,当机器人的运动范围为±180度时,其运动临界位置为角度值±180度所对应的位置,再例如,当机器人的运动范围为0度至360度时,其运动临界位置为角度值0度或360度所对应的位置,而本实施例的第二位置与第一位置相差180度,例如,当机器人的运动范围为±180度时,第一位置为角度值±180度所对应的位置,则第二位置为角度值0度所对应的位置。

具体地,本实施例以第一位置或第二位置作为参考位置,通过当前角度值与目标角度值分别与第一位置、第二位置的角度相差值大小,可以判定当前角度值与目标角度值之间运动是在第一位置附近运动还是在第二位置附近运动,其中,在第一位置附近运动就可以确定该运动会可能存在运动学解析解临界位置最优解问题,在第二位置附近运动就可以确定该运动不会存在上述问题。

S300:根据参考位置判定输出当前角度值与目标角度值之间运动的最优解。

具体地,在确定参考位置的情况下,即确定当前角度值与目标角度值之间运动是否会可能存在运动学解析解临界位置最优解问题的情况下,针对不同的情况下,本实施例可以输出当前角度值与目标角度值之间运动的最优解,其中,以第一位置作为参考位置时,通过当前角度值和目标角度值相对第一位置的位置关系确定当前角度值与目标角度值之间运动是否跨越第一位置,即是否跨越运动临界位置,若跨越第一位置可以确定当前角度值与目标角度值之间运动存在运动学解析解临界位置最优解问题,则当前角度值与目标角度值之间运动以跨越第一位置的运动轨迹作为最优解,若不跨越第一位置可以确定当前角度值与目标角度值之间运动不存在运动学解析解临界位置最优解问题,则当前角度值与目标角度值之间运动以不跨越第一位置的运动轨迹作为最优解,如此,实现运动临界位置状态下机器人运动的最优解。同理,以第二位置作为参考位置时,采用上述同样的逻辑进行机器人运动的最优解判定,可以理解的,虽然在第二位置不存在上述问题,但是第二位置作为参考位置时对应的判定逻辑同样也可以采用如同上述同样逻辑进行机器人运动的最优解判定,得到机器人最佳的运动轨迹,即上述判定逻辑不仅适用于运动学解析解正常情况下的择优,而且适用于运动学解析解运动临界位置状态下的择优。

上述运动学解析解择优方法,通过获取机器人的当前角度值、以及运动学逆解的目标角度值,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,能够在机器人运动临界位置,准确地得到运动学逆解的最优解,提升了运动逆解的后对多解择优的准确性,从而保证了工业机器人运动的流畅性和安全性。同时,省去了现有技术中阈值了设定,避免了阈值设定过小把最优解过滤掉,也避免了阈值设定过大导致机器人出现角度突变,破坏外部环境,提升了机器人运动的安全性和准确性。

需要说明的是,本实施例的运动学解析解择优方法不仅可以满足正常情况下运动学解析解择优,重点还可以满足运动临界位置状态下运动学解析解择优,保证了机器人全面运动的最优化。

在一个实施例中,机器人的运动范围为-180度至+180度,其中,第一位置对应的角度值为180度,第二位置对应的角度值为0度,当前角度值为θ,目标角度值为θ1,则:

当前角度值与第一位置的角度差值Δ1_1=180°-|θ|;

目标角度值与第一位置的角度差值Δ1_2=180°-|θ1|;

当前角度值与第二位置的角度差值Δ2_1=|θ|-0°;

目标角度值与第二位置的角度差值Δ2_2=|θ1|-0°。

本实施例以±180度作为机器人的运动范围的情况下,可以通过上述公式计算各项角度差值,但不仅限于此,可以理解的,本实施例的上述公式可以根据机器人实际定义的运动范围进行调整,以满足角度差值的准确计算。例如,当以0度至360度作为机器人的运动范围的情况下,第一位置对应的角度值为360度,第二位置对应的角度值为180度,则上述公式可以调整为:

当前角度值与第一位置的角度差值Δ1_1=180°-|θ-180°|;

目标角度值与第一位置的角度差值Δ1_2=180°-|θ1-180°|;

当前角度值与第二位置的角度差值Δ2_1=|θ-180°|;

目标角度值与第二位置的角度差值Δ2_2=|θ1-180°|。

更为广泛的,本实施例的机器人的运动范围均以360度范围作为运动范围,在满足360度范围下的任何定义均可,本实施例对于机器人运动范围的具体定义不作限定。

上述实施例中以±180度作为机器人的运动范围,可以便于处理器计算与机器人运动控制,此定义的运动范围下,角度差值也更加便捷高效,提升了运动学解析解的择优效率。

在一个实施例中,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置包括:若当前角度值、目标角度值分别与第一位置的角度差值之和小于或等于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第一位置作为参考位置;若当前角度值、目标角度值分别与第一位置的角度差值之和大于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第二位置作为参考位置。

具体地,本实施例通过比较前角度值、目标角度值分别与第一位置的角度差值之和与当前角度值、目标角度值分别与第二位置的角度差值之和的大小,确定当前角度值与目标角度值之间运动的参考位置,其中,当前角度值、目标角度值分别与第一位置的角度差值之和小于或等于当前角度值、目标角度值分别与第二位置的角度差值之和,说明当前角度值与目标角度值之间运动在第一位置附近运动,则以第一位置作为参考位置,当前角度值、目标角度值分别与第一位置的角度差值之和大于当前角度值、目标角度值分别与第二位置的角度差值之和,说明当前角度值与目标角度值之间运动在第二位置附近运动,则以第二置作为参考位置。

进一步地,本实施例基于上述实施例中的符号进行表述时,上述逻辑关系可以表述为:

若Δ1_1+Δ1_2≤Δ2_1+Δ2_2,则以第一位置作为参考位置;

若Δ1_1+Δ1_2>Δ2_1+Δ2_2,则以第二位置作为参考位置。

上述实施例中,通过参考位置的确定,可以便捷高效地确定当前的运动情况,从而便于后续的当前角度值和目标角度值之间运动的最优解判定。

在一个实施例中,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解包括:若当前角度值和目标角度值位于参考位置的不同侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之和;若当前角度值和目标角度值位于参考位置的同一侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之差。

具体地,本实施例基于当前角度值和目标角度值分别与参考位置的位置关系,确定当前角度值和目标角度值之间运动的最优解,其中,基于位置关系可以确定当前角度值和目标角度值两者之间相对参考位置的运动情况,当前角度值和目标角度值位于参考位置的不同侧,则说明当前角度值和目标角度值之间的运动跨越参考位置,则以当前角度值、目标角度值分别与参考位置的角度差值之和作为运动最优解,当前角度值和目标角度值位于参考位置的同一侧,则说明当前角度值和目标角度值之间的运动不跨越参考位置,则以当前角度值、目标角度值分别与参考位置的角度差值之差作为运动最优解。

进一步地,本实施例基于上述实施例中的符号进行表述时,上述逻辑关系可以表述为:

若以第一位置作为参考位置,则:当当前角度值和目标角度值位于第一位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_1+Δ1_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_2-Δ1_1|;

若以第二位置作为参考位置,则:当当前角度值和目标角度值位于第二位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_1+Δ2_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_2-Δ2_1|。

上述实施例中,基于当前角度值和目标角度值相对参考位置的位置关系,可以快速地判定当前角度值与目标角度值之间运动的最优解,同样的判定逻辑不仅适用于运动学逆解正常情况下的择优,而且适用于运动学逆解运动临界位置状态下的择优,提升了运动逆解的后对多解择优的准确性,从而保证了工业机器人运动的流畅性和安全性。

在一个实施例中,当机器人的运动范围定义为-180度至+180度时,一种实施方式中,可以通过当前角度值和目标角度值的正负值判定与参考位置之间的位置关系,如此,更加便捷高效,另一种实施方式中,可以通过比较当前角度值、目标角度值与参考位置对应的角度值的大小判定该位置关系,更为广泛的,通过比较当前角度值、目标角度值与参考位置对应的角度值的大小判定该位置关系适用于任何一种运动范围的定义下位置关系的判定。

参看图2,现结合一个具体场景对本实施例进行详细介绍,但不仅限于此。

当前场景下以-180度至180度作为机器人的运动范围,其中,第一位置对应的角度值为180度,第二位置对应的角度值为0度,具体变量设定如下:

机器人当前角度值为θ,运动学逆解的目标角度值为θ1,当前角度值与第一位置的差值为Δ1_1,当前角度值与第二位置的差值为Δ1_2,目标角度值与第一位置的差值为Δ2_1,目标角度值与第二位置的差值为Δ2_2,最终输出的当前角度值和目标角度值之间运动的最优解为Δ。

参看图2,本实施例当前场景下的具体流程为:

获取机器人的当前角度值θ、以及运动学逆解的目标角度值θ1;

基于当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值:

当前角度值与第一位置的角度差值Δ1_1=180°-|θ|;

目标角度值与第一位置的角度差值Δ1_2=180°-|θ1|;

当前角度值与第二位置的角度差值Δ2_1=|θ|-0°;

目标角度值与第二位置的角度差值Δ2_2=|θ1|-0°。

判定判定当前角度值与目标角度值之间运动的参考位置:

若Δ1_1+Δ1_2≤Δ2_1+Δ2_2,则以第一位置作为参考位置;

若Δ1_1+Δ1_2>Δ2_1+Δ2_2,则以第二位置作为参考位置。

根据参考位置判定输出当前角度值与目标角度值之间运动的最优解:

1)判定Δ1_1+Δ1_2≤Δ2_1+Δ2_2的情况下,即以第一位置作为参考位置:

如果θ为正值:

如果θ1为负值:

则说明经过了±180度的第一位置,则最优解Δ=|Δ1_2+Δ1_1|;

如果θ1为正值:

则说明没有经过了±180度的第一位置,则最优解Δ=|Δ1_2-Δ1_1|;

如果θ为负值:

如果θ1为负值:

则说明没有经过了±180度的第一位置,则最优解Δ=|Δ1_2-Δ1_1|;

如果θ1为正值:

则说明经过了±180度的第一位置,则最优解Δ=|Δ1_2+Δ1_1|。

2)判定Δ1_1+Δ1_2>Δ2_1+Δ2_2的情况下,即以第二位置作为参考位置:

如果θ为正值:

如果θ1为负值:

则说明经过了0°的第二位置,则最优解Δ=|Δ2_1+Δ2_2|;

如果θ1为正值:

则说明没有经过了0°的第二位置,则最优解Δ=|Δ2_1-Δ2_2|;

如果θ为负值:

如果θ1为负值:

则说明没有经过了0°的第二位置,则最优解Δ=|Δ2_1-Δ2_2|;

如果θ1为正值:

则说明经过了0°的第二位置,则最优解Δ=|Δ2_1+Δ2_2|。

上述实施例通过获取机器人的当前角度值、以及运动学逆解的目标角度值,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,能够在机器人运动临界位置,准确地得到运动学逆解的最优解,提升了运动逆解的后对多解择优的准确性,从而保证了工业机器人运动的流畅性和安全性。同时,省去了现有技术中阈值了设定,避免了阈值设定过小把最优解过滤掉,也避免了阈值设定过大导致机器人出现角度突变,破坏外部环境,提升了机器人运动的安全性和准确性。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的运动学解析解择优方法的运动学解析解择优装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个运动学解析解择优装置实施例中的具体限定可以参见上文中对于运动学解析解择优方法的限定,在此不再赘述。

在一个实施例中,如图3所示,提供了一种运动学解析解择优装置,包括:

获取模块10,用于获取机器人的当前角度值、以及运动学逆解的目标角度值;

位置模块20,用于根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,第一位置为机器人运动临界位置,第二位置与第一位置相差180度,参考位置为第一位置或第二位置;

择优模块30,用于根据参考位置判定输出当前角度值与目标角度值之间运动的最优解。

在一个实施例中,位置模块根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,若当前角度值、目标角度值分别与第一位置的角度差值之和小于或等于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第一位置作为参考位置,若当前角度值、目标角度值分别与第一位置的角度差值之和大于当前角度值、目标角度值分别与第二位置的角度差值之和,则以第二位置作为参考位置。

在一个实施例中,择优模块根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,其中,若当前角度值和目标角度值位于参考位置的不同侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之和,若当前角度值和目标角度值位于参考位置的同一侧,则运动最优解为当前角度值、目标角度值分别与参考位置的角度差值之差。

在一个实施例中,机器人的运动范围为-180度至+180度,其中,第一位置对应的角度值为180度,第二位置对应的角度值为0度,当前角度值为θ,目标角度值为θ1;

当前角度值与第一位置的角度差值Δ1_1=180°-|θ|;

目标角度值与第一位置的角度差值Δ1_2=180°-|θ1|;

当前角度值与第二位置的角度差值Δ2_1=|θ|-0°;

目标角度值与第二位置的角度差值Δ2_2=|θ1|-0°。

进一步地,位置模块根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,其中,若Δ1_1+Δ1_2≤Δ2_1+Δ2_2,则以第一位置作为参考位置,若Δ1_1+Δ1_2>Δ2_1+Δ2_2,则以第二位置作为参考位置。

进一步地,择优模块根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,其中,若以第一位置作为参考位置,则:当当前角度值和目标角度值位于第一位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_1+Δ1_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ1_2-Δ1_1|,若以第二位置作为参考位置,则:当当前角度值和目标角度值位于第二位置的不同侧,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_1+Δ2_2|,反之,则当前角度值与目标角度值之间运动的最优解Δ=|Δ2_2-Δ2_1|。

进一步地,择优模块通过当前角度值和目标角度值的正负值判定与参考位置之间的位置关系。

上述运动学解析解择优装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

上述运动学解析解择优装置通过获取机器人的当前角度值、以及运动学逆解的目标角度值,根据当前角度值、目标角度值分别与第一位置的角度差值,以及当前角度值、目标角度值分别与第二位置的角度差值,判定当前角度值与目标角度值之间运动的参考位置,根据参考位置判定输出当前角度值与目标角度值之间运动的最优解,能够在机器人运动临界位置,准确地得到运动学逆解的最优解,提升了运动逆解的后对多解择优的准确性,从而保证了工业机器人运动的流畅性和安全性。同时,省去了现有技术中阈值了设定,避免了阈值设定过小把最优解过滤掉,也避免了阈值设定过大导致机器人出现角度突变,破坏外部环境,提升了机器人运动的安全性和准确性。

在一个实施例中,如图4所示,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述实施例中的任意一种运动学解析解择优方法的步骤。

需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施例方式中所描述的示例,在本实施例中不再赘述。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

此外,结合上述实施例中提供的运动学解析解择优方法,在本实施例中还可以提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中任意一种运动学解析解择优方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号