吳 碩,吳 桐,趙繼忠
(1.遼寧裝備制造職業技術學院,沈陽 110161;2.北京機械工業自動化研究所,北京 100120)
根據教學實訓的需要,設計了一個五自由度的機械臂,該機械臂運動控制系統采用兩級控制方式。首先設計了機械臂硬件電路,其次給出了軟件設計的思路和流程,最后,通過MATLAB和ADAMS軟件對機械臂單關節進行了運動控制仿真,得到較理想的結果。
機械手臂整個結構為空間關節型的,其裝配示意圖如圖1所示。該機械臂具有五個自由度,分別為:腰關節、肩關節、臂關節、肘關節、腕關節,均為轉動關節。其中底盤(腰關節)實現機械臂本體機構的轉動;底盤與大臂、小臂三個關節實現空間位置的定位;腕關節兩個自由度實現俯仰和擺動,通過改變手爪的位姿,方便負載的抓取。

圖1 機械手裝配圖
目前工業機器人運動控制系統中常用的電機有:直流伺服電機、交流伺服電機、步進電機等。考慮到機械臂系統應用于教學,我們采用簡單且利于控制的小型直流伺服電機。在選用電機型號的同時,還要考慮電機的尺寸及對應的機械臂關節所能承受的最大轉矩。在本系統中大臂的仰視所承受的力矩最大,通過靜力學估算[1],得知所受力矩為13.6N·m。我們選擇MAXON公司的RE-max24系列的直流電直流伺服電機作為驅動電機與減速器。
控制系統采用PC上位機和DSP下位機兩級分布式控制結構,其系統結構如圖2所示。

圖2 運動控制系統總體設計
我們采用TI公司的TMS320LF2407型DSP作為控制單元。它具有獨立的程序存儲空間和數據存儲空間,運算速度極快,時鐘頻率可達40MHz,由于其內置事件管理器模塊(EVA, EVB),所以該型號的DSP在電機控制領域具有非常廣泛的應用。
由于機械臂各關節直流驅動電機采用的是12V電壓,所以在控制電路系統中,設計12V的直流電源供電。因為大多數的電路板芯片采用的是5V電壓,且DSP的內核電源、I/O電源、鎖相環電源要求的是3.3V電壓,所以需要設計兩種獨立的電源模塊。首先使用L7805芯片將12V電源轉變成5V,然后使用LM1117芯片將5V電源轉變成3.3V,如圖3所示。

圖3 電源電路設計
TMS320LF2407的時鐘源可以使用晶體,利用內部振蕩器產生時鐘,也可使用自外部晶振源。使用外部時鐘時,時鐘的精度高、信號比較穩定,因此我們選用外部時鐘作為時鐘源。同時,TMS320LF2407采用了鎖相環技術,可以對外部時鐘源進行倍頻,控制器的晶振頻率為l0MHz,經鎖相環電路4倍頻后,系統的時鐘為40MHz,可以滿足大量計算以及實時控制的要求。外部時鐘和鎖相環電路如圖4所示。

圖4 時鐘電路設計
在編碼器的設計環節中,把編碼器輸出的3個通道的差分信號轉換成TTL電平的A,B,Z三個脈沖信號。A,B相經過光耦隔離后接DSP內部的正交編碼器電路單元(QEP),用以測量電機的轉速和位置。在軟件中設置QEP為雙向加/減計數模式,QEP電路使能時,A,B信號的上升沿和下降沿均被QEP計數,經鎖相環后送到計數器中的信號頻率是A,B信號脈沖頻率的4倍;QEP的邏輯檢測能夠確定A,B哪個脈沖信號領先,產生一個方向信號DIR用來控制計數器的計數方向。編碼器處理電路如圖5所示。
對電機轉速和關節絕對位置的測量,首先需要確定關節的零位。然后,通過外部傳感器檢測信號和光電增量編碼器的z脈沖信號相結合的方式,便可確定關節的絕對位置。我們選用常開型霍爾接近開關,其接法如圖6所示。其中HALL1,HALL2用以測定關節控制器運動的極限位置,HALL3用于絕對零位檢測。

圖6 霍爾接近開關的接法
TMS320LF2407內置串行通信SCI模塊,支持其他外設與DSP的異步串行的通信,因為 DSP芯片引腳電平與RS-232邏輯電平不同,因此需要通過MAX232芯片進行電平轉換,如圖7所示。值得注意的是,從MAX232引出來的信號不能直接與DSP連接,需要電阻分壓。

圖7 串行通訊電路的設計
我們采用ADAMS和MATLAB軟件對單關節機械臂運動控制進行仿真。其中ADAMS用以建立機械系統,MATLAB軟件用以建立運動控制系統。用MATLAB控制輸出ADAMS機械部分。
通過在ADAMS軟件中添加5個關節、電機驅動轉矩、角速度參數,經過變量的賦值、函數的創建等方式后轉換成MATLAB文件,在MATLAB文件中生成機械臂機械子系統,如圖8所示。

圖8 MATLAB環境下機械臂子系統
對于機械臂的5個關節的位置控制,采用基于分解控制律的PID對末端的位姿控制,從而實現期望位置或期望軌跡[2]。在Simulink模塊中建立仿真的控制部分,在適當位置嵌入機械部分模塊,從而建立ADAMS和Simulink的聯合仿真系統[3],如圖9所示。
選擇腰關節進行仿真實驗,設置仿真時間為10s。在MATLAB中輸入相應命令,運動90°后測試系統的角位移曲線,得到如圖10所示的角位移曲線圖。圖10中實際試驗曲線與仿真曲線不完全一致。當0.8s左右,關節才開始動作,這是由傳動機構的間隙造成的,也有傳感器的檢測時間的原因。同時,控制系統存在一定的穩態誤差,主要是由機械摩擦和傳感器的精度誤差所造成[4]。
因為仿真系統采用的是一個理想化,線性化模型,實際試驗存在各種非線性因素,兩者必然會存在誤差。總體來說,控制算法和參數選取比較合理。機械臂的其余四個轉動關節和腰關節一樣,具有類似的階躍響應特性。

圖9 機械臂PID控制系統

圖10 控制系統的階躍相應曲線
[1]Abdel-Malek K, Yeh H J.Analytical Boundary of the Workspace for General 3-DOF Mechanisms [J].International Journal of Robotics Research.1997,16 (2):198-213.
[2]John J C.Introduction to Robotics: Mechanics and Control[M].北京:機械工業出版社,2010.
[3]李軍,邢俊文,覃文杰.ADAMS實例教程[M].北京:北京理工大學出版社,2002.
[4]任崇軒.五自由度機械臂運動和控制仿真分析[D].廣東:華南理工大學,2012.