一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多自由度单腿运动学求解方法、装置和机器人与流程

2022-04-16 19:29:01 来源:中国专利 TAG:


1.本技术涉及机器人控制技术领域,尤其涉及一种多自由度单腿运动学求解方法、装置和机器人。


背景技术:

2.双足仿人机器人是一种能够模仿人类站立和行走跳跃等运动特点的机器人。在逆运动学求解过程中,通常采用给定机器人的位置和姿态,利用动力学模型来进行步态规划设计,得到各个关节的期望旋转角度(亦称关节角度),然后通过电机驱动相应关节的旋转轴进行旋转。
3.双足机器人的左右腿通常为设为各有六自由度(亦称关节)的多连杆结构,其中,髋关节具有3个自由度,膝关节具有1个自由度,踝关节有2个自由度,传统的逆运动学求解方法一般要求腿部髋关节的各旋转轴相交于一点。然而,对于腿部髋关节采用了先翻滚(roll)后偏摆(yaw)再俯仰(pitch)的自由度结构设计,导致髋关节的各旋转轴不相交一点,对于这类特殊构型的机器人,利用传统的dh参数方法无法进行有效求解。


技术实现要素:

4.本技术实施例提供一种多自由度单腿运动学求解方法、装置和机器人,该方法可以有效解决具有三个旋转轴不相交的x-z-y构型的机器人的逆运动学求解问题。
5.第一方面,本技术实施例提供一种多自由度单腿运动学求解方法,所述单腿包括依次设置的三个旋转轴不相交的髋侧关节、髋转关节和髋前关节,及膝前关节,以及两个旋转轴相交的踝前关节和踝侧关节,所述方法包括:
6.从所有关节的旋转轴中选取若干节点,将所有节点依次连接,得到基于脚踝局部坐标系建立的所述单腿的简化运动学模型,其中,所述若干节点包括作为起始节点的所述踝前关节和所述踝侧关节的旋转轴交点、作为第一中间节点的所述膝前关节的旋转轴中点、作为第二中间节点的所述髋前关节与所述髋转关节的旋转轴交点、以及作为末端节点的所述髋侧关节和所述髋转关节的旋转轴交点;
7.根据获取的所述起始节点与所述末端节点在世界坐标系中的位姿,基于所述简化运动学模型中各个节点的位姿与关节角度之间的几何关系,计算所述髋侧关节、所述髋转关节、所述髋前关节、所述膝前关节、所述踝前关节和所述踝侧关节各自的关节角度。
8.第二方面,本技术实施例还提供一种机器人运动控制方法,所述机器人包括至少一条多自由度单腿结构,所述方法包括:
9.获取机器人的躯干与至少一足底末端在世界坐标系下的位姿;
10.根据所述躯干的所述位姿确定机器人各腿的髋侧关节和髋转关节的旋转轴交点在世界坐标系下的位姿,以及根据对应足底末端的所述位姿确定对应腿的踝前关节和踝侧关节的旋转轴交点在世界坐标系下的位姿;
11.通过上述的多自由度单腿运动学求解方法计算所述机器人每条腿的各个关节角
度;
12.根据计算的所有关节角度对机器人进行相应控制。
13.第三方面,本技术实施例还提供一种多自由度单腿运动学求解装置,所述单腿包括依次设置的三个旋转轴不相交的髋侧关节、髋转关节和髋前关节,及膝前关节,以及两个旋转轴相交的踝前关节和踝侧关节,所述装置包括:
14.简化模型构建模块,用于从所有关节的旋转轴中选取若干节点,将所有节点依次连接,得到基于脚踝局部坐标系建立的所述单腿的简化运动学模型,其中,所述若干节点包括作为起始节点的所述踝前关节和所述踝侧关节的旋转轴交点、作为第一中间节点的所述膝前关节的旋转轴中点、作为第二中间节点的所述髋前关节与所述髋转关节的旋转轴交点、以及作为末端节点的所述髋侧关节和所述髋转关节的旋转轴交点;
15.关节角度求解模块,用于根据获取的所述起始节点与所述末端节点在世界坐标系中的位姿,基于所述简化运动学模型中各个节点的位姿与关节角度之间的几何关系,计算所述髋侧关节、所述髋转关节、所述髋前关节、所述膝前关节、所述踝前关节和所述踝侧关节各自的关节角度。
16.第四方面,本技术实施例还提供一种机器人,所述机器人包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的多自由度单腿运动学求解方法或机器人运动控制方法。
17.第五方面,本技术实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施上述的多自由度单腿运动学求解方法或机器人运动控制方法。
18.本技术的实施例具有如下有益效果:
19.本技术实施例的多自由度单腿运动学求解方法针对多自由度的单腿结构,该腿的髋侧关节、髋转关节和髋前关节三个旋转轴不相交,而踝前关节和踝侧关节的两个旋转轴相交,该运动学求解方法通过从所有关节的旋转轴中选取若干节点,以构建单腿的简化运动学模型,进而根据获取的起始节点与末端节点在世界坐标系中的位姿,基于简化运动学模型中各个节点的位姿与关节角度之间的几何关系,计算各个关节的关节角度。该方法可以有效解决具有三旋转轴不相交的x-z-y构型的多连杆机构的逆运动学求解问题,直观简洁,且计算效率更高。
附图说明
20.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
21.图1示出了本技术实施例的机器人的结构示意图;
22.图2示出了本技术实施例的髋关节的三个自由度不交于一点的双足机器人模型;
23.图3示出了本技术实施例的多自由度单腿运动学求解方法的流程图;
24.图4示出了本技术实施例的六自由度单腿的简化运动学模型;
25.图5示出了本技术实施例的计算所有关节角度的流程图;
26.图6示出了本技术实施例的包含等效角度在内的三个关节角度求解的流程图;
27.图7示出了本技术实施例的求解三个俯仰角度的流程图;
28.图8示出了本技术实施例的机器人运动控制方法的流程图;
29.图9示出了本技术实施例多自由度单腿运动学求解装置的结构示意图;
30.图10示出了本技术实施例的机器人运动学求解装置的结构示意图。
具体实施方式
31.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
32.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
34.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
35.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
36.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
37.请参照图1,为本技术实施例提供的机器人的一种结构示意图。在本实施例中,该机器人10包括处理器11、存储器12和感知单元13等,其中,存储器12和感知单元13均与处理器11连接,存储器12存储有相应的计算机程序,处理器11用于执行该计算机程序以实施本技术实施例中的多自由度单腿运动学求解方法或机器人运动控制方法,从而有效解决具有三个旋转轴不相交的x-z-y构型的机器人的逆运动学求解问题。
38.其中,处理器11可以是一种具有信号的处理能力的集成电路芯片。处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)及网络处理器(network processor,np)、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的至少一种。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。
39.其中,存储器12可以但不限于是,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器用于存储计算机程序,处理器在接收到执行指令后,可相应地执行计算机程序。
40.其中,感知单元13主要指在机器人身上设置的传感器,这些传感器用于将必要的外部信息以及自身状态信息传递给机器人的控制系统,从而为机器人的决策提供必要的条件。在一些情况下,这些传感器可分为内部传感器和外部传感器,其中,内部传感器用于测量机器人自身状态的功能元件,其功能是测量运动学量和力学量,用于机器人感知自身的运动状态,使得机器人可以按照规定的位置、轨迹和速度等参数运动。例如,内部传感器包括但不限于,设于相应关节或躯干处的位置或角度传感器、六维力传感器、压力传感器等。而外部传感器主要是感知机器人自身和环境之间的相互信息,例如包括视觉等信息,具体可包括但不限于接近传感器、视觉传感器等。应当明白的是,上述列举的这些传感器可根据机器人的实际应用场景而选择性设置。
41.在本技术实施例中,该机器人10可以指具有一个多自由度连杆结构的机械臂结构,如工业用机械臂、医学用机械臂等,也可以指具有两个及两个以上的多自由度连杆结构的机器人,如双足机器人(亦称仿人机器人)、三足机器人、四足机器人、六足机器人等,这里不作限定。值得注意的是,本技术实施例中的机器人应当包含存在连续的三个自由度的旋转轴不相交于一点的x-z-y构型,以便能采用本技术实施例的多自由度单腿运动学求解方法来有效求解出各个关节角度。
42.为了更直观地理解上述的三旋转轴不相交于一点的x-z-y构型的结构,这里以一双足机器人为例,该双足机器人包括左腿和右腿,每条腿均具有6个自由度,其中,髋关节具有3个自由度,膝关节具有1个自由度,踝关节有2个自由度。为了让机器人的整体结构紧凑,如图2所示,该双足机器人每条腿的髋关节的三个自由度采用了先翻滚(roll)后偏摆(yaw)再俯仰(pitch)的结构设计,对应为三个旋转轴不相交的髋侧关节、髋转关节和髋前关节;膝关节具有俯仰自由度,又称膝前关节;而踝关节具有俯仰和翻滚两个自由度,分别为踝前关节和踝侧关节,其中,踝前关节和踝侧关节的旋转轴相交。
43.为了方便理解,对于机器人的运动,笛卡尔坐标系建立如下:x轴方向指向机器人的正前方,y轴方向指向机器人的左侧,z轴方向指向机器人的躯干上方。对于上述的髋关节,其三个自由度的旋转角度依次可称为翻滚角、偏摆角和俯仰角。可以理解,翻滚角是指在笛卡尔空间坐标系中绕x轴旋转的角度;偏摆角是指在笛卡尔空间坐标系中绕z轴旋转的角度;俯仰角是指在笛卡尔空间坐标系中绕y轴旋转的角度。
44.应当明白的是,本技术实施例的多自由度单腿运动学求解方法除了可以应用于上述具有三旋转轴不相交的x-z-y构型的双足机器人腿部结构外,该方法也可以扩展到具有相似构型的其他机械臂,这里不作限定。
45.基于上述的机器人结构,为了方便理解,这里以具有多自由度单腿结构为例进行运动学求解过程进行说明。下面对本技术实施例的多自由度单腿运动学求解方法进行具体阐述。该方法可以有效完成此类特殊构型的多自由度连杆机构的运动学逆解,相比于传统
的dh方法更为直观简洁,相比雅可比迭代的方法计算效率更高,具备良好的普适性和实用性。
46.请参照图3,本实施例提出一种多自由度单腿运动学求解方法的流程图。示范性地,该多自由度单腿运动学求解方法包括步骤s110~s120:
47.s110,从所有关节的旋转轴中选取若干节点,将所有节点依次连接,得到基于脚踝局部坐标系建立的该单腿的简化运动学模型。
48.其中,节点是指在连杆结构中选取的一些关键点,通过这些关键点的依次连接,可以将该多自由度的腿部进行结构简化,以便于进行运动学分析。
49.在本实施例中,该节点的数量不作限定,可以根据实际需求来选取,通常地,选取的节点越多,描述的结构信息也越多,计算量也往往越大,因此可以根据实际需求来选取合适数量的节点。例如,对于具有六自由度的单腿结构,可选取3~5个节点不等,这里不作具体限定。
50.其中,脚踝局部坐标系是指对腿部的脚踝这一位置建立的局部坐标系。可以理解,这里由脚踝局部坐标系来建立简化模型,当机器人在运动时,局部坐标系随其依附的机器人连杆的位置而变化,以便对每个时刻的运动状态进行相应分析。
51.当机器人开始运动时,以具有六自由度的单腿结构为例,腿部的各个关节角度将变化,对于任意时刻的腿部姿态,均可通过本实施例提出的简化运动学模型来描述。在一种实施例中,示范性地,可从单腿结构中选取四个节点并将这些节点依次连接,得到该单腿的简化运动学模型。具体地,包括踝前关节和踝侧关节的旋转轴交点、膝前关节的旋转轴中点、髋前关节与髋转关节的旋转轴交点、髋侧关节和髋转关节的旋转轴交点,如图4所示,从脚踝关节到髋关节,这四个节点依次定义为起始节点o、第一中间节点a、第二中间节点b和末端节点c。进而,由线段o、a、b和c依次连接所呈现的构型即为六自由度单腿的简化运动学模型。
52.应当明白的是,将脚踝位置处选取的节点定义为起始节点,这样可以与脚踝局部坐标系的原点选取为同一点,以方便后续分析。可以理解,这些节点的顺序并不仅限于上述示例,也可以从髋关节到脚踝关节来依次定义,例如,起始节点也可以是髋侧关节和髋转关节的旋转轴交点,而末端节点为踝前关节和踝侧关节的旋转轴交点等。
53.可以理解,该简化运动学模型中各个节点的位姿与关节角度之间存在相应映射关系。如图4所示,在构建的简化运动学模型中,可以描述出六个关节的旋转角度(即关节角度)q1~q6。如图4所示,其中,q1、q2和q3分别表示髋侧关节、髋转关节和髋前关节的关节角度,q4表示膝前关节的关节角度,q5和q6分别表示踝前关节和踝侧关节的关节角度。可以明白的是,由于髋前关节、膝前关节和踝前关节均为俯仰角,均绕y轴旋转而不会超过xoz平面,因此,这三个关节的旋转角度可以投影到同一平面以进行合并处理。在简化运动学模型中,如图4所示,表现为节点a、b和c投影到同一平面xoz’上,合并后的旋转角度记为等效角度,该等效角度即为由节点o指向节点b的连线与z’轴的夹角α。
54.于是,根据齐次变换原理,对于合并得到的等效角度,与髋前关节、膝前关节和踝前关节的关节角度,将满足如下等式关系:
55.rα=r5*r4*r3。
56.其中,rα为等效角度α对应的旋转矩阵,r3为髋前关节的关节角度q3对应的旋转矩
阵,r4为膝前关节的关节角度q4对应的旋转矩阵,r5为踝前关节的关节角度q5对应的旋转矩阵。可以理解,一个向量绕旋转轴旋转给定的角度后,该旋转角度可通过罗德里格斯(rodrigues)转换公式转换为对应的旋转矩阵。
57.此外,由于踝侧关节与髋侧关节均为绕x轴旋转的翻滚角,根据上述模型中末端节点和起始节点的几何位置,此时踝侧关节的关节角度与节点a相对于节点o的位置存在映射关系,具体地,该踝侧关节的关节角度q6的正切值等于末端节点与起始节点之间的相对位置中的z方向分量与y方向分量的比值。若末端节点a与起始节点o之间的相对位置为(xa,ya,za),其中,xa,ya,za分别为在x、y和z方向上的分量,通过表达式描述上述映射关系,即有:
58.q6=arctan(ya/za)。
59.于是,基于上述相应的几何等式关系来计算各个关节角度。
60.s120,根据获取的起始节点与末端节点在世界坐标系中的位姿,基于该简化运动学模型中各个节点的位姿与关节角度之间的几何关系,计算各个关节角度。
61.其中,起始节点与末端节点在世界坐标系中的位姿可通过预先给定或规划的机器人相应部位的位姿直接得到或间接计算得到,具体地,节点o在世界坐标系中的位姿与机器人脚底的位姿有关,例如,在某些情况下,可将脚底的位姿直接选取为踝前关节和踝侧关节的旋转轴交点(即起始节点o)的位姿;而节点a在世界坐标系中的位姿与机器人躯干的位姿有关,躯干通常与髋侧关节直接相连,故可利用躯干的位姿来得到髋侧关节的位姿。
62.在一种实施方式中,对于上述步骤s120,如图5所示,可包括以下子步骤s210~250:
63.s210,根据起始节点与末端节点在世界坐标系中的位姿,计算末端节点与起始节点之间的相对位置和相对姿态、以及末端节点相对于起始节点对应的第一旋转矩阵。
64.其中,第一旋转矩阵也即起始节点旋转到末端节点时对应的旋转矩阵。示范性地,根据给定的节点a与节点o各自的位姿,可计算得到节点a相对于节点o的位置(xa,ya,za)与姿态其中,分别为绕x轴、z轴和y轴旋转的角度。进而,根据相对姿态通过rodrigues公式可计算出末端节点相对于起始节点对应的第一旋转矩阵,这里记为r
oa

