APP下载

基于Matlab/Simulink的TORA系统仿真实验

2018-06-05赵海滨陆志国颜世玉于清文

实验技术与管理 2018年5期
关键词:摩擦系数摩擦力小球

赵海滨, 刘 冲, 陆志国, 颜世玉, 于清文

(东北大学 机械工程与自动化学院, 辽宁 沈阳 110819)

具有旋转激励的平移振荡器(translation oscillators with rotating actuator,TORA)最早来源于双自旋航天器,用来研究其共振俘获现象[1-4]。TORA由一个能够做圆周运动的小球固定在一个与弹簧连接的小车上组成。TORA系统有2个自由度,但只有1个控制输入,因而是一种典型的欠驱动机械系统。

TORA系统作为非线性控制器设计的基准系统,常用的控制方法有无源法[5]、反步法[6]、基于能量的控制法[7-8]和滑膜控制法[9]等。基于能量的控制法和PD控制法是一致的。本文首先对TORA系统的动力学方程进行分析,然后利用Matlab/Simulink建立TORA系统的仿真实验平台,利用PD控制器对系统进行控制,仿真和研究了摩擦力对系统的影响。通过仿真模型,向学生完整地展示系统的仿真过程,能够加深学生对TORA系统的理解,激发学生的学习兴趣,有助于欠驱动系统的理论和实验教学。

1 TORA系统

TORA系统如图1所示。小球在输入转矩的控制下转动,通过小球和小车的耦合作用,对小车的位置进行控制。

图1 TORA系统的结构

采用拉格朗日方程法进行TORA系统的动力学建模[10]如下:

(1)

(2)

式中:m为小球的质量;r为小球的转动半径;M为小车的质量;k为弹簧的倔强系数;J为小球关于其质心的转动惯量;x为小车的位移;θ为小球与竖直向下方向的角度;f为小车受到水平面上的摩擦力;τ1为旋转小球的输入转矩。

将式(1)和(2)写成矩阵形式为

(3)

TORA系统的小车和小球是在水平面内运动,系统的势能P(q)为弹簧的弹性势能

(4)

TORA系统的向量G(q)和势能P(q)的关系为

(5)

TORA系统的总能量E(包括动能和势能)为

(6)

2 PD控制器

TORA系统中,小车在水平面运动时,小车和水平面会存在摩擦力。摩擦力会阻碍小车的运动,本文采用的摩擦力为

(7)

其中参数μ为摩擦系数。对于TORA系统,PD控制器和采用基于能量的控制方法是一致的。本文采用小球转角的PD控制器为

(8)

3 仿真实验平台

Matlab软件已经广泛应用于动态系统仿真,既可以用于连续系统和离散系统,也适用于线性系统和非线性系统[11-12]。Simulink功能强大、使用简单方便,是Matlab软件的重要软件包。根据TORA系统的动力学方程,采用Matlab/Simulink软件建立仿真模型。由于TORA系统的动力学方程比较复杂,不适合采用普通Simulink模块来建立模型,因而采用M-函数和积分模块等来建立模型,如图2所示。

图2 TORA系统仿真实验

M-函数为Simulink中用户自定义功能模块库中的Matlab Fcn模块。

TORA模块内的代码如下:

function [dd, E]= fcn(xdthd, xth, mu, tau1)

M=1.3608; m=0.096; k=186.3;

r=0.0592; J=0.0002175;

x=xth(1); th=xth(2); xd=xdthd(1); thd=xdthd(2);

d11=M+m;

d12=m*r*cos(th);

d21=m*r*cos(th);

d22=m*r^2+J;

D=[d11, d12; d21, d22];

C=[0, -m*r*thd*sin(th); 0, 0];

G=[k*x; 0];

f= -mu*xd;

dd=D([f; tau1]-C*[xd; thd]-G);

E=0.5*[xd,thd]*D*[xd; thd]+ 0.5*k*x^2;

输入值mu为摩擦系数,tau1为输入力矩,输出值E为按公式(6)计算的总能量。

PD模块内的代码如下

function tau = fcn(xdthd, xth)

th=xth(2);

thd=xdthd(2);

