SCARA机器人视觉定位运动学控制算法与程序设计
2018-10-20张兴华黄玥
张兴华 黄玥
摘要:本文笔者设计了一款SCARA机器人,由三个自由度组成的平面关节机器人,可运用在电子,家用电器,精密机械领域零件的自动搬运与装配。本文根据该机器人的运动规律,给出了视觉定位求解算法并给出了控制程序源代码。
关键词:SCARA机器人;视觉定位;逆运动学;控制算法
中图分类号:TP242文献标识码:A文章编号:1672-9129(2018)06-0090-02
SCARA Robot Vision Positioning Kinematics Control Algorithm and Program Design
ZHANG Xinghua*, HUANG Yue
(Institute of mechanical and electrical engineering of Guangdong Baiyun University, Guangdong Guangzhou, 510450, China)
Abstract:the author of this paper has designed a SCARA robot, a planar joint robot composed of three degrees of freedom, which can be used in the automatic handling and assembly of parts in the fields of electronics, household appliances and precision machinery. According to the motion law of the robot, a visual localization algorithm is presented and the source code of the control program is given.
Keywords: SCARA robot; visual localization; inverse kinematics; control algorithm
引用:张兴华, 黄玥. SCARA机器人视觉定位运动学控制算法与程序设计[J]. 数码设计, 2018, 7(6): 90-91.
Cite:ZHANG Xinghua, HUANG Yue. SCARA Robot Vision Positioning Kinematics Control Algorithm and Program Design[J]. Peak Data Science, 2018, 7(6): 90-91.
引言
本文笔者设计了一款SCARA机器人,由三个自由度组成的平面关节机器人,可运用在电子,家用电器,精密机械领域零件的自动搬运与装配。本文根据该机器人的运动规律,给出了视觉定位求解算法并给出了控制程序源代码。
1 机械结构
制造装配的实物如图1所示。设计安置在图2所示坐标原点,CCD摄像机安装在机器人上方,用支架安装固定。
2 视觉定位的逆运动学数学模型建立
依据图2的数学模型,运动控制算法描述如下:大臂长度为r1,小臂长度为r2。根据CCD摄像头看到的目标位置的坐标,以这个坐标点为圆心,以r2为半径的圆,以坐标系原点为圆心以r1为半径的圆,有交点可以确定两个臂的姿态关节角。
机械臂底座中心即坐标原点到交点的直线段的斜率的反正切計算出角度a是大臂的运动关节角,抓取目标点与两圆交点的直线直线段的斜率的反正切计算出角度b。如果有两个交点,弃去角度a较大的一组解。只保留角度a较小的这一组解。
3 编写程序实现运动控制
用Visual Basic编程计算程序界面如下:
机器人大、小臂的机械原点状态是与x轴成一条直线的状态,是a=0o , b=0o 。步进电机转角与脉冲数量成正比,上位机把计算结果通过串口通讯传输给大臂小臂电机驱动器,步进电机转动计算结果的转角量,可以实现精准定位。如图:当CCD摄像头看到目标抓取点位置坐标x=21.203,y=24.489
程序自动算得a=30o , b=75o
(x2,y2)是机器视觉看到的目标位置点坐标
j1、j2是大小臂的关节角。
程序源代码如下:
Dim a, b, c, p, q, r As Double
Dim x2, y2, x1, y1 As Double
Dim cosT, x, j1, xx1, xy1, j2 As Double
Dim r1, r2 As Double
Private Sub Command1_Click()
x2 = Text6
y2 = Text7
a = -2 * 20 * x2
b = -2 * 20 * y2
c = 15 ^ 2 - 20 ^ 2 - (x2 ^ 2 + y2 ^ 2)
p = a ^ 2 + b ^ 2 '二次项系数
q = -2 * a * c '一次项系数
r = c ^ 2 - b ^ 2 '常数项系数
cosT = ((q ^ 2 - 4 * p * r) ^ (1 / 2) - q) / (2 * p)
x = cosT
j1 = Atn(Sqr(-x * x + 1) / x)
j1 = j1 * 180 / 3.1415926
x1 = 20 * x
y1 = Sqr(20 * 20 - x1 * x1)
xx1 = x2 - x1 'xx1为小臂在X轴的投影长度
xy1 = y2 - y1 'xy1为小臂在Y轴的投影长度
j2 = Atn(xy1 / xx1)
j2 = j2 * 180 / 3.1415926
Text9 = x1
Text10 = y1
Text12 = j1
Text1 = j2
End Sub
4 结束语:
机器人大小臂的机械原点状态是与x轴成一条直线的状态,此时a=0o , b=0o 。抓取时实际测试的数据,例如:当摄像头看到目标抓取点位置坐标为x=212.03,y=244.89时,控制程序算得a=30o , b=75o 。步进电机转角与脉冲数量成正比,上位机把计算结果通过串口通讯传输给电机驱动器,大臂转动30o,小臂转动75o,步进电机转动计算结果的转角量,实现精准定位拾取。
参考文献:
[1] Mahdi Salman Alshamasin, Florin Ionescu, Riad Taha Al-Kasasbeh, “Modelling and simulation of a SCARA robot using solid dynamics and verification by MATLAB/Simulink ” , Int. J. Modelling, Identification and Control, Vol. 15, No. 1, 2012.
[2] C. Naiden, and V. Galabov, “Kinematics of SCARA Robots”, BULGARIAN ACADEMY OF SCIENCES, 2008.
[3] 陳亚新. 基于视觉定位的机器人控制技术研究[D].安徽工程大学,2017.
[4] 缪立军,车自远.基于自适应下采样的移动机器人视觉定位技术[J].应用光学,2017,38(03):429-433.
[5] 李凡. 移动机器人视觉定位与避障系统研究[D].西南石油大学,2016.