关于工业机械臂运动实现的探究

2017-03-11 17:32万海鑫马思远
关键词:坐标值笛卡尔伺服电机

万海鑫,马思远

(阜阳职业技术学院,安徽阜阳236031)

【应用研究】

关于工业机械臂运动实现的探究

万海鑫,马思远

(阜阳职业技术学院,安徽阜阳236031)

工业机械臂是工厂自动化的重要部件,因此人们对工业臂技术的研究和认识逐步深入.探究工业机械臂的运动实现,找到机械臂端部运动和伺服电机转动角度之间的关系至关重要.利用DOBOT机械臂建立模型,采用双向研究的方法,从伺服电机转动到机械臂端部坐标、再从机械臂端部坐标到伺服电机转动两个方向检验.通过对模型的研究,最终实现输入机械臂控制坐标,得到伺服电机角度的公式.因模型具有普遍意义,所以得出的公式能够实现通过伺服电机对机械臂的控制.

机械臂;坐标变换;运动轨迹

0 引言

越来越多的工厂招工困难,这就要求工厂必须提高自动化程度.工业机械臂技术作为工厂自动化的重要部件,人们对这种技术的研究和认识逐步深入,已在工业的各个领域内得到了广泛的应用[1].在工业领域内,人们对装卸机器人、码垛机器人、搬运机器人、焊接机器人等的应用已经很广泛和成熟.在当前的机器人技术领域内,应用最广泛的自动化机械装置当属机械臂.除了在工业领域内,在其他诸如娱乐服务、医疗医学、军事等领域都能用到械臂.机械臂通常是指一系列相互铰接或相对滑动的构件所组成的具有模仿人类手臂功能并可完成各种作业的自动控制设备,它可把物件或工具按空间位姿的变化要求进行移动,从而完成某一工业生产的作业要求[2].机械臂技术不仅可以提高生产效率,还可以节省人工成本.因此,机器人产业可能会成为在汽车以及计算机之后的又一个大型的高新技术产业.

1 模型建立

本文采用一种三轴工业机械臂作为研究模型,该模型选用深圳越疆科技有限公司生产的DOBOT机械臂,如图1所示.该机械臂是常见的ABB码垛机械臂的缩小版,可以作为学习研发使用.该机械臂的电动机安装于底座上,大小臂的质量较轻,具有非常快的运动速度和定位精度[3].将该机械臂简化如图2(见82页)所示.其中A表示底座第一个关节高度,B表示大臂长度,C表示小臂长度,D表示末端挟持部分长度.大臂转动由一颗电机带动,小臂转动由一颗电机带动,整体转动由一颗电机带动[4].

2 坐标计算

首先明确两个定义:正解函数和反解函数.正解函数是已知机械臂的各旋转角度求得笛卡尔坐标系三维坐标值,反解函数是已知笛卡尔坐标系三维坐标值求机械臂的各旋转角度[5].

2.1 正解函数计算

如图3所示,假设机械臂的主臂和副臂构成一个平面坐标系,CencerOffset表示旋转轴偏移量,HeadOffset表示头部偏移量,Linkage_1表示主臂长度,Linkage_2表示副臂长度,f_SCARA[X_AXIS]表示主臂旋转角度,f_SCARA[Y_AXIS]表示副臂旋转角度.三角换算得到(如图4所示):

x_sin = sin(f_SCARA[X_AXIS]/SCARA_RAD2DEG)* Linkage_1;

x_cos = cos(f_SCARA[X_AXIS]/SCARA_RAD2DEG)* Linkage_1;

y_sin = sin(f_SCARA[Y_AXIS]/SCARA_RAD2DEG)* Linkage_2;

y_cos = cos(f_SCARA[Y_AXIS]/SCARA_RAD2DEG)* Linkage_2;

从上往下观察机械臂,现在主臂和副臂构成一条线,加上两个偏移量就是ARM_XY值(如图5所示).再根据ARM_XY值计算当前笛卡尔坐标系的XYZ三个坐标轴坐标值.

delta[X_AXIS]=ARM_XY*cos(f_SCARA[Z_AXIS]/SCARA_RAD2DEG)- SCARA_offset[X_AXIS];

delta[Y_AXIS]=ARM_XY*sin(f_SCARA[Z_AXIS]/SCARA_RAD2DEG)- SCARA_offset[Y_AXIS];

delta[Z_AXIS] =x_sin + y_sin -SCARA_offset[Z_AXIS];

注:(1)SCARA_RAD2DEG是弧度转角度的计算因子,SCARA_RAD2DEG = 180/pi = 57.295 779 5.

(2)SCARA_offset[X_AXIS]、SCARA_offset[YAXIS]、SCARA_offset[Z_AXIS]是各轴笛卡尔坐标系下的偏移量,可以自定义原点坐标.

2.2 反解函数计算

已知实际的机械臂末端XYZ坐标值,用字母表示如下[2]:

SCARA_pos[X_AXIS]代表X轴坐标;

SCARA_pos[Y_AXIS]代表Y轴坐标;

SCARA_pos[Z_AXIS]代表Z轴坐标;

由上向下观察机械臂,主臂和副臂成一条直线(如图6所示).计算ARM_XY值如下:

