法律状态公告日
法律状态信息
法律状态
2017-02-08
授权
授权
2015-05-27
实质审查的生效 IPC(主分类):G05B13/04 申请日:20141215
实质审查的生效
2015-04-29
公开
公开
技术领域
本发明属于机器人领域,尤其涉及一种仿人机器人步行模式的在线生成方 法。
背景技术
机器人是随着现代科技的发展而出现的综合学科,而仿人机器人是机器人 研究中的重要分支,其涉及到机器人制造中的各个领域,如自主行为控制、人 工智能、动态管理、机械设计等,因此仿人机器人在一定程度上代表着机器人 研究的最高水平。稳定步行是仿人机器人研究的关键问题之一。
仿人机器人要应用在各个领域,关键且首要问题是稳定行走。针对这一问 题,已有不少学者做了研究,其中,1972年由Vukobratovic和Stepanenko在 一篇关于仿人机器人控制的论文开头提出的零力矩点(ZMP,zero-moment point) 在如今仿人机器人步态控制和规划领域都得到了广泛的应用。而仿人机器人在 行走中,很容易碰到上下坡的情况,要保证其稳定性,就要求在控制规划中考 虑到这一情况,只有这样,才能使机器人具有更高的环境适应性。
中国专利号CN101323325发明了一种以被动行走为基础,通过在支撑腿 前摆过程中伸直支撑腿膝关节逐步提高机器人的重心,补入重力势能的方法。 该方法提高了机器人的行走速度,但由于运用的是开环控制,因此在稳定性方 面有所欠缺。
中国专利号CN101847009A发明了一种系统化的步态能效优化方法,解 决了高能耗产生的机器人实用化障碍,并有效的降低了机器人能耗并保证了其 稳定性。此方法较为复杂,且没有考虑机器人在行走过程中地面未必平整等问 题。
此外,在机器人行动时可能存在水平-斜面的过渡(包括如下四种情况: 先水平步行而后上坡、先水平步行而后下坡、先上坡而后水平步行、先下坡而 后水平步行),利用上世纪提出的桌子-小车模型和ZMP方法,在预观控制的 框架下可以在线生成仿人机器人在水平地面上的步行模式。
中国专利号ZL201110193236.8发明了一种斜面上的桌子-小车模型,并基 于预观控制提出了仿人机器人在斜坡上的步行模式的在线生成方法,其方法既 可用于机器人上坡,也可用于机器人下坡,在该专利中,机器人在初始时刻是 在斜面上的,而且在整个运动过程中机器人都在同一斜坡上步行。
发明内容
针对现有技术的不足,本发明提供了一种仿人机器人步行模式的在线生成 方法。
一种仿人机器人步行模式的在线生成方法,仿人机器人的步行过程包括第 一阶段和第二阶段,其中一阶段沿水平的轨迹平面运动,另一阶段沿倾斜的轨 迹平面运动,所述在线生成方法包括:
(1)在第一阶段和第二阶段的转折处增设一个过渡ZMP点,为过渡ZMP 点分配停留时长,并得到ZMP点随时间变化的曲线;
(2)按照预设的采样周期对所述的ZMP点随时间变化的曲线进行离散化 处理,得到离散ZMP序列;
(3)将离散ZMP序列在第一阶段的轨迹平面上进行分解,以在过渡ZMP 点停留时长的中点时刻对应的位置作为第一阶段步行的终点,基于相应的桌子 -小车模型和预观控制在线生成仿人机器人在第一阶段的步行模式;
(4)将离散ZMP序列在第二阶段的轨迹平面上进行分解,基于相应的桌 子-小车模型和预观控制在线生成仿人机器人在第二阶段的步行模式。
步骤(3)中进行预观控制时,当用作预观的离散点在第二阶段时,以在 过渡ZMP点停留时长的中点时刻对应的位置作为第一阶段步行的终点,避免 因第一阶段和第二阶段对应的轨迹平面不同而出现的预观控制不准的问题,从 而提高了形成的步行模式的准确性。
所述步骤(1)中通过如下方法增设过渡ZMP点:
过第一阶段内的最后一个ZMP点和第二阶段内的第一个ZMP点作水平的 轨迹平面的垂直面,第一阶段与第二阶段轨迹平面的交线与所述垂直面交点即 为过渡ZMP点。
所述步骤(1)中过渡ZMP点上分配的停留时长大于仿人机器人在其它各 个ZMP点处双足支撑的时长。
仿人机器人每个落足位置的触地时长都由1个单足支撑时长和2个双足支 撑时长构成,单足支撑时长均取为Ts,在水平面上或斜坡上的双足支撑时长均 取为Td。
为避免在平斜转折时仿人机器人运动切换造成不稳定,所述步骤(1)中 为过渡ZMP点上分配的停留时长大于仿人机器人在其它(除过渡ZMP点外的 ZMP点)各个ZMP点处双足支撑的时长。
作为优选,所述步骤(1)中过渡ZMP点上分配的停留时长为仿人机器人 在其它各个ZMP点处双足支撑的时长的1.5~4倍。进一步优选,所述步骤(1) 中过渡ZMP点上分配的停留时长为仿人机器人在其它各个ZMP点处双足支撑 的时长的3倍。
本发明采样周期τ<<min(Ts,Td),基于采样周期τ将ZMP点随时间变化 的曲线散化,得到离散ZMP点序列p(k),k为整数。
由于对ZMP点随时间变化的曲线进行离散化处理时过渡ZMP点的停留时 长的中间时刻是第一阶段和第二阶段步行模式的转折点,作为优选,所述步骤 (2)中对ZMP点随时间变化的曲线进行离散化处理时过渡ZMP点的停留时 长的中间时刻ta离散化后的离散值为:
作为优选,所述步骤(3)和(4)中将离散ZMP序列在相应的轨迹平面 上进行分解时首先设定分解坐标系,所述分解坐标系中其中一个坐标轴平行于 第一阶段和第二轨迹平面的交线。
通过以其中一个坐标轴平行于第一阶段和第二轨迹平面的交线,可以减少 依次在坐标轴上的运行分解,对于数据量较大的步行模式,处理可以有效减小 计算量,提高步行模式在线生成的效率。
与现有技术相比,本发明的仿人机器人步行模式的在线生成方法可以实现 如下四种运动情况下的路径:先水平步行而后上坡、先水平步行而后下坡、先 上坡而后水平步行、先下坡而后水平步行,适用范围广,实现简单,且增设过 渡ZMP点,大大提高了生成的步行模式的精度,以保证仿人机器人稳定步行。
附图说明
图1为ZMP点的分布示意图;
图2为增设过渡ZMP点的方法原理示意图;
图3为ZMP点随时间变化的曲线;
图4为第一阶段离散ZMP点序列。
具体实施方式
下面将结合附图和具体实施例对本发明进行详细说明。
本发明的仿人机器人步行模式的在线生成方法可以实现如下四种运动情 况下的路径:先水平步行而后上坡、先水平步行而后下坡、先上坡而后水平步 行、先下坡而后水平步行。本实施例中以先水平步行而后上坡(即第一阶段的 轨迹平面水平、第二阶段的轨迹平面倾斜向上)为例对本实施例的仿人机器人 步行模式的在线生成方法进行详细说明,具体包括如下步骤:
(1)在第一阶段和第二阶段的轨迹平面的转折处增设一个过渡ZMP点, 为过渡ZMP点分配停留时长,并得到ZMP点随时间变化的曲线;
图1为本实施例的仿人机器人在第一阶段的轨迹平面(水平面)和第一阶 段的轨迹平面(斜坡)上的落足位置,其中Fm~Fm+5(包括Fm、Fm+1、Fm+2、 Fm+3、Fm+4、Fm+5)在水平面上的落足位置,Fm+6~Fm+9(包括Fm+6、Fm+7、 Fm+8、Fm+9)在斜坡上的落足位置。
本实施例中取每个落足位置Fi的中心点为ZMP点pi,(本实施例中落足 位置Fi对应的中心点分别为Pm、Pm+1、Pm+2、Pm+3、Pm+4、Pm+5、Pm+6、Pm+7、 Pm+8和Pm+9,即i=m,m+1,……,m+9),通过如下方法在平斜转折(水平 与斜面的)处增设一个过渡ZMP点:
如图2所示,记斜面与水平面的交线为L,过直线pm+5pm+6作垂直于水平 面的平面,该平面与L的交点为pa,取pa为过渡ZMP点,即得到过渡ZMP 点。
为过渡ZMP点分配停留时长,根据其他ZMP点pi的停留时间获取ZMP 点随时间变化的曲线。
图3为本实施例的仿人机器人各个落足点的落足时间(即触地时长)和 ZMP点(包括过渡ZMP点)随时间变化的曲线,其中横轴为时间轴,不同的 纵轴高度分别代表不同的ZMP点和不同的落足位置。
带斜纹的矩形条表示各落足位置的触地时长,可以看到:仿人机器人每个 落足位置的触地时长都由1个单足支撑时长和2个双足支撑时长构成,单足支 撑时长均取为Ts,在水平面上或斜坡上的双足支撑时长均取为Td,为避免在 平斜转折时仿人机器人运动切换造成不稳定,在平斜转折处的Fm+5-Fm+6双足 支撑时长取为3Ts,这样,平斜转折前后的Fm+5和Fm+6会有稍长一些的触地时 长。
水平粗线表示在各ZMP点上的停留时长,可以看到:ZMP点pi(i≠a) 的停留时段均被相应的落足位置Fi的触地时段所覆盖,以保证水平或斜坡步 行稳定。本实施例ZMP点pi的停留时长均取为0.5Td+Ts+0.5Td;过渡ZMP点 pa的停留时段被Fm+5-Fm+6双足支撑时段所覆盖,以保证平斜转折处的步行稳 定,过渡ZMP点pa的停留时长取为2Td。
本实施例中记过渡ZMP点pa停留时段(停留时长)的中点时刻为ta,在 ta之前仿人机器人处于水平步行时段,在ta之后仿人机器人处于上坡步行时段。
(2)按照预设的采样周期对所述的ZMP点随时间变化的曲线进行离散化 处理,得到离散ZMP序列;
本实施例中采样周期τ<<min(Ts,Td),基于采样周期τ将ZMP点的轨迹 离散化,得到离散ZMP点序列p(k),k为整数。
其中,过渡ZMP点pa对应的停留时长的终点时刻ta离散化后的取值为:
(3)将离散ZMP序列在第一阶段的轨迹平面上进行分解,以在过渡ZMP 点停留时长的中点时刻对应的位置作为第一阶段步行的终点,基于相应的桌子 -小车模型和预观控制在线生成仿人机器人在第一阶段的步行模式;
考虑水平步行时段(对应于k<ka)内,根据离散ZMP点序列p(k)利用平 面上的桌子-小车模型以及预观控制在线生成仿人机器人的水平步行模式:
如图1所示,设定分解坐标系,以平行于水平面和斜坡的交线作为y轴(即 y方向),以水平面内垂直与y轴的方向作为x轴(即x方向),先将离散序列 中p(k)在水平面上按x方向和y方向进行分解,得到离散序列px(k)和序列py(k)。
本实施例中记x方向上机器人质心的加加速度为ux,在k<ka的时间段内 (即水平步行时段内),ux的指令序列记为ux(k),具体如下:
其中,qx(i)仿人机器人的足底传感器测得的机器人ZMP点pi的实际位置 在x方向上的投影,px(i)为离散ZMP序列中点pi在x方向的投影(即ZMP点 pi的期望位置在x方向的投影),rx(k)、vx(k)和ax(k)分别为x方向上机器人 质心在k时刻的位置、速度和加速度;
本实施例中记y方向上机器人质心的加加速度为uy,在k<ka的时间段内, uy的指令序列记为uy(k),具体如下:
其中,qy(i)为足底传感器测得的机器人ZMP点pi的实际位置在y方向上 的投影,py(i)为离散ZMP序列中点pi在y方向的投影(即ZMP点pi的期望 位置在y方向的投影)为期望的离散ZMP序列在y方向的投影,ry(k)、vy(k) 和ay(k)分别为y方向上机器人质心在k时刻的位置、速度和加速度;
本实施例中NL是正整数,为设定的预观长度(本实施例中为200),控制 参数Ge、Gr、Gv、Ga、Gd(l)(l=1,2,3……,NL),由预观控制器设计方法 得到。
在ux和uy的指令序列的给出式中,某些k+l可能会大于ka,即某些k+l 在水平步行时段之外,对于这些k+l,置:
px(k+l)=px(ka)若k+l>ka
py(k+l)=py(ka)若k+l>ka,
即如图4所示,在水平步行时段内仿人机器人将过渡ZMP点pa作为终点。
(4)当时间进入上坡步行时段,将ZMP序列换作在斜面上进行分解,基 于斜面上的桌子-小车模型和预观控制生成仿人机器人斜面步行模式。
考虑上坡步行时段(对应于k≥ka)内,利用p(k)、斜面上的桌子-小车模 型以及预观控制完成机器人上坡步行模式的生成。
如图1所示,设定分解坐标系,以平行于水平面和斜坡的交线作为y轴(即 y方向),以斜坡面内垂直与y轴的方向作为轴(即方向),先将离散序列 中p(k)在水平面上按方向和y方向进行分解,得到离散序列和序列py(k)。 记方向上机器人质心的加加速度为在k≥ka的时间段内,的指令序列 记为具体如下:
其中,为足底传感器测得的机器人ZMP点pi的实际位置在方向上的 投影,为为离散ZMP序列中点pi在方向的投影(即ZMP点pi的期望 位置在方向的投影),和分别为方向上机器人质心的位置、速度 和加速度;
此时,对于uy指令序列的生成方法与步骤(3)中相同。当然,在上坡步 行时段不再将pa作为终点。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说 明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明, 凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本 发明的保护范围之内。
机译: 步行诊断支持系统,步行模式生成器,步行模式生成程序和步行模式生成方法
机译: 步行模式创建装置,两足步行机器人,步行模式生成方法,两足步行机器人的控制方法,记录介质和程序
机译: 步行模式准备设备,2步步行机器人设备,步行模式准备方法,2步步行机器人设备控制方法,程序和记录介质