本发明属于机器人技术领域,具体涉及一种双足机器人在前进方向受到外部推力扰动时的步态规划与控制方法。
背景技术:
双足机器人在步行过程中不可避免地会受到各种外部扰动的影响,如何实现双足机器人在外部扰动下的稳定行走,对于它们的实际应用具有非常重要的意义。从已公开的一些仿真以及实验结果来看,双足机器人目前抗扰动能力依然较弱,鲁棒性仍然较差,特别是当双足机器人在前进方向受到外部推力扰动时,很容易发生失稳摔倒。
目前,国内外研究人员考虑双足机器人在外部推力扰动下的步态规划与控制问题时,常假设推力信息已知或可测量(包括推力的幅值以及作用位置等),然后再通过补偿控制或者跟踪控制的方法来实现稳定步行,例如文献《ontheadaptationofdynamicwalkingtopersistentexternalforcingusinghybridzerodynamicscontrol》、《event-basedstabilizationofperiodicorbitsforunderactuated3-dbipedalrobotswithleft-rightsymmetry》以及最近发表的《不确定性扰动下3-d双足机器人动态步行的鲁棒控制研究》。然而,在实际应用中,双足机器人受到的推力信息,特别是作用位置信息,很难被准确感知。在此情形下,往往难以实现有效的补偿控制或者跟踪控制,尤其是存在被动动态的情形。
技术实现要素:
为克服上述问题,本发明提供一种双足机器人在前进方向受到外部推力扰动时的步态规划与控制方法。当机器人含有欠驱动脚踝,或脚踝处于力控模式时,机器人受到的外部扰动可通过踝关节自由度(或其它与之相关的变量)的状态变化体现出来。基于该思路,本发明所提供的步态规划与控制方法对机器人的踝关节采用力控模式,然后选取一个合适的状态变量对机器人的状态进行表征,并基于简化倒立摆模型对机器人的状态进行实时估计和计算。基于本发明所提供的方法,无需对机器人受到的外部推力信息进行测量,即可实现实时反馈和控制。
本发明的技术目的通过以下技术方案实现:
一种双足机器人在前进方向受到外部推力扰动时的步态规划与控制方法,包含以下步骤:
步骤一,根据给定的机器人初始状态和末状态,规划出机器人的初始步态。其中,在初始步态下,支撑腿膝关节自由度处于锁死状态,支撑腿踝关节俯仰自由度的驱动力矩为零,以提高步行能效。
步骤二,基于简化倒立摆模型,对机器人的状态进行实时估计和计算:
首先,将机器人简化为倒立摆模型,倒立摆质心位于机器人支撑腿髋关节处,并将支撑腿脚踝与支撑腿髋关节间的连线作为虚拟腿,虚拟腿长为l,虚拟腿与竖直方向的夹角为θ。
然后,选取角度θ作为机器人的状态变量,获取机器人的当前状态
其中
上式为倒立摆模型的运动方程,其中,
其中θ0为理论初始角度值,
接着,基于机器人的当前状态
步骤三,根据步骤二的状态估计与角速度偏差计算结果,对机器人支撑脚踝关节俯仰自由度施加力矩
uankle,st=-kue
其中ku为比例系数。若uankle,st的幅值大于电机额定转矩umax,则其幅值取umax。
步骤四,基于步骤二的落地时间估计,对机器人的规划步态进行修正。根据机器人的当前状态以及给定的末状态,选取落地时间tland作为步行时长对机器人重新规划步态。
进一步地,采用三次贝塞尔多项式对机器人重新规划步态,贝尔塞多项式的系数根据机器人的当前状态以及给定的末状态来进行确定。
本发明的有益效果在于:本发明提供了一种双足机器人在前进方向受到外部推力扰动时的步态规划与控制方法。该方法对机器人的踝关节采用力控模式,然后选取一个合适的状态变量对机器人的状态进行表征,并基于简化倒立摆模型对机器人的状态进行实时估计和计算。本发明方法通过支撑腿脚踝、支撑腿髋关节间的连线与竖直方向的夹角θ反应机器人受到的前进方向的外部推力,无需对机器人受到的外部推力信息进行测量,即可实现实时反馈和控制。
附图说明
图1为11自由度双足机器人的模型示意图,其中a为前向平面,b为侧向平面;
图2为双足机器人的简化倒立摆模型;
具体实施方式
以下结合附图和实施例对本发明作进一步说明。
如图1所示,本实施例考虑具有11个自由度的双足机器人,qankle,roll为支撑脚踝关节在前向平面内的自由度,qankle,st为支撑脚踝关节俯仰自由度(在侧向平面内的自由度),qknee,st为支撑腿膝关节自由度,qyaw,st为支撑腿髋关节的转动自由度,qroll,st为支撑腿髋关节的摆动自由度,qpitch,st为支撑腿髋关节的俯仰自由度,qyaw,sw为摆动腿髋关节的转动自由度,qroll,sw为摆动腿髋关节的摆动自由度,qpitch,sw为摆动腿髋关节的俯仰自由度,qknee,sw为摆动腿膝关节自由度其中,qankle,sw为摆动腿踝关节俯仰自由度,其中,qankle,roll是没有电机驱动的欠驱动自由度。
本发明所提供的一种双足机器人在前进方向受到外部推力扰动时的步态规划与控制方法,包含如下步骤:
步骤一,根据给定的机器人初始状态和末状态,规划出机器人的初始步态。在初始步态下,为使机器人支撑腿长度尽量保持不变,机器人支撑腿膝关节角度qknee,st处于锁死状态。此外,使支撑腿踝关节俯仰自由度qankle,st的驱动力矩为零。机器人的关节轨迹可规划为如下三次贝塞尔多项式:
其中qst=[qknee,st,qyaw,st,qroll,st,qpitch,st]t表示机器人支撑腿的驱动自由度,qsw=[qyaw,sw,qroll,sw,qpitch,sw,qknee,sw,qankle,sw]t表示机器人摆动腿的驱动自由度,
步骤二,基于简化倒立摆模型,对机器人的状态进行实时估计和计算:
首先,将机器人简化为倒立摆模型,倒立摆质心位于机器人支撑腿髋关节处,并将支撑腿脚踝与支撑腿髋关节间的连线作为虚拟腿,虚拟腿长为l,虚拟腿与竖直方向的夹角为θ,如图2所示。在本实例中,θ的具体表达如下:
θ=qankle,st+0.5qknee,st
然后,选取角度θ作为机器人的状态变量,获取机器人的当前状态
其中
上式为倒立摆模型的运动方程,其中,
其中θ0为理论初始角度值,
接着,基于机器人的当前状态
其中
步骤三,根据步骤二的状态估计与计算结果,对机器人支撑脚踝关节俯仰自由度施加力矩
uankle,st=-kue
其中ku为比例系数,该比例系数可以根据电机和实验效果来进行确定,本实施例中采用40。若uankle,st的幅值大于电机额定转矩umax,则其幅值取umax。
步骤四,基于步骤二的落地时间估计,对机器人的规划步态进行修正。根据机器人的当前状态以及给定的末状态,选取落地时间tland作为步行时长,并基于三次贝塞尔多项式重新规划步态,贝尔塞多项式的系数根据机器人的当前状态以及给定的末状态来进行确定。
本发明方法通过支撑腿脚踝、支撑腿髋关节间的连线与竖直方向的夹角θ反应机器人受到的前进方向的外部推力,无需对机器人受到的外部推力信息进行测量,即可实现实时反馈和控制。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。