一种机器人姿态控制方法、装置及机器人转让专利

申请号 : CN202011532454.5

文献号 : CN112720479B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王鸿舸陈春玉刘益彰葛利刚白杰麻星星周江琛熊友军

申请人 : 深圳市优必选科技股份有限公司

摘要 :

本申请属于机器人技术领域,尤其涉及一种机器人姿态控制方法、装置及机器人。所述方法包括:根据平衡控制算法得到机器人的第一关节角速度;根据动量规划算法得到所述机器人的第二关节角速度;根据姿态回零控制算法得到所述机器人的第三关节角速度;根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制。通过本申请,可以有效减小平衡控制过程中机器人躯干的旋转,并控制机器人恢复到初始的姿态,从而避免产生机器人倾覆的现象。

权利要求 :

1.一种机器人姿态控制方法,其特征在于,包括:根据平衡控制算法得到机器人的第一关节角速度;

根据动量规划算法得到所述机器人的第二关节角速度;

根据姿态回零控制算法得到所述机器人的第三关节角速度;

根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制;

所述根据动量规划算法得到所述机器人的第二关节角速度,包括:获取所述机器人的实际关节角速度;

根据所述实际关节角速度计算所述机器人的实际动量;

构建与所述实际动量对应的反向旋转动量;

根据所述反向旋转动量计算所述第二关节角速度;

所述根据姿态回零控制算法得到所述机器人的第三关节角速度,包括:分别获取所述机器人的各个末端的实际位姿;

根据各个末端的实际位姿和预设的初始位姿分别计算各个末端的期望速度;

根据所述期望速度分别计算各个末端的关节角速度;

将各个末端的关节角速度组合为所述第三关节角速度;

所述根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制,包括:根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度计算所述机器人的期望关节角速度;

根据所述期望关节角速度计算所述机器人的期望关节角度;

按照所述期望关节角度对所述机器人的姿态进行控制。

2.根据权利要求1所述的机器人姿态控制方法,其特征在于,所述根据所述实际关节角速度计算所述机器人的实际动量,包括:根据下式计算所述实际动量:mfeedback=Aωfeedback其中,A为预设的映射矩阵,ωfeedback为所述实际关节角速度,mfeedback为所述实际动量。

3.根据权利要求1所述的机器人姿态控制方法,其特征在于,所述构建与所述实际动量对应的反向旋转动量,包括:根据下式构建所述反向旋转动量:其中,kx和ky均为预设的比例常数,mfeedback(0)为所述实际动量在x轴方向上的旋转分量,mfeedback(1)为所述实际动量在y轴方向上的旋转分量,m2为所述反向旋转动量。

4.根据权利要求1所述的机器人姿态控制方法,其特征在于,所述根据所述反向旋转动量计算所述第二关节角速度,包括:根据下式计算所述第二关节角速度:*

ω2=Am2

*

其中,A为预设的映射矩阵,A 为A的广义逆矩阵,m2为所述反向旋转动量,ω2为所述第二关节角速度。

5.根据权利要求1所述的机器人姿态控制方法,其特征在于,所述根据所述期望速度分别计算各个末端的关节角速度,包括:根据下式计算各个末端的关节角速度:ω3,i=Jivi

其中,vi为第i个末端的期望速度,Ji为本体坐标系到第i个末端坐标系的运动学雅克比矩阵,ω3,i为第i个末端的关节角速度。

6.一种机器人姿态控制装置,其特征在于,包括:平衡控制模块,用于根据平衡控制算法得到机器人的第一关节角速度;

动量规划模块,用于根据动量规划算法得到所述机器人的第二关节角速度;

姿态回零控制模块,用于根据姿态回零控制算法得到所述机器人的第三关节角速度;

姿态控制模块,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制;

所述动量规划模块包括:

实际关节角速度获取单元,用于获取所述机器人的实际关节角速度;

实际动量计算单元,用于根据所述实际关节角速度计算所述机器人的实际动量;

反向旋转动量构建单元,用于构建与所述实际动量对应的反向旋转动量;

第二关节角速度计算单元,用于根据所述反向旋转动量计算所述第二关节角速度;

所述姿态回零控制模块包括:实际位姿获取单元,用于分别获取所述机器人的各个末端的实际位姿;

末端期望速度计算单元,用于根据各个末端的实际位姿和预设的初始位姿分别计算各个末端的期望速度;

末端关节角速度计算单元,用于根据所述期望速度分别计算各个末端的关节角速度;

