APP下载

机械臂自适应神经网络控制虚拟实现*

2012-11-24陈水金吴玉香

组合机床与自动化加工技术 2012年3期
关键词:样机控制算法权值

陈水金,吴玉香

(华南理工大学自动化科学与工程学院,广州 510640)

0 引言

机械臂在我们的生产和生活中扮演着越来越重要的角色,有关机械臂的神经网络控制已经成为学术界和工业界越来越感兴趣的研究课题,各种各样的机械臂神经网络控制算法已经被提出[1-3],其中基于径向基函数神经网络的确定学习理论更是为机械臂的智能控制的研究提供了一种新的研究方向。但随着机械臂自由度的增加,该智能控制算法所包含的神经元数量会呈指数上升,从而导致整个控制系统仿真速度十分缓慢,目前大多数的相关研究还仅停留在MATLAB仿真层面[4],控制效果无法直观显示。

本文采用C-MEX技术极大地提高了系统的仿真速度[5],并在此基础上结合机械系统动力学自动分析软件-ADAMS提供的强大的建模、仿真环境以及MATLAB中Simulink模块具有的强大控制功能,充分发挥它们各自的优势,对机械臂以虚拟样机的方式进行联合仿真[6-8]。

1 在ADAMS中建立机械臂的虚拟样机

在ADAMS中建立机械系统模型有两种常用方法,一是直接利用ADAM S中提供的建模工具建立虚拟样机模型;二是使用ADAMS/Exchange模块,从其他软件(如:Pro/E、SolidWorks、UG)中整体导入已建的虚拟样机模型。本文采用方法一,即直接在ADAMS中建模。建模主要由以下几步完成:

第一步:根据任务要求构建各个机械臂部件,再将各机械臂移到设计的位置。

第二步:为搭建好的模型各部件关节添加约束和驱动。

第三步:定义机械臂的输入输出。

ADAMS的输入输出定义对于虚拟仿真非常关键,它是与MATLAB设计的控制器进行数据传递的接口,具体过程如下:

(1)定义输入状态变量 torque1,torque2,torque3。

(2)将 torque1,torque2,torque3 依次赋给机械臂的三个驱动 τ1、τ2和 τ3。

(3)定义输出状态变量 angle1,angle2,angle3。并为三个变量依次赋与臂1、臂2和臂3的关节角q1、q2和q3的时间函数。

(4)在ADAMS/View的Controls选项中通过设置Plant Inputs和Plant Outputs指定整个机械臂模型的输入输出,其中 Plant Input包含 torque1,torque2,torque3,Plant Outputs包含 angle1,angle2,angle3。

其二,对自由时间的认识。在马克思那里,人的全面自由发展的基础就在于对自由时间的充分享有。已有成果主要集中于对自由时间的内涵、存在空间和存在意义等维度的研究,充分肯定自由时间对人的全面自由发展的意义的同时,努力探寻自由时间实现的现实性路径。

这样从MATLAB输出的控制力矩通过torque1,torque2,torque3 分别传递给驱动 τ1、τ2和 τ3。而机械臂的关节角的变化情况则通过angle1,angle2,angle3传递给MATLAB。

建立的虚拟样机模型如图1所示。

图1 机械臂虚拟样机

联合仿真时在MATLAB命令窗口输入sys_adams会生成ADAMS中机械臂的功能模块(即图3中的adams_sub模块),该模块左右各有三根引线,分别对应前面的三个输入状态变量和三个输出状态变量。MATLAB通过该模块与ADAMS中的虚拟样机进行通讯。

2 自适应神经网络控制器设计

对于一个n关节机器人,其动力学方程可表示为:

令X1=q,X2=,(1)式可表示为:

其中,F1=-M-1(+G+F)和G1=M-1,假定是完全未知的。

设计自适应神经网络控制器的具体形式如下:

只要期望轨迹Xd1(t)为有界的光滑周期参考轨迹,则控制器(3)可保证RBF网络满足部分PE条件,继而保证整个闭环系统的指数稳定,即保证了RBF神经网络权值收敛到它的理想权值W*,实现真正意义上的学习[4]。

3 机械臂终端轨迹设计

依据确定学习理论,参考轨迹选择类周期的形式,为了更加直观的观察机械臂终端轨迹跟踪设计的期望轨迹的情况,本文选择在立体空间中进行轨迹设计,然后通过求运动学逆解得到对应的期望关节角函数[10]。

通过对确定学习理论的深入研究以及大量的仿真实验基础上,可以得出对于圆形轨迹,椭圆轨迹,以及其他类周期的参考轨迹进行仿真实验,都能取得很好的控制效果,只是随着轨迹的复杂性的提高,神经网络学习的速度会有所变慢,这跟人类的学习过程很相似。为了便于清晰的说明该方法,本文选取的机械臂终端轨迹为立体空间中点(1.0,0.6,0.4)和点(1.0,0.6,-0.4)之间的直线往返运动。其参数方程为

然后根据图2对(5)求逆解。需要注意的是为了与在ADAMS中建模时采用的坐标系对应,图2中的坐标系跟常规的坐标系有所不同。

图2 机械臂空间几何图

由l1,l2和OA组成的三角形,应用余弦定理可得:

由直角三角形OAC可得:

由图2和(6),(7)可得:

