一种基于SLIP的并联腿足机器人运动控制方法及系统
技术领域
本发明属于机器人运动控制技术领域,具体涉及一种基于SLIP的并联腿足机器人运动控制方法及系统。
背景技术
当前针对腿足机器人的设计多使用串联结构,串联弹性驱动(SEA)为一种代表驱动方式,中国专利CN102874339B,提出了一种串联关节单腿机器人,将两个关节电机均安装在髋部,使用串联弹簧储能机制对机器人进行运动调节,但并不是并联结构腿足机器人,弹簧处于腿部机构和电机之间,弹簧实际长度无法由电机直接进行控制,所以弹簧震荡难以控制,弹簧无法直接提供力矩。而并联弹性驱动(PEA)的腿足机器人由于驱动器可直接控制机器腿末端,有良好的稳定性和启动力矩大等优势,然而目前针对并联腿足机构的动态跳跃研究较少,尚无在并联结构上实现连续跳跃的研究发明。因此,在现有并联腿足机器人结构基础上开发连续跳跃运动规划,以实现比串联弹性驱动更好的动态运动效果,是一个亟待解决的问题。现有腿足机器人大多为串联结构,较少使用并联弹性作为驱动方式,特别是针对连续跳跃的运动控制问题。但串联腿足机器人其所用弹簧仅起到缓解冲击或者测量力矩等作用,并未直接对增加关节力矩起到积极作用。可见,现有的腿足机器人跳跃能力不足,连续跳跃时对高度的控制不稳定,现有腿足机器人的运动规划方法,大多只针对串联结构设计,没有涉及并联弹性结构的动作规划,尤其是动态连续跳跃。
弹簧负载倒立摆(SLIP)是一款针对动物及机器人连续跳跃运动的动力学简化模型,将实际机器人与之结合即可实现机器人的连续跳跃控制。中国专利CN103738427B,提出了一种空中姿态可调单腿机器人机构,可以实现连续跳跃,但其结构中使用陀螺仪和较多齿轮及钢丝绳,对其驱动回差有影响,不利于机器人连续跳跃的动态性能。现有论文基于弹簧负载倒立摆模型的仿袋鼠机器人稳定跳跃控制,提出了基于弹簧负载倒立摆模型的稳定跳跃控制方法,但其局限于SLIP模型自身,并不是针对并联腿足机器人的模型,现有的SLIP模型及串联腿足机器人的结构与现有的并联腿足机器人的结构有较大差异,因此现在的SLIP模型及其控制方法不能直接用于并联腿足机器人。
发明内容
有鉴于此,本发明提供了一种基于SLIP的并联腿足机器人运动控制方法及系统,能够提高现有腿足机器人在任意地面条件下连续跳跃的能力,实现连续原地起跳及落地缓冲,跳跃过程中保持最高点高度恒定且可调。
为实现上述目的,本发明的基于SLIP的并联腿足机器人运动控制方法,包括如下步骤:
步骤1,针对并联弹性的单腿机器人结构,建立连杆-弹簧模型;
其中所述单腿机器人的腿部结构为平行四边形组成的连杆,其中,电机和足部位置分别为平行四边形连杆的上下两个关节;平行四边形连杆的左右两个关节为膝部关节,并通过弹簧相接;
连杆-弹簧模型中,将单腿机器人的所有腿部质量转化到单腿机器人的电机轴心处,并作为模型的质心,将电机所在的关节作为主动关节;
步骤2,将连杆-弹簧模型中的电机力矩和弹簧力距转化到质心的垂直方向上,得到SLIP模型,将电机力矩和弹簧距力对应在SLIP模型中作用力的合力作为虚拟弹簧力;其中,弹簧力矩是连杆-弹簧模型中的弹簧力在主动关节端的等效力矩;
步骤3,使用所述虚拟弹簧力对机器腿的运动状态进行控制;
其中,对于单次跳跃,在起跳过程中赋予虚拟弹簧刚度增量k使得连续跳跃时跳跃最大高度保持在目标值;所需刚度增量k满足:
其中,ΔE=是所需补充能量,Δl是落地后虚拟弹簧长度压缩距离;
ΔE=Mg·(hdesire-hmax)+ΔEl,其中,M是机器人总质量,g是当地重力加速度,hdesire是本次目标跳跃高度,hmax是上一次实际跳跃高度,ΔEl指上一次跳跃所消耗的能量。
其中,所述步骤2中,得到SLIP模型的虚拟弹簧力具体方式如下:
首先将弹簧力以及电机力矩转化到主动关节端,具体如下:
τGRF=τspr-τm
其中τGRF是连杆-弹簧模型中的虚拟弹簧力在主动关节端的等效力矩,τm是电机力矩,τspr是连杆-弹簧模型中的弹簧力在主动关节端的等效力矩,通过虚位移原理将弹簧力转化到主动关节端获得;
根据雅克比矩阵J以及虚拟弹簧力在主动关节端的等效力矩,得到SLIP模型的虚拟弹簧力。
其中,将弹簧力转化到主动关节端的虚位移原理为:
Fspring·δl=τspr·δθ
其中,Fspring是连杆-弹簧模型中的弹簧拉力,δl是弹簧长度,δθ是主动关节转动角度的虚位移。
其中,所述步骤2中,虚拟弹簧力fspr来源是:
fspr=Fspr-Fm
其中,Fspr转换成垂直方向力后的弹簧力矩,Fm是转换成垂直方向力后的电机力矩;
所述步骤3中,对虚拟弹簧力fspr进行控制的目标是:
fspr=kvir(x-xd)
其中kvir是设定的虚拟刚度,xd是设定的虚拟弹簧原长,x是机器人当前虚拟弹簧长度;
通过对虚拟弹簧原长xd和虚拟刚度kvir进行设置实现对腿部运动效果的调整。
本发明还提供了一种基于SLIP的并联腿足机器人运动控制系统,包括主控制器、编码器、姿态传感器、足端力传感器、驱动器及电机,其中编码器用于读取两个主动关节的角度值,将数据传入主控制器;姿态传感器用于记录机器人躯干的加速度,将数据传入主控制器;足端力传感器用于将当前的地面作用反力值传回主控制器;主控制器根据接收到的信息向驱动器发出目标虚拟弹簧力控制指令以及能量补充指令;驱动器读取主控制器发出的指令对电机进行控制,电机用于驱动腿部连杆运动,采用本发明基于SLIP的并联腿足机器人运动控制方法进行运动控制。
其中,对于目标虚拟弹簧力控制,所述主控制器先对编码器采集的角度信息进行单位换算,求出足端相对身体的距离,并求出对应的虚拟弹簧刚度及虚拟弹簧原长下所需的主动关节力矩;
对于能量补充,所述主控制器首先通过足端力传感器传回的读值是否大于设定阈值来判断机器腿当前运动状态,包括空中相和落地相;其次,在空中相时使用姿态传感器所采集垂直方向加速度所求积分获得当前机器人高度信息,并在最高点时记录下本轮跳跃最高点高度,求出与目标高度的差值以及对应的所需补充能量值;最后,在随后的落地相中当机器人达到最低点时,求出当时质心最低点高度,求出起跳过程中所需的虚拟弹簧刚度增量,并将此增量作用到虚拟弹簧控制程序中。
有益效果:
本发明提供了一种基于SLIP的并联腿足机器人运动控制方法及系统,基于弹簧与腿部机构为并联关系下的一维线性SLIP模型,根据腿足机器人实际结构尺寸和驱动器特性,对并联腿足机器人的连续跳跃运动进行控制,在实现最大高度可控的连续跳跃动作时,弹簧实际长度可以由电机直接进行控制,实现对弹簧震荡的控制,保证机器人的稳定性,增强机器人的动态运动性能及环境适应能力,增加腿足机器人的应用场合。
附图说明
图1为本发明的连杆-弹簧模型示意图。
θ1,θ2是连杆L1、L2所转动角度,τm1,τm2是关节1、2所提供力矩,Fspring是并联对角弹簧拉力,FGRF是地面反作用力,LS是弹簧长度。
图2为本发明的一维线性SLIP模型示意图。
k
vir是虚拟弹簧刚度,f
spr是虚拟弹簧力,x,
分别是垂直方向位置、速度和加速度,M是机器人总质量,g是重力加速度,F
GRF是地面作用反力。
图3为本发明能量补充机制示意图。图中GRF指的是足端地面反作用力。
图4为本发明控制系统示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明所提出的基于SLIP的并联腿足机器人运动控制方法,包括如下步骤:
步骤1,针对并联弹性的单腿机器人结构,建立连杆-弹簧模型;
其中所述单腿机器人的腿部结构为平行四边形组成的连杆,其中,电机和足部位置分别为平行四边形连杆的上下两个关节;平行四边形连杆的左右两个关节为膝部关节,并通过弹簧相接;
连杆-弹簧模型中,将单腿机器人的所有腿部质量转化到单腿机器人的电机轴心处,并作为模型的质心,将直接由电机驱动的单腿机器人关节作为主动关节;
其中,建立连杆-弹簧模型具体过程如下:
将并联弹簧腿式机器人按照连杆-弹簧模型进行建模,连杆-弹簧模型如图1所示,所述连杆-弹簧模型中,身体质心坐标系下并联弹簧腿式机器人足端位置坐标是:
其中,θ1是连杆L1所转动角度,θ2是连杆L2所转动角度;
对应的雅克比矩阵J是:
安装在其中的并联弹簧长度LS机器人结构(平行四边形对角线长度)确定。
其中,所述并联弹簧长度Ls满足:
Ls2=(L4sinθ2+L1sinθ1)2+(L4cosθ2-L1cosθ1)2
其中,L4是机器人腿杆长度。
步骤2,将连杆-弹簧模型中的电机力矩和弹簧力距转化到质心的垂直方向上,得到SLIP模型,将电机力矩和弹簧力距对应在SLIP模型中作用力的合力作为虚拟弹簧力;其中,弹簧力矩是连杆-弹簧模型中的弹簧力在主动关节端的等效力矩。
具体过程为:
将连杆-弹簧模型中的电机力矩和弹簧力距转化到质心的垂直方向上,即拟合成一个SLIP模型,SLIP模型为一维线性模型,如图2所示。所述步骤2中,得到SLIP模型的虚拟弹簧力具体方式如下:
首先将弹簧力转化到主动关节端,具体如下:
τGRF=τspr-τm
其中τGRF是连杆-弹簧模型中的虚拟弹簧力在主动关节端的等效力矩,τm是电机力矩,τspr是连杆-弹簧模型中的弹簧力在主动关节端的等效力矩,通过虚位移原理将弹簧力转化到主动关节端获得;
根据雅克比矩阵J以及虚拟弹簧力在主动关节端的等效力矩,得到SLIP模型的虚拟弹簧力。
其中将弹簧力转化到主动关节端的虚位移原理为:
Fspring·δl=τspr·δθ
其中,Fspring是连杆-弹簧模型中的弹簧拉力,δl是弹簧长度,δθ是主动关节转动角度的虚位移。
步骤3,使用SLIP模型中的所述虚拟弹簧力对机器腿的运动状态进行控制;
在构建虚拟弹簧系统后,原腿足机构可视作线性弹簧使用,将其于高处落下后可在地面实现多次连续跳跃。但由于与地面接触有能量损耗,该机构的连续跳跃将不断衰减。为缓解这一现象,实现连续等高度跳跃,现引入能量补充机制,能量补充机制如图3所示。其中,对于单次跳跃,所需补充能量为:
ΔE=Mg·(hdesire-hmax)+ΔEl
其中,其中,M是机器人质量,g是当地重力加速度,hdesire是本次目标跳跃高度,hmax是上一次实际跳跃高度,ΔEl指上一次跳跃所消耗能量(假定每周期都相等)。
所需改变刚度值得转换式为:
其中Δl指落地后虚拟弹簧长度压缩距离,所述落地后虚拟弹簧长度压缩距离通过连杆-弹簧模型计算后转化得到;k为所需刚度增量。对于单次跳跃,在起跳过程中赋予虚拟弹簧刚度增量k使得连续跳跃时跳跃最大高度保持在目标值。
具体地,所述步骤2中,虚拟弹簧力fspr来源是:
fspr=Fspr-Fm
其中,Fspr和Fm分别是转换成垂直方向力后的电机力矩;
所述步骤3中,对虚拟弹簧力fspr进行控制的目标是:
fspr=kvir(x-xd)
其中kvir是设定的虚拟刚度,xd是设定的虚拟弹簧原长,x是机器人当前虚拟弹簧长度;
通过对虚拟弹簧原长xd和虚拟刚度kvir进行设置实现对腿部运动效果的调整。
本发明还提供了一种基于SLIP的并联腿足机器人运动控制系统,在机器人实物上设计对应的反馈量采集及使用,实现机器人的连续跳跃运动控制。该机器人的连续跳跃运动控制系统框图如图4,包括主控制器、编码器、姿态传感器、足端力传感器、驱动器及电机,其中编码器用于读取两个主动关节的角度值,将数据传入主控制器;姿态传感器用于记录机器人躯干的加速度,将数据传入主控制器;足端力传感器用于将当前的地面作用反力值传回主控制器;主控制器根据接收到的信息向驱动器发出目标虚拟弹簧力控制指令以及能量补充指令;驱动器读取主控制器发出的指令对电机进行控制,电机用于驱动腿部连杆运动。
其中,主控制器安装在机器人外部,通过通信电路与电机驱动器相连;电机驱动器安装在机器人身体平台上;编码器安装在机器人两个主动关节端;姿态传感器安装在机器人身体平台上;足端力传感器安装在足端底部。
目标虚拟弹簧力控制具体为:先对编码器采集的角度信息进行单位换算,求出足端相对身体的距离,并求出对应的虚拟弹簧刚度及虚拟弹簧原长下所需的电机力矩。
能量补充具体为:首先,通过足端力传感器传回的读值是否大于设定阈值来判断机器腿当前运动状态,包括空中相和落地相;其次,在空中相时使用姿态传感器所采集垂直方向加速度所求积分获得当前机器人高度信息,并在最高点时记录下本轮跳跃最高点高度,求出与目标高度的差值以及对应的所需补充能量值;最后,在随后的落地相中当机器人达到最低点时,求出当时质心最低点高度,求出起跳过程中所需的虚拟弹簧刚度增量,并将此增量作用到虚拟弹簧控制程序中。
主控制器将电机力矩对应的电流信号发送给驱动器,由驱动器对所控电机进行控制,电机驱动腿部连杆运动。至此,该并联弹簧机器腿即可实现虚拟弹簧效果,在空中落下后可凭借自身性能弹起,并且具有能量补充机制,可以实现连续跳跃。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。