ARM_XY=sqrt(pow(SCARA_pos[X_AXIS],2)+pow(SCARA_pos[Y_AXIS],2))- CencerOffset- HeadOffset;

通过ARM_XY和SCARA_pos[Z_AXIS]得到最下关节和机械臂末端的距离ARM_XYZ值.

通过三角变换得到(如图7所示):

cosa=(b^2+c^2-a^2)/2bc

cosb=(a^2+c^2-b^2)/2ac

cosc=(a^2+b^2-c^2)/2ab

SCARA_C2 = (pow(ARM_XYZ,2) -pow(Linkage_1,2) - pow(Linkage_2,2))/(2 * Linkage_1 * Linkage_2);

SCARA_S2 = sqrt( 1 - pow(SCARA_C2,2) );

SCARA_K1 = Linkage_1 + Linkage_2 *SCARA_C2;

SCARA_K2 = Linkage_2 * SCARA_S2;

获得大臂夹角SCARA_theta 和大小臂夹角SCARA_psi

SCARA_theta = (atan2(SCARA_pos[Z_AXIS],ARM_XY)+atan2(SCARA_K2,SCARA_K1));

SCARA_psi = atan2(SCARA_S2, SCARA_C2);

注:SCARA_C2 公式是(pow(Linkage_1,2) + pow(Linkage_2,2)- (pow(ARM_XYZ,2))/(2 *Linkage_1 * Linkage_2)前面加负号的简化公式.

最后计算出各轴转动角度(如图8所示):

delta[X_AXIS] = SCARA_theta * SCARA_RAD2DEG

delta[Y_AXIS] = (SCARA_theta - SCARA_psi) *SCARA_RAD2DEG

delta[Z_AXIS] =atan2(SCARA_pos[Y_AXIS],SCARA_pos[X_AXIS]) * SCARA_RAD2DEG

3 结语

通过上述的变换,可以在机械臂的末端笛卡尔坐标系和转动角度之间进行转换,得到转动角度即可控制电机运动.机械臂坐标转换作为求解机械臂运动学的基础,对于优化机械臂的运动轨迹,使机械臂精准地完成预定的工作任务具有重要的意义[6、7].本文从实际控制出发,能够通过电机转动角度得到笛卡尔坐标系,也可以通过笛卡尔坐标系得到电机转动角度.虽然只有一部分内容,但是通过本文的引申研究,可以达到更多轴控制的目的,因此在机械臂运动学中占有重要地位.

[1]乐伟伟,李宁.机械臂在工业领域的应用及发展[J]工程技术,2016,44(12):00231.

[2]孙军,张家亮,马玲.Dobot机械臂建模仿真与轨迹规划算法研究[J].机械与电子,2016,(6):72-75.

[3]孙亮,马江,阮晓钢.六自由度机械臂轨迹规划与仿真研究[J].控制工程,2010,(3):388-392.

[4]郭闯强. 空间大型机械臂关节控制系统及轨迹规划研究[D].哈尔滨:哈尔滨工业大学,2012.

[5]郑秀娟. 移动机械臂的运动控制与轨迹规划算法研究[D].武汉:武汉科技大学,2012.

[6]谢乃流,陈劲杰,石岩.基于六自由度机械臂的轨迹规划[J].电气技术与自动化,2011,(2):141-144.

[7]毛飞跃.机械臂的结构优化设计研究[J].工程技术,2016,9(7):0065.

(审稿人 王春会 管英杰,责任编辑 邵艳艳)

On movement research of mechanical arm in industry

WAN Hai-xin, MA Si-yuan

(Fuyang Institute of Technology, Fuyang Anhui 236031)

The mechanical arm in industry is the important component of the factory automation, so people are researching and getting to know it better and deeper now. It is extremely important to find the relations between end-range movement of industrial arm and the rotation angle of servo motor. Use the mechanical arm of DOBOT to build the module and adopt the method of bidirectional study to test from two directions, which are from the rotation of the servo motor to end coordinate and from the end coordinate of the mechanical arm to servo motor. Through the research on model, in the end it realizes that input mechanical arm controls the coordinate and achieve the formula of servo motor angle. With the model popular, the achieved formula can make it true that the servo motor controls the mechanical arm.

mechanical arm;coordinate conversion;movement path

2017—01—15

万海鑫(1985-),男,安徽阜阳市人,讲师,主要从事3D打印方面研究.

安徽省教育厅高校领军人才引进与培育计划项目(gxyqZD2016546);阜阳职业技术学院校级立项(2016JXTD01)

TP241.2

A

1008-5688(2017)01-0081-03

猜你喜欢
坐标值笛卡尔伺服电机
笛卡尔的解释
笛卡尔浮沉子
专利名称:一种适应压铸环境的伺服电机
大跨度钢结构安装三维坐标拟合转换
生产线中的伺服电机定位控制
基于二分法迭代的凸模数控铣削加工编程*
伺服电机控制技术的应用及发展趋向分析
谢林与黑格尔论笛卡尔——以《近代哲学史》和《哲学史讲演录》为例
浅说伺服电机位置控制下的定位问题
从广义笛卡尔积解关系代数除法