本发明专利技术提供一种通用的足式机器人步态设计及控制方法。步态设计包括确定步态参数:StepsInGait、NrLiftedPos、TLDivFactor,HalfLiftHeigth、以及足式机器人各腿的步态周期的起始关键点位置参数,通过这些参数确定一组步态周期内的关键位置点,而控制方法通过获取机器人每条腿在一个步态周期中每一步的足端位置坐标,根据运动学模型和逆运动学求解出腿部各个关节旋转的角度。本发明专利技术将步态设计简化为步态参数设置,一组步态参数对应一种步态类型,确定一组步态周期内的关键位置点;针对不同的机器人行走步态、行走速度、抬腿高度、机身高度等控制量,提供一套通用的足式机器人足端轨迹计算方法。
【技术实现步骤摘要】
一种通用的足式机器人步态设计及控制方法
本专利技术涉及足式机器人
,尤其是一种通用的足式机器人步态设计及控制方法。
技术介绍
足式移动机器人与其他移动机器人相比,具有更高的灵活性,环境适应性,越来越受到研究人员的关注。按照机器人腿的数目来划分,可以将其分为2大类:单足机器人和多足机器人,其中,多足机器人中以四足机器人为主,这是因为,一方面从仿生学的角度考虑,高等的哺乳动物几乎都是四足的,另一方面,从对足式机器人的控制角度来看,四足机器人比双足机器人运动更加平稳,还有比较常见的六足机器人,其控制方法和四足机器人类似,相对单组机器人控制更加简单。例如,专利申请公开号:CN102267509A,专利技术名称:对称式仿生六足行走装置,采用两个结构完全一致、中心对称的上、下层套筒结构实现三角支撑机构。专利申请公开号:CN205469364U,专利技术名称:一种新型的六足机器人结构及其控制系统,该专利技术通过十八个舵机控制机器人腿的活动。专利申请公开号:CN105835984A,专利技术名称:一种六足仿生机器人,该装置足部采用仿生C型腿。机器人的步态决定了其运动的方式,因此,足机器人的步态规划显得十分重要。一般而言,目前用于足机器人步态规划主要有两大类方法,一类是基于经典运动学足端轨迹规划方法,另一类是基于仿生学方法,即模仿控制生物节律性运动的中枢模式发生器(CPG)。目前,中枢模式发生器将Hopf振荡器的输出经过简单变化,同时,将足机器人躯体姿态作为简单的比例微分反馈信号,将两者融合,作为最终的足机器人的步态控制信号,其最大缺点是对于Hopf振荡器的输出信号变化过于简化,导致足机器人在运动过程中身体俯仰和翻滚运动较大,从而使足机器人在运动过程中的稳定性低。先前基于Hopf振荡器的足机器人步态控制器,该步态控制器对动物对角步态运动细节模拟还不够,使得四足机器人在运动过程中稳定性很差。
技术实现思路
针对现有技术的不足,本专利技术提供一种通用的足式机器人步态设计及控制方法,该步态控制方法能够适用于各种足式机器人,而且控制方法简单。本专利技术的技术方案为:一种通用的足式机器人步态设计及控制方法,本专利技术在步态设计方面,将步态设计简化为步态参数设置,一组步态参数对应一种步态类型,确定一组步态周期内的关键位置点。每个步态周期具有2种状态:在地面转动和在空中摆动,每条腿的都在重复执行相同的一个步态周期,但起始位置点不同(有相位差)。该方式可快速为机器人设计多种步态并在不同步态之平滑切换;本专利技术在控制方面,针对不同的机器人行走步态、行走速度、抬腿高度、机身高度等控制量,提供一套通用的足式机器人足端轨迹计算方法,以适应各种复杂地形。所述的方法包括以下步骤:步骤1:步态设计,包括以下步骤:1)确定一个步态周期中的总步数StepsInGait,该参数确定一个步态周期内的离散点总数量;2)确定一个步态周期中在空中的步数NrLiftedPos;该参数确定一个步态周期内在空中摆动的离散点数量;3)确定一个步态周期中在地面移动的次数TLDivFactor,该参数确定一个步态周期内的前进距离可以细分为多少次实现;4)确定是否抬腿高度为最高高度的一半HalfLiftHeigth,该参数确定在一个步态周期内的空中点高度是否为一样高;5)确定足式机器人各腿的步态周期的起始关键点位置,该步骤需要考虑机器人的平衡性,同时又要形成稳定的时序差。步骤2:机器人控制方法,所述的方法通过获取机器人每条腿在一个步态周期中每一步的足端位置坐标,根据运动学模型和逆运动学求解出腿部各个关节旋转的角度,具体包括以下步骤:S1)、输入机器人的步态类型,然后输入一个步态周期内机器人在x方向的位移量InputPosX、一个步态周期内机器人在z方向的位移量InputPosZ、机器人行走高度InputPosY、一个步态周期内机器人在y方向的旋转角度InputRotY;S2)、获取每一步在x轴的坐标值的变化量GaitPosX、每一步在z轴的坐标值的变化量GaitPosZ、每一步在y轴的坐标值的变化量GaitPosY、每一步在y轴的旋转变化量GaitRotY;S3)、获取GaitRotY在x和z轴上带来的变化量cpr_x、cpr_z:Cprx=OffsetX+InitPosX+GaitPosX;cprz=OffsetZ+InitPosZ+GaitPosZ;BodyFKPosX=cprx–(cprx*cos(GaitRotY)–cpr_z*sin(GaitRotY));BodyFKPosZ=cprz–(cpr_x*sin(GaitRotY)–cpr_z*cos(GaitRotY));BodyFKPosY=0;式中,OffsetX为某条腿的的髋关节在机身坐标系下的x坐标值,InitPosX为初始站立状态下,该条腿足关节在腿部坐标系下的x坐标值,BodyFKPosX,BodyFKPosY,BodyFKPosZ分别为机器人机身旋转对机器人腿部足端坐标X,Y,Z产生的变化量;S4)、得出每条腿足部坐标位置:OutPutPosX=InitPosX+BodyFKPosX+GaitPosX;OutPutPosZ=InitPosZ+BodyFKPosY+GaitPosY;OutPutPosY=InitPosY+BodyFKPosX+GaitPosZ;在已知每条腿足部坐标位置,利用逆运动学求解各关节的旋转角度。进一步的,所述的方法还包括以下步骤:S2)、构建机器人坐标系,其中,并设定坐标系原点为机身中点,x轴为水平方向,z轴为前后方向,y轴为上下方向;S3)、建立机器人每条腿的坐标系,单条腿坐标系的原点为髋关节与机身连接点,x轴为水平方向,z轴为前后方向,y轴为上下方向。进一步的,步骤S2)中,具体包括以下步骤:a)、对确定机器人每条腿的运动顺序,并对其先后顺序进行标记;b)、先确定当前步态步数,以及该步态周期中在空中的步数;c)、若当前步态步数与相应腿序号之间的差值=0,且在空中的步数=1,则:GaitPosX=0;GaitPosY=-InputPosY;GaitPosZ=0;GaitRotY=0;d)、若该步态周期中,有2步是在空中的,且当前步态步数与相应腿序号之间的差值=1,或当前步态步数与相应腿序号之间的差值=-(StepsInGait-2),则:GaitPosX=InputPosX/TLDivFactor;GaitPosY=-3*InputPosY/(3+HalfliftHeight);GaitPosZ=InputPosZ/TLDivFactor;GaitRotY=InputRotY/TLDivFactor;式中,StepsInGait为一个步态周期中包括的步数,HalfliftHeigh本文档来自技高网...
【技术保护点】
1.一种通用的足式机器人步态设计及控制方法,其特征在于,所述的方法包括步态设计和步态控制,具体包括以下步骤:/n步骤1:步态设计,包括以下步骤:/n1)确定一个步态周期中的总步数StepsInGait,该参数确定一个步态周期内的离散点总数量;/n2)确定一个步态周期中在空中的步数NrLiftedPos;该参数确定一个步态周期内在空中摆动的离散点数量;/n3)确定一个步态周期中在地面移动的次数TLDivFactor,该参数确定一个步态周期内的前进距离可以细分为多少次实现;/n4)确定是否抬腿高度为最高高度的一半HalfLiftHeigth,该参数确定在一个步态周期内的空中点高度是否为一样高;/n5)确定足式机器人各腿的步态周期的起始关键点位置,该步骤需要考虑机器人的平衡性,同时又要形成稳定的时序差;/n步骤2:机器人控制方法,通过获取机器人每条腿在一个步态周期中每一步的足端位置坐标,根据运动学模型和逆运动学求解出腿部各个关节旋转的角度,具体包括如下步骤:/nS1)、输入机器人的步态类型,然后输入一个步态周期内机器人在x方向的位移量InputPosX、一个步态周期内机器人在z方向的位移量InputPosZ、机器人行走高度InputPosY、一个步态周期内机器人在y方向的旋转角度InputRotY;/nS2)、获取每一步在x轴的坐标值的变化量GaitPosX、每一步在z轴的坐标值的变化量GaitPosZ、每一步在y轴的坐标值的变化量GaitPosY、每一步在y轴的旋转变化量GaitRotY;/nS3)、获取GaitRotY在x和z轴上带来的变化量cpr_x、cpr_z:/nCpr x=OffsetX+InitPosX+GaitPosX;/ncpr z=OffsetZ+InitPosZ+GaitPosZ;/nBodyFKPosX=cpr x–(cpr x*cos(GaitRotY)–cpr_z*sin(GaitRotY));/nBodyFKPosZ=cpr z–(cpr_x*sin(GaitRotY)–cpr_z*cos(GaitRotY));/nBodyFKPosY=0;/n式中,OffsetX为某条腿的的髋关节在机身坐标系下的x坐标值,InitPosX为初始站立状态下,该条腿足关节在腿部坐标系下的x坐标值,BodyFKPosX,BodyFKPosY,BodyFKPosZ分别为机器人机身旋转对机器人腿部足端坐标X,Y,Z产生的变化量;/nS4)、得出每条腿足部坐标位置:/nOutPutPosX=InitPosX+BodyFKPosX+GaitPosX;/nOutPutPosZ=InitPosZ+BodyFKPosY+GaitPosY;/nOutPutPosY=InitPosY+BodyFKPosX+GaitPosZ;/n在已知每条腿足部坐标位置,利用逆运动学求解各关节的旋转角度。/n...
【技术特征摘要】
1.一种通用的足式机器人步态设计及控制方法,其特征在于,所述的方法包括步态设计和步态控制,具体包括以下步骤:
步骤1:步态设计,包括以下步骤:
1)确定一个步态周期中的总步数StepsInGait,该参数确定一个步态周期内的离散点总数量;
2)确定一个步态周期中在空中的步数NrLiftedPos;该参数确定一个步态周期内在空中摆动的离散点数量;
3)确定一个步态周期中在地面移动的次数TLDivFactor,该参数确定一个步态周期内的前进距离可以细分为多少次实现;
4)确定是否抬腿高度为最高高度的一半HalfLiftHeigth,该参数确定在一个步态周期内的空中点高度是否为一样高;
5)确定足式机器人各腿的步态周期的起始关键点位置,该步骤需要考虑机器人的平衡性,同时又要形成稳定的时序差;
步骤2:机器人控制方法,通过获取机器人每条腿在一个步态周期中每一步的足端位置坐标,根据运动学模型和逆运动学求解出腿部各个关节旋转的角度,具体包括如下步骤:
S1)、输入机器人的步态类型,然后输入一个步态周期内机器人在x方向的位移量InputPosX、一个步态周期内机器人在z方向的位移量InputPosZ、机器人行走高度InputPosY、一个步态周期内机器人在y方向的旋转角度InputRotY;
S2)、获取每一步在x轴的坐标值的变化量GaitPosX、每一步在z轴的坐标值的变化量GaitPosZ、每一步在y轴的坐标值的变化量GaitPosY、每一步在y轴的旋转变化量GaitRotY;
S3)、获取GaitRotY在x和z轴上带来的变化量cpr_x、cpr_z:
Cprx=OffsetX+InitPosX+GaitPosX;
cprz=OffsetZ+InitPosZ+GaitPosZ;
BodyFKPosX=cprx–(cprx*cos(GaitRotY)–cpr_z*sin(GaitRotY));
BodyFKPosZ=cprz–(cpr_x*sin(GaitRotY)–cpr_z*cos(GaitRotY));
BodyFKPosY=0;
式中,OffsetX为某条腿的的髋关节在机身坐标系下的x坐标值,InitPosX为初始站立状态下,该条腿足关节在腿部坐标系下的x坐标值,BodyFKPosX,BodyFKPosY,BodyFKPosZ分别为机器人机身旋转对机器人腿部足端坐标X,Y,Z产生的变化量;
S4)、得出每条腿足部坐标位置:
OutPutPosX=InitPosX+BodyFKPosX+GaitPosX;
OutPutPosZ=InitPosZ+BodyFKPosY+GaitPosY;
OutPutPosY=InitPosY+BodyFKPosX+GaitPosZ;
在已知每条腿足...
【专利技术属性】
技术研发人员:贺培,冯嘉鹏,李钟,
申请(专利权)人:广州市威控机器人有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。