CN113146638B - 质心位姿估计方法、装置、计算机可读存储介质及机器人 - Google Patents
质心位姿估计方法、装置、计算机可读存储介质及机器人 Download PDFInfo
- Publication number
- CN113146638B CN113146638B CN202110479942.2A CN202110479942A CN113146638B CN 113146638 B CN113146638 B CN 113146638B CN 202110479942 A CN202110479942 A CN 202110479942A CN 113146638 B CN113146638 B CN 113146638B
- Authority
- CN
- China
- Prior art keywords
- ankle
- robot
- pose
- waist
- posture
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
Abstract
本申请属于机器人技术领域,尤其涉及一种质心位姿估计方法、装置、计算机可读存储介质及机器人。所述方法包括:获取机器人的腰部测量姿态和支撑腿的各个关节角;根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿;根据所述腰部位姿计算所述机器人的质心位姿。通过本申请,在质心位姿的计算过程中对脚踝位姿进行了充分考虑,能够有效地处理脚掌翻转的情况,极大提高了结果的精确度。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种质心位姿估计方法、装置、计算机可读存储介质及机器人。
背景技术
仿人机器人的步态规划与平衡控制是机器人技术领域的热门课题。步态规划算法和平衡控制算法都是基于反馈控制,反馈控制的前提是获取机器人状态的精确反馈值,而机器人状态的反馈值获取通常有两类:一类可以直接从传感器中获取,另一类则需要通过其它传感器获取其它间接的机器人状态,然后进行运动学和动力学计算得到机器人状态,其过程较为复杂和困难。
例如,质心位姿估计通常是仿人机器人步态规划与平衡控制的一个难点,现有技术中的一些质心位姿估计算法通常要求机器人支撑腿与地面完全贴合,即支撑腿的脚踝姿态均为零,然而在机器人实际运动中,如拟人行走、舞蹈等场景,通常会存在脚掌翻转的情况,通过现有的这些算法所估计出的质心位姿精确度较低。
发明内容
有鉴于此,本申请实施例提供了一种质心位姿估计方法、装置、计算机可读存储介质及机器人,以解决现有的质心位姿估计方法精确度较低的问题。
本申请实施例的第一方面提供了一种质心位姿估计方法,可以包括:
步骤1、获取机器人的腰部测量姿态和支撑腿的各个关节角;
步骤2、根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;
步骤3、根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;
步骤4、根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿:
其中,pF为所述脚踝位置,RF为所述脚踝姿态的旋转矩阵,i为各个关节角的序号,1≤i≤Num,Num为所述机器人的支撑腿的关节角数目,pi为第i个关节角的位置,Ri为第i个关节角的旋转矩阵,pT为所述机器人的腰部位置,为所述机器人的腰部计算姿态的旋转矩阵;
步骤5、确定所述机器人的各个连杆在本体坐标系下的质心位置;根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置;根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
在第一方面的一种具体实现中,所述根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置,可以包括:
根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量;
根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量;
将所述脚踝位置补偿量与所述初始脚踝位置进行叠加,得到所述支撑腿的脚踝位置。
在第一方面的一种具体实现中,所述根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量,可以包括:
根据所述脚踝姿态中的俯仰角确定所述位置矢量的第一分量;
根据所述脚踝姿态中的翻滚角确定所述位置矢量的第二分量;
根据所述支撑腿的脚踝高度确定所述位置矢量的第三分量。
在第一方面的一种具体实现中,所述根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量,可以包括:
根据下式计算所述支撑腿的脚踝位置补偿量:
ΔpF=Rz(rz)*(ll,dd,hh)T+Rz(rz)Ry(ry)Rx(rx)*(-ll,-dd,-hh)T
其中,(ll,dd,hh)T为所述位置矢量,(rx,ry,rz)T为所述脚踝姿态,Rx、Ry、Rz分别为绕x、y、z轴旋转的旋转矩阵,ΔpF为所述脚踝位置补偿量。
在第一方面的一种具体实现中,在根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿之后,还可以包括:
计算所述腰部测量姿态与所述腰部计算姿态之间的误差;
若所述误差大于或等于预设的误差阈值,则将所述腰部计算姿态作为所述腰部测量姿态,并返回执行步骤2及其后续步骤,直至所述误差小于所述误差阈值为止。
本申请实施例的第二方面提供了一种质心位姿估计装置,可以包括:
测量值获取模块,用于获取机器人的腰部测量姿态和支撑腿的各个关节角;
脚踝姿态计算模块,用于根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;
脚踝位置补偿模块,用于根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;
腰部位姿计算模块,用于根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿:
其中,pF为所述脚踝位置,RF为所述脚踝姿态的旋转矩阵,i为各个关节角的序号,1≤i≤Num,Num为所述机器人的支撑腿的关节角数目,pi为第i个关节角的位置,Ri为第i个关节角的旋转矩阵,pT为所述机器人的腰部位置,为所述机器人的腰部计算姿态的旋转矩阵;
质心位姿计算模块,用于确定所述机器人的各个连杆在本体坐标系下的质心位置;根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置;根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
在第二方面的一种具体实现中,所述脚踝位置补偿模块可以包括:
位置矢量确定单元,用于根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量;
补偿量计算单元,用于根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量;
位置叠加单元,用于将所述脚踝位置补偿量与所述初始脚踝位置进行叠加,得到所述支撑腿的脚踝位置。
在第二方面的一种具体实现中,所述位置矢量确定单元可以包括:
第一分量确定子单元,用于根据所述脚踝姿态中的俯仰角确定所述位置矢量的第一分量;
第二分量确定子单元,用于根据所述脚踝姿态中的翻滚角确定所述位置矢量的第二分量;
第三分量确定子单元,用于根据所述支撑腿的脚踝高度确定所述位置矢量的第三分量。
在第二方面的一种具体实现中,所述补偿量计算单元可以具体用于根据下式计算所述支撑腿的脚踝位置补偿量:
ΔpF=Rz(rz)*(ll,dd,hh)T+Rz(rz)Ry(ry)Rx(rx)*(-ll,-dd,-hh)T
其中,(ll,dd,hh)T为所述位置矢量,(rx,ry,rz)T为所述脚踝姿态,Rx、Ry、Rz分别为绕x、y、z轴旋转的旋转矩阵,ΔpF为所述脚踝位置补偿量。
在第二方面的一种具体实现中,所述质心位姿估计装置还可以包括:
误差计算模块,用于计算所述腰部测量姿态与所述腰部计算姿态之间的误差;
迭代计算模块,用于若所述误差大于或等于预设的误差阈值,则将所述腰部计算姿态作为所述腰部测量姿态,并重新计算所述腰部计算姿态,直至所述误差小于所述误差阈值为止。
本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种质心位姿估计方法的步骤。
本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种质心位姿估计方法的步骤。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种质心位姿估计方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例获取机器人的腰部测量姿态和支撑腿的各个关节角;根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿;根据所述腰部位姿计算所述机器人的质心位姿。通过本申请实施例,在质心位姿的计算过程中对脚踝位姿进行了充分考虑,能够有效地处理脚掌翻转的情况,极大提高了结果的精确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例中所使用的世界坐标系的示意图;
图2为坐标轴与旋转方向的对应关系图;
图3为本申请实施例中一种质心位姿估计方法的一个实施例流程图;
图4为脚踝姿态变化引起脚踝位置改变的示意图;
图5为根据脚踝姿态对预设的初始脚踝位置进行补偿的示意流程图;
图6为机器人脚底板的投影示意图;
图7为根据脚踝姿态确定支撑腿的脚踝到足底支撑点的位置矢量的示意流程图;
图8为腰部位姿和质心位姿之间的关系示意图;
图9为本申请实施例中一种质心位姿估计装置的一个实施例结构图;
图10为本申请实施例中一种机器人的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了便于叙述,在本申请实施例中,可以建立如图1所示的世界坐标系∑w,在该坐标系下,机器人的前向为x轴,侧向为y轴,纵向为z轴。如图1所示,T为机器人的腰部,H1为机器人的左腿髋关节,H2为机器人的右腿髋关节,H1和H2可以分别有3个旋转舵机,K1为机器人的左腿膝关节,K2为机器人的右腿膝关节,K1和K2可以分别有1个旋转舵机,A1为机器人的左腿踝关节,A2为机器人的右腿踝关节,A1和A2可以分别有2个旋转舵机。
图2所示为坐标轴与旋转方向的对应关系图,如图所示,绕着x轴旋转的方向为rx,记为翻滚角(roll角);绕着y轴旋转的方向为ry,记为俯仰角(pitch角);绕着z轴旋转的方向为rz,记为偏航角(yaw角)。
本申请实施例中所提及的位姿均包括位置和姿态两部分,其中,位置即为在3个坐标轴方向上的坐标,记为p,姿态即为绕着3个坐标轴旋转的角度,一般可以将其表示为旋转矩阵的形式,记为R,位姿的齐次表达形式可以记为T,
请参阅图3,本申请实施例中一种质心位姿估计方法的一个实施例可以包括:
步骤S301、获取机器人的腰部测量姿态和支撑腿的各个关节角。
将机器人的腰部位姿记为(pT,RT),对应的齐次表达形式为 其中,腰部位置pT无法通过传感器测量得到,而腰部姿态RT可以通过IMU传感器测量及经过滤波等处理得到,为了便于区分,此处将通过IMU传感器测量及经过相应处理得到的腰部姿态记为腰部测量姿态。
将机器人的支撑腿的各个关节角的集合记为q,其中的每个关节角也可以通过关节传感器测量及经过滤波等处理得到。将支撑腿的关节角数目记为Num,则有:q=(q1,q2,…,qi,…,qNum)T,其中,i为各个关节角的序号,1≤i≤Num,qi第i个关节角。以qi为例,将其位姿记为(pi,Ri),对应的齐次表达形式为
以图1所示的机器人构造为例,共有髋关节3个旋转舵机,膝关节1个旋转舵机,以及踝关节2个旋转舵机,每个旋转舵机均对应一个关节角,则Num=6,q=(q1,q2,q3,q4,q5,q6)T。
步骤S302、根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态。
TF=TTT1T2…TNum
展开上式,可以得到:
以图1所示的机器人构造为例,Num=6,则有:
其中,*代表pT,由于pT未知,无法由等式右侧得到等式左侧。根据矩阵分块乘法原理,即使不知道pT,也可以计算RF,但无法计算pF。
步骤S303、根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置。
如图4所示,由于支撑腿跟地面是接触的,脚踝姿态变化会引起支撑腿与地面的接触由整个脚底板变为某个支撑点S,进而会引起脚踝位置由A(即初始脚踝位置)变为A′。
如图5所示,步骤S303具体可以包括如下过程:
步骤S3031、根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量。
将所述位置矢量记为:(ll,dd,hh)T,其中,ll为所述位置矢量在x轴上的分量,记为第一分量,dd为所述位置矢量在y轴上的分量,记为第二分量,hh为所述位置矢量在z轴上的分量,记为第三分量,参照图6所示的机器人脚底板的投影示意图,步骤S3031具体可以包括如图7所示的过程:
步骤S30311、根据所述脚踝姿态中的俯仰角(ry)确定所述位置矢量的第一分量。
当ry>0时,为脚尖支撑(即图6中所示的F1F2边支撑)的情况,此时则有:ll=l_soles_forward,其中,l_soles_forward为所述支撑腿的脚踝到脚尖的投影长度;
当ry=0时,为脚底面支撑(即图6中所示的y轴支撑)的情况,此时则有:ll=0;
当ry<0时,为脚后跟支撑(即图6中所示的B1B2边支撑)的情况,此时则有:ll=-l_soles_back,其中,l_soles_back为脚踝到脚后跟的投影长度。
步骤S30312、根据所述脚踝姿态中的翻滚角(rx)确定所述位置矢量的第二分量。
当rx>0时,为脚右侧支撑(即图6中所示的B2F2边支撑)的情况,此时则有:dd=-d_soles_right,其中,d_soles_right为脚踝到脚右侧的投影长度;
当rx=0时,为脚底面支撑(即图6中所示的x轴支撑)的情况,此时则有:dd=0;
当rx<0时,为脚左侧支撑(即图6中所示的B1F1边支撑)的情况,此时则有:dd=d_soles_left,其中,d_soles_left为脚踝到脚左侧的投影长度。
步骤S30313、根据所述支撑腿的脚踝高度确定所述位置矢量的第三分量。
即有:hh=-h_soles,其中,h_soles为脚踝高度。
步骤S3032、根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量。
具体地,可以根据下式计算所述支撑腿的脚踝位置补偿量:
其中,ΔpF为所述脚踝位置补偿量,(rx,ry,rz)T为所述脚踝姿态,Rx、Ry、Rz分别为绕x、y、z轴旋转的旋转矩阵,且:
步骤S3033、将所述脚踝位置补偿量与所述初始脚踝位置进行叠加,得到所述支撑腿的脚踝位置。
即根据下式计算所述支撑腿的脚踝位置:
步骤S304、根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿。
具体地,可以根据下式计算所述机器人的腰部位姿:
TT=TF(T1T2…TNum)-1
展开上式,可以得到:
以图1所示的机器人构造为例,Num=6,则有:
在本申请实施例的一种具体实现中,考虑到可以通过IMU传感器测量得到腰部姿态(即腰部测量姿态),然后经过一系列计算,又可以回算出腰部姿态(即腰部计算姿态),则可以通过不断地迭代更加精确地估计出腰部位姿。
具体地,可以首先计算所述腰部测量姿态与所述腰部计算姿态之间的误差。
将所述腰部测量姿态的姿态角记为(rx1,ry1,rz1),将所述腰部计算姿态的姿态角记为(rx2,ry2,rz2),将所述误差记为e,则有:
若所述误差大于或等于预设的误差阈值(记为e0),即e≥e0,则进行迭代过程,将所述腰部计算姿态作为所述腰部测量姿态,并返回执行步骤S302及其后续步骤;若所述误差小于所述误差阈值,则停止迭代过程,从而得到更加精确的腰部位姿。
步骤S305、根据所述腰部位姿计算所述机器人的质心位姿。
首先,可以根据正运动学确定所述机器人的各个连杆在本体坐标系下的质心位置。
然后,可以根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置,如下式所示:
其中,j为所述机器人的各个连杆的序号,1≤j≤RN,RN为所述机器人的连杆数目,mj为第j个连杆的质量,rj为第j个连杆在本体坐标系下的质心位置,M为所述机器人的质量,cT为所述机器人在本体坐标系下的质心位置;
最后,可以根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
图8所示为所述机器人的腰部位姿和质心位姿之间的关系示意图,根据两者之间的关系,可以根据下式计算所述机器人在世界坐标系下的质心位姿:
pc=pT+RTcT
Rc=RT
其中,(pc,Rc)即为所述机器人在世界坐标系下的质心位姿。
综上所述,本申请实施例获取机器人的腰部测量姿态和支撑腿的各个关节角;根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿;根据所述腰部位姿计算所述机器人的质心位姿。通过本申请实施例,在质心位姿的计算过程中对脚踝位姿进行了充分考虑,能够有效地处理脚掌翻转的情况,极大提高了结果的精确度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的一种质心位姿估计方法,图9示出了本申请实施例提供的一种质心位姿估计装置的一个实施例结构图。
本实施例中,一种质心位姿估计装置可以包括:
测量值获取模块901,用于获取机器人的腰部测量姿态和支撑腿的各个关节角;
脚踝姿态计算模块902,用于根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;
脚踝位置补偿模块903,用于根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;
腰部位姿计算模块904,用于根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿;所述脚踝位姿包括所述脚踝姿态和所述脚踝位置;
质心位姿计算模块905,用于根据所述腰部位姿计算所述机器人的质心位姿。
在本申请实施例的一种具体实现中,所述脚踝位置补偿模块可以包括:
位置矢量确定单元,用于根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量;
补偿量计算单元,用于根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量;
位置叠加单元,用于将所述脚踝位置补偿量与所述初始脚踝位置进行叠加,得到所述支撑腿的脚踝位置。
在本申请实施例的一种具体实现中,所述位置矢量确定单元可以包括:
第一分量确定子单元,用于根据所述脚踝姿态中的俯仰角确定所述位置矢量的第一分量;
第二分量确定子单元,用于根据所述脚踝姿态中的翻滚角确定所述位置矢量的第二分量;
第三分量确定子单元,用于根据所述支撑腿的脚踝高度确定所述位置矢量的第三分量。
在本申请实施例的一种具体实现中,所述补偿量计算单元可以具体用于根据下式计算所述支撑腿的脚踝位置补偿量:
ΔpF=Rz(rz)*(ll,dd,hh)T+Rz(rz)Ry(ry)Rx(rx)*(-ll,-dd,-hh)T
其中,(ll,dd,hh)T为所述位置矢量,(rx,ry,rz)T为所述脚踝姿态,Rx、Ry、Rz分别为绕x、y、z轴旋转的旋转矩阵,ΔpF为所述脚踝位置补偿量。
在本申请实施例的一种具体实现中,所述腰部位姿计算模块可以具体用于根据下式计算所述机器人的腰部位姿:
其中,pF为所述脚踝位置,RF为所述脚踝姿态的旋转矩阵,i为各个关节角的序号,1≤i≤Num,Num为所述机器人的支撑腿的关节角数目,pi为第i个关节角的位置,Ri为第i个关节角的旋转矩阵,pT为所述机器人的腰部位置,为所述机器人的腰部计算姿态的旋转矩阵。
在本申请实施例的一种具体实现中,所述质心位姿估计装置还可以包括:
误差计算模块,用于计算所述腰部测量姿态与所述腰部计算姿态之间的误差;
迭代计算模块,用于若所述误差大于或等于预设的误差阈值,则将所述腰部计算姿态作为所述腰部测量姿态,并重新计算所述腰部计算姿态,直至所述误差小于所述误差阈值为止。
在本申请实施例的一种具体实现中,所述质心位姿计算模块可以包括:
连杆位置确定单元,用于确定所述机器人的各个连杆在本体坐标系下的质心位置;
质心位置计算单元,用于根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置;
质心位姿计算单元,用于根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图10示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图10所示,该实施例的机器人10包括:处理器100、存储器101以及存储在所述存储器101中并可在所述处理器100上运行的计算机程序102。所述处理器100执行所述计算机程序102时实现上述各个质心位姿估计方法实施例中的步骤,例如图3所示的步骤S301至步骤S305。或者,所述处理器100执行所述计算机程序102时实现上述各装置实施例中各模块/单元的功能,例如图9所示模块901至模块905的功能。
示例性的,所述计算机程序102可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器101中,并由所述处理器100执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序102在所述机器人10中的执行过程。
本领域技术人员可以理解,图10仅仅是机器人10的示例,并不构成对机器人10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人10还可以包括输入输出设备、网络接入设备、总线等。
所述处理器100可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器101可以是所述机器人10的内部存储单元,例如机器人10的硬盘或内存。所述存储器101也可以是所述机器人10的外部存储设备,例如所述机器人10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器101还可以既包括所述机器人10的内部存储单元也包括外部存储设备。所述存储器101用于存储所述计算机程序以及所述机器人10所需的其它程序和数据。所述存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种质心位姿估计方法,其特征在于,包括:
步骤1、获取机器人的腰部测量姿态和支撑腿的各个关节角;
步骤2、根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;
步骤3、根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;
步骤4、根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿:
其中,pF为所述脚踝位置,RF为所述脚踝姿态的旋转矩阵,i为各个关节角的序号,1≤i≤Num,Num为所述机器人的支撑腿的关节角数目,pi为第i个关节角的位置,Ri为第i个关节角的旋转矩阵,pT为所述机器人的腰部位置,为所述机器人的腰部计算姿态的旋转矩阵;
步骤5、确定所述机器人的各个连杆在本体坐标系下的质心位置;根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置;根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
2.根据权利要求1所述的质心位姿估计方法,其特征在于,所述根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置,包括:
根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量;
根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量;
将所述脚踝位置补偿量与所述初始脚踝位置进行叠加,得到所述支撑腿的脚踝位置。
3.根据权利要求2所述的质心位姿估计方法,其特征在于,所述根据所述脚踝姿态确定所述支撑腿的脚踝到足底支撑点的位置矢量,包括:
根据所述脚踝姿态中的俯仰角确定所述位置矢量的第一分量;
根据所述脚踝姿态中的翻滚角确定所述位置矢量的第二分量;
根据所述支撑腿的脚踝高度确定所述位置矢量的第三分量。
4.根据权利要求2所述的质心位姿估计方法,其特征在于,所述根据所述脚踝姿态和所述位置矢量计算所述支撑腿的脚踝位置补偿量,包括:
根据下式计算所述支撑腿的脚踝位置补偿量:
ΔpF=Rz(rz)*(ll,dd,hh)T+Rz(rz)Ry(ry)Rx(rx)*(-ll,-dd,-hh)T
其中,(ll,dd,hh)T为所述位置矢量,(rx,ry,rz)T为所述脚踝姿态,Rx、Ry、Rz分别为绕x、y、z轴旋转的旋转矩阵,ΔpF为所述脚踝位置补偿量。
5.根据权利要求1所述的质心位姿估计方法,其特征在于,在根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿之后,还包括:
计算所述腰部测量姿态与所述腰部计算姿态之间的误差;
若所述误差大于或等于预设的误差阈值,则将所述腰部计算姿态作为所述腰部测量姿态,并返回执行步骤2及其后续步骤,直至所述误差小于所述误差阈值为止。
6.一种质心位姿估计装置,其特征在于,包括:
测量值获取模块,用于获取机器人的腰部测量姿态和支撑腿的各个关节角;
脚踝姿态计算模块,用于根据所述腰部测量姿态和各个关节角计算所述支撑腿的脚踝姿态;
脚踝位置补偿模块,用于根据所述脚踝姿态对预设的初始脚踝位置进行补偿,得到所述支撑腿的脚踝位置;
腰部位姿计算模块,用于根据所述支撑腿的脚踝位姿和各个关节角计算所述机器人的腰部位姿:
其中,pF为所述脚踝位置,RF为所述脚踝姿态的旋转矩阵,i为各个关节角的序号,1≤i≤Num,Num为所述机器人的支撑腿的关节角数目,pi为第i个关节角的位置,Ri为第i个关节角的旋转矩阵,pT为所述机器人的腰部位置,为所述机器人的腰部计算姿态的旋转矩阵;
质心位姿计算模块,用于确定所述机器人的各个连杆在本体坐标系下的质心位置;根据各个连杆在本体坐标系下的质心位置、预设的各个连杆的质量、预设的所述机器人的质量计算所述机器人在本体坐标系下的质心位置;根据所述腰部位姿和所述机器人在本体坐标系下的质心位置计算所述机器人在世界坐标系下的质心位姿。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的质心位姿估计方法的步骤。
8.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的质心位姿估计方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110479942.2A CN113146638B (zh) | 2021-04-30 | 2021-04-30 | 质心位姿估计方法、装置、计算机可读存储介质及机器人 |
PCT/CN2021/127149 WO2022227457A1 (zh) | 2021-04-30 | 2021-10-28 | 质心位姿估计方法, 装置, 计算机可读存储介质及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110479942.2A CN113146638B (zh) | 2021-04-30 | 2021-04-30 | 质心位姿估计方法、装置、计算机可读存储介质及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113146638A CN113146638A (zh) | 2021-07-23 |
CN113146638B true CN113146638B (zh) | 2022-09-16 |
Family
ID=76873038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110479942.2A Active CN113146638B (zh) | 2021-04-30 | 2021-04-30 | 质心位姿估计方法、装置、计算机可读存储介质及机器人 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113146638B (zh) |
WO (1) | WO2022227457A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113146638B (zh) * | 2021-04-30 | 2022-09-16 | 深圳市优必选科技股份有限公司 | 质心位姿估计方法、装置、计算机可读存储介质及机器人 |
CN114161401B (zh) * | 2021-11-17 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 质心高度规划方法、装置、计算机可读存储介质及机器人 |
CN114407008B (zh) * | 2021-12-29 | 2023-06-09 | 广州极飞科技股份有限公司 | 机器人运动控制方法、装置、设备及存储介质 |
CN114355964B (zh) * | 2021-12-29 | 2023-08-18 | 深圳市优必选科技股份有限公司 | 多自由度单腿运动学求解方法、装置和机器人 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032142A (zh) * | 2018-08-14 | 2018-12-18 | 浙江大学 | 一种含腰部结构的双足机器人设计以及反馈控制方法 |
CN109703645A (zh) * | 2018-12-29 | 2019-05-03 | 深圳市优必选科技有限公司 | 机器人质心位置调整方法、装置、机器人和数据存储介质 |
CN110920769A (zh) * | 2019-11-28 | 2020-03-27 | 深圳市优必选科技股份有限公司 | 机器人的足腰协调步态规划方法、装置、介质及机器人 |
CN110989585A (zh) * | 2019-11-28 | 2020-04-10 | 深圳市优必选科技股份有限公司 | 避奇异的步态规划方法、装置、可读存储介质及机器人 |
CN111993391A (zh) * | 2020-08-25 | 2020-11-27 | 深圳市优必选科技股份有限公司 | 机器人位姿估计方法、装置、仿人机器人及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3429048B2 (ja) * | 1993-12-30 | 2003-07-22 | 本田技研工業株式会社 | 脚式移動ロボットの歩行制御装置 |
KR20100073438A (ko) * | 2008-12-23 | 2010-07-01 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
KR20120060578A (ko) * | 2010-12-02 | 2012-06-12 | 삼성전자주식회사 | 보행 로봇 및 그 자세 제어 방법 |
US20120316682A1 (en) * | 2011-06-10 | 2012-12-13 | Samsung Electronics Co., Ltd. | Balance control apparatus of robot and control method thereof |
CN113146638B (zh) * | 2021-04-30 | 2022-09-16 | 深圳市优必选科技股份有限公司 | 质心位姿估计方法、装置、计算机可读存储介质及机器人 |
-
2021
- 2021-04-30 CN CN202110479942.2A patent/CN113146638B/zh active Active
- 2021-10-28 WO PCT/CN2021/127149 patent/WO2022227457A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032142A (zh) * | 2018-08-14 | 2018-12-18 | 浙江大学 | 一种含腰部结构的双足机器人设计以及反馈控制方法 |
CN109703645A (zh) * | 2018-12-29 | 2019-05-03 | 深圳市优必选科技有限公司 | 机器人质心位置调整方法、装置、机器人和数据存储介质 |
CN110920769A (zh) * | 2019-11-28 | 2020-03-27 | 深圳市优必选科技股份有限公司 | 机器人的足腰协调步态规划方法、装置、介质及机器人 |
CN110989585A (zh) * | 2019-11-28 | 2020-04-10 | 深圳市优必选科技股份有限公司 | 避奇异的步态规划方法、装置、可读存储介质及机器人 |
CN111993391A (zh) * | 2020-08-25 | 2020-11-27 | 深圳市优必选科技股份有限公司 | 机器人位姿估计方法、装置、仿人机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022227457A1 (zh) | 2022-11-03 |
CN113146638A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113146638B (zh) | 质心位姿估计方法、装置、计算机可读存储介质及机器人 | |
CN111015653B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN112744313B (zh) | 一种机器人状态估计方法、装置、可读存储介质及机器人 | |
WO2022105020A1 (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN112731953A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN110989585B (zh) | 避奇异的步态规划方法、装置、可读存储介质及机器人 | |
CN110920769B (zh) | 机器人的足腰协调步态规划方法、装置、介质及机器人 | |
CN113031579B (zh) | 双足机器人的行走控制方法、装置及双足机器人 | |
CN109866217B (zh) | 机器人里程定位方法、装置、终端设备及计算机存储介质 | |
Bailly et al. | Estimating the center of mass and the angular momentum derivative for legged locomotion—a recursive approach | |
CN112720479B (zh) | 一种机器人姿态控制方法、装置及机器人 | |
CN113119102B (zh) | 基于浮动基飞轮倒立摆的仿人机器人建模方法和装置 | |
CN112486170A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113002659A (zh) | 双足机器人的姿态测量方法、装置、设备及存储介质 | |
CN111844013B (zh) | 机器人步态规划方法、装置、机器人及存储介质 | |
CN112731951A (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
CN112276950A (zh) | 抗扰动模型训练、控制方法、装置、设备、机器人及介质 | |
Nicolas et al. | From bone to plausible bipedal locomotion using inverse kinematics | |
CN113246124B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN112975941B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN114748306A (zh) | 一种外骨骼设备穿戴误差校正方法 | |
CN113465822A (zh) | 基于多刚体机器人的质心位置计算方法、装置及介质 | |
JP6205387B2 (ja) | 仮想マーカーの位置情報の取得方法及び装置、動作計測方法 | |
KR102150172B1 (ko) | 상대적 움직임에 기반한 동작 인식 방법 및 장치 | |
Adjel et al. | Multi-Modal Upper Limbs Human Motion Estimation from a Reduced Set of Affordable Sensors |
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 |