第三关节角速度组合单元,用于将各个末端的关节角速度组合为所述第三关节角速度;

所述姿态控制模块包括:

期望关节角速度计算单元,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度计算所述机器人的期望关节角速度;

期望关节角度计算单元,用于根据所述期望关节角速度计算所述机器人的期望关节角度;

状态控制单元,用于按照所述期望关节角度对所述机器人的姿态进行控制。

7.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的机器人姿态控制方法的步骤。

说明书 :

一种机器人姿态控制方法、装置及机器人

技术领域

[0001] 本申请属于机器人技术领域,尤其涉及一种机器人姿态控制方法、装置及机器人。

背景技术

[0002] 相对于轮式和履带机器人,双足机器人的一个很大的优势就是能够完全适应人类的生活环境,比如在不平整的地面上行走,上下楼梯等。双足机器人行走时,尤其是单足支
撑期的平衡控制是双足机器人控制技术的一项重要任务,平衡控制过程中会引起机器人躯
干的旋转,若不及时对其进行恢复,当旋转幅度过大时,可能产生机器人倾覆的现象。

发明内容

[0003] 有鉴于此,本申请实施例提供了一种机器人姿态控制方法、装置及机器人,以解决机器人躯干旋转幅度过大时可能产生倾覆的问题。
[0004] 本申请实施例的第一方面提供了一种机器人姿态控制方法,可以包括:
[0005] 根据平衡控制算法得到机器人的第一关节角速度;
[0006] 根据动量规划算法得到所述机器人的第二关节角速度;
[0007] 根据姿态回零控制算法得到所述机器人的第三关节角速度;
[0008] 根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制;
[0009] 所述根据动量规划算法得到所述机器人的第二关节角速度,可以包括:
[0010] 获取所述机器人的实际关节角速度;
[0011] 根据所述实际关节角速度计算所述机器人的实际动量;
[0012] 构建与所述实际动量对应的反向旋转动量;
[0013] 根据所述反向旋转动量计算所述第二关节角速度;
[0014] 所述根据姿态回零控制算法得到所述机器人的第三关节角速度,可以包括:
[0015] 分别获取所述机器人的各个末端的实际位姿;
[0016] 根据各个末端的实际位姿和预设的初始位姿分别计算各个末端的期望速度;
[0017] 根据所述期望速度分别计算各个末端的关节角速度;
[0018] 将各个末端的关节角速度组合为所述第三关节角速度;
[0019] 所述根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制,可以包括:
[0020] 根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度计算所述机器人的期望关节角速度;
[0021] 根据所述期望关节角速度计算所述机器人的期望关节角度;
[0022] 按照所述期望关节角度对所述机器人的姿态进行控制。
[0023] 进一步地,所述根据所述实际关节角速度计算所述机器人的实际动量,可以包括:
[0024] 根据下式计算所述实际动量:
[0025] mfeedback=Aωfeedback
[0026] 其中,A为预设的映射矩阵,ωfeedback为所述实际关节角速度,mfeedback为所述实际动量。
[0027] 进一步地,所述构建与所述实际动量对应的反向旋转动量,可以包括:
[0028] 根据下式构建所述反向旋转动量:
[0029]
[0030] 其中,kx和ky均为预设的比例常数,mfeedback(0)为所述实际动量在x轴方向上的旋转分量,mfeedback(1)为所述实际动量在y轴方向上的旋转分量,m2为所述反向旋转动量。
[0031] 进一步地,所述根据所述反向旋转动量计算所述第二关节角速度,可以包括:
[0032] 根据下式计算所述第二关节角速度:
[0033] ω2=A*m2
[0034] 其中,A为预设的映射矩阵,A*为A的广义逆矩阵,m2为所述反向旋转动量,ω2为所述第二关节角速度。
[0035] 进一步地,所述根据所述期望速度分别计算各个末端的关节角速度,可以包括:
[0036] 根据下式计算各个末端的关节角速度:
[0037] ω3,i=Jivi
[0038] 其中,vi为第i个末端的期望速度,Ji为本体坐标系到第i个末端坐标系的运动学雅克比矩阵,ω3,i为第i个末端的关节角速度。
[0039] 本申请实施例的第二方面提供了一种机器人姿态控制装置,可以包括:
[0040] 平衡控制模块,用于根据平衡控制算法得到机器人的第一关节角速度;
[0041] 动量规划模块,用于根据动量规划算法得到所述机器人的第二关节角速度;
[0042] 姿态回零控制模块,用于根据姿态回零控制算法得到所述机器人的第三关节角速度;
[0043] 姿态控制模块,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制;
[0044] 所述动量规划模块可以包括:
[0045] 实际关节角速度获取单元,用于获取所述机器人的实际关节角速度;
[0046] 实际动量计算单元,用于根据所述实际关节角速度计算所述机器人的实际动量;
[0047] 反向旋转动量构建单元,用于构建与所述实际动量对应的反向旋转动量;
[0048] 第二关节角速度计算单元,用于根据所述反向旋转动量计算所述第二关节角速度;
[0049] 所述姿态回零控制模块可以包括:
[0050] 实际位姿获取单元,用于分别获取所述机器人的各个末端的实际位姿;
[0051] 末端期望速度计算单元,用于根据各个末端的实际位姿和预设的初始位姿分别计算各个末端的期望速度;
[0052] 末端关节角速度计算单元,用于根据所述期望速度分别计算各个末端的关节角速度;
[0053] 第三关节角速度组合单元,用于将各个末端的关节角速度组合为所述第三关节角速度;
[0054] 所述姿态控制模块可以包括:
[0055] 期望关节角速度计算单元,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度计算所述机器人的期望关节角速度;
[0056] 期望关节角度计算单元,用于根据所述期望关节角速度计算所述机器人的期望关节角度;
[0057] 状态控制单元,用于按照所述期望关节角度对所述机器人的姿态进行控制。进一步地,所述实际动量计算单元具体用于根据下式计算所述实际动量:
[0058] mfeedback=Aωfeedback
[0059] 其中,A为预设的映射矩阵,ωfeedback为所述实际关节角速度,mfeedback为所述实际动量。
[0060] 进一步地,所述反向旋转动量构建单元具体用于根据下式构建所述反向旋转动量:
[0061]
[0062] 其中,kx和ky均为预设的比例常数,mfeedback(0)为所述实际动量在x轴方向上的旋转分量,mfeedback(1)为所述实际动量在y轴方向上的旋转分量,m2为所述反向旋转动量。
[0063] 进一步地,所述第二关节角速度计算单元具体用于根据下式计算所述第二关节角速度:
[0064] ω2=A*m2
[0065] 其中,A为预设的映射矩阵,A*为A的广义逆矩阵,m2为所述反向旋转动量,ω2为所述第二关节角速度。
[0066] 进一步地,所述末端关节角速度计算单元具体用于根据下式计算各个末端的关节角速度:
[0067] ω3,i=Jivi
[0068] 其中,vi为第i个末端的期望速度,Ji为本体坐标系到第i个末端坐标系的运动学雅克比矩阵,ω3,i为第i个末端的关节角速度。
[0069] 本申请实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种机器人姿态控制
方法的步骤。
[0070] 本申请实施例的第四方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实
现上述任一种机器人姿态控制方法的步骤。
[0071] 本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行上述任一种机器人姿态控制方法的步骤。
[0072] 本申请实施例与现有技术相比存在的有益效果是:本申请实施例根据平衡控制算法得到机器人的第一关节角速度;根据动量规划算法得到所述机器人的第二关节角速度;
根据姿态回零控制算法得到所述机器人的第三关节角速度;根据所述第一关节角速度、所
述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制。通过本申请实施
例,可以有效减小平衡控制过程中机器人躯干的旋转,并控制机器人恢复到初始的姿态,从
而避免产生机器人倾覆的现象。

