于春梅, 易 奎, 侯惠让, 毕效辉
(西南科技大学 信息工程学院, 四川 绵阳 621010)
自动控制类课程是自动化、电气工程、机电一体化等专业的主要课程,其中包括控制类专业的研究生入学考试重点课程“自动控制理论”。尽管各个学校均给予该课程足够的重视,但由于学时数、设备数的限制,控制类实验课程仍存在验证性实验偏多的问题。不少学校增加了设计性和综合性实验,但多以电子电路模拟和Matlab仿真为主,学生往往对实际系统感觉陌生。
西南科技大学控制理论与控制工程教学团队在四川省精品课程和四川省精品资源共享课程等项目支持下,开发了以Flash动画为主的电子教材[1]以及基于Matlab仿真软件的电子辅助教材[2]。这些教材对激发学生学习兴趣、增强学生对课程内容的理解具有很好的效果。但是,Matlab只能针对数学模型,而Flash无法随系统参数变化而改变。为了改善这一状况,我校控制技术实验室购买了一些典型控制对象如吊车摆、倒立摆、机械臂等;但这些设备价格昂贵,只能进行演示,满足少数特别优秀本科生、研究生的实验要求,绝大多数学生不能得到良好锻炼。
虚拟样机技术可以将一些分散的零部件组成完整的机械模型,并对模型进行运动学、动力学仿真,可方便地虚拟出工程实际场景,大大缩短了产品开发周期[3-5]。将虚拟样机技术与Matlab等软件结合的联合仿真手段也在机车制造等行业得到了较广泛的应用[6-8]。
随着虚拟样机技术的普及,不少高校将其作为构建虚拟实验室的工具。这其中,美国MDI公司开发的虚拟样机分析软件ADAMS (Automatic Dynamic Analysis of Mechanical Systems)因具有预测模型性能,计算运动路径、速度和加速度等功能,并且直观、明了,成为许多高校的首选。北京航空航天大学将其用于全校性公共选修课程“建模与仿真”的实验,主要面向有一定ADAMS 软件基础的学生[9]。天津理工大学机电控制实验课搭建起了3-RRRT 并联机器人的虚拟样机,主要使用对象为机电专业的研究生[10]。
借助ADAMS开发出在控制类课程中普遍适用的虚拟平台,使学生能感受到实际系统控制的情境,而又不需要掌握ADAMS软件本身,是西南科技大学控制理论与控制工程教学团队的研究目标。
基于此,本文主要完成以下工作:
(1) 设计构成典型控制对象的物理模型,并提供与Matlab联合仿真的接口供学生设计控制器并观察控制效果;
(2) 录制控制器加入前后仿真运行动画,使学生对控制器的作用有直观感受;
(3) 添加各种测量信号并记录运行过程中相关数据和曲线,作为系统辨识课程的输入输出数据。
物理模型的构建是控制系统实验平台的基础。本团队主要挑选了倒立摆、吊车摆、2自由度机械臂、加速度计等典型控制对象作为学生的实验对象,一方面是因为这些对象具有鲜明的应用背景,另一方面是因为实验室有这些对象的实物,便于学生与实际系统进行比较。而一旦几何模型搭建完成,学生仅用计算机就可以对其进行控制。建立模型的步骤如下。
步骤1:建立物理模型并修改参数。
启动MSC.ADAMS/View并建立一个新的数据文件;设置长度、力等单位和合适的栅格尺寸;由各零件构建几何模型,比如连杆(关节、摆杆等)、长方体(质块、小车)、弹簧阻尼器等组成所需要的系统。
步骤2:添加约束。
当建立了虚拟模型后,还需要加一些约束来表明构件之间的约束关系,同时将不同的构件连接在一起,组成一个完整的机械系统。加入约束还能够减少系统的自由度数,不同的约束减少的自由度数不同。平移副包括小车沿地面的运动、质块的直线运动等,转动副包括摆杆的旋转、机械臂关节的运动等。
步骤3:添加驱动。
添加驱动是为了约束未被约束的自由度。从某种意义上说,驱动也是一种约束,只是这种约束是时间的函数。驱动分为旋转驱动(如机械臂关节力矩)和滑移驱动(如小车的运动力)。
步骤4:建立测量。
这一步将需要观测的变量标示出来,这样可以在仿真结束后观察这些变量的曲线,比如小车位移、速度、摆角、角速度等变量曲线。通过这几个步骤建立起来的吊车单摆模型的多角度图如图1所示。
图1 吊车单摆物理模型
一旦建立好几何模型,只需要指定系统的输入和输出(即与Matlab的接口)就可以了。
ADAMS与Matlab的联合控制由ADAMS/Controls将两者连接,由Matlab/Simulink读入ADAMS中描述系统方程的有关参数,通过其建立的控制方案计算输出驱动物理模型。然后,ADAMS中物理模型的位移、速度等输出又反馈给控制模型,实现在控制系统软件环境下的交互式仿真。在计算过程中,ADAMS与Matlab进行数据交换的过程如图2所示。
建立ADAMS/Matlab联合仿真的步骤如下。
图2 联合仿真数据交换过程
步骤1:创建状态变量,并将状态变量与模型相关联。
步骤2:指定输入变量和输出变量,并将输入变量数值设为零。比如在吊车单摆中将小车力指定为输入,小车的位移和速度、摆角和角速度指定为系统输出。
步骤3:加载ADAMS/Controls模块,导出控制参数。选择Matlab为ADAMS的外部控制软件,在ADAMS工作目录中生成*.m、*.cmd和*.adm这3个文件。
至此,物理模型与Matlab的接口已经完成。学生只需在Matlab命令窗口运行所生成的*.m文件,输入命令adams_sys,在ADAMS中建立的物理模型就可以像Simulink中的模块一样方便地使用。学生根据自己的需要搭建不同的控制器,即可以观看运行效果和运行曲线。图3中分别为针对吊车单摆系统设计的双回路PID控制器和状态反馈控制器。通过修改PID参数或者状态反馈系数就可以得到不同的控制效果。
图3 吊车单摆系统的控制
该控制系统实验平台除了为学生学习控制理论课程提供直观演示外,还可以完成PID控制器的设计、状态反馈控制器的设计、最优控制器的设计、模糊控制器的设计、各类最小二乘辨识方法和极大似然法等实验。该平台可以作为控制理论、控制系统仿真、运动控制、计算机控制、智能控制、系统辨识等课程实验和课程设计的平台,为学生设计控制器提供对象,也为辨识实验提供输入输出数据[11]。
控制系统实验平台的优点体现在以下几个方面:(1)可利用ADAMS设计不同类型的控制对象,只需要提供与Matlab仿真的接口即可,甚至还可以利用其他机械设计软件如Pro/E等实现很多复杂的对象再载入ADAMS[12];(2)与Matlab的仿真曲线相比,ADAMS生成的实际运行动画效果更加直观;(3)只需要计算机,即可完成复杂控制系统的实验,大大节约了设备成本。
笔者注意到,该平台还存在以下缺点:(1)联合仿真对计算机的要求较高,必须同时安装ADAMS和Matlab两种软件;(2)可以满足控制器设计的要求,但不能模拟组成系统的传感器、执行器等元件。至于第一个缺点,随着集成化程度的提高,计算机的性能满足联合仿真的要求已不是难事;对第二个缺点,比如传感器的非线性、执行器的死区等特性,还是要与实际系统结合。学生可分组测量实验室吊车摆、倒立摆、机械臂、液位控制等系统的传感器特性、执行器特性等,以获得第一手资料。总之,通过该平台可完成自动控制理论到运动控制、过程控制、计算机控制的顺利过渡。
[1] 毕效辉,于春梅,陈淼.《自动控制原理》电子教材[M].武汉:武汉理工大学出版社,2005.
[2] 毕效辉,于春梅,张春峰.MATLAB自控理论学习与仿真[M].北京:中国轻工业出版社,2007.
[3] 廖英英,刘永强,刘金喜,等.时滞对高速铁道车辆悬挂系统半主动控制的影响[J].北京交通大学学报,2011,35(1):113-118.
[4] 康博,翟敬梅.基于ADAMS的6R机器人控制模型研究[J].机床与液压,2012,40(9):123-125.
[5] Liu Yongqiang , Yang Shaopu, Liao Yingying.A quantizing method for determination of controlled damping parameters of magnetorheological damper models[J].Journal of Intelligent Material Systems and Structures,2011,22(18):2127-2136.
[6] 梁栋,邓兆祥,郝军,等.ADAMS/Matlab环境下车辆悬架联合仿真分析[J].现代制造工程,2012(8):71-75.
[7] 范元勋,卜廷春,李水水,等.基于ADAMS/MATLAB的桥式起重机起升动载荷的联合仿真[J].重型机械,2011(5):30-32.
[8] 徐中明,余烽,张志飞,等.基于ADAMS和Simlink的车辆转弯制动ABS联合仿真[J].中国机械工程,2009,20(7):877-881.
[9] 王江云.机电系统一体化建模与仿真实验课程建设[J].电气电子教学学报,2009,31(增刊2):53-55.
[10] 李彬,魏璇.虚拟样机技术在机电控制实验中的应用[J].实验室科学,2008(8):80-81.
[11] 廖英英,刘永强,刘金喜,等.MRD模型参数识别及其在振动控制中的应用[J].振动、测试与诊断,2012,32(2):223-228.
[12] 李金恒,肖慧,胡志华.基于ADAMS的机械手臂运动仿真分析[J].机床与液压,2009,37(8):206-209.