APP下载

足式机器人弹簧负载倒立摆模型控制方法研究❋

2014-07-20徐贝贝李艳杰

机械工程与自动化 2014年4期
关键词:状态变量腿部机身

徐贝贝,李艳杰,王 争

(1.沈阳理工大学 机械工程学院,辽宁 沈阳 110159;2.中国科学院 沈阳自动化研究所,辽宁 沈阳 110016)

0 引言

从20世纪60年代开始,美国和日本就对足式机器人进行了深入研究。其中,比较有代表性的作品有早期的 KUMO-I和PV-II以及后来的 TITAN 系列[1],近年来对足式机器人的研究影响最大的还是美国波士顿动力学公司,其代表作先后有BigDog、Atlas和CHEETAH,其中,BigDog可以说是现代足式机器人的最高代表[2]。在BigDog如此显著的性能中,最突出也是最基础的一点是其高速的奔跑能力,作为动步态控制的最经典最优秀的作品,其控制系统所采用的核心思路和方法是本文所关心的内容。本文主要对足式机器人单腿系统进行研究,首先深入探究Raibert的SLIP建模与“三分控制”方法,然后围绕这个理论方法借助MATLAB与ADAMS等软件建立仿真环境,进而论证该方法的合理性与可行性。

1 足式机器人弹跳控制问题描述

仿生学和动物学的研究发现,尽管哺乳动物的运动形式和步态具有多样性,但其步态周期基本都具有“伸长-着地-发力-离地-回缩”这样的运动循环,生物在运动过程中通过肌腱等储能元件减小落地冲击,并实现能量的存储和再利用。学者研究发现,生物的这些运动特点与形式可以用弹簧负载倒立摆的模型(SLIP)等效简化。SLIP模型由等效质量、等效腿长和等效腿部刚度3个结构参数组成,运动描述由质心二维坐标(腾空相)以及等效腿长、蹬踏角度(支撑相)两维运动状态变量组成。

2 “三分法”控制原理

弹跳模型奔跑时在重力作用下加速下落直到与地面碰撞,在接触期间,腿部发生弹性变形来吸收身体的动能直到最低点,之后又将弹性势能释放增加身体的动能直到足离开地面。三分控制算法是将弹跳模型分解为3个部分来控制:①通过在每一个弹跳周期给弹簧进行固定的能量补充,控制弹簧负载倒立摆模型的弹跳高度;②通过控制足在着地瞬间相对于机心的距离来控制机心的前向速度;③ 通过控制弹簧负载倒立摆着陆期间身体和腿之间的力矩来调节身体姿态的水平。

2.1 弹跳运动

控制系统的第一部分是规划引起跳跃模型周期性运动的弹跳力的大小。在每一次的支撑期间,控制系统需要在腿部加上竖直方向的推力以维持系统的振荡和达到想要的跳跃幅值。因为每次跳跃周期所损失的能量都是相同的,所以在每个弹跳周期中只需施加相同的给定力,便可使腿部达到指定的弹跳高度。

2.2 前进运动

单腿跳跃模型控制系统的第二部分是考虑弹跳的前进速度和加速度的控制。在SLIP模型中,足在着地瞬间相对于机体的位置对随后的支撑相有很大的影响。当着地点位于合适位置时,前后两周期飞行最高点前进速度不变,该位置为中点[3],如图1 所示;当着地点位置超过中点时,下个周期飞行最高点前进速度减小;当着地点未到中点时,下个周期飞行最高点前进速度增大,如图2 所示。也就是说对足的位置的控制,将决定机体在下一个飞行相时是按之前的速度运动还是加速或者减速运动。

为了计算出足相对于机体的合适位置,控制系统根据简化的腿部系统模型(如图3 所示)的几何关系,利用实际的前进速度和理想的目标前进速度按照下面的公式对前进速度进行控制。

图1 SLIP模型的对称性

图2 SLIP模型的非对称轨迹

图3 弹跳模型原理图

足相对于机体质心的距离xf为:

腾空相时机体与腿部夹角的理想值ψd为:

其中:φ为机身俯仰角;r为腿长。由PID算法求得的腾空相时作用在髋关节的矩τ1为:

其中:ψ为机身与腿之间的夹角;kp1和kv1为PID系数。

2.3 机体姿态调整

