基于Matlab和Adams的自平衡机器人联合仿真

时间:2022-10-13 06:44:35

基于Matlab和Adams的自平衡机器人联合仿真

摘要:为检验自平衡机器人控制系统的准确性及其动静态性能,采用Matlab/Simulink和Adams建立虚拟样机系统的方法。通过建立机器人的状态空间方程并利用LQR方法配置系统极点,设计出状态反馈控制器。分别在Simulink和Adams中建立机器人的控制系统和机械仿真模型,利用二者实现对机器人的联合仿真。仿真结果表明,所设计的控制方法能实现机器人平衡,并具有良好的动静态性能。

关键词:自平衡机器人; Matlab/Simulink; Adams; 动力学仿真

中图分类号:TP24234文献标识码:A文章编号:1004373X(2012)06009003

Matlab/Simulink and Adams based cosimulation for selfbalance robot

XU Jianzhu, DIAO Yan, LUO Hua, GAO Shan

(School of Manufacture Science and Engineering, Sichuan University, Chengdu 610065, China)

Abstract: In order to test the accuracy and the staticdynamic characteristics of the control system of selfbalance robots, a virtual prototype system was created based on Matlab/Simulink and Adams. The full state feedback controller was designed by building state spacial formula and configuring the system extremity with LQR method. The control system and the mechanical simulation model of the robot were built in Simulink and Adams. The cosimulation based on Simulink and Adams for the robot was realized. The simulation result shows that the control method can keep the robot′s balance successfully and the whole system has a good staticdynamic characteristic.

Keywords: selfbalance robot; Matlab/Simulink; Adams; dynamic simulation

收稿日期:20111011

基金项目:四川省科技厅科技支撑计划资助(07GG008026)两轮自平衡机器人的研究是近几年众多国内外学者关注的一个热点,如瑞士联邦大学工业大学Felix Grasser等人研制的JOE,美国Southern Methodist大学研制的nBot,以及为所熟知的由Dean Kamen所发明的两轮电动代步车Segway等。

目前对于机器人的运动仿真常采用PID,极点配置、模糊控制等方法,但大多是建立在机器人数学模型的基础上。两轮自平衡机器人系统是一个高阶次、非线性、强耦合的系统[1],因此在建立数学模型的过程中一般需要进行线性化处理,不能十分准确地反映机器人的实际运行状况。针对上述问题,本文将虚拟样机技术应用到机器人的仿真分析中,采用多体动力学建模软件Adams 建立机器人动力学模型,应用Matlab/Simulink设计控制器,并利用二者进行交互仿真,验证控制算法的可行性和有效性,并分析机器人的动静态性能。

1虚拟样机仿真模型的建立

1.1建立机械仿真模型

本文采用Adams来建立机器人的机械仿真模型。Adams软件是原美国MDI公司开发的虚拟样机仿真软件,使用交互式图形环境,能快速创建参数化的机械系统动力学模型;同时,Adams开放性的程序架构,可以作为特殊类型虚拟样机分析的二次开发工具平台[2]。

根据所需要求,在Adams/View下建立机器人的简单几何模型,包括车身(包含车轴),左右车轮以及路面。为简化模型,采用在左右轮及车身上施加相应力矩来代替电机转矩,因此建模时将其电机、传动系统等都略去[3]。

1.2添加约束与载荷

首先,在路面和大地之间添加固定约束(Fixed);然后,为了限制车轮的轴向移动,防止车轮跑飞,在车轮与车轴间添加一平面约束(Planar);在有可能互相接触的部件之间添加接触力(Contact),接触类型为刚体对刚体(Solid To Solid),并设置存在摩擦力;最后,在车轮及车身上分别添加力矩(Torque)以代替电机扭矩。用Adams建立的机器人仿真模型如图1所示。

2自平衡机器人动力学建模

目前研究自平衡机器人系统主要有两种方法,文献[45]采用经典牛顿力学的方法,文献[1,6]采用Lagrange方程的方法分别推导出了系统的动力学方程。

图1Adams软件建立的机器人仿真模型Grasser等人利用牛顿法建立了机器人JOE的数学模型[4],其中考虑到了车轮、车身前行时所受到的阻力。但是这些阻力不能作为控制量,同时在Adams中建立仿真模型时不引入这些阻力。因此忽略这些阻力,简化它的数学模型,得到以下状态空间方程:RM

化处理后的结果,即假定|θP|≤5°,那么有sin θP=θP,cos θP=1,同理JPδ取θP=0处的值。将上述条件代入Grasser所给的机器人动力学方程(见文献[4]),计算可得:A23 = -M2PL2gJPθα,

B21=B22=MPL2JPθR+1R+MPLJPθ/α式中:α=MP+MPL2JPθ+12MR+2JRR2;

A43=[MPgL+A23L2MR+2JRR2]/JPθ

B41=B42=[B21L2MR+2JRR2-LR-1]/JPθ

B61=-B62=1R/[JPδ+D(MR-JRR2)]

式中参数的含义见表1,参数值可以从Adams中获得。

3控制器设计

通过系统解耦的方式,将自平衡机器人系统分解为倒立摆系统和转向系统这两个系统。其中,倒立摆系统实现对机器人平衡控制及速度控制,其控制量为(CL+CR);而转向系统则控制机器人转向角速度,控制量为(CL-CR)。

表1机器人主要参数

