文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.172276
中文引用格式: 丁偉,,王宜懷,,賈榮媛. 基于K64機(jī)械臂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,,43(12):36-39.
英文引用格式: Ding Wei,,Wang Yihuai,Jia Rongyuan. Design and implementation of the robotic arm control system based on K64[J].Application of Electronic Technique,,2017,,43(12):36-39.
0 引言
機(jī)器人技術(shù)是一種融合了機(jī)械,、計(jì)算機(jī)技術(shù),、電子、人工智能等眾多學(xué)科于一體的先進(jìn)技術(shù)[1],,各國競相在機(jī)器人的研發(fā)及生產(chǎn)上投入大量人力物力,。我國的機(jī)器人控制技術(shù)仍然和歐美一些國家存在較大差距,機(jī)械臂也屬于機(jī)器人范疇的一部分,。
為了解放人類生產(chǎn)力,,用機(jī)器取代人類做一些重復(fù)且危險(xiǎn)的工作已成為必然。在調(diào)研了目前市面上機(jī)械臂的發(fā)展情況下,,結(jié)合實(shí)際設(shè)計(jì)了一套基于K64的三自由度機(jī)械臂控制系統(tǒng),。該機(jī)械臂在平面上具有良好的順從性,在豎直方面具有良好的剛性[2],,配合機(jī)械臂末端攜帶的工具能夠滿足不同操作要求,。經(jīng)過研究比對,,采用恩智浦的K64芯片作為核心控制芯片、以MQX_Lite為操作系統(tǒng)的控制系統(tǒng)能夠充分利用嵌入式軟硬件結(jié)合的優(yōu)點(diǎn),,使控制系統(tǒng)的性能更加優(yōu)越,,成本更低,功能更健全,,改善了傳統(tǒng)機(jī)械臂存在的控制功能單一,、生產(chǎn)成本高等一些問題[3]。
1 運(yùn)動學(xué)基礎(chǔ)
1.1 機(jī)械臂建模
任何涉及機(jī)械手臂的設(shè)計(jì)均要以運(yùn)動學(xué)為基礎(chǔ),。在傳統(tǒng)的三維幾何學(xué)中,,使用3×1維向量的加法來進(jìn)行平移計(jì)算,使用3×3矩陣的乘法進(jìn)行轉(zhuǎn)動計(jì)算,。一般用Trans(X1,,Y1,Z1)代表平移,,表示在XYZ軸上分別平移X1,、Y1、Z1,;用Rot(Z,,θ)代表繞Z軸旋轉(zhuǎn)θ角,可以根據(jù)需要修改對應(yīng)參數(shù),。
在進(jìn)行機(jī)械臂運(yùn)動學(xué)計(jì)算之前,,首先將機(jī)械臂用數(shù)學(xué)表達(dá)式表示出來,這涉及到機(jī)械臂建模,,通過D-H建模法建立模型參數(shù)[4],,如表1。
由于Z軸是由單獨(dú)電機(jī)控制,,不需要其他關(guān)節(jié)的配合,,所以豎直方向單獨(dú)考慮。平面位置的移動則依靠兩個(gè)電機(jī)的配合,,機(jī)械臂的俯視圖如圖1所示,。
結(jié)合表1,可得運(yùn)動學(xué)方程為:
1.2 逆運(yùn)動學(xué)
逆運(yùn)動學(xué)指在已知機(jī)械臂末端的執(zhí)行器位姿,,求解各個(gè)關(guān)節(jié)的角度問題,。
求解逆運(yùn)動學(xué)方程時(shí),面臨最優(yōu)解和唯一解問題,。在圖1中,,機(jī)械臂末端的目標(biāo)點(diǎn)B(x,y),此時(shí)有兩種情況與之對應(yīng),,選擇最小的旋轉(zhuǎn)角度達(dá)到該目標(biāo)位置,才能解決最優(yōu)解和唯一解問題,。
求操作臂的反解有兩種方法:封閉解法和數(shù)值解法,。選擇封閉解可以準(zhǔn)確求解出對應(yīng)的角度變化。對于封閉解法,,有兩種途徑:代數(shù)解和幾何解,。考慮到機(jī)械的結(jié)構(gòu)以及運(yùn)動學(xué)方程,,采用幾何法,。
如圖1所示的平面機(jī)械臂,利用平面幾何關(guān)系求運(yùn)行學(xué)反解,,在世界坐標(biāo)系中,,已知機(jī)械臂末端的坐標(biāo)點(diǎn)B的坐標(biāo)值,利用余弦定理和反三角函數(shù),,求θ1和θ2的角度值,。
2 控制系統(tǒng)總體設(shè)計(jì)及工作原理
該系統(tǒng)主要由上位機(jī)控制軟件、K64核心控制電路和機(jī)械關(guān)節(jié)等部分組成,。其中,,串口作為上位機(jī)和K64之間的主要通信方式,在上位機(jī)采用一般的串口調(diào)試工具,;微控制器部分以恩智浦公司K64為核心,,由通信模塊、電機(jī)驅(qū)動模塊,、傳感器模塊,、電源模塊、指示燈模塊組成,。系統(tǒng)整體結(jié)構(gòu)框圖如圖2所示,。
系統(tǒng)將整體工作流程分模塊進(jìn)行,首先由操作人員在上位機(jī)軟件輸入指令,,通過串口通信模塊將TTL信號轉(zhuǎn)化成單片機(jī)識別的RS232信號,,緊接著由單片機(jī)對接收到的信號進(jìn)行處理,同時(shí)融入實(shí)時(shí)操作系統(tǒng)MQX_Lite,,分別執(zhí)行相對應(yīng)的任務(wù),,例如電機(jī)控制、指示燈變化等,。同時(shí),,單片機(jī)也通過中斷方式實(shí)時(shí)檢測著傳感器,將信息反饋給用戶,做到實(shí)時(shí)監(jiān)控,。
2.1 系統(tǒng)硬件設(shè)計(jì)
機(jī)械臂的主要應(yīng)用目標(biāo)是工業(yè)控制,,而可靠性和抗干擾能力是衡量工業(yè)控制中電氣設(shè)備性能的關(guān)鍵指標(biāo),因此在設(shè)計(jì)內(nèi)部電路時(shí),,采用了抗干擾技術(shù),,其中包括光耦隔離電路。系統(tǒng)采用的硬件是具有極高性能的元件,,其中包括高速光耦6N138,、三極管S8050等[5]。下面著重介紹電源模塊和電機(jī)控制模塊,。
2.1.1 電源模塊
由于硬件系統(tǒng)中涉及到不同的外設(shè),,各個(gè)外設(shè)工作電壓又各不相同,電源模塊需要滿足統(tǒng)一供電,,需要設(shè)計(jì)電源轉(zhuǎn)化模塊,,滿足要求。本系統(tǒng)中采用常見的24 V直流電源供電,,通過LM2596-ADJ電壓調(diào)節(jié)器的調(diào)節(jié),,輸出電壓依據(jù)公式V_out=V_ref(1+R1/R2)得出,通過改變R1,、R2的值調(diào)整需要的輸出電壓,。經(jīng)過分析,系統(tǒng)需要電壓3.3 V,、5 V,、12 V、24 V,、36 V幾種電壓值供不同部分使用,。電源模塊的電路圖如圖3所示。
2.1.2 電機(jī)控制模塊
機(jī)械臂的平穩(wěn)正常工作,,離不開電機(jī)的驅(qū)動,。作為常見的工業(yè)控制方式之一,電機(jī)性能的穩(wěn)定對整個(gè)系統(tǒng)具有至關(guān)重要的作用,。為了排除電機(jī)工作時(shí)的反向電流干擾,,設(shè)計(jì)了兼具方向和PWM脈沖控制的電路,如圖4所示,。
圖4左側(cè)兩個(gè)輸入分別控制著電機(jī)的轉(zhuǎn)速和方向,,由于電機(jī)運(yùn)行過程中會對MCU造成反向干擾,因此需要光電隔離器,,光耦的型號為6N138,,三極管型號為S8050。電路實(shí)現(xiàn)電氣隔離,增強(qiáng)了系統(tǒng)的穩(wěn)定性,,排除了干擾,。
2.2 系統(tǒng)軟件設(shè)計(jì)
在機(jī)械臂控制系統(tǒng)中,軟件部分主要包括PC程序和主控芯片程序,,PC端主要負(fù)責(zé)與操作人員進(jìn)行實(shí)時(shí)交互,,采用一般的串口調(diào)試工具即可。以K64作為主控芯片,,該芯片的主頻達(dá)到120 MHz,具有1 MB閃存,、256 KB的RAM,,這些數(shù)據(jù)足以說明其強(qiáng)大的處理能力,充分滿足系統(tǒng)的數(shù)據(jù)處理要求,。系統(tǒng)軟件業(yè)務(wù)流程圖如圖5所示,。
將MQX_Lite實(shí)時(shí)操作系統(tǒng)植入到芯片內(nèi),實(shí)現(xiàn)了任務(wù)的調(diào)度,,提高了系統(tǒng)實(shí)時(shí)性,,另外,采用“多任務(wù)+中斷”編程設(shè)計(jì)思想,,將復(fù)雜的工作按照功能進(jìn)行任務(wù)劃分,,主要分為主任務(wù)、指示燈任務(wù),、串口任務(wù),、電機(jī)任務(wù)等;另外一條主線則是中斷,、實(shí)時(shí)監(jiān)控外部事件,、保證系統(tǒng)的穩(wěn)定執(zhí)行。
2.2.1 多任務(wù)體系
在引導(dǎo)程序中,,首先加載主任務(wù)task_main,,在主任務(wù)中,完成了小燈模塊,、串口模塊,、PWM功能、輸入捕捉,、電機(jī)控制的初始化,,并且使能GPIO、輸入捕捉等中斷,。
在主任務(wù)完成相關(guān)模塊的初始化,,并且開了總中斷以后,主任務(wù)就進(jìn)入了阻塞態(tài),操作系統(tǒng)就開始進(jìn)行任務(wù)的調(diào)度[6],。小燈任務(wù)是一直進(jìn)行,,通過小燈的閃爍情況,可以判斷出整個(gè)系統(tǒng)是否在運(yùn)行,,確保程序沒有跑飛,。
機(jī)械臂控制系統(tǒng)的核心部分是串口任務(wù)和電機(jī)任務(wù),當(dāng)機(jī)械臂工作之前,,從極限位置[7]運(yùn)動到工作位置的起始點(diǎn),。通過串口接收數(shù)據(jù),將數(shù)據(jù)解析,,提取相關(guān)指令和數(shù)據(jù)分別賦值全局變量,,置事件位,電機(jī)任務(wù)等待到事件位,,通過調(diào)用cal_degree()函數(shù),,計(jì)算出各個(gè)關(guān)節(jié)的角度,賦值全局變量,,供其他任務(wù)中使用,,確定相對應(yīng)的關(guān)節(jié)需要的脈沖數(shù),啟動電機(jī),。
2.2.2 中斷處理
將輸入捕捉引腳與PWM脈沖輸出腳連接,,當(dāng)捕捉到的脈沖數(shù)達(dá)到了MOTOR1_COUNT值,停止電機(jī),,并且置完成事件位,,通過串口給上位機(jī)發(fā)送完成的指令,等待接收下一條命令,。
3 機(jī)械臂運(yùn)動實(shí)驗(yàn)
為了驗(yàn)證整個(gè)系統(tǒng)是否能夠滿足工作的需要,,最后進(jìn)行實(shí)驗(yàn)。為了保證曲線連續(xù)[8],,設(shè)定的路線是X軸方向每次減小5 mm,,Y軸方向每次增加5 mm,設(shè)定的曲線方程為y=-x+400,,由于硬件的構(gòu)造,,存在死限位,關(guān)節(jié)無法繼續(xù)旋轉(zhuǎn),。經(jīng)過測量,,在工作平面內(nèi)X的取值范圍為180~400 mm。與上位機(jī)的交互信息如圖6所示,。
在機(jī)械臂末端安裝一支墨水筆,,在圖6中實(shí)時(shí)地將機(jī)械臂的一些信息反饋在串口調(diào)試工具中,,最后輸入指令為OVER時(shí),系統(tǒng)停止運(yùn)行,。實(shí)驗(yàn)階段,,將一張白紙固定在操作面上,當(dāng)整個(gè)實(shí)驗(yàn)停止運(yùn)行之后,,對所畫的曲線進(jìn)行分析,,非常接近于一條直線,能滿足設(shè)計(jì)要求,。
4 結(jié)論
本文研究的機(jī)械臂控制系統(tǒng)以K64作為核心芯片,,以MQX_Lite為操作系統(tǒng),從原理到軟硬件整體設(shè)計(jì)上介紹了整個(gè)系統(tǒng)的研發(fā)流程,。此系統(tǒng)用一塊核心控制芯片,,通過與上位機(jī)的交互,控制多路電機(jī)的協(xié)同運(yùn)行,,完成操作人員指定的功能。經(jīng)過實(shí)驗(yàn),,該控制系統(tǒng)在整體成本低廉的情況下,,依然能夠平穩(wěn)運(yùn)行并且滿足整體需求。該機(jī)械臂控制系統(tǒng)可以作為一個(gè)平臺,,滿足不同功能的需要,,改善了傳統(tǒng)的機(jī)械臂單一功能不足的缺點(diǎn),降低了成本,。
參考文獻(xiàn)
[1] 王田苗,,陶永.我國工業(yè)機(jī)器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機(jī)械工程學(xué)報(bào),2014,,50(9):1-13.
[2] GUO R J,,ZHAO J S.Topological principle of strengthened connecting frames in the stretchable arm of an industry coating robot[J].Mechanism & Machine Theory,2017,,114:38-59.
[3] 李海標(biāo),,甘鎮(zhèn)釗,楊碩.基于ARM9的機(jī)械手控制系統(tǒng)的設(shè)計(jì)[J].測控技術(shù),,2015,,34(8):82-85.
[4] 郭丙華,胡躍明.三連桿移動機(jī)械臂模型與運(yùn)動規(guī)劃[J].控制理論與應(yīng)用,,2005,,22(6):965-968.
[5] 司蕭俊,王宜懷,,白聰.基于K60的GCPLC系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2017,,43(2):47-50.
[6] 王宜懷.嵌入式系統(tǒng)原理與實(shí)踐:ARM Cortex-M4 Kinetis微控制器[M].北京:電子工業(yè)出版社,2012.
[7] SU K L,,LI B Y,,GUO J H,et al.Motion control of a robot arm[J].Applied Mechanics & Materials,,2013,,479-480:768-772.
[8] 王憲,王偉,,張方生,,等.基于嵌入式系統(tǒng)的機(jī)器人關(guān)節(jié)空間軌跡規(guī)劃[J].傳感器與微系統(tǒng),2011,,30(10):19-21.
作者信息:
丁 偉,,王宜懷,賈榮媛
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,,江蘇 蘇州215000)