本发明涉及仿人机器人控制技术领域。具体而言,是一种仿人机器人自学习控制方法。
背景技术:
仿人机器人是一个自由度多、结构复杂、耦合性强的非线性系统,其中步行稳定性问题是仿人机器人领域重要的基础性问题。由仿人机器人步行稳定性理论可知,当机器人的零力矩点在支撑足底的稳定区域内时,机器人可实现稳定步行。但由于存在外力干扰、模型误差等不确定因素的影响,在步行过程中机器人的零力矩点轨迹会偏离预定轨迹,如果不及时加以控制将会影响步行稳定性。传统机器人的控制方法通常基于经典控制理论,通过单关节或双关节的控制实现稳定步行,当机器人进入新环境,则原有控制算法通常需要进行较大的修改,才能达到预期的控制效果。此外,当机器人偏离预定轨迹时,仅通过单关节或双关节的控制有时难以实现预期的控制目标。
技术实现要素:
为解决上述问题,本发明提出了一种仿人机器人步态自学习控制方法。该技术方案从能耗、水平方向及垂直方向的稳定程度三方面分别制定性能评估指标,通过对机器人步态样本的学习得到各关节角与零力矩点误差之间的非线性关系,并根据机器人步行过程中的实际零力矩点误差对各关节进行控制,实现稳定步行。
其整体控制框图如图1所示,其中,
在上述方案中,所述的一种仿人机器人步态自学习控制方法首先从能耗、水平方向及垂直方向的稳定程度三方面对机器人步行质量进行评估,并设计了性能评估指标,分别是能量效率裕度
其中,
在上述方案中,所述的自学习控制方法根据能量效率裕度
在上述的方案中,所述自学习控制方法采用单隐层神经网络对机器人步态样本进行学习,并得到各关节角与零力矩点误差之间的非线性关系;该非线性函数表达式为:
其中,
在上述的方案中,所述自学习控制方法根据样本优劣系数的大小对样本进行学习,样本优劣系数越大的给予更高的关注度。
在上述的方案中,所述控制方法根据机器人步行过程中的零力矩点误差实时调整各关节角,以达到稳定步行的目的。
本发明的优点在于:从能耗、稳定性方面全面评估样本质量,通过设计样本优劣系数使得高质量的样本在步态学习中获得更高的关注度,有效提高了控制性能。
附图说明
图1为自学习算法框图。
图2为zmp轨迹图。
图3能量消耗比较图。
具体实施方式
下面结合附图和实施例进一步说明本发明的实施过程
在本实例中,首先从能耗、水平方向及垂直方向的稳定程度三方面对机器人步行质量进行评估,并设计了性能评估指标,分别是水平方向稳定裕度
在本实例中,根据能量效率裕度
根据以上目标,可设计如下样本优劣系数:
其中,a,b为可调整系数,并满足
在本实例中,所述自学习控制方法采用单隐层神经网络对机器人步态样本进行学习,并得到各关节角与零力矩点误差之间的非线性关系;为此,设计如下目标函数。
其中,
根据kkt优化条件及拉格朗日乘子法,可得
其中,h为隐含层输出矩阵,具体为
最终各关节角的矫正量
下面,采用仿真实验验证本发明所提的控制方法的性能,主要仿真平台采用matlab2010b版本。为验证各种步态下所提控制方法的性能,整个步行实验包含三种步态,分别是起步步态、周期步行步态、止步步态,每个步行周期持续1.2s,其中,起步步态持续一个周期,周期步态持续两个周期,止步步态为一个周期。为比较性能,将本发明所提控制方法与传统基于零力矩点的控制方法相比较,其x方向零力矩点轨迹比较图以及能量效率比较图分别如图2、3所示,其中,实线代表本发明所提方法,双划线代表传统基于零力矩点的控制方法。
由仿真结果可看出,采用本发明所提算法在能量效率方面有更好的控制效果,同时,通过样本学习的控制方式在应用方面具有更好的普适性。