参数和单位参数描述参数值MP,MR[kg]车身质量,右车轮质量(左轮同)1.5,0.1R[m]车轮半径0.05D[m]左右轮中心间距0.24L[m]车身质心距车轮转轴距离0.069 5CL,CR[N.m]左、右电机扭矩XRM[m],VRM[m/s]车身质心位置,速度θP[rad],ωP[rad/s]车身倾角,倾角速度δ[rad]车身导航角(水平转角)JPθ[kg・m2]车身转动惯量

(转轴为车轮转轴)0.015 19JPδ[kg・m2]车身转动惯量

(转轴为车身圆柱中心线)0.021 54JR[kg・m2]右轮转动惯量

(转轴即车轮转轴,左轮同)0.000 13

-131.34计算A的特征值,得到系统的开环极点为:0,0,7.89,-7.89。可见,系统其中的一个极点位于右半复平面中,根据Lyapunov判稳第一方法,系统不稳定。通过判断系统能控性判别矩阵和系统可观性判别矩阵是否满秩的方法,容易验证该系统是一个能控且能观的系统[7] 。因此可以通过设计控制器改变系统极点,使系统达到稳定。

本文采用线性二次型最优控制器(LQR)[8],即设计一状态反馈矩阵K,使得二次型目标函数J取最小值。对于方程=Ax+Bu,即确定最优控制向量u=-Kx的矩阵K,使得在性能指标函数J=(1/2)∫∞0[xTQx+uTRu]dt最小的同时系统趋于平衡状态。其中Q、R分别为系统状态量和控制量的权矩阵。在此取R=1,Q= [0.1, 0, 0, 0; 0, 0, 0, 0; 0, 0, 1, 0; 0, 0, 0, 0] ,借助Matlab的lqr函数即可以求出反馈增益矩阵K=[-0.316 2, -0.415 8, -1.911 7,-0.227 7],得到系统的闭环极点为-10.19+6.45i,-10.19-6.45i,-0.88+0.85i,-0.88-0.85i。

4联合仿真及系统分析

4.1联合仿真系统设计

实现Adams和Matlab的联合仿真过程如下。首先在Adams/View环境下定义状态变量,包括:输出变量――机器人位移及速度(xRM,vRM)、车身倾角(θP)及倾角速度(ωP),输入变量――左、右轮输入力矩(CL,CR)。接着使用ADAMS/Controls模块将机器人仿真模型导出生成Simulink环境下的Adams _sub子模块,并放入所设计的控制系统中。所得到的联合仿真结构图如图2所示,图中的增益矩阵模块(Gain1)即为上文所求得的反馈增益矩阵K。

图2机器人仿真系统结构图4.2联合仿真及结果分析

机器人初始状态设为平衡状态,角位移、角速度、位移、速度初始时均为0。现在从仿真开始就给以一速度控制量,即图2中的常量块VC。如图2即表示以0.5 m/s的速度控制机器人运动,联合仿真结果见图3。

如上图所示,θP,ωP在经过两个波动之后于2.5 s左右的时候趋于0,此时机器人趋于平稳;同时通过xRM,vRM两条曲线可知,机器人的速度也在2.5 s处趋于所给定的控制速度0.5 m/s。可见,该系统具有较快的响应性,同时具有良好的稳定性和鲁棒性[910]。

5结语

本文利用Matlab和Adams各自的优越性,分别建立了自平衡机器人的控制系统和仿真机械模型,并通过两者之间的交互式仿真,验证机器人数学建模、控制策略的准确性和合理性。通过仿真结果表明,所设计的控制器能实现机器人的自平衡及速度控制,并具有快速的响应性和良好的稳定性,为以后的实体样机设计及控制程序编写打下了很好的基础。

图3系统联合仿真结果参考文献

[1]阮晓钢, 任红格.两轮自平衡机器人动力学建模及其平衡控制[J].计算机应用研究,2009,26(1):99101.

[2]石博强.Adams基础与工程范例教程[M].北京:中国铁道出版社,2007.

[3]陈黎卿,郑泉,陈无畏,等.基于Adams和Simulink联合仿真的主动悬架控制[J].农业机械学报,2007,38(4):1215.

[4]GRASSER F, ARRIGO A D, COLOMBI S. JOE: a mobile, inverted pendulum \[J\]. IEEE Trans. on Industrial Electronics, 2002, 49 (1): 107114.

[5]TSAI ChingChih, HSU YuanPao, LIN BorChih. Direct adaptive fuzzybasisfunctionnetwork motion control for selfbalancing twowheeled transporters \[C\]// Proceedins of 2010 IEEE International Conference on Systems Man and Cybernetics (SMC). Istanbul: IEEE, 2010: 11911197.

[6]屠运武,徐俊艳,张培仁,等.自平衡控制系统的建模与仿真[J].系统仿真学报,2004,16(4):839841.

[7]张莲.现代控制理论[M].北京:清华大学出版社,2008.

[8]钟万勰.状态空间控制理论与计算[M].北京:科学出版社,2002.

[9],郝骞,任一峰,等.基于ADAMS 和Matlab自平衡双轮电动车系统的联合仿真[J].机床电器,2011(4):5658.

[10]龚建球,刘守斌.基于Adams和Matlab的自平衡机器人仿真\[J\].机电工程,2008,25(2):810.

上一篇:基于EC850PHA温度格点资料实现锦州地区温度预... 下一篇:基于DSP的无人机编队视频跟踪技术