kp=0.07; kd=0.0023;

tau= -kp*th -kd*thd;

程序中的参数kp和kd为PD控制器的参数,摩擦系数μ用“mu”表示,输出力矩为tau。在图2中,积分模块的初始值由外部输入,手动开关Manual Switch在PD控制器和无控制输入之间进行切换,通过To Workspace模块将运行结果保存在工作空间中。

4 仿真设计实例

在仿真过程中,采用变步长的ode45算法,最大步长为0.0001 s。采用的TORA系统参数[2]为:

M=1.360 8 kg,m=0.096 kg,k=186.3 N/m,

r=0.059 2 m,J=0.000 217 5 kg/m2

4.1 实例1

通过手动开关模块将TORA系统的控制输入设置为0,摩擦系数μ=0,则系统的总能量保持不变。小车的初始位置为0.01 m,即初始状态为

仿真时间为20 s,结果如图3所示。小车的位移在弹簧的弹力作用下周期运动,小球做圆周运动。

图3 实例1的仿真结果

4.2 实例2

将TORA系统的控制输入设置为0,摩擦系数μ=0.1,小车的初始位置为0.02 m,即初始状态为

仿真时间设置为50 s,结果如图4所示。小车的位移做周期运动,小球做圆周运动。由于摩擦力的作用,小车的最大位移不断减小,系统的总能量逐渐减小。

4.3 实例3

图4 实例2的仿真结果

在PD控制器的作用下,小车的位移和小球的角度都趋近于0,小球的力矩和系统的总能量也趋近于0,系统的状态趋近于稳定状态,即:

5 结论

通过对TORA系统的动力学进行分析,利用PD控制器进行控制,采用Matlab/Simulink建立系统的仿真实验平台。利用该平台,可以非常容易地分析不同参数条件下系统的结果,把复杂的动力学模型进行简单、直观的展示,有助于学生对TORA系统的全面理解,为欠驱动系统理论的教学和实验提供方便。该仿真模型,还可以作为检验不同控制算法的基准平台。

参考文献(References)

[1] Liu Y, Yu H. A survey of underactuated mechanical systems[J].IET Control Theory and Applications, 2013,7(7):921-935.

[2] Bupp R T, Bernstein D S, Coppola V T. A benchmark problem for nonlinear control design[J].International Journal of Robust Nonlinear Control,1998,8(4/5):307-310.

[3] Bupp R T, Bernstein D S, Coppola V T. Experimental implementation of integrator backstepping and passive nonlinear controllers on the RTAC testbed[J].International Journal of Robust and Nonlinear Control, 1998,8(4/5):435-457.

[4] Olfati-Saber R. Normal forms for underactuated mechanical systems with symmetry[J].IEEE Transactions on Automatic Control, 2002,47(2):305-308.

[5] Jankovic M, Fontaine D, Kokotovic P V. TORA example: cascade-and passivity-based control designs[J].IEEE Transactions on Control Systems Technology,1996,4(3):292-297.

[6] 高丙团,贾智勇,陈宏钧,等.TORA的动力学建模与Backstepping控制[J].控制与决策,2007,22(11):1284-1288.

[7] 高丙团.TORA的动力学建模及基于能量的控制[J].自动化学报,2008,34(9):1221-1224.

[8] 武宪青,何熊熊.欠驱动基准系统的约束控制[J].控制理论与应用,2015,32(12):1692-1697.

[9] Xu R, Ozguner U. Sliding mode control of a class of underactuated systems[J].Automatica,2008,44(1):233-241.

[10] 蔡自兴.机器人学[M].2版.北京:清华大学出版社,2009.

[11] 薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用[M].2版.北京:清华大学出版社,2011.

[12] 赵海滨.MATLAB应用大全[M].北京:清华大学出版社,2012.

猜你喜欢

摩擦系数摩擦力小球
隧道内水泥混凝土路面微铣刨后摩擦系数衰减规律研究
『摩擦力』知识巩固
理顺摩擦力
摩擦系数对直齿轮副振动特性的影响
透析摩擦力
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
小球进洞了
小球别跑
小球别跑
神奇的摩擦力