(青島大學 自動化與電氣工程學院,青島 266071)
機器人軌跡規劃是滿足實際需求任務的基礎,是開發機器人運動控制系統軟件的重要研究內容,因此對軌跡規劃算法的研究和實際軌跡精度的控制有著重要意義和作用。機器人想要在作業空間中完成特定的作業,其末端執行器則必須按照特定的軌跡運行[3]。軌跡規劃是指按照廠家提出的工藝要求,求出運動軌跡的參數并生成我們所期望的運動軌跡。機器人軌跡規劃目前主要有基于關節坐標和基于直角坐標的兩種軌跡規劃方案[4]。現實應用中軌跡規劃具有重要的基礎意義,也是工業生產向高精度方向發展的必然需求。
本文研究的工業型六自由度串聯機器人由底座,機械臂,末端執行器,伺服電機驅動系統以及本體管線包等部件組成[5]。結構示意圖如圖1所示。該類型的工業型機器人共有六套伺服系統,伺服系統可以驅動伺服電機來控制關節實現不同形式的運動,改變運末端執行器中心點的位置和姿態完成實際生產作業任務。

圖1 ER3A-C60機器人結構示意圖
機器人作業空間是指末端執行器運動描述參考點所能達到的空間點的集合,一般用水平面和垂直面的投影表示[6]。每個機器人的作業空間范圍都與其特性指標密切相關,作業空間描述的是機器人各個關節之間的約束關系。每個機器人都有其特定的作業空間范圍,所以在使用機器人的時候必須研究其作業空間,以確保機器人末端執行器能夠到達要求的點完成加工任務。本文研究的工業型機器人能達到的作業空間如圖2所示。

圖2 機器人作業空間及常用坐標系示意圖
機器人的控制算法流程框架如圖3所示。首先根據給定的起始位置、終點位置、最大速度、最大加速度、最大加加速度、仿真步長等信息,計算插補過程中每一仿真步長的位移,然后分別映射到笛卡爾坐標系中的XYZ坐標上[7],即:


圖3 機器人控制結構圖
然后再進行逆運動學運算轉化為各個關節的相對角度信息(相對于零點)。由于角度×減速比×電機反饋脈沖數/360=脈沖個數,默認仿真步長是4ms,將相鄰兩個點的脈沖個數做差,然后除以時間4ms,得到速度脈沖/毫秒,據此配置運動控制卡。若要高精度控制,在逆運動學之后,還要在關節空間內進行高次項插值[8]。
首先需要了解機器人關節坐標運動時的軌跡規劃方法,常見的有關節空間的路徑規劃和笛卡爾坐標系下的路徑規劃兩種[9]。運動過程中的插補一般包括直線插補,圓弧插補兩大類。
還需要了解機器人關節運動的常見的兩種速度模式:梯形速度模式以及S形速度模式;注意機器人兩種位置模式的區別(相對運動位置模式和絕對運動位置模式)[10]。基于此,使用MATLAB對機器人執行器末端執行器進行直線和圓弧兩種路徑規劃,并在MATLAB中建立機器人的數學模型,對規劃的兩種路徑進行在線驗證。
離線編程主要是使用外部規劃程序,規劃機器人的軌跡,并通過逆運動學轉化為各個關節的角度值[11],然后使用Simulink加載數據,通過模型以實時運行進行控制實際機器人的控制。機器人模型實時獲取數據,然后進行角度轉換,最后驅動運動控制卡進而驅動機器人本體[12]。所有算法全部使用Simulink模型,搭建的機器人控制模型如圖4所示,主要實現功能是直線運動。算法中主要分為四部分,參數給定包括DH參數信息,軌跡規劃算法,逆運動學算法,運動控制卡控制部分。除了運動控制卡控制模塊部分不用進行修改,其余模塊,都可以根據需求進行更改替換。例如逆運動學,在確保輸入輸出參數不變的情況下,可以進行直接替換。為確保安全,在替換模型之前需要先進行數字仿真驗證,再把模型轉化為二進制可執行代碼加載到機器人本體進行實際驗證。

圖4 機器人模型仿真示意圖
將機器人的控制算法比如軌跡規劃、逆運動學、關節空間插值等算法使用VS2008的純軟件工程實現,并生成軌跡數據直角坐標系插值數據和關節空間數據。將角度數據通過編寫的腳本文件加載到MATLAB工作空間,然后再運行模型、編譯模型,將模型導入rt-sim軟件中,控制實際的機器人本體按照規劃的路徑運行[13]。仿真流程如圖5所示。

圖5 機器人仿真流程圖
離線仿真的具體步驟如下:
1)修改LinuxCNC相對的代碼;
2)運行linuxCNC程序,生成規劃的數據點;
3)將文件復制到Matlab對應的目錄下;
4)運行MATLAB的配置腳本;
5)運行Simulink模型,查看各個速度波形的曲線;
6)編譯MATLAB的Simulink模型;
7)使用rtsim軟件加載控制模型,并進行控制。
在linuxCNC中規劃從零位到終點,然后從終點回零位的操作。規劃機器人末端執行器從零點沿Y軸運行10cm,然后再回到零位。編譯工程并運動,將得到文件加載到MATLAB空間,通過3D畫圖解耦plot函數繪制立體圖,是否和規劃的路徑相同[14]。在軌跡規劃中,給定點的時候,程序中會判斷是否在運行范圍之內,如果給定的坐標超過了可達范圍,會終止程序執行,故需要查看文件的數據,確保能夠完成軌跡規劃[15]。將上述得到的軌跡數據復制到和模型一個目錄,運動腳本文件加載數據到工作空間中,然后運行模型查看各個關節運動的軌跡和速度。直線運動軌跡及速度曲線如圖6所示。

圖6 直線運動軌跡及速度曲線圖
圓弧運動模型操作和直線運動操作流程類似,主要區別是一段圓弧需要設置三個點,當前零位算一個點,然后再另外規劃三個點[16]。在機器人末端執行器進行圓弧運動過程中,進行三次項或五次項插值運算,達到較好的運動效果。
起始坐標:[-428.848 0 662.568 0 -90 0]
第一個點坐標:[-428.848 80 662.568 0 -90 0]
第二個點坐標:[-428.848 100 662.568 0 -90 0]
第三個點坐標:[-428.848 0 662.568 0 -90 0]
規劃出來的圓弧軌跡以及速度曲線如圖7所示。

圖7 圓弧運動軌跡及速度曲線圖
在設計了直線運動和圓弧運動之后,對MATLAB環境下建立的機器人模型進行在線驗證[17],兩種運動方式下的機器人模型運動軌跡圖像如圖8所示。

圖8 直線、圓弧運動軌跡曲線圖
經過研究分析:機器人模型的直線和圓弧兩種運動軌跡曲線與預想的軌跡曲線基本吻合,由此驗證了機器人模型的正確性,從而也驗證了運動軌跡設計的合理性。
本文對一類工業型六自由度串聯機器人在MATLAB環境下建立機器人仿真模型,進行直線和圓弧兩種路徑規劃,并且對建立的模型進行仿真驗證。在工業生產當中,機器人需要進行路徑規劃以便完成各種復雜的工藝生產動作,依據設計好的路徑對機器人進行有效控制,完成實際工作需求。