王玉婷



摘要:圍繞機器人運動控制系統展開研究,通過NURBS實時插補算法,完成了機器人運動控制系統的設計和實現過程,通過使用嵌入式ARM工控機作為上位機完成了機器人運動控制系統的開發。系統采選用C++作為開發的編程語言,圖形用戶界面開發跨平臺的Qt軟件,系統控制核心選用了運動控制卡DMC,使用MATLAB對基于NURBS插補算法的運動控制系統進行仿真實驗,驗證了采用NURBS插補算法的控制系統的實用性和通用性,結果表明該系統有效實現了工業機器人對復雜運動的精確控制過程。
關鍵詞:工業機器人;運動控制系統;NURBS插補算法;實現路徑
中圖分類號:TP242.2
文獻標志碼:A
ResearchonDesignofIndustrialRobotMotionControlSystem
WANGYuting
(
InstituteOffice,YantaiAutomobileEngineeringProfessionalCollege,Yantai265500,China
)
Abstract:Thispapermainlystudiestherobotmotioncontrolsystem.ThedesignandimplementationprocessoftherobotmotioncontrolsystemarecompletedbyusingNURBSrealtimeinterpolationalgorithm.TherobotmotioncontrolsystemiscompletedbyusingtheembeddedARMindustrialcomputerastheuppercomputer.ThesystemadoptsC++asthedevelopmentprogramminglanguage,thegraphicaluserinterfacedevelopscrossplatformQtsoftware,thesystemcontrolcoreselectsDMC,andusesMATLABtosimulatethemotioncontrolsystembasedonNURBSinterpolationalgorithm.TheresultverifiestheuseofNURBSiscorrect.Thepracticabilityandversatilityoftheinterpolationalgorithmcontrolsystemshowthatthesystemeffectivelyrealizestheprecisecontrolprocessofindustrialrobotsforcomplexmotion.
Keywords:industrialrobot;motioncontrolsystem;NURBSinterpolationalgorithm;implementationpath
0引言
隨著信息科學技術的迅速發展,工業機器人在控制質量、工作效率、成本等方面表現出了較大的優勢,運動穩定、速度可調節、抗疲勞的工業機器人能夠替代人工完成相應的操作(包括完成一些具備高危險系數的工作),將機器人應用到工業生產中能夠在使生產效率、產品質量得以有效提高的同時顯著降低人工工作量及生產成本,工業機器人已經成為工業現代化發展的重要支撐工具,在各行業中得以廣泛使用,作為一項重要的機電一體化技術機器人運動控制已成為工業生產領域的重點研究方向。運動控制是實現機器人功能的基礎和重點,對機器人的性能起到直接決定作用,工業機器人在實際生產使用過程中易被多種因素干擾(如電、磁等),對工業機器人的設計方案尤其是各項產品參數提出了更高的要求,需確保運動控制系統具備高效運動控制功能及穩定的性能,因此本研究主要對機器人運動控制系統進行了設計。
1需求分析
隨著工業機器人在工業領域的廣泛應用,對機器人的控制及操作要求不斷提升,工業機器人主要由本體、驅動裝置及控制系統構成,在軌跡空間中工業機器人需完成除基本運動(包括直線、圓弧等)外較為復雜的運動,具備擬人功能的運動控制系統(一種機械電子裝置)作為工業機器人的核心構成部分集合了多種現代先進技術(包括網絡計算機、人工智能、電子機械、傳感器等),通過運動控制系統實現機器人復雜的軌跡運動,在實現復雜幾何造型上NURBS方法因具備較大的優勢而得以在CAD中廣泛應用,因此充分運用NURBS插補算法實時可靠的優勢,在研究了NURBS軌跡規劃的基礎上對機器人運動控制系統進行設計具有較高的實際應用價值。目前國內已有工業機器人運動控制系統大多存在擴展性和通用性方面的不足,導致使用方面的局限性,大多只適用于特定的機器人[1]。本研究針對UPR100本體工業機器人(6自由度)在現有研究的基礎上完成了運動控制系統的設計和實現過程,采用模塊化的設計原則,通過使用DMC運動控制卡實現主要控制功能,結合運用了抗干擾能力強(防潮、防塵、防振)、穩定可擴展的工控機,實現對機器人運動過程的精準控制。
2工業機器人運動控制系統設計
作為一項較為復雜的系統工程,基于人工智能裝置的完整機器人主要由執行機構、驅動裝置(由驅動器、減速器、檢測元件構成)、控制系統(主要由傳感器和電子計算機構成,)等構成,模仿人類手臂動作的操作機主要負責完成各類實操作業(主要由機座、末端執行器、機械臂構成),驅動裝置負責完成電能到機械能的轉換從而將動力提供給操作機(可采取電力、液壓、氣壓幾種驅動方式);控制系統負責完成對機器人的檢測和操作控制過程以完成規定的動作,包括對機器人運動參數的檢測控制及反饋控制;人工智能系統主要負責完成邏輯判斷、模式識別及操作等功能(主要由實現感知功能的傳感系統以及決策、規劃、專家系統構成)。本研究構建的移動控制系統基于現有6自由度工業機器人完成,硬件部分負責執行軟件部分規劃的操作,軟件部分主要功能在于完成機器人程序的解譯、插補運算、軌跡規劃(包括運動學正逆解),驅動機器人不同關節及末端裝置的運動。
2.1設計思路
機器人操作的順利完成離不開運動控制系統,運動控制系統的發展經歷主要包括集中控制(所有控制功能均通過一個CPU實現)、主從控制(由主、從CPU構成,分別負責變換坐標并生成軌跡、控制機械手動作)、分級控制(由上級主控計算機和下級多個微處理器構成,分別負責完成包括坐標變換、生成軌跡在內的系統管理以及對機械手關節坐標及伺服控制的分管與處理)。應用廣泛的機器人對運動控制系統的研究和設計過程提出更高的要求,為適用不同種類機器人需采用開放式系統結構,同時采用模塊化設計方式(即將系統劃分成實現不同子任務的多個功能模塊)提高系統的實用性和可靠性,多個機器人的協同控制需通過具備網絡通訊功能的運動控制系統實現(包括資源共享);通過直觀形象的人機接口及操作界面提升系統的人機交互性[2]。工業機器人運動控制系統主要由上位機、驅動裝置、執行控制器構成,由上位機負責機器人管理和實時監控,將位姿指令傳遞至區域控制器進行運動協調計算,由區域控制器實現對機器人各關節坐標及軌跡的變換和生成,再由執行控制器在完成機器人位姿及工作狀態的檢測和實時采集的基礎上實現對各關節伺服運動的有效控制過程。
2.2控制系統硬件設計
本研究所設計的運動控制方案分別采用嵌入式ARM工控機(FreescaleIMX6)和DMC控制卡(Galil公司)作為系統的上位機和下位機,控制系統硬件架構,如圖1所示。
針對6自由度工業機器人通過由DMC運動控制器提供的API實現了在工控機上根據實際需要進行二次開發的功能。ARM工控機以Cortex核心處理器作為CPU,具備豐富的硬件資源,有效的滿足了控制系統的需求,工控機同DMC間采用以太網完成控制命令的接收與發送,DMC接收到程序命令后會據此發出相應的電機控制指令信號,在經伺服放大器放大后完成對機器人各電機轉動過程的驅動進而實現各關節的按要求運動;工控機同樣通過以太網收到各關節經DMC反饋的位置信號(通過相應的電機編碼器),從而實現機器人狀態的實時顯示與監控管理,并且使數控設備有效滿足精度與性能的要求[3]。
3控制系統的實現
3.1NURBS插補功能的實現
針對NURBS曲線軌跡,假設,控制頂點
由Pi表示其中i∈[0,n],同控制頂點對應的權因子由wi表示,t表示參數,k次B樣條基函數由Bi,k(t)表示,取n+k+1個節點值(分別由u0,u1,…,un+k表示)組成節點向量通常u0、u1,…,uk的取值為0,un、un+1,…,un+k的取值為1,定義其在空間中的有理分式如式(1)[3]。
P(t)=∑ni=0wiPiBi,k(t)∑ni=0wiBi,k(t)
(1)
假設,t的變化范圍表示為[t1,t2]=[uk,un],令:
Bi,0(t)=1,t∈[ui.ui+1]
0,t[ui.ui+1]
在此基礎上定義Bi,j(t)如式(2)(分母為0作為其中分式的值為0)。
Bi,j(t)=(t-ui)ui+j-uiBi,j(t)+(ui+j-t)ui+j+1-ui+jBi+1,j-1(t)
(2)
(1)NURBS插補算法
通過插補前的預處理操作(即確定NURBS的軌跡表達式)可使插補計算量顯著降低,進而確保了曲線的插補速度及實時性,以給定的Pi、wi及節點矢量為依據即可實現NURBS曲線的唯一確定,NURBS曲線插補的實質為將到NURBS曲線本身的近似逼近過程通過步長折線段(屬于一個插補周期內)的使用完成,實現NURBS插補功能需要重點解決的問題為:密化參數,ΔL和Δu分別表示進給步長和相應的參數增量,即在完成ΔL由軌跡空間到參數空間映射的基礎上,完成Δu及新點的參數坐標(表示為ui+1=ui+Δu)的求解[4]。計算軌跡,完成計算所獲取的坐標值到軌跡空間的反向映射及插補軌跡的新坐標點(表示為pi+1=p(ui+1))的獲取。在實際應用中通常采用3次由分段參數構成的NURBS曲線,各段曲線的分子/母的系數會參數u的變化而改變,對應各段如式(3)[5]。
pi(u)=C0(t1)+C1(t1)t2+C2(t1)t22+C3(t1)t32C′0(t1)+C′1(t1)t2+C″2(t1)t22+C′3(t1)t32(0≤t≤1,i=3,4,…,n)
(3)
本研究通過使用阿當姆斯算法解決參數密化問題,并采用前、后向差分結合的方法運算和求解過程的復雜程度顯著降低,所獲取的新插補點的參數估計值如式(4)。
i+1=14(9ui-6ui-1+ui-2)
(4)
計算軌跡使在求得參數ui+1的基礎上完成其到ti+1的轉換,然后帶入分段表達式即可得到下個插補點位置如式(5)。
i+1=p(i+1)
(5)
在各插補周期內通過上述方法即可獲取下一個插補點,重復操作直至插補結束后獲取整個曲線的插補軌跡。在規劃軌跡和插補過程中,獲取曲線上各插補點的位置和姿態通過給出機器人在曲線中部分關鍵點的位置和姿態并結合插補算法及運動學正逆解實現。
(2)算法仿真
使用Matlab平臺對本研究設計的插補算法進行仿真,控制節點在(0,1)間,控制頂點共有50個,權值取1,據此完成3階NURBS曲線的確定,插補參數設置為:插補周期為1ms,最大進給速度及初始進給速度(由fmax、fs表示)分別為18mm/min和0,加速度上限為2500mm/s2,弓高誤差上限及步長誤差上限分別為1μm和0.001,最大法向進給加速度及最大加速度分別為0.8g和50000mm/s3,仿真實驗結果如圖2、圖3所示,生成的插補點同規劃軌跡相吻合[6]。
3.2軟件設計與實現
在ARM工控機上實現軟件部分,控制軟件系統功能設計,如圖4所示。
將Linux系統安裝于FreescaleIMX6上(版本為ubuntu)后完成嵌入式Qt的移植,并在ubuntu中移植DMC控制卡的對應庫,軟件圖形用戶界面的主框架通過QMainWindow類的使用完成構建,各模塊功能則通過QWidget/Dialog類的使用實現,通過Qt實現各模塊間的信交流。將各編碼
器的值通過ComandOM()函數進行讀取后實現機器人各關
節轉角的獲取,以供運動學計算和軌跡規劃;運動控制指令通過DownloadFile()函數完成到DMC的下載。文檔中的二字符指令集用于代碼級別的測試與簡單控制。運動學分析模塊通過運動學正解和運動學逆解實現機器人各關節轉動的角度同空間中位置和姿態的相互對應,據此實現機器人的正確運行及其目標點情況的檢測[7]。機器人的作業任務通過軌跡規劃模塊確定所需使用的基本運動形式(包括直線、圓弧運動插補及NURBS軌跡插補),進而實現自由曲線運動過程。
(1)機器人參數設置,據此完成對決定工業機器人本體結構的運動學DH參數、伺服驅動相關的決定對應機器人關節轉動角度的分頻比/倍頻比的設置。(2)機器人軌跡規劃,DMC運動控制器可有效解決復雜的運動問題,其所包含的輪廓模式提供位置時間曲線(在1~6軸內)的自定義功能,據此可實現對通過計算機產生軌跡的有效追蹤。在控制系統中,通過工控機提供的算法實現運動學正逆解和空間運動軌跡的規劃,并通過DMC協調控制各關節的運動情況,具體流程為:先建立空間軌跡參數方程,運動軌跡空間坐標向量(x,y,z)每32ms(運動軌跡的插補周期)計算獲取,通過運動學反解末端空間坐標即可獲取對應關節變量,據此計算得到電機軸的脈沖量(即各軸的脈沖增量),并記錄到相應的軌跡規劃文本中,軌跡規劃流程,如圖5所示。
接下來通過DMC中的DownloadFile()函數的調用完成軌跡規劃文本到DMC的下載,在此基礎上調用Command()執行命令完成自定義軌跡動作。(3)機器人示教作業,實現了包括MOVJ、NURBS、延時、數字運算等在內的運動指令集,將機器人末端通過軸控制按鈕根據所選擇的合適坐標系(以運動指令及指令參數為依據)完成到目標位置點運動的控制[8]。
4總結
智能化及自動化水平不斷提高的工業生產過程對工業機器人運動和控制提出了更高的要求,為使工業機器人空間中的復雜軌跡運動得以高效準確的實現,本研究以UPR100機器人本體作為研究對象完成了機器人運動控制系統的設計,硬件主要使用DMC控制卡和ARM工控機作為硬件構
成,結合運用Qt環境(通過ubuntu平臺搭建)和NURBS插
補算法完成了控制軟件的設計,通過控制系統操作界面即可實現機器人末端的自由曲線軌跡運動過程,該控制系統具備良好的擴展性、可靠性,為機器人控制領域的完善提供參考。
參考文獻
[1]
王耀東,徐建明,徐勝華.基于CoDeSys平臺的六自由度工業機器人運動控制器設計[J].計算機測量與控制,2018(9):103107.
[2]王振華,許琳娜,蘭雪艷.基于WinCE的開放式6R工業機器人控制系統研究與開發[J].組合機床與自動化加工技術.2018(6):7680.
[3]韓瑜,許燕玲,花磊,等.六軸關節機器人系統結構及其關鍵技術[J].上海交通大學學報,2016(10):15211525.
[4]MingxinHou,LiJiang,HongLiu,etal.SignalProcessingforNoiseandOnlineForceModelingDetectionforaRobotHandBasedonEtherCATCommunication[J].IntelligentAutomation&SoftComputing,2016(1):1731.
[5]DelgadoR,KimSY,YouBJ,etal.AnEtherCATbasedrealtimemotioncontrolsysteminmobilerobotapplication[C].Proceedingsofthe13thInternationalConferenceonUbiquitousRobotsandAmbientIntelligence(URAI).2016:127136.
[6]李平,王建鋒,李娜,等.基于Lyapunov直接法的移動機器人運動控制研究[J].中國科技論文.2016(2):160163.
[7]劉毅,叢明,劉冬,等.基于改進遺傳算法與機器視覺的工業機器人豬腹剖切軌跡規劃[J].機器人,2017(3):377384.
[8]岑洎濤,張平,何超杰,等.基于Unity3D的工業機器人跨平臺可移動離線編程系統的研究和開發[J].組合機床與自動化加工技術,2018(10):7680.
(收稿日期:2019.07.22)