65.s220,根据起始节点与末端节点之间的相对位置基于第一等式方程,计算踝侧关节的关节角度,进而计算踝侧关节的关节角度对应的第二旋转矩阵。
66.其中,第一等式方程是指上述的踝侧关节的关节角度与起始节点与末端节点之间的相对位置之间的映射关系。示范性地,在计算出节点a相对于节点o的位置后,可通过上述映射关系计算出关节角度q6。进而,在得到关节角度q6后,同样可利用rodrigues公式可计算出对应的旋转矩阵r6,即上述的第二旋转矩阵。
67.s230,根据第一旋转矩阵和第二旋转矩阵,基于髋侧关节到踝侧关节的姿态转换对应的旋转矩阵关系,计算第三旋转矩阵。
68.考虑到髋侧关节到踝侧关节的姿态转换,根据机器人运动学原理,相应地,各个关节角度的旋转矩阵将满足如下关系:
69.r
oa
=r6r5r4r3r2r1;
70.其中,r1~r6依次为关节角度q1~q6对应的旋转矩阵。
71.由于关节角度q3~q5可以在同一平面合并得到一等效角度α,故上述表达式也可
描述为:
72.r
oa
=r6r
α
r2r1。
73.进一步地,设中间变量r
temp
=r
α
r2r1,即有:r
temp
=r
6-1roa

