冯鹏凌,何广平,张向慧,梁旭,苏婷婷
(北方工业大学机械与材料工程学院,北京 100144)
21世纪以来,随着机器人技术的发展,移动机器人因具有更广阔的应用空间而受到重视。相较于传统的移动机器人,轮式腿型机器人不仅具备轮式机器人的快速响应和运动平稳等特点,还具备腿式机器人的机动灵活和地势适应等优点,常被用于野外勘探、星球探测等复杂地形环境。
近几年,移动机器人的控制研究受到了国内外学者的关注。文献[4]所研制的独轮机器人采用控制2个陀螺力矩来驱动横滚运动,从而获得横向稳定性,并针对鲁棒镇定问题,提出了一种增益调整算法。文献[5]提出了一种非完整约束移动机器人的自适应位置控制算法,通过仿真验证了该控制算法的有效性。文献[6]通过设计控制李亚普诺夫函数,构造了鲁棒反馈控制器,并结合输入状态稳定性分析了非线性系统的鲁棒性。文献[7]提出了一种模糊轨迹跟踪控制器,用于移动机器人室内环境导航。文献[8]基于多输入多输出状态观测器以及机械动态不确定性和扰动的不确定性,设计了一种新的积分滑模控制器,并对机器人进行了实验研究,验证了该算法的性能。文献[9]将反步控制和滑模控制相结合,提出了一种新的控制器,并进行了仿真研究,证明了该控制器的鲁棒性。文献[10]提出了一种自适应模糊神经滑模控制算法,克服了移动机器人所受参数和非参数的不确定性问题,实现了机器人对期望轨迹的稳定跟踪。文献[11]将动力学模型在平衡点处线性化处理,采用了鲁棒最优和滑模控制算法,仿真结果展现了较好的跟踪和稳定效果,但所设计的控制器只具备局部稳定性。
目前,国内外关于轮式腿型移动机器人精准轨迹跟踪控制的研究很少,以往传统方法通常用线性近似系统代替真实系统的非线性系统模型,使得控制器只具有局部稳定性。因此,本文作者研究六腿轮式移动机器人的全局稳定非线性控制策略。
在六腿滚动式奔跑机器人的俯仰和横滚2个方向,分别建立动力学模型。针对被控对象的非线性模型,在俯仰方向设计滑模鲁棒控制器,增强俯仰方向系统的鲁棒性,提高系统的轨迹跟踪精度;在横滚方向设计反步滑模控制器,提高横滚方向的抗干扰能力,加快系统的响应速度。
文中所讨论的欠驱动非完整约束六腿滚动式奔跑机器人的虚拟样机如图1所示。6条腿分别位于机身两侧,采用弹性腿设计,每侧3条腿之间的夹角呈120°均匀分布,且两侧相邻的腿交错分布。俯仰驱动电机用来驱动同轴的两侧腿交替前进,飞轮电机用来驱动飞轮,起到调节机器人横滚方向平衡的作用。
图1 六腿滚动式奔跑机器人虚拟样机
与传统的移动机器人相比,由于该机器人的运动方式为两侧腿交替支撑前进,它与地面只有一个接触点,可以将该机器人的运动看作双腿奔跑机器人的运动。因此,采用弹簧负载倒立摆的模型来研究机器人的运动系统,并采用拉格朗日函数建立机器人的动力学模型。为使问题简单,忽略六腿滚动式奔跑机器人俯仰和横滚方向上的耦合,对整个系统分开建模。
俯仰方向采用基于弹簧负载倒立摆模型的设计方法,由于机器人奔跑过程中为单条腿着地,故只考虑一条腿的支撑相模型进行分析。如图2所示:假设六腿滚动式机器人的每条弹性腿的质量都集中于一侧的髋关节,弹性腿的质心为点,每个弹性腿的质量为,机身的质心为点、质量为,飞轮的质心为点、质量为。弹性腿的长度为,其初始长度为,长度变量为,与竖直方向的夹角为,为着地脚。与竖直方向的夹角为,为机身俯仰角,和之间的夹角为,和与竖直方向的夹角分别为和。弹性腿质心点到机身质心点处的距离为,=,=;弹性腿质心点到飞轮质心点处的距离为,弹性腿相对于触地点的转动惯量为,机身、飞轮相对于转轴的转动惯量分别为、。为机器人俯仰电机的力矩。
图2 机器人俯仰方向示意
在俯仰方向上弹性腿质心、机身质心、飞轮质心处的线速度分别为
(1)
(2)
(3)
由图2可得机器人俯仰方向总动能为
=++
(4)
式中:为机器人弹性腿动能;为机身动能;为飞轮动能,公式分别为
由图2可得机器人俯仰方向总势能为
=++
(5)
式中:为机器人弹性腿势能;为机身势能;为飞轮势能,公式分别为
=cos
=cos
俯仰方向拉格朗日函数为
=-
(6)
拉格朗日方程为
(7)
式中:为系统的广义坐标;为受到的广义作用力。由于弹性腿的刚度较大,在触地过程中腿的形变较小,所以忽略弹性腿的变化,即=。将式(6)代入式(7),得到俯仰方向系统的动力学方程为
(8)
式中:
其中:
=(2++)+2
==-cos(-)-cos(-+)
=sin+sin(+)
=-(2++)sin
通过式(8)可以看出,俯仰方向上为控制输入,、为2个被控量,故该方向上为欠驱动系统。
机器人横滚方向示意如图3所示。
图3 机器人横滚方向示意
其中,转动轴的质心为点;为与竖直方向的夹角,即为机器人的横滚角;为与竖直方向的夹角;为与竖直方向的夹角;、之间的距离为;、之间的距离为;=,=,=;弹性腿相对于触地点的转动惯量为;机身相对于触地点的转动惯量为;飞轮的转动惯量为;飞轮的转动角度为;飞轮驱动电机的力矩为。、、、、、的含义与第1.1节相同。
在横滚方向上弹性腿质心、机身质心、飞轮质心处的线速度分别为
(9)
(10)
(11)
由图3可得机器人横滚方向总动能为
=++
(12)
式中:为机器人弹性腿动能;为机身动能;为飞轮动能,公式分别为
由图3可得机器人横滚方向总势能为
=++
(13)
式中:为机器人弹性腿势能;为机身势能;为飞轮势能,公式分别为
=2cos+12(-)
=(--tan)cos
=(--tan)cos
横滚方向拉格朗日函数为
=-
(14)
由于弹性腿的刚度较大,在触地过程中腿的形变较小,所以忽略弹性腿的变化,即=。将式(14)代入式(7)得到横滚方向系统的动力学方程为
(15)
式中:
=2++++(-)+
===
=-[2+(-)+(-)]·
sin-(+)cos
=0
通过式(15)可以看出,横滚方向上为控制输入,、为被控量,故该方向上为欠驱动系统。
滑模变结构控制是一种有效而流行的控制方法,特别是针对控制系统中的动态不确定性和外部干扰问题。滑模变结构控制技术的优点是非线性系统的状态可以快速无误差地收敛到循环轨迹,在机器人控制领域应用非常广泛。为增强闭环系统的鲁棒性,提高控制精度,在俯仰方向采用基于HJI理论的滑模鲁棒控制方法设计控制器。
由文献[15]可知,系统动力学方程式(8)可以写成如下形式:
(16)
其中:为外加干扰。
理想位置指令为,跟踪误差=-,设计控制律为
(17)
其中:为反馈控制律。
将式(17)代入式(16),得:
(18)
滑模函数为
(19)
其中:>0,则:
(20)
为利用HJI不等式,将式(20)写为
(21)
设计控制律为
(22)
证明:
定义Lyapunov函数为
(23)
其中:为滑模函数;为动力学方程中的质量惯性矩阵,则:
定义
(24)
则
(25)
由于:
则≤0,即
(26)
反步(Back-Stepping)控制是一种非线性系统设计方法,基本思想是将复杂的非线性系统分解成不超过系统阶数的子系统,然后为每个子系统分别设计Lyapunov函数和中间虚拟控制量,一直“后退”到整个系统,直到完成整个控制律的设计。传统的反步控制方法无法保证系统的鲁棒性,通过引入滑模项,可以克服干扰,保证控制器的鲁棒性。因此,在横滚方向将反步和滑模2种控制方法相结合来设计控制器。
将如式(15)所示的系统改写为如下形式:
(27)
由于横滚方向上飞轮转角是控制输入,故只有横滚角是被控量。
定义角度误差为=-,其中为指令信号,则:
定义Lyapunov函数
(28)
则:
则:
(29)
则:
(30)
其中:为大于零的正常数;≥0。
则:
即:
从而得到指数收敛的形式为
()=(0)e-
(31)
设置六腿滚动式奔跑机器人的结构参数如表1所示。
表1 六腿滚动式奔跑机器人结构参数
图4 触地角跟踪曲线 图5 俯仰角跟踪曲线
图6 触地角角速度跟踪曲线 图7 俯仰角角速度跟踪曲线
图8 俯仰方向控制输入
由图4—图8可以得到:在给定外界干扰的情况下,机器人的触地角、机身俯仰角及其角速度可以在5 s左右稳定跟踪到期望轨迹,并随着轨迹有规律的摆动。由图8可以看出:控制输入并没有出现明显的抖振现象,输入比较稳定,因此俯仰方向所设计的滑模鲁棒控制器是可行的。
图9 横滚角跟踪曲线 图10 横滚角角速度跟踪曲线
图11 横滚方向控制输入
由图9—图11可以看出:在给定干扰的情况下,闭环系统的状态是稳定的,横滚角和角速度在2 s内可以跟踪到期望轨迹,故通过驱动飞轮控制机器人的横滚角是可行的。
本文作者研究了一种欠驱动非完整约束的六腿滚动式奔跑机器人,将系统解耦为俯仰和横滚2个方向,采用拉格朗日法在2个方向上分别建立动力学模型。针对机器人的非线性系统,在俯仰方向设计了基于HJI理论的滑模鲁棒控制器,该算法将系统外界干扰考虑在内,为满足HJI不等式鲁棒控制条件,设计了合适的滑模控制律,保证了系统的稳定性;在横滚方向设计了反步滑模控制器,在反步控制方法的基础上引入滑模项,从而保证了控制器的鲁棒性。使用MATLAB进行仿真,在给定干扰的情况下验证了2种控制算法在机器人俯仰和横滚方向上的鲁棒性。