基于MATLAB的RPR型机器人工作空间仿真
2017-10-21谢飞亚伞红军王晟
谢飞亚+伞红军+王晟
摘要:以三自由度RPR型“柱坐标”机器人为研究对象,用D-H参数来描述该机器人的运动学问题,利用MATLAB的机器人学工具箱Robotics toolbox对机器人进行转换矩阵求解。采用随机抽样生成关节参数的蒙特卡洛法对机器人的工作空间进行求解。结果证明,机器人工作空间合理,生成的数据为后面控制系统设计,轨迹规划,动力学分析,误差标定等的研究提供了重要的分析依据。
Abstract: A three-degree-of-freedom RPR type "cylindrical coordinate" robot is used as the research object. The kinematics problem of the robot is described by D-H parameter. The robot matrix is solved by using Robotics toolbox of MATLAB. The Monte-Carlo method is used to solve the working space of the robot by randomly sampling the joint parameters. The results show that the working space of the robot is reasonable, and the generated data provide important analytical basis for the research of the following control system design, trajectory planning, dynamic analysis and error calibration.
关键词:柱坐标机器人;运动学正解;工作空间
Key words: cylindrical coordinate robot;kinematic positive solution;workspace
中图分类号:TP242.6 文献标识码:A 文章编号:1006-4311(2017)32-0116-02
0 引言
现有机器人分为串联机器人,并联机器人。机器人的研究常涉及运动学、精度、控制、轨迹规划、机构设计、系统集成等方面的研究工作。由于机器人的分析涉及一系列矩阵求解,而MATLAB作为一种求解软件为机器人的数学模型求解提供了强大的运算功能。而澳大利亚科学家Peter Corke等人开发MATLAB Robotics Toolbox工具箱为机器人的运动学、动力学、轨迹规划等提供了简化计算的功能函数,该工具箱还能对机器人进行图形仿真,并能分析实验结果。
本研究以三自由度RPR型“柱坐标机器人为研究对象”,分析机构的各关节,用四个运动学参数描述。确定一个变量和三个固定参数,并建立了标准的D-H[1]坐标系得到连杆变换矩阵,求解出运动学正解,并用MATLAB对正解数学模型进行计算。以建立的运动学正解为基础,采取离散关节变量的蒙特卡洛法对机器人的工作空间进行求解。以上的分析为后面的控制系统及其误差分析提供了理论依据。
1 三自由度机器人的机构分析以及连杆参数
三自由度RPR机器人的主要用途是快速拆卸螺丝,其中包括两个转动关节和一个移动关节。其关节1绕其底座做旋转运动,关节2在水平方面移动,关节3绕自身的轴做旋转运动。通过关节1的转动,关节2的移动以及关节3的转动可以确定该机构位姿,其关节1的旋转角度为360°,图1为该机构的结构简图。
按照标准的Denavit-Hartenberg建立连杆坐标系。其坐标系的建立规则按以下步骤进行:
①找出各关节轴或者移动轴,并画出这些轴的延长线。下面步骤仅讲述相邻轴i和i+1的建立。
②找到关节轴i和i+1的公垂线交点,此交点即为坐标连杆坐标系的{i}的原点。
③i即为Zi的指向。
④规定Xi沿公垂线的指向,如果i和i+1轴相交,那么Xi轴方向垂直于i和i+1轴所确定的平面。
⑤按照右手螺旋定则确定Yi轴。
⑥第一个关节变量为0时,规定坐标系{0}和{1}重合。
按照以上原则建立好机器人坐标系,如图2所示。
2 三自由度机器人的运动学分析
研究机器人的坐标系的建立是为后面运动学分析做好准备,运动学分析是后面工作空间和轨迹规划的基础,研究内容是末端执行装置的工作空间和关节空间下速度加速度分析。运动学分为正运动学和逆运动学求解,由以上建立好的D-H坐标系可求得RPR型操作臂的连杆参数表1,其中L2=200。
公示(2)右端元素对应于:
nx=cosθ1cosθ3;ox=-cosθ1sinθ3;ax=sinθ1;Px=L2sinθ1+d2sinθ1;
ny=sinθ1cosθ3;oy=-sinθ1sinθ3;ay=-cosθ1;Py=-cosθ1L2-d2cosθ1
nz=sinθ3;oz=cosθ3;az=0;Pz=0。
3 三自由度机器人的工作空间分析
目前,机器人的工作空间常采用解析法,图解法,数值法[2,3]求解。解析法是通过多次包络来确定工作空间的边界,但由于不直观,运算非常繁瑣,所以通常只应用在关节数目少于3 个的机器人[4,5]。图解法求解的工作空间的范围,得到的是工作空间的各部一处的剖截面或者剖截线,这种方法虽然直观性强,但是也受到自由度数的限制,当存在很多的关节数时必须进行分组处理[6,7]。数值法是以极值理论和优化方法为基础的,计算机器人工作空间边界曲面上的特征点,构成边界曲线,再构成边界曲面。具有代表性的成果有搜索法、迭代法和蒙特卡洛法[8-10]。本文采用蒙特卡洛法,利用随机抽样来求解末端点的工作空间的数值方法。根据上面求解的正解部分,可得到末端位置为:endprint
蒙特卡洛法的求解步骤如下:
①计算机器人的正运动学,求解得到机器人手腕末端点(TCP)在参考坐标系中的位置向量。
②各个关节随机变量:θi=θi+×RAND()。
③将关节变量值带入正解方程可求得末端位置。
④将末端位置向量在MATLAB中绘画出。
运用MATLAB软件编写程序,取20000个离散随机点,得到六自由度机器人的工作空间如图3。
4 结束语
①在当前研究的机器人工作空间的多种方法上,选择数值解为最合适的解,选用蒙特卡洛法对RPR型机器人进行工作空间分析,发现计算过程简洁、求解速度快、一目了然等特点,有利于对机器人工作空间进行分析。②通过正向运动学的建模,求解出RPR机器人末端处对X,Y,Z三轴的位置矩阵,对工作空间起到描述的作用。,为后面的蒙特卡洛法的分析奠定基础。③采用MATLAB Robotics toolbox工具箱对机器人的末端位置进行数学编程,并通过编写程序模拟工作空间,生成了工作空间的实状,为以后控制系统设计,轨迹规划,动力学分析,误差标定等的研究提供了重要的分析依据。
参考文献:
[1]蔡自兴,谢斌.机器人学[M].二版.北京:清华大学出版社, 2015.
[2]曹毅,李秀娟,宁祎,等.三维机器人工作空间及几何误差分析[J].机械科学与技术,2006,25(12):1458-1502.
[3]崔玉洁,张祖立,范磊.基于蒙特卡洛方法的采摘机械手工作空间分析[J].农机化研究,2007,12:62-64.
[4]赵献丹,何庆中,刘明等.基于MATLAB的微电驱串联机械手工作空间域解算与仿真[J].四川理工学院学报,2006,19(5):5-8.
[5]Xu W F,Li L T,Liang B,et al. Workspace analysis of space 3R robot [J]. Journal of Astronautics,2007,28(5):1389-1394.
[6]谭朝阳.机械手工作空间分析[J].机械,2003,30(3):15-17.
[7]郭立,高文杰.卫生陶瓷施釉机器人工作空间的研究[J].机床与液压,2007,35(6):29-32.
[8]Diao X M, Ou M. Workspace analysis of a 6-DOF cable robot for hardware-in-the-loop dynamic simulation [A]. Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems[C], IROS,2006: 4103-4108.
[9]Piao M B, et al. Research on workspace of a two-arm surgical robot[A]. Proceedings of the 2007 IEEE International Conference on Mechatronics and Automation[C], 2007.
[10]傅紹文,姚郁.六自由度Stewart平台四维工作空间搜索方法[J].哈尔滨工业大学学报,2007,39(1):11-13.endprint