74.示范性地,在得到旋转矩阵r
oa
和r6后,可计算得到中间变量r
temp
,即上述的第三旋转矩阵。
75.s240,根据第三旋转矩阵,计算髋侧关节的关节角度、髋转关节的关节角度、以及由髋前关节、膝前关节和踝前关节的关节角度在同一平面合并后的等效角度。
76.在一种实施方式中,对于步骤s240,如图6所示,可包括如下子步骤s241~s242:
77.s241,基于第三旋转矩阵等于髋侧关节的关节角度、膝前关节的关节角度和等效角度各自对应的旋转矩阵的乘积关系,从第三旋转矩阵中分别确定与髋侧关节的关节角度、髋转关节的关节角度和等效角度相关的向量。
78.由上述等式r
temp
=r
α
r2r1可知,故这三个角度对应的旋转矩阵经矩阵运算后相关参数将体现在r
temp
中相应向量中,由于关节角度q1、q2和等效角度α的旋转轴不相交,故可利用相应向量中的相应元素来分别求解各个关节角度。示范性地,可分别利用第三旋转矩阵的第二列向量中的相应元素来计算髋侧关节和髋转关节的关节角度,以及利用第三旋转矩阵中的第一行向量的相应元素来计算等效角度。
79.可以理解,本实施例中的旋转矩阵中的元素位置与从机器人上选取的起始节点和末端终点的位置有关,当起始节点和末端终点的位置对换时,旋转矩阵中的与对应关节角度或等效角度相关的向量位置也将相应变化。对应地,用于计算相应角度的元素位置也将适应性调整。
80.s242,根据髋侧关节、髋转关节和等效角度各自对应的向量中的相应元素,分别计算髋侧关节的关节角度、髋转关节的关节角度和该等效角度。
81.以得到的第三旋转矩阵r
temp
为例,在一种实施方式中,髋侧关节的关节角度q1可通过如下公式计算:
82.q1=arctan(r
temp
(3,2)/r
temp
(2,2));
83.其中,r
temp
(i,j)表示取矩阵r
temp
中的第i行第j列的元素。
84.在一种实施方式中,髋转关节的关节角度q2可通过如下公式计算:
[0085][0086]
可以理解,在计算关节角度q2时,增加的负号是根据关节角度的方向来确定的。
[0087]
在一种实施方式中,等效角度α可通过如下公式计算:
[0088]
α=arctan(r
temp
(1,3)/r
temp
(1,1))。
[0089]
s250,计算等效角度对应的等效旋转矩阵,并根据等效旋转矩阵基于第二等式方程,计算髋前关节、膝前关节、踝前关节各自的关节角度。
[0090]
同理,利用rodrigues公式可计算出等效角度α对应的等效旋转矩阵r
α
,进而,利用等效旋转矩阵r
α
中的相应元素来计算得到上述三个俯仰角。
[0091]
在一种实施方式中,对于步骤s250,如图7所示,可包括如下子步骤s251~s252:
[0092]
s251,根据上述第二等式方程,从等效旋转矩阵中确定与髋前关节、膝前关节、踝前关节的关节角度相关的向量。
[0093]
由上述等式rα=r5*r4*r3可知,故这三个角度对应的旋转矩阵经矩阵运算后相关参数将体现在rα的相应向量中,示范性地,可分别利用等效旋转矩阵的第一行向量中的相应元素来计算髋前关节的关节角度,利用等效旋转矩阵的第二列向量的相应元素来计算膝前关节的关节角度,以及等效旋转矩阵的第二列向量的相应元素来计算踝前关节的关节角度。
[0094]
s252,根据髋前关节、膝前关节和踝前关节各自对应的向量中的相应元素,分别计算髋前关节、膝前关节、踝前关节各自的关节角度。
[0095]
以上述的等效旋转矩阵rα为例,在一种实施方式中,髋前关节的关节角度q3可通过如下公式计算:
[0096]
q3=arctan(r
α
(1,3)/r
α
(1,1));
[0097]
其中,r
α
(i,j)表示取矩阵r
α
中的第i行第j列的元素。
[0098]
在一种实施方式中,膝前关节的关节角度q4可通过如下公式计算:
[0099][0100]
在一种实施方式中,踝前关节的关节角度q5可通过如下公式计算:
[0101]
q5=arctan(r
α
(3,2)/r
α
(2,2))。
[0102]
至此,计算得到六自由度单腿结构的6个关节角度。可以理解,上述的各个关节角度的计算方式是通过相应旋转矩阵中的相应元素来直接计算得到的,而旋转矩阵的获取与相应的关节角度或等效角度的设置顺序有关。
[0103]
本技术实施例的多自由度单腿运动学求解方法对于具有三个旋转轴不相交于一点的x-z-y构型的多自由度连杆结构,通过根据当前的腿部姿态来选取一些关键节点以构建相应的简化运动学模型,进而利用模型满足的相应几何关系来计算各个关节角度,相比于传统的dh方法更为直观简洁,相比利用雅可比矩阵进行迭代求解的方法计算效率更高等。
[0104]
请参照图8,基于上述实施例的多自由度单腿运动学求解方法,本技术实施例还提出一种机器人运动控制方法,该机器人包括至少一条多自由度单腿结构,例如,可以是如图2所示的双足机器人等。在该机器人运动控制方法中,这里对于机器人的每条腿均采用上述的运动学求解方法进行关节角度的求解。
[0105]
示范性地,该机器人运动控制方法包括步骤s310~330:
[0106]
s310,获取机器人的躯干与至少一足底末端在世界坐标系下的位姿。
[0107]
在机器人运动控制中,通常会预先规划机器人的躯干和/或足底末端在世界坐标系下的运动轨迹。示范性地,从规划的运动轨迹中可以获得机器人的躯干以及足底末端在世界坐标系下的位姿。可以理解,该机器人可以是仅包含一条具有上述实施例中的三旋转轴不相交的x-z-y构型的多自由度腿,也可以包含多条具有上述特殊构型的多自由度腿,这里不作限定。
[0108]
以双足机器人为例,双足机器人的双腿均具有上述特殊构型,由于双腿为对称结构,对此,本实施例可以针对每条腿采用上述实施例中的多自由度单腿运动学求解方法来计算出当前腿中的各个关节角度,从而得到机器人的所有关节角度。
[0109]
s320,根据躯干的位姿确定机器人各腿的髋侧关节和髋转关节的旋转轴交点在世
界坐标系下的位姿,以及根据足底末端的位姿确定对应腿的踝前关节和踝侧关节的旋转轴交点在世界坐标系下的位姿。
[0110]
由于机器人的躯干与每条腿的髋侧关节是直接相连的,在一种实施方式中,可直接将躯干的位置以及躯干质心到髋侧关节的旋转轴中点的距离,计算出髋侧关节的旋转轴中心的位置,同时将躯干的姿态作为髋侧关节的旋转轴中心的姿态,由此得到髋侧关节的旋转轴中心的位置与姿态,也即髋侧关节和髋转关节的旋转轴交点在世界坐标系下的位姿。
[0111]
同理,由于机器人的足底末端与踝侧关节是直接相连的,在一种实施方式中,若将踝关节的局部坐标系作为上述的足底末端,而踝关节的局部坐标系又选取为踝前关节和踝侧关节的旋转轴交点,则可直接将足底末端的位姿作为该踝侧关节的旋转轴中点的位姿,也为踝前关节和踝侧关节的旋转轴交点的位姿。
[0112]
s330,通过多自由度单腿运动学求解方法计算每条腿的各个关节角度。
[0113]
s340,根据计算的所有关节角度对机器人进行相应控制。
[0114]
于是,根据上述步骤确定的简化运动学模型中的起始节点和末端节点在世界坐标系下的位姿,可采用上述实施例的多自由度单腿运动学求解方法进行逆运动学求解,得到当前腿中各个关节的关节角度。进而,根据该关节角度来控制对应关节的旋转轴旋转,以使机器人运动到期望位置,从而实现相应的运动控制。
[0115]
请参照图9,基于上述实施例的多自由度单腿运动学求解方法,本技术实施例还提出一种多自由度单腿运动学求解装置100,其中,该单腿包括依次设置的三个旋转轴不相交的髋侧关节、髋转关节和髋前关节,及膝前关节,以及两个旋转轴相交的踝前关节和踝侧关节。下面对本技术实施例提供的多自由度单腿运动学求解装置100的具体组成进行相应描述。
[0116]
简化模型构建模块110,用于从所有关节的旋转轴中选取若干节点,将所有节点依次连接,得到基于脚踝局部坐标系建立的所述单腿的简化运动学模型,其中,所述若干节点包括作为起始节点的所述踝前关节和所述踝侧关节的旋转轴交点、作为第一中间节点的所述膝前关节的旋转轴中点、作为第二中间节点的所述髋前关节与所述髋转关节的旋转轴交点、以及作为末端节点的所述髋侧关节和所述髋转关节的旋转轴交点;
[0117]
关节角度求解模块120,用于根据获取的所述起始节点与所述末端节点在世界坐标系中的位姿,基于所述简化运动学模型中各个节点的位姿与关节角度之间的几何关系,计算所述髋侧关节、所述髋转关节、所述髋前关节、所述膝前关节、所述踝前关节和所述踝侧关节各自的关节角度。
[0118]
可以理解,本实施例的装置对应于上述实施例的多自由度单腿运动学求解方法,上述实施例中的可选项同样适用于本实施例,在此不再重复描述。
[0119]
请参照图10,基于上述实施例的机器人运动控制方法,本技术实施例还提出一种机器人运动控制装置200,下面对本技术实施例提供的机器人运动控制装置200的具体组成进行相应描述。
[0120]
获取模块210,用于获取机器人的躯干与至少一足底末端在世界坐标系下的位姿。
[0121]
确定模块220,用于根据所述躯干的所述位姿确定机器人各腿的髋侧关节和髋转关节的旋转轴交点在世界坐标系下的位姿,以及根据对应足底末端的所述位姿确定对应腿
的踝前关节和踝侧关节的旋转轴交点在世界坐标系下的位姿。
[0122]
求解模块230,用于通过上述的多自由度单腿运动学求解方法计算所述机器人每条腿的各个关节角度。
[0123]
控制模块240,用于根据计算的所有关节角度对机器人进行相应控制。
[0124]
可以理解,本实施例的装置对应于上述实施例的机器人运动控制方法,上述实施例中的可选项同样适用于本实施例,在此不再重复描述。
[0125]
本技术还提供了一种可读存储介质,用于储存上述机器人中使用的所述计算机程序。
[0126]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0127]
另外,在本技术各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0128]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0129]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献