附图说明

[0073] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些
实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附
图获得其它的附图。
[0074] 图1为飞轮模型的示意图;
[0075] 图2为控制机器人恢复到初始的姿态的示意图;
[0076] 图3为本申请实施例中一种机器人姿态控制方法的一个实施例流程图;
[0077] 图4为对机器人的姿态进行控制的整体框架图;
[0078] 图5为本申请实施例中一种机器人姿态控制装置的一个实施例结构图;
[0079] 图6为本申请实施例中一种机器人的示意框图。

具体实施方式

[0080] 为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述
的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域
普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护
的范围。
[0081] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、
操作、元素、组件和/或其集合的存在或添加。
[0082] 还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上
下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0083] 还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0084] 如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或
“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确
定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0085] 另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0086] 为叙述简便起见,如无特殊说明,本申请实施例中所提及的机器人均为双足机器人。
[0087] 机器人单足支撑时,可以将其等效为一个飞轮模型。通常可以把机器人的整个支撑腿等效为飞轮模型的无质量长杆,将支撑腿以外的部分等效为飞轮,但是因为双足机器
人腿部质量比较大,将其等效为一个无质量长杆会产生较大的误差。
[0088] 基于以上考虑,在本申请实施例中,可以建立起一个不同于现有技术的全新的飞轮模型,图1所示即为所述飞轮模型的示意图,其中,所述机器人的支撑足脚掌等效为所述
飞轮模型的无质量长杆,所述机器人的其它部位等效为所述飞轮模型的飞轮。平衡控制过
程中会引起机器人躯干的旋转,但是机器人的躯干不像飞轮可以无限连续旋转,若不及时
对其进行恢复,当旋转幅度过大时,可能产生机器人倾覆的现象。
[0089] 在本申请实施例中,综合考虑机器人的平衡控制、动量规划和姿态回零控制,有效减小平衡控制过程中机器人躯干的旋转,并控制机器人恢复到初始的姿态(如图2所示),从
而避免产生机器人倾覆的现象。
[0090] 请参阅图3,本申请实施例中一种机器人姿态控制方法的一个实施例可以包括:
[0091] 步骤S301、根据平衡控制算法得到机器人的第一关节角速度。
[0092] 对机器人的平衡控制为现有技术中较为成熟的技术,根据不同的场景,可以采用不同的控制方法,具体的输入参数和控制结构也各有差异。在本申请实施例中可以根据实
际情况采用现有技术中的任意一种平衡控制方法,得到对机器人进行平衡控制的各个末端
所期望的关节角速度,为了便于区分,此处将其记为第一关节角速度,并表示为ω1。
[0093] 步骤S302、根据动量规划算法得到所述机器人的第二关节角速度。
[0094] 机器人进行平衡控制时,会产生使本体姿态倾斜的旋转动量,进行整机动量规划的目的是通过全身关节规划,对旋转动量的大小进行逐步削减,直到最后完全消失。
[0095] 对于多关节的机器人,机器人全身各个末端的关节转动都会对机器人整体的动量产生影响,在本申请实施例中,可以预先建立起机器人的动量与机器人的全身各个末端的
关节角速度之间的映射关系,该映射关系用公式表示如下:
[0096]
[0097] 其中,A为预设的映射矩阵,其具体取值可以根据实际情况进行设置,本申请实施例对此不作具体限定, 为机器人的全身各个末端的关节角速度,m为机器人的动量,即包
括三维直线动量和三维旋转动量在内的共六维动量。
[0098] 根据这一映射关系,在本申请实施例中,可以首先通过预设的传感器获取所述机器人的实际关节角速度,然后根据所述实际关节角速度计算所述机器人的实际动量,如下
式所示:
[0099] mfeedback=Aωfeedback
[0100] 其中,ωfeedback为所述实际关节角速度,mfeedback为所述实际动量。
[0101] 为了抑制机器人的旋转,可以给机器人施加一个反向的旋转动量。在本申请实施例中,可以取机器人在x轴方向(即机器人的行进方向)和y轴方向(即机器人的左侧方向,或
者将行进方向逆时针旋转90度后所指向的方向)上的实际旋转动量来构建一个反向旋转动
量,即可以根据下式构建与所述实际动量对应的反向旋转动量:
[0102]
[0103] 其中,kx和ky均为预设的比例常数,其具体取值可以根据实际情况进行设置,本申请实施例对此不作具体限定,优选地,可以设置kx∈(0,1),ky∈(0,1),mfeedback(0)为所述实
际动量在x轴方向上的旋转分量,mfeedback(1)为所述实际动量在y轴方向上的旋转分量,m2为
所述反向旋转动量,该旋转动量可以只削弱机器人的x轴、y轴方向上的旋转速度,而不削弱
机器人的直线速度和z轴方向(即垂直向上的方向)的旋转速度,减少对机器人其它控制器
的控制效果的干扰。
[0104] 在得到所述反向旋转动量之后,可以根据上述映射关系计算与这一反向旋转动量对应的关节角速度,为了便于区分,此处将其记为第二关节角速度。具体的计算公式如下所
示:
[0105] ω2=A*m2
[0106] 其中,A*为A的广义逆矩阵,m2为所述反向旋转动量,ω2为所述第二关节角速度。
[0107] 步骤S303、根据姿态回零控制算法得到所述机器人的第三关节角速度。
[0108] 当机器人处于一个比较稳定的状态时,平衡控制的作用会比较小,机器人的旋转动量会由于动量规划控制的作用逐步变小,但是机器人的姿态不会自动恢复到初始位姿,
因此在本申请实施例中通过姿态回零控制把机器人的姿态逐步恢复到初始位姿。
[0109] 在本申请实施例的一种具体实现中,可以记录下机器人初始姿态下全身关节的转角,然后根据当前状态下每个关节的实际转角与初始转角的偏差生成一个反向的关节角速
度,使当前的关节转角逐步逼近初始关节转角。但是这种基于关节层面的回零控制在恢复
机器人姿态的过程中可能会使机器人的各个连杆的末端出现一些奇怪的位姿。
[0110] 为避免这种情况的出现,在本申请实施例的另一种具体实现中,可以采用基于末端位姿的回零控制。假设机器人由两支手臂、两条腿、一个头和一个躯干组成。在机器人躯
干的几何中心上建立本体坐标系{O},在手臂、腿、头这些末端上分别建立五个末端坐标系
{Oi},i∈1,2,3,4,5。当机器人的各个末端位于初始状态时,记录下各个末端坐标系在本体
坐标系下的位姿,也即各个末端的初始位姿。
[0111] 当机器人由于平衡控制和动量规划控制的作用,其末端位姿逐步偏离初始位姿,通过关节角度反馈和运动学可以得到各个末端的实际位姿。为了使机器人的实际位姿逐步
接近初始位姿,可以根据各个末端的实际位姿和初始位姿分别计算各个末端恢复位姿的期
望速度。
[0112] 对于第i个末端而言,其恢复位姿的期望速度可以根据下式计算:
[0113] vi=ki(pinit,i‑preal,i)
[0114] 其中,pinit,i为第i个末端的初始位姿,preal,i为第i个末端的实际位姿,ki为预设的比例常数,其具体取值可以根据实际情况进行设置,本申请实施例对此不作具体限定,vi为
第i个末端的期望速度。
[0115] 在得到各个末端的期望速度之后,即可根据这些期望速度分别计算各个末端的关节角速度,具体的计算公式如下所示:
[0116] ω3,i=Jivi
[0117] 其中,Ji为本体坐标系{O}到第i个末端坐标系{Oi}的运动学雅克比矩阵,ω3,i为第i个末端的关节角速度。
[0118] 在得到各个末端的关节角速度之后,即可将这些关节角速度组合起来,得到进行位姿恢复控制的关节角速度,为了便于区分,此处将其记为第三关节角速度,表示如下:
[0119]
[0120] 其中,ω3即为所述第三关节角速度。
[0121] 步骤S304、根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制。
[0122] 图4所示即为对机器人的姿态进行控制的整体框架图,平衡控制过程生成第一关节角速度(ω1),动量规划过程生成第二关节角速度(ω2),姿态回零控制过程生成第三关节
角速度(ω3),根据这三者可以计算得到所述机器人的期望关节角速度,具体计算公式如
下:
[0123] ω=ω1+ω2+ω3
[0124] 其中,ω即为所述期望关节角速度。
[0125] 对该期望关节角速度进行积分(即图中的1/s),即可得到所述机器人的期望关节角度,此处将其记为θ。
[0126] 在计算得到所述期望关节角度之后,即可将其下发给所述机器人的对应执行部件,使其控制所述机器人的各个相应的关节按照所述期望关节角度进行运动,从而实现对
所述机器人的姿态控制。
[0127] 综上所述,本申请实施例根据平衡控制算法得到机器人的第一关节角速度;根据动量规划算法得到所述机器人的第二关节角速度;根据姿态回零控制算法得到所述机器人
的第三关节角速度;根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速
度对所述机器人的姿态进行控制。通过本申请实施例,可以有效减小平衡控制过程中机器
人躯干的旋转,并控制机器人恢复到初始的姿态,从而避免产生机器人倾覆的现象。
[0128] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限
定。
[0129] 对应于上文实施例所述的一种机器人姿态控制方法,图5示出了本申请实施例提供的一种机器人姿态控制装置的一个实施例结构图。
[0130] 本实施例中,一种机器人姿态控制装置可以包括:
[0131] 平衡控制模块501,用于根据平衡控制算法得到机器人的第一关节角速度;
[0132] 动量规划模块502,用于根据动量规划算法得到所述机器人的第二关节角速度;
[0133] 姿态回零控制模块503,用于根据姿态回零控制算法得到所述机器人的第三关节角速度;
[0134] 姿态控制模块504,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度对所述机器人的姿态进行控制。
[0135] 进一步地,所述动量规划模块可以包括:
[0136] 实际关节角速度获取单元,用于获取所述机器人的实际关节角速度;
[0137] 实际动量计算单元,用于根据所述实际关节角速度计算所述机器人的实际动量;
[0138] 反向旋转动量构建单元,用于构建与所述实际动量对应的反向旋转动量;
[0139] 第二关节角速度计算单元,用于根据所述反向旋转动量计算所述第二关节角速度。
[0140] 进一步地,所述实际动量计算单元具体用于根据下式计算所述实际动量:
[0141] mfeedback=Aωfeedback
[0142] 其中,A为预设的映射矩阵,ωfeedback为所述实际关节角速度,mfeedback为所述实际动量。
[0143] 进一步地,所述反向旋转动量构建单元具体用于根据下式构建所述反向旋转动量:
[0144]
[0145] 其中,kx和ky均为预设的比例常数,mfeedback(0)为所述实际动量在x轴方向上的旋转分量,mfeedback(1)为所述实际动量在y轴方向上的旋转分量,m2为所述反向旋转动量。
[0146] 进一步地,所述第二关节角速度计算单元具体用于根据下式计算所述第二关节角速度:
[0147] ω2=A*m2
[0148] 其中,A为预设的映射矩阵,A*为A的广义逆矩阵,m2为所述反向旋转动量,ω2为所述第二关节角速度。
[0149] 进一步地,所述姿态回零控制模块可以包括:
[0150] 实际位姿获取单元,用于分别获取所述机器人的各个末端的实际位姿;
[0151] 末端期望速度计算单元,用于根据各个末端的实际位姿和预设的初始位姿分别计算各个末端的期望速度;
[0152] 末端关节角速度计算单元,用于根据所述期望速度分别计算各个末端的关节角速度;
[0153] 第三关节角速度组合单元,用于将各个末端的关节角速度组合为所述第三关节角速度。
[0154] 进一步地,所述末端关节角速度计算单元具体用于根据下式计算各个末端的关节角速度:
[0155] ω3,i=Jivi
[0156] 其中,vi为第i个末端的期望速度,Ji为本体坐标系到第i个末端坐标系的运动学雅克比矩阵,ω3,i为第i个末端的关节角速度。
[0157] 进一步地,所述姿态控制模块可以包括:
[0158] 期望关节角速度计算单元,用于根据所述第一关节角速度、所述第二关节角速度和所述第三关节角速度计算所述机器人的期望关节角速度;
[0159] 期望关节角度计算单元,用于根据所述期望关节角速度计算所述机器人的期望关节角度;
[0160] 状态控制单元,用于按照所述期望关节角度对所述机器人的姿态进行控制。
[0161] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0162] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0163] 图6示出了本申请实施例提供的一种机器人的示意框图,为了便于说明,仅示出了与本申请实施例相关的部分。
[0164] 如图6所示,该实施例的机器人6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时
实现上述各个机器人姿态控制方法实施例中的步骤,例如图3所示的步骤S301至步骤S304。
或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功
能,例如图5所示模块501至模块504的功能。
[0165] 示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本申请。所述一
个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于
描述所述计算机程序62在所述机器人6中的执行过程。
[0166] 本领域技术人员可以理解,图6仅仅是机器人6的示例,并不构成对机器人6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机
器人6还可以包括输入输出设备、网络接入设备、总线等。
[0167] 所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路
(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑
Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、
分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等。
[0168] 所述存储器61可以是所述机器人6的内部存储单元,例如机器人6的硬盘或内存。所述存储器61也可以是所述机器人6的外部存储设备,例如所述机器人6上配备的插接式硬
盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡
(Flash Card)等。进一步地,所述存储器61还可以既包括所述机器人6的内部存储单元也包
括外部存储设备。所述存储器61用于存储所述计算机程序以及所述机器人6所需的其它程
序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
[0169] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的
功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可
以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的
单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单
元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统
中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0170] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0171] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出
本申请的范围。
[0172] 在本申请所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模
块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个
单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一
点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或
单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0173] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0174] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0175] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例
方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算
机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述
各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码
可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介
质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、
磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,
Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述
计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当
的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波
信号和电信信号。
[0176] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改
或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应
包含在本申请的保护范围之内。