仿人机器人爬楼步态规划与控制的方法与相关技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图片简介:

本技术提供一种仿人机器人爬楼步态规划与控制的方法。本技术以搭建的机器人物理样机模型作为本研究的参考对象,对其进行运动学建模、稳定性分析,设计出能够满足稳定条件的步态规划方法,并提出了一种基于DQN算法的步态优化方法。进而,对机器人腿部进行动力学建模与联合仿真,验证所提出算法的合理性与可行性,最后将最终得到的步态实验结果在物理样机上进行试验,进一步证明算法的有效性,达到理想结果。本技术将传感器信息进行融合,记忆步态并选取最优,调整步态参数,从而达到在线步态优化的目的获得更准确的机器人步态,对约束环境下的仿人机器人步态规划和控制有着指导价值。

技术要求

1.一种仿人机器人爬楼步态规划与控制的方法,其特征在于,具体步骤如下:

步骤(1)、根据机器人物理样机的自由度,建立运动学模型;

首先采用D-H矩阵法对机器人的双腿进行运动学建模并采用逆运动学求解方法求出各个关节的准确角度;

假定机器人刚开始运动时右腿为支撑腿,将右腿踝关节中心设置为世界坐标系{G};髋、踝、膝关节处X、Y、Z轴的方向确定方法为:

X轴:第i与i+1轴线的公法线,指向第i+1轴线,i表示第i个关节;

Z轴:第i个关节的旋转中心轴方向,可以指向任何方向;

Y轴:根据右手定则,通过X、Z轴的方向来确定;

当两个关节的Z轴线相交时,选取两个轴的交叉乘积方向作为X轴,每个关节的坐标系只能绕Z轴旋转;

齐次坐标变换矩阵,即位姿变换矩阵的通式为:

式中,n为坐标系{j}的原点在{i}中的坐标分量,o、a、p分别为X、Y、Z轴对{i}的余弦;结合腿部模型对式(1)进行推理,获得一般表达式:

式中,Ci为cosθi缩写,Si为sinθi缩写,αi-1为绕Xi-1轴旋转的角度;ai-1为沿Xi-1轴平移的距离;θi为绕Zi轴旋转的角度;di为沿Zi平移的距离;通过式(2),将任意一点在坐标系{i+1}中的位置转换到坐标系{i}中,得到的位姿矩阵分别为:

式(3)所得矩阵为本技术所研究机器人腿部的正运动学方程;将机器人腿部各个关节变量的值引入公式中,可以求出机器人腿部连杆结构的位置姿态;机器人各关节坐标系{i}到世界坐标系{G}的位姿变换矩阵如下:

给定机器人右腿在基准坐标系中的位姿为(P0,R0),根据左、右两腿对称且相等的特性,设定左腿根部位姿为(P7,R7);

机器人左腿髋关节的位置为:

P7=P6+R6[0 d4 0]T (5)

根据踝关节坐标系获得髋关节的位置矢量:

根据式(5)、(6)可以求得两个关节之间的距离

根据求出膝关节角度θ3为:

踝关节的滚动角和俯仰角可以根据矢量p求出,公式如下:

其中,当x≥0时sign(x)返回+1,当<0时sign(x)返回-1;

髋关节各连杆之间的位姿关系如下:

R0=R7R(θ6)Rx(θ5)Ry(θ4)Ry(θ3+θ2)Rx(θ1) (9)

由于位姿直接存在以下关系:

因而推算出:

步骤(2)、采用DQN算法对仿人机器人爬楼步态进行优化

DQN算法的全称为深度Q网络(Deep Q Network)算法,是一种对强化学习经典算法Q-Learning算法的改进,DQN算法将Q-Learning的优点与Neural networks相结同时拥有一个用于学习过往经历的回忆记忆库,不用对环境模型进行学习,而是直接用求解值函数的模型无关强化学习算法;

针对本技术所搭建的七连杆模型,采用DQN算法通过用值函数近似(Q(s,a)=f(s,a))的方法得到Q值,来解决维度问题;DQN算法在Q-Learning算法基础上作出以三点改进:

1.引入经验回放Experience replay;

2.使用q_target更新target;

3.通过Q(s,a)=f(s,a)计算Q值;

在DQN算法中引入经验回放,通过记忆单元(Memory)存储每次行走时产生的步态数据,在每次进行参数更新时从记忆单元中调取数据,进行对比产生最优;

在机器人行走步态涉及的状态空间Y中,DQN算法只将状态S作为输入,输出[Q(s,a1),Q(s,a2),Q(s,a3)]矩阵;状态空间Y包含状态S,矩阵对应在该状态S下所有态-动作值会产生的奖惩值γ,通过记忆单元的经验回放学习,获得该状态和矩阵之间的数学关系,从中选取最优的步态;

由于存在导致机身不稳定因素,在对质心进行调整时,要将步行时的动作action离散为前向、侧向两个方向,即X轴、Y轴方向;在左腿为支撑腿阶段,机器重心落在左腿上,机器人的稳定性依靠左腿的髋关节、膝关节和踝关节舵机来控制;选择仿人机器人位姿信息中最能直接映现其稳定性的信息,即关节角度状态s;

前后方向控制时DQN算法学习的状态输入为:

sq_t={θ3(t),θ2(t),θ1(t),θxz(t)} (14)

其中,θxz(t)为t时刻X-Z平面绕躯干坐标系轴的角度,状态值st(st∈S);输出在线调整值

aq(t)=[θ6′(t),θ4′(t),θ5′(t)] (15)

左右方向控制时状态输入为:

sl_t={θ6(t),θ4(t),θyz(t)} (16)

输出行为定义为:

al(t)=[θ3′(t),θ1′(t)] (17)

其中,sq_t为前后方向输入,sl_t为左右方向输入,aq(t)为前后方向控制时的输出,al(t)为左右方向控制时的输出,θyz(t)为t时刻Y-Z面绕躯干坐标系轴的角度,θ1′(t)、θ2′(t)、θ3′(t)分别为各关节对应的调整后的角度;右腿的输入状态、输出定义与左腿相同;

设置奖励值,以判断仿人机器人是否摔倒为奖惩机制;摔倒时奖惩值为-10,稳定行走时奖惩值为+10;其中,当θxy(t)≥45°时机器人摔倒,当0°<θxy

器人稳定行走,不存在θxy(t)≤0°的情况;

步态算法的在线学习优化过程如下:

相关文档
最新文档