基于PSO优化神经网络和空间网格的机器人位姿标定方法
2016-09-13宋志伟王祎泽张湧涛
王 一,宋志伟,王祎泽,张湧涛
(华北理工大学电气工程学院,河北 唐山 063009)
基于PSO优化神经网络和空间网格的机器人位姿标定方法
王一,宋志伟,王祎泽,张湧涛
(华北理工大学电气工程学院,河北唐山063009)
该文提出一种将机器人的位置和姿态拆分开,分别进行标定的机器人位姿标定方法。采用空间精度控制网格标定机器人定位误差,粒子群优化算法(particle swarm optimization,PSO)优化神经网络标定机器人定姿误差。该方法以指数积公式 (product of exponentials,POE)为基础建立机器人正向运动学模型,用映射法建立空间网格,用三坐标测量臂测量机器人位姿,用空间网格精度标定定位误差,用PSO优化的神经网络标定定姿误差。其优点在于既标定机器人工具中心点(TCP)的定位误差,又标定机器人工具坐标系的姿态误差,使得机器人定位、定姿误差都得到补偿。实验结果表明机器人的定位、定姿均方根误差减小接近一个数量级。
空间网格精度;粒子群算法;机器人标定;神经网络
0 引言
随着工业机器人在柔性加工制造业的广泛应用,人们对工业机器人的性能有了更高的要求。工业机器人的重复定位准确度很高,但绝对准确度不高,是制约机器人在柔性加工制造业中推广应用的主要原因。机器人的绝对准确度不高主要是由于制造和装配过程中产生的连杆实际几何参数与理论几何参数之间的偏差造成的,可视为系统误差;此外,其他因素也会影响机器人的绝对定位准确度,如温度、齿隙、齿轮传动误差及由于负载、应力和机械磨损等引起的机械变形误差等,这些被称为随机误差[1-4]。机器人的重复定位准确度只与随机误差有关,一般在0.1 mm以下;绝对定位准确度与系统误差有关,可以达到2~3mm,甚至更大[5]。提高机器人的绝对定位准确度一般有两种方法,一是提高机器人制造和装配的准确度,但是成本会大大增加;或是采用软件的方法,对机器人进行标定,此方法不但能有效提高机器人的绝对定位准确度而且经济性好。通常采用的标定方法是先建立适当的运动学模型,然后准确地测量几组位姿,接着推导参数识别算法或建立机构误差模型,最后获得实际模型参数并运用正向运动学求解真实位姿[6]。一般的标定方法是基于模型的,而且大多数是对工具中心点(TCP)的位置进行标定。本文提出一种标定方法可对机器人做定位和定姿补偿,全面提高机器人的准确度。
1 建立基于POE公式的机器人正向运动学模型
指数积(POE)公式法由Park[7-9]首先提出,具有以下优点:1)POE公式实现了对机器人转动关节和移动关节的统一描述,具有通用性的优点;2)当相邻关节轴线平行或接近平行时,没有传统D-H参数法的奇异性问题,即机器人运动学参数关于关节轴的变化是光滑的。
机器人由连接相邻杆件的6个转动副和基座构成,杆件的坐标系都是相对于机器人基座世界坐标系S建立的,并且使各个杆件坐标系的某一轴线与转动轴线重合。设qi=(xi,yi,zi)(i=1,2,…,6)是旋转轴上的一点;旋转轴为ξi,与之对应的单位方向矢量为ωi;绕该旋转轴旋转的机器人关节角度为θi;设机器人在零位时的TCP坐标系T相对于世界坐标系S的初始位姿矩阵为gst(0),改变位形以后的位姿变换矩阵为gst(θ)。由连杆参数ωi和qi计算出各连杆的运动旋量i、运动旋量坐标ξi及运动旋量的指数积eθi。综上可得6自由度机器人的正向运动学方程:
2 空间网格的生成和误差测量
2.1空间网格的生成
空间网格划分是用空间网格进行机器人标定的重要一步,空间网格划分的好坏直接影响到标定的精度和速度。网格化包括定义单元属性(形状、大小)、定义网格属性、划分网格3个步骤。网格划分可以分为自由网格划分、映射网格划分和扫略网格划分等。本文采用映射网格划分方法来生成空间网格结构,根据不同的精度要求,可以对网格的疏密程度做出调整,如图1、图2所示。
图1 单元网格及参数图
图2 机器人工作空间网格划分图
2.2误差测量
2.2.1建立世界坐标系和TCP坐标系
1)将世界坐标系与机器人基坐标系重合在一起,并用三坐标测量臂测量。
2)以机器人的TCP为原点,以通过机器人TCP且重合于ξ6轴的线为Y轴(指向前方为正),以法兰盘平面上过TCP及上下两个安装孔的轴线为Z轴(指向上方为正),再用右手定则确定X轴建立TCP坐标系。
2.2.2网格空间中精度控制点误差测量
将机器人的TCP移动到2.1节中建立的空间网格的各个顶点,用三坐标测量臂测量TCP的实际值,并记录真实值和名义值。此时,保持机器人的TCP不动,控制机器人TCP坐标系绕其原点在极限范围内转动多个角度,并用三坐标测量臂测量并记录真实角度与名义角度。
3 齐次坐标变换矩阵与绕任意轴旋转的旋转矩阵之间的关系
齐次变换矩阵是用来表征一个坐标系相对于另一个坐标系的相对位置和方向的。其一般表示式如下:
式中:(px,py,pz)——TCP在世界坐标系的位置;
(nx,ny,nz)、(ox,oy,oz)、(ax,ay,az)——两个坐标系之间的相对方向,可将其视为旋转子矩阵,且矩阵T满足正交矩阵的6个约束条件。
从几何意义上讲,旋转矩阵也可以表示为遵循右手法则绕任意轴k=(kx,ky,kz)做θ角的旋转[10-13],展开可得下式:
令式(2)与式(3)对应元素相等,可以求出:
假设旋转子矩阵不是单位矩阵,则能够求出相应的旋转角θ和旋转轴k。如果旋转矩阵是单位矩阵,则不能确定k,这是因为绕任意轴做零旋转也会产生单位矩阵。为了保证解的唯一性,在整个算法中,令0≤θ≤π。所以只取正号,于是得到θ的一个解:
θ=arctan2
由式(4)可以求得θ角。而确定k的方程主要依据nx、oy和az中的最大正元素。
若nx是最大正元素,则有下式:
式中,当e≥0时,sgn(e)=1;当e<0时,sgn(e)=-1,下同。
若oy是最大正元素时,则有下式:
从几何上来讲,当θ=π时,k有两个符号相反的解。当θ=π时,从式(4)可知:oz-ay=0,ax-nz=0,ny-ox=0,在此情况下,以上3组解中既可以用sgn(0)=1,也可以用sgn(0)=-1,所以得到k的两个解。为使k只有一个解,因此约定此时sgn(0)=1。反之,当得到kx、ky、kz和θ以后也可以用式(2)求出T。
4 机器人TCP坐标系定位、定姿误差标定方法
本文方法是将机器人定位误差标定和定姿误差标定拆分开来,分别进行标定。其方法是采用空间网格精度对机器人的定位误差进行标定,采用PSO优化神经网络对机器人姿态误差进行标定。若直接标定旋转矩阵R,则需要针对其中的9个元素建立神经网络,而本文采用绕任意轴旋转矩阵与齐次变换矩阵的关系使得神经网络的建模对象减少到4个变量,进一步简化了神经网络的结构,同时也能减少计算机数据处理过程所消耗的时间。
机器人TCP坐标系定位误差标定方法如下:1)查找机器人TCP所在的立方体网格;2)计算TCP与所在立方体网格8个顶点ki实际定位坐标之间的距离di;3)计算距离的倒数,应用反距离加权的方法求取各个顶点位置误差相对于TCP位置误差的权值qi,其中i=1,2,…,8,下同;4)用权值加权计算出机器人TCP在3个坐标轴方向上的修正量;5)用机器人TCP位置的期望值与计算出的修正量做和,求出机器人TCP位置的修正值。计算过程如下:
式中:(xn,yn,zn)——TCP的理论位置;
(Δxi,Δyi,Δzi)——TCP所在立方体网格8个顶点的实际坐标与理论坐标的偏差;
(Δx,Δy,Δz)——(xn,yn,zn)的修正量;
(xa,ya,za)——TCP修正后的理论值。
机器人TCP坐标系定姿误差标定方法如下:采用神经网络对TCP坐标系的姿态(kx、ky、kz)和θ进行补偿。建立神经网络模型,并用采集的实验数据进行训练。通过不断验证,最终确定BP神经网络由4层组成,分别为输入层、隐含层1、隐含层2和输出层,其中输入层和输出层都是4个节点,两个隐含层都各自包含7个节点。由于BP神经网络有容易陷入局部最小解的缺点,因此,文中采用PSO算法来找到BP神经网络的最优权值,解决了上述问题[14]。
5 机器人标定实验
为了验证文中提出的机器人标定方法,采用以下设备进行实验:KUKA-KR5ARC机器人和ROMARA7520绝对关节测量臂。KR5ARC机器人的几何参数如表1所示,将表中数据与POE公式相结合可以求出KR5ARC机器人的正向运动学方程。
表1 KR5ARC机器人几何参数表
5.1KR5ARC机器人定位误差标定实验
在KR5ARC机器人工作空间中选出60 mm× 60 mm×60 mm的立方体区域,用映射网格划分法将该区域划分成单元立方体网格为10mm×10mm× 10 mm空间网格结构,整个选定区域共有216个单元网格和343个顶点。用ROMA-RA7520绝对关节测量臂对每一个顶点进行测量,从而获得空间网格精度,以此标定机器人,提高其绝对定位准确度。(1 100,100,1 300)是KR5ARC机器人的一个工作点,包围该工作点的立方体网格8个顶点的理论坐标与实际坐标值如表2所示。应用式(8)~式(11)并结合目标点期望值对表中数据进行处理,结果如表3所示。
通过以上步骤可以得到修正后的期望值(1100.36394,100.30202,1299.80083),反复执行上述过程,对KR5ARC机器人工作空间内的24个点进行了标定,最后的标定效果如图3所示。
表2 立方体网格理论坐标值与实测坐标值
表3 各标定步骤数据计算结果
图3 KR5ARC机器人定位误差标定结果
由图可知,KR5ARC机器人的定位误差得到了有效的补偿,均方根误差降低约1个数量级,使得其定位精度显著提高。
5.2KR5ARC机器人定姿误差标定实验
KR5ARC机器人定姿误差标定采用PSO优化的BP神经网络法:在KR5ARC机器人工作空间内部任选一点,保持TCP不动,改变机器人的姿态,记录每一个姿态的名义值及用ROMA-RA7520绝对关节测量臂测得的实际值,作为神经网络的原始数据,测量的原始数据越多,标定效果越好。
表4 PSO优化的BP神经网络配置重要参数
图4 KR5ARC机器人定姿误差标定结果
将所有得到的数据都根据本文给出的转化关系,将针对齐次坐标变换矩阵中旋转矩阵R中变量的标定转换为针对任意旋转轴中4个变量的标定,之后再反算回齐次坐标变换矩阵。PSO优化神经网络的重要参数如表4所示。
标定前后KR5ARC机器人定姿误差的均方根误差如图4所示。由图可知,KR5ARC机器人的定姿精度提高显著,证明了方法的有效性。
6 结束语
PSO优化的BP神经网络,避免了普通BP神经网络陷入局部最小解的缺点,保证了标定过程顺利进行。本文提出的方法对机器人进行标定,可同时提高机器人的定位、定姿准确度,能够为机器人在柔性加工制造领域的推广应用给予一定的理论支撑。
[1]MENG Y,ZHUANG H Q.Autonomous robot calibration usingvision technology[J].Robotics&Computer-Integrated Manufacturing,2007,23(4):436-46.
[2]HE R B,ZHAO Y J,YANG S N.Kinematic-parameter identification for serial-robot calibration based on POE formula[J].IEEE Transactions on Robotics,2010,26(3):411-423.
[3]LOU Y J,CHEN T N,WU Y Q,et al.Improved and modified geometric formulation of POE based kinematic calibration ofserialrobots[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems.New Jersey:IEEE,2009:5261-5266.
[4]SELINGJM.Geometric fundamentals of robotics[M]. 2nd ed.New York:Springer-Verlag,2004:72.
[5]韩翔宇,都东,陈强,等.基于运动学分析的工业机器人轨迹精度测量的研究[J].机器人,2002,24(1):12.
[6]ROTH Z S,MOORING B W,BAHRAM R.An overview ofrobotcalibration[J].IEEEJournal of Robotics and Automation,1987,23(5):377-385.
[7]OKAMURA K,PARK F C.Kinematic calibration using the product of exponentials formula[J].Robotica,1996,14 (4):415-421.
[8]PARKF C,OKAMURA K.Kinematic calibration and the product of exponential formula[M]∥Advance in Robot Kinematics and Computational Geometry.Cambridge:MIT Press,1994:119-128.
[9]PADEN B.Kinematics and control robot manipulators[D]. Berkeley:University of California Berkeley,1986.
[10]HUNTKH.Kinematicgeometry of mechanisms[M]. New York:Oxford University Press,1978:133-140.
[11]钱东海,王新峰,赵伟,等.基于旋量理论和Paden-Kahan子问题的6自由度机器人逆解算法[J].机械工程学报,2009,45(90):72-76.
[12]徐元昌.工业机器人[M].北京:中国轻工业出版社,1999:80-90.
[13]HE R B,ZHAO Y J,YANG S N,et al.Kinematicparameter identification for serial-robot calibration based on POE formula[J].IEEE Transactions on Robotics,2010,26(3):411-23.
[14]涂娟娟.PSO优化神经网络算法的研究及应用[D].镇江:江苏大学,2013.
(编辑:莫婕)
Robot calibration method based on spatial mesh and PSO optimal neural network
WANG Yi,SONG Zhiwei,WANG Yize,ZHANG Yongtao
(College of Electrical Engineering,North China University of Science and Technology,Tangshan 063009,China)
A robot's posture calibration method which separate the rotation and location of robot to separate calibrate is introduced.Uses spatial mesh precision to calibrate the robot's position error,and applys PSO neural network to calibrate the robot's rotation error.This paper use POE formula to establish the forward kinematics model of robot.A coordinate measuring machine has been used to measure the robot working space.Apply reflection method to set up spatial mesh.Position error of the robot has been calibrated by spatial mesh precision and the rotation error has been calibrated by neural network.The robot calibrate method in this paper is different from the generals.Advantage of this method is that it not only calibrates the position precision of the robot's TCP but also improves the rotation precision of the robot's TCP coordinate at the same time.This approach can further improve the robot's TCP precision.The results of the experiment illustrate:the precision of robot's position and rotation has been improved approximate a magnitude.
spatial mesh precision;PSO;robot calibration;neural network
A
1674-5124(2016)08-0098-05
10.11857/j.issn.1674-5124.2016.08.020
2015-10-14;
2015-11-17
国家自然科学基金项目(E051102)
河北省自然科学基金面上项目(E2013209266)
河北省高等学校科学技术研究项目(QN2013114)
王一(1981-),男,河北唐山市人,副教授,博士,研究方向为光电检测。