控制系统第三部分的任务就是稳定身体的俯仰角以使模型直立。在腿和机体之间的髋关节上施加矩就会改变机体的俯仰角。在支撑阶段,髋部的线性伺服执行器会调整身体到竖直的姿态。支撑相时作用在髋关节的矩τ2为:

其中:φd为俯仰角的目标值;kp2和kv2为PID系数。

3 机械系统的仿真分析

3.1 机械模型的建立

由于弹簧负载倒立摆模型简单,本文选择直接在ADAMS中建立几何模型,然后对每个零部件进行编辑,并定义其材料、质量、转动惯量等相关属性。得到的弹簧倒立摆模型如图4 所示。要进行仿真分析还需要为建立的ADAMS模型定义约束及驱动,本模型中,在机体和腿之间的髋关节处有一旋转副,缸和腿之间有一滑动副,缸和足底之间安装有弹簧用来储能。

图4 弹簧倒立摆模型

3.2 联合仿真系统模型的建立

根据三分控制算法,需要建立6个输出状态变量和2个输入状态变量,之后需要将驱动与输入状态变量建立关系、测量显示量与输出状态变量建立关系 。因为在ADAMS/Controls模块的输入、输出设置中还不能直接使用状态变量,需要将这些状态变量定义为输入、输出宏,完成将输入、输出宏导出的设置之后,就会在当前的ADAMS目录中产生3个用于联合仿真的文件,即保存ADAMS/Controls输入和输出信息的MATLAB程序文件.m、ADAMS/View 命令文件.cmd、ADAMS/Solver命令文件.adm。在 MATLAB中调用ADAMS/Controls模块,显示已定义的联合仿真系统所需要的输入、输出变量,在SIMULINK中调用ADAMS模型封装好的函数adams_sys,就可以将该子函数运用于所搭建的控制系统中。图5 为对应三分法搭建的控制系统模型。

图5 对应三分法搭建的联合仿真系统

3.3 仿真结果分析

图6 为联合仿真结果。由图6 (a)可以看出,通过周期性地给弹簧施加固定的压力来补偿每一周期中损失的能量,可以使机心弹跳高度维持在固定值0.8m;在理想速度为2m/s的情况下,用三分控制方法可以使弹跳模型机身的水平速度在飞行相时维持在稳定的2m/s上(见图6 (b));运动开始阶段,作用于机身和腿部的矩,通过控制足相对于机身的位置而使机身达到相应的速度,这就会使机身的俯仰角增大,在紧接着的支撑相,开始调整机身姿态,由于奔跑速度快,支撑相的时间短,机身的俯仰角不能完全调整到零,也就是说当机体前进速度越快时,机身俯仰角的调节难度就会增大,但是这并不影响整个模型的稳定性(见图6 (c))。

图6 联合仿真结果

4 结束语

通过仿真分析可以发现,基于弹簧倒立摆模型的研究方法相比基于精确动力学建模的传统研究方法,能够在最大限度地保留机体运动本质特征的同时,有效地降低系统自由度增加带来的模型数学建模、求解与分析的困难。在简化模型分析的基础上,再结合工程实际样机的结构特点,逐步引入更为丰富的生物运动特性,将有可能解决诸如机体多自由度和腿部多关节协同控制等机器人实际控制问题,从而最终实现机器人的高速高能效动步态行走和环境适应能力。

[1]Zhang Z.Dynamic running control of quadruped robot using artificial muscle mechanism[G]//Proceedings of the 41st SICE Annual Conference.[s.l.]:SICE,2002:2819-2824.

[2]Marc Raibert,Kevin Blankespoor,Gabriel Nelson,et al.BigDog,the rough-terrain quaduped robot[EB/OL].[2012-12-8].http://www.bostondynamics.com/img/BigDog_IFAC_Apr-8-2008.pdf.

[3]Raibert M H. Legged robots that balance [M].Cambridge:MIT Press,1986.

猜你喜欢

状态变量腿部机身
分体式腿部气动按摩装置设计
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
一类三阶混沌系统的反馈控制实验设计
运用FPGA设计分数阶混沌系统
基于嵌套思路的饱和孔隙-裂隙介质本构理论
Augmented Reality comes to the classroom
全画幅机身
脚下放靠垫睡觉更解乏
脚下放靠垫睡觉更解乏
Recent Development and Emerged Technologies of High-Tc Superconducting Coated Conductors