2. 康尼集团国家企业技术中心, 江苏 南京 210013
2. National Technology Center of Connie Enterprise Group, Nanjing 210013, China
1 引言
工业机器人在笛卡尔任务空间内的轨迹规划包括位置、姿态插补及速度、加速度、加加速度曲线的规划[1].一般的工业机器人轨迹规划控制系统往往只有直线和圆弧轨迹规划与插补,而这种系统对于复杂零部件的自由曲线插补能力有限,会产生较大的误差,同时由于自由曲线的特殊性会造成执行器在插补周期的相邻处的速度与加速度不连续,从而造成工业机器人产生振动,导致加工出的零部件表面不光滑[2].
面向机器人任务空间复杂轨迹曲线的运动,国内外众多学者进行了相关理论算法研究与实践应用,与B样条理论相统一的NURBS曲线理论方法由于具有诸多优点而获得广泛的应用[3].另外,NURBS不仅能够精确统一的表达标准解析曲线和自由曲线,而且其形状控制也相当灵活. Wang等[4]利用短直线将空间轨迹进行等距划分,继而通过NURBS插补对短直线进行拟合处理,同时采用S型曲线速度控制,可减小速度突变对机械的冲击、超程、失步或震荡. Lin等[5]采用弦高误差约束的方法对直线和圆弧轨迹插入节点进行分割,继而对每个分割段采用NURBS曲线拟合,同时可保证曲线衔接处的精确度、光滑性和边缘的连续性. Nien等[6]采用插补前加减速控制和插补后加减速控制的混合控制方法,可实现空间曲线衔接尖角处的平滑过渡,为改善轮廓跟踪和轨迹轮廓精度提供了理论基础.
本文针对工业机器人在笛卡尔空间的自由曲线轨迹规划进行研究,采用阿当姆斯微分方程理论方法对空间自由曲线进行密化,可避免使用泰勒展开算法中的二阶求导运算,从而简化运算;同时采用基于德布尔 (de-Boor) 算法的NURBS曲线实时变步长插补算法,在这种插补算法下插补步长可根据插补误差大小和相关要求进行自动调整,从而满足实际应用的精度和速度的要求,同时也可以简化运算;采用正弦波加速度曲线运动速度控制,不仅能够满足C2连续,加加速度曲线仍能满足一定的连续与平滑,并且运算量较小,可有效提高机器人轨迹平滑性和降低机器人在加工中的冲击和震荡.
2 NURBS曲线理论基础任意一条k次NURBS曲线可表示为一分段有理多项式矢函数[7-10]:
(1) |
其中,ωi称为权因子;di为曲线控制定点;Ni,k(u) 是由节点矢量U=[u0,u1,…,un+k+1]决定的B样条基函数,由广泛使用的德布尔-考克斯 (De Boor-Cox) 递推定义公式表示:
(2) |
式中,规定
由于NURBS曲线的计算需要反复的迭代,直接将参数uk+1代入求解相应的曲线上的坐标需要很大的计算量,显然不能满足实时插补的需要,而采用德布尔 (De Boor) 算法[10-12],只需简单的加减乘除就可以很快计算出曲线上的点一级导数,从而避免了NURBS的直接求导和迭代[6],其计算过程如下:
NURBS曲线的齐次坐标形式控制顶点可写作:
(3) |
套用非有理B样条曲线的de Boor算法,即可得到NURBS曲线上点的de Boor算法计算公式:
设u=[ui,ui+1]⊂[uk,un+1],可得
(4) |
式中,
为得到NURBS曲线的长度,用于计算各插补周期的进给速度,采用复合辛普森 (Simpson) 求积公式法计算NURBS曲线的长度[13],具体计算步骤如下:
(1) 将NURBS曲线节点参数区间[ui-1,ui]分成n等份,路径p(u) 对参数u的微分公式为
(5) |
将NURBS曲线在区间[ui-1,ui]的长度记为li,可得
(6) |
对式 (5) 在区间[ui-1,ui]上进行n等份的复合辛普森求积运算,即:
简化得
(7) |
式中
(2) NURBS曲线路径总长L为
(8) |
式中,k为NURBS曲线的次数,n为控制顶点数.
3 NURBS曲线的平滑插补计算 3.1 哈特利—贾德法求解节点矢量给定NURBS曲线的控制点di(i=0,1,…,n),预定义一条k次非均匀有理B样条曲线,还必须确定它的节点矢量U=[u0,u1,…,un+k+1]中的具体的节点值.
为便于对曲线在曲线端点的行为有较好的控制,本文在两端节点的重复度取为k+1,通常将曲线的定义域取成规范参数域,即u∈[uk,un+1]且[uk,un+1]=[0,1],于是u0=u1=…=uk=0,un+1=un+2=…=un+k+1=1,其余内节点需计算求解.
本文所采用的哈特利—贾德法与曲线次数的奇偶性无关[3],采用统一的计算公式,计算方法更具合理性,其计算公式如下:
(9) |
式中lj为控制多边形的各边长,即lj=|dj-dj-1|.由式 (9) 可得:
(10) |
参数密化是指由3维轨迹空间到1维参变量空间的映射[14-15],在参数化插补方式下,数据的密化即表现为参数的密化过程,即由轨迹空间的进给步长ΔL映射到参变量空间以求取参变量增量Δu及下一参数坐标ui+1=ui+Δui.本文采用阿当姆斯微分方程对参变数进行密化,计算公式如下:
采用3步4阶阿当姆斯微分方程的隐格式:
(11) |
将
(12) |
其局部阶段误差为
而泰勒公式展开法中阶段误差为Γn+1=O(T2).
插补周期T一般取0.001 s~0.002 s,可见该算法具有比2阶泰勒展开式法更高的计算精度.
为保证高速NURBS曲线直接插补的要求,保证实时插补的计算速度,采用前、后向差分 (如式 (13) 所示) 结合代替微分的方法对该算法进行简化:
(13) |
将式 (13) 代入式 (11),得到简化后的阿当姆斯微分方程插补算法迭代公式:
(14) |
将参数
(15) |
从而得到对应的预估进给步长为
(16) |
采用预估法得到的
(17) |
当误差δ在允许范围内时,可认为
(18) |
为满足工业机器人轨迹平滑性要求提出的正弦波加速度曲线,加速度呈现正弦波曲线变化,如图 2所示,其加加速度呈现余弦波曲线,可保证规划的机器人末端执行器轨迹的平滑,减少机器人关节机构的机械振动[16-18]. 图 2中,纵坐标Jerk、ACC、Vel分别为加加速度、加速度、速度;DTmax为加速度从0加速到最大加速度Amax的时间;Vs、Ve分别为起始速度值和终止速度值;Ps、Pe分别为起始位置值和终止位置值.
在 (0,DTmax) 时间段内,加速度曲线的正弦函数方程为
(19) |
式中,t为变化时间.对式 (19) 进行1阶求导,可得到加加速度的函数方程为
(20) |
当
根据图 2,可将规划轨迹划分为3段,即位移段D1(加加速段)、D2(匀加速段) 和D3(减加速段),可得3个轨迹段间的两个过渡点的速度Va和Vb:
(21) |
由式 (21) 可得,匀加速段运行时间
根据划分的3段D1、D2和D3,可得对应轨迹段的加速度函数,分别为
(22) |
由式 (22) 可得,对应3个轨迹段对应位移量为
(23) |
(24) |
(25) |
根据式 (21)~式 (25) 可得随时间变化的位置函数d(t):
(26) |
四元数作为一种超复数,由实数加上3个虚数单位i、j、k组成,其本身的几何意义可理解为一种旋转[19-21],也可说它是4维空间上的一种代数结构.四元数通常表示为
式中,q0为实部,q1i+q2j+q3k为虚部.
当四元数的模
单位四元数集合和所有3维空间旋转有一一对应的关系,其组合成一个3维球面上在乘法下的旋转李群.所以四元数的乘法就代表了空间的旋转运动.因此,在规划机械臂末端从一种姿态R1变化到另一种姿态R2,可利用单位四元数进行轨迹姿态的插补.
由旋转矩阵R可得到刚体旋转轴和旋转角度,转换公式为
可以得到机器人末端起始姿态和目标姿态对应的四元数为Qs和Qe,计算姿态四元数函数采用四元数的“球形线性插值法”(spherical linear interpolation,即Slerp):
(27) |
式中,ω=arccos (Qs·Qe)(Qs·Qe是两个四元数的点积),l(t)∈[0,1]通过上述运动规划得到.
在圆弧轨迹规划过程中,圆弧位置通过正弦波加速度曲线运动规划算法进行插补得到实时位置点P(t),同时圆弧姿态也是运用正弦波加速度曲线运动规划算法对四元数参数进行球形线性插补算法得到实时四元数旋转Q(t),然后将四元数旋转Q(t) 变换回旋转矩阵R(t),与位置P(t) 组成齐次变换矩阵T(t),即每次插补所得机器人末端的位姿,如式 (28) 所示:
(28) |
本文以埃夫特ER10L-C10型工业机器人为实验平台,该型号机器人适用于机床上下料、搬运、喷釉、打磨抛光等场合,其结构模型如图 4所示.
基于ER10L-C10型机器人,采用上述自由曲线轨迹规划算法和正弦波加速度曲线速度控制对机器人末端空间自由曲线的轨迹位姿进行规划,利用Matlab工具对轨迹规划进行仿真与验证.该型号工业机器人DH参数见表 1所示.
序号i | αi/rad | ai/mm | di/mm | θi/rad |
1 | π/2 | α1 | d1 | 0 |
2 | 0 | α2 | 0 | π/2 |
3 | π/2 | α3 | 0 | 0 |
4 | -π/2 | 0 | d4 | 0 |
5 | π/2 | 0 | 0 | 0 |
6 | 0 | α6 | 0 | 0 |
使用NURBS插补算法对工业机器人任务空间自由曲线的工作路线进行轨迹规划,通过Keba机器人控制器示教功能记录所需机器人末端执行器自由曲线控制点的位姿数据,并通过ER10L-C10型机器人实验平台得到自由曲线各控制点处机器人执行器末端相对于基坐标系的位姿齐次矩阵TBT1、TBT2,…,TBT13为
通过上述算法,以3次NURBS曲线为例,曲线特征和各项参数分别为:控制顶点为齐次矩阵TBT1,TBT2,…,TBT13的位姿数据;权因子假设全为1,即
轨迹规划仿真过程中,实时检测轨迹规划插补期望步长L与弓高误差约束步长Lh、期望弓高误差h与约束弓高误差hm,修正轨迹与修正前原轨迹的相对偏差r与弓高误差约束步长条件下的轨迹与修正前原轨迹的相对偏差rh,检测结果分别如图 6~图 8所示.由v=L·T可知,自由曲线轨迹规划的插补速度可用插补步长与插补周期的乘积表示.
由仿真图 6~图 9所示,在对NURBS曲线进行插补的过程中,采用基于正弦波加速度曲线的速度控制对NURBS曲线的插补方法,采用轮廓误差和最大进给加速度对进给步长进行约束,即对进给步长的控制就是对进给速度的控制.整个插补过程中,插补速度陡坡即插补步长突变处,相应的曲线插补弓高误差明显增大,进给速度变化较平滑,并且进给速度接近最大值,速度波动很小;插补过程中弓高误差的波动被控制在最大弓高误差范围内且波动过渡平滑;插补过程中在弓高误差陡降处相对偏差增大,说明轨迹得以修正.由此可见,该算法可对基于NURBS的自由曲线轨迹规划进行有效的修正处理.
通过对NURBS曲线进行插补获得自由曲线轨迹位置插补点的同时,采用四元数对轨迹姿态进行插补,将获得的姿态插补数据转化为对应的超球面旋转矢量轴,旋转矢量轴变化轨迹如图 10所示.
由图 10可见,在正弦波加速度曲线速度控制下的四维空间超球面的旋转矢量过渡平滑,则在自由曲线轨迹规划中曲线的姿态可平滑过渡,同时可避免当欧拉角万向死锁的缺陷、等效轴法当旋转量为0时存在无法确定旋转轴的问题.
7 结束语本文针对工业机器人在笛卡尔空间复杂零部件的加工,即零部件表面自由曲线的轨迹规划进行研究,提出了一种基于NURBS曲线的轨迹规划控制方法.采用阿当姆斯微分方程进行NURBS插补计算,结合正弦波加速度曲线速度控制对插补过程中曲线位姿与姿态的加速度、加加速度进行控制.该方法为机器人轨迹规划提供了一种高效的位姿规划的解决方案,可避免使用泰勒展开算法中的二阶求导运算,升降速控制不仅能够保证C2连续且计算量相对较小,能够较好地满足机器人控制的实时性要求,具有计算速度快、鲁棒性强的特点.通过测试和仿真,可以看出所提算法的有效性.该方法能够有效提高工业机器人的工作效率和工作质量,能够减小速度波动,改善机器人的工作环境.
[1] | Craig J J. Introduction to robotics:Mechanics and control[M]. 3rd ed. Upper Saddle River, New Jersey, USA: Pearson Prentice Hall, 2005: 48-99. |
[2] | 王强. 六自由度工业机器人的运动轨迹插补算法的研究[D]. 杭州: 浙江工业大学, 2012. Wang Q. The research on trajectory interpolation algorithm of 6-DOF industrial robot[D]. Hangzhou:Zhejiang University of Technology, 2012. |
[3] | Faires J D, Burden R L. Numerical methods[M]. 4th ed. Pacific Grove, CA, USA: Brooks/Cole Publishing Company, 2012: 237-405. |
[4] | Wang J B, Yau H T. Real-time NURBS interpolator:Application to short linear segments[J]. The International Journal of Advanced Manufacturing Technology, 2009, 41(11/12): 1169–1185. |
[5] | Lin K Y, Ueng W D, Lai J Y. CNC codes conversion from linear and circular paths to NURBS curves[J]. The International Journal of Advanced Manufacturing Technology, 2008, 39(7/8): 760–773. |
[6] | Nien H W, Yau H T. On acceleration/deceleration hybrid interpolation for multi-blocks of NURBS curves[C]//Proceedings of the 2008 IEEE/ASME International Conferenece on Advanced Intelligent Mechatronics. Piscataway, NJ, USA:IEEE, 2008:910-915. |
[7] | 季彦伟. NURBS曲线插补算法的研究与应用[D]. 沈阳: 东北大学, 2010. Ji Y W. Study and application of interpolation algorithm based on NURBS curve[D]. Shenyang:Northeastern University, 2010. http://cdmd.cnki.com.cn/Article/CDMD-10145-1013114741.htm |
[8] | 张鑫. 六自由度工业机器人运动学系统的NURBS曲线插补算法的研究[D]. 杭州: 浙江工业大学, 2014. Zhang Xin. Research on NURBS curve interpolation algorithm of 6-DOF industrial robot kinematics system[D]. Hangzhou:Zhejiang University of Technology, 2014. |
[9] | Baek D K, Yang S H, Ko T J. Precision NURBS interpolator based on recursive characteristics of NURBS[J]. International Journal of Advanced Manufacturing Technology, 2012, 65(1/2/3/4): 403–410. |
[10] | 刘新山. NURBS曲线插补技术研究及其仿真[D]. 吉林: 吉林大学, 2007. Liu Xinshan. A study on interpolation technique and emulations of NURBS[D]. Jilin:Jilin University, 2007. http://cdmd.cnki.com.cn/Article/CDMD-10183-2007091395.htm |
[11] | 冯高洁. 基于De_Boor递推算法的一种实时NURBS曲线插补算法研究[D]. 广州: 广东工业大学, 2011. Feng G J. A real-time NURBS curve interpolation algorithm based on the De_Boor recursive algorithm[D]. Guangzhou:Guangdong University of Technology, 2011. http://cdmd.cnki.com.cn/Article/CDMD-11911-1011148582.htm |
[12] | Fan Y Q, Fu J Z, Gan W F. Research on look-ahead adaptive interpolation of NURBS based on de Boor algorithm[J]. Key Engineering Materials, 2010, 426-427: 206–211. DOI:10.4028/www.scientific.net/KEM.426-427 |
[13] | 岳磊, 赵国勇, 刘晨希, 等. 基于S曲线加减速的NURBS插补控制方法研究[J]. 组合机床与自动化加工技术, 2015(5): 43–46. Yue L, Zhao G Y, Liu C X, et al. Research on NURBS curve interpolation method based on S curve acceleration and deceleration[J]. Modular Machhine Tool & Automatic Manufacturing Technique, 2015(5): 43–46. |
[14] | 林志炜. 高速数控系统中NURBS曲线自适应插补的实现及其加减速控制策略研究[D]. 合肥: 中国科学技术大学, 2014. Lin Z W. Research on adaptive NURBS interpolation and its speed control strategy for CNC[D]. Hefei:University of Science and Technology of China, 2014. http://cdmd.cnki.com.cn/Article/CDMD-10358-1014299684.htm |
[15] | Heng M, Erkorkmaz K. Design of a NURBS interpolator with minimal feed fluctuation and continuous feed modulation capability[J]. International Journal of Machine Tools & Manufacture, 2010, 50(3): 281–293. |
[16] | 赵巍. 数控系统的插补算法及加减速控制方法研究[D]. 天津: 天津大学, 2004. Zhao W. Research on interpolation algorithm and acceleration-deceleration controller in CNC system[D]. Tianjin:Tianjin University, 2004. |
[17] | 潘海鸿, 杨微, 陈琳, 等. 全程S曲线加减速控制的自适应分段NURBS曲线插补算法[J]. 中国机械工程, 2010, 21(2): 190–195. Pan H H, Yang W, Chen L, et al. Adaptive piecewise NURBS curve interpolator algorithm for entireness process S-curve ACC/DEC control[J]. China Mechanical Engineering, 2010, 21(2): 190–195. |
[18] | 高亚军. 六自由度机器人平滑轨迹规划与控仿一体化系统研究[D]. 杭州: 浙江工业大学, 2014. Gao Y J. Research on control/simulation integrated system for six-DOF robot with smooth trajectory planning[D]. Hangzhou:Zhejiang University of Technology, 2014. |
[19] | Kim P. Rigid Body Dynamics for Beginners:Euler Angles & Quaternions[M]. Charleston, South Carolina, USA: CreateSpace, 2014: 23-78. |
[20] | 刘松国, 朱世强, 王宣银, 等. 基于四元数和B样条的机械手平滑姿态规划器[J]. 浙江大学学报:工学版, 2009, 43(7): 1192–1196, 1202. Liu S G, Zhu S Q, Wang X Y, et al. Smooth orientation planner for manipulators based on quaternion and B-spline[J]. Journal of Zhejiang University:Engineering Science, 2009, 43(7): 1192–1196, 1202. |
[21] | 孙斌, 常晓明, 段晋军. 基于四元数的机械臂平滑姿态规划与仿真[J]. 机械科学与技术, 2015, 34(1): 56–59. Sun B, Chang X M, Duan J J. Smooth orientation planning and simulation of manipulator based on quaternion[J]. Mechanical Science and Technology for Aerospace Engineering, 2015, 34(1): 56–59. |