張興華 黃玥
摘要:本文筆者設(shè)計了一款SCARA機(jī)器人,由三個自由度組成的平面關(guān)節(jié)機(jī)器人,可運(yùn)用在電子,家用電器,精密機(jī)械領(lǐng)域零件的自動搬運(yùn)與裝配。本文根據(jù)該機(jī)器人的運(yùn)動規(guī)律,給出了視覺定位求解算法并給出了控制程序源代碼。
關(guān)鍵詞:SCARA機(jī)器人;視覺定位;逆運(yùn)動學(xué);控制算法
中圖分類號:TP242文獻(xiàn)標(biāo)識碼: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ī)器人視覺定位運(yùn)動學(xué)控制算法與程序設(shè)計[J]. 數(shù)碼設(shè)計, 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.
引言
本文筆者設(shè)計了一款SCARA機(jī)器人,由三個自由度組成的平面關(guān)節(jié)機(jī)器人,可運(yùn)用在電子,家用電器,精密機(jī)械領(lǐng)域零件的自動搬運(yùn)與裝配。本文根據(jù)該機(jī)器人的運(yùn)動規(guī)律,給出了視覺定位求解算法并給出了控制程序源代碼。
1? 機(jī)械結(jié)構(gòu)
制造裝配的實物如圖1所示。設(shè)計安置在圖2所示坐標(biāo)原點(diǎn),CCD攝像機(jī)安裝在機(jī)器人上方,用支架安裝固定。
2? 視覺定位的逆運(yùn)動學(xué)數(shù)學(xué)模型建立
依據(jù)圖2的數(shù)學(xué)模型,運(yùn)動控制算法描述如下:大臂長度為r1,小臂長度為r2。根據(jù)CCD攝像頭看到的目標(biāo)位置的坐標(biāo),以這個坐標(biāo)點(diǎn)為圓心,以r2為半徑的圓,以坐標(biāo)系原點(diǎn)為圓心以r1為半徑的圓,有交點(diǎn)可以確定兩個臂的姿態(tài)關(guān)節(jié)角。
機(jī)械臂底座中心即坐標(biāo)原點(diǎn)到交點(diǎn)的直線段的斜率的反正切計算出角度a是大臂的運(yùn)動關(guān)節(jié)角,抓取目標(biāo)點(diǎn)與兩圓交點(diǎn)的直線直線段的斜率的反正切計算出角度b。如果有兩個交點(diǎn),棄去角度a較大的一組解。只保留角度a較小的這一組解。
3? 編寫程序?qū)崿F(xiàn)運(yùn)動控制
用Visual Basic編程計算程序界面如下:
機(jī)器人大、小臂的機(jī)械原點(diǎn)狀態(tài)是與x軸成一條直線的狀態(tài),是a=0o? ,? b=0o 。步進(jìn)電機(jī)轉(zhuǎn)角與脈沖數(shù)量成正比,上位機(jī)把計算結(jié)果通過串口通訊傳輸給大臂小臂電機(jī)驅(qū)動器,步進(jìn)電機(jī)轉(zhuǎn)動計算結(jié)果的轉(zhuǎn)角量,可以實現(xiàn)精準(zhǔn)定位。如圖:當(dāng)CCD攝像頭看到目標(biāo)抓取點(diǎn)位置坐標(biāo)x=21.203,y=24.489
程序自動算得a=30o? ,? b=75o
(x2,y2)是機(jī)器視覺看到的目標(biāo)位置點(diǎn)坐標(biāo)
j1、j2是大小臂的關(guān)節(jié)角。
程序源代碼如下:
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? '二次項系數(shù)
q = -2 * a * c??? '一次項系數(shù)
r = c ^ 2 - b ^ 2? '常數(shù)項系數(shù)
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? 結(jié)束語:
機(jī)器人大小臂的機(jī)械原點(diǎn)狀態(tài)是與x軸成一條直線的狀態(tài),此時a=0o? ,? b=0o 。抓取時實際測試的數(shù)據(jù),例如:當(dāng)攝像頭看到目標(biāo)抓取點(diǎn)位置坐標(biāo)為x=212.03,y=244.89時,控制程序算得a=30o? ,? b=75o? 。步進(jìn)電機(jī)轉(zhuǎn)角與脈沖數(shù)量成正比,上位機(jī)把計算結(jié)果通過串口通訊傳輸給電機(jī)驅(qū)動器,大臂轉(zhuǎn)動30o,小臂轉(zhuǎn)動75o,步進(jìn)電機(jī)轉(zhuǎn)動計算結(jié)果的轉(zhuǎn)角量,實現(xiàn)精準(zhǔn)定位拾取。
參考文獻(xiàn):
[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]????? 陳亞新. 基于視覺定位的機(jī)器人控制技術(shù)研究[D].安徽工程大學(xué),2017.
[4]????? 繆立軍,車自遠(yuǎn).基于自適應(yīng)下采樣的移動機(jī)器人視覺定位技術(shù)[J].應(yīng)用光學(xué),2017,38(03):429-433.
[5]????? 李凡. 移動機(jī)器人視覺定位與避障系統(tǒng)研究[D].西南石油大學(xué),2016.