由直角三角形OCD可得:

将(5)依次代入(6),(9)和(10)即可得到各关节旋转角度xd1、xd2和xd3(即q1、q2和q3)关于时间的参数表达式:

它们仍然是关于时间的有界周期信号,符合确定学习的条件,能够确保RBF神经网络权值收敛到它们的理想权值W*附近。

4 ADAMSMATLAB联合仿真

根据控制原理将ADAMS导出的虚拟样机模型,参考轨迹模块,控制器模块有机的组成一个闭环控制系统,如图3所示。

图3 ADAMS-MATLAB联合仿真框图

仿真前需要注意:由于神经元个数庞大,在用Simulink中的S函数编写控制器模块时,如果仅采用MATLAB语言编写,由于大量循环语句的存在仿真速度会非常的慢,其最有效的解决办法是通过MEX技术-实现了一种C语言与MATLAB的接口,其实际的计算功能在C语言形式的计算子程序中完成。

控制器参数如下:神经网络节点数量N=3×3×3×3×3×3×2×2×2=5832,它们均匀分布在[-1 1]×[-1 1]×[-1 1]×[-1 1]×[-1 1]×[-1 1]×[-1.5 1.5]×[-1.5 1.5]×[-1.5 1.5 ]空间里。Γ =10*eye(N),c1=12,c2=25,σ=0.0001,权值的初始值(0)=0,初始状态为X(0)=[0,0,0,0,0,0]。仿真结果如图 4 至图10 所示。

由于神经元权值数量庞大,上图中的收敛权值只选取了一部分,但足够代表整个权值的收敛情况,随意选取其他部分的权值,都能得到相似的收敛效果。

图4 机械臂控制力矩从上到下依次为τ2,τ3,τ1

图5 部分RBF神经网络权值W1(i),i=2500,…,3500

图6 部分RBF神经网络权值W2(i),i=2500,…,3500

图7 部分RBF神经网络权值W3(i),i=2500,…,3500

图8 关节角度期望值从上到下依次为xd2,xd1,xd3

图9 机械臂各关节角度控制误差

图10 联合仿真过程中截取图

从图5至图7可以看出神经网络权值很好地收敛到理想值附近,实现了确定学习算法的功能。从图9可以观察到虚拟样机准确地跟踪上了参考轨迹,误差很快趋近于零。图10是系统虚拟仿真过程中的截取图,可以看出该方法能够非常直观的展示该控制算法的控制效果。图4中的控制力矩和图8中的机械臂关节角期望值则很好的说明了该系统是一个可控的稳定系统。以上仿真结果充分说明了该虚拟仿真方法的有效性。

5 结束语

本文针对基于确定学习理论的控制算法所包含的神经元数量会随着控制对象自由度的增加而呈指数增加,导致仿真速度十分缓慢,无法实现直观的虚拟仿真控制的问题,在基于C-MEX技术极大提高仿真速度的前提下,提出了一种基于ADAMS和MATLAB的虚拟样机联合仿真方法。以三自由度机械臂作为控制对象,仿真结果表明在提高仿真速度的基础上采用虚拟仿真可以非常直观的观察到该自适应神经网络控制算法的控制效果,相比传统的仅停留在MATLAB仿真层面的仿真方法,这种可视化虚拟仿真方法使得研究人员能够更加直观和实时的了解到整个系统的控制情况,为基于确定学习理论的控制算法的仿真研究提供了新的有效方法。

[1]叶军.机械臂的CONN控制与CMAC控制的比较研究[J]. 计算机仿真,2004,21(12):155-157.

[2]C.Wang and D.J.Hill,Deterministic Learning Theory for Identification,Recognition and Control[M].Boca Raton,FL:CRC Press,2009.

[3]王聪,陈填锐,刘腾飞.确定学习与基于数据的建模及控制[J]. 自动化学报,2009,35(6):693-705.

[4]Zhengui Xue,Cong Wang and Tengfei Liu.Deterministic Learning and Robot Manipulator Control[J].IEEE International Conference on Robotics and Biomimetics,2007:1989-1994.

[5]李天昀,葛临东.综述MATLAB与VC++的交互编程[J]. 计算机仿真,2004,21(9):193-196.

[6]李增刚.ADAMS入门详解与实例[M].北京:国防工业出版社,2006.

[7]姚俊,马松辉.Simulink建模与仿真[M].西安:西安电子科技大学出版社,2002.

[8]孔振,冯虎田,陶卫军.基于虚拟样机技术的新型砂轮修整器动力学仿真分析[J].组合机床与自动化加工技术,2011(2):36-39.

[9]F.Sun,Z.Sun,and P.-Y.Woo,Neural network-based adaptive controller design of robotic manipulators with an observer,IEEE Trans.Neural Network,2001:54-67.

[10]王海燕.二自由度检修机械臂的研究[D].哈尔滨:哈尔滨工程大学,2007.

猜你喜欢

样机控制算法权值
一种融合时间权值和用户行为序列的电影推荐模型
基于ADAMS虚拟样机的门座起重机动力学仿真研究
基于三维数字样机的运载器装配工艺规划技术
精心准备,蓄势待发——广日电梯地铁项目样机验收顺利通过!
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
一种面向育种家的新型台式棉籽脱绒机
基于权值动量的RBM加速学习算法研究