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