以IPC+DSP作為六軸工業機器人的控制器, 設計了一種基于PMAC (Programmable Multi-Axis Controller)的開放式機器人控制系統。本文對控制系統的整體結構、軟、硬件組成等進行了簡要的介紹。
機器人控制系統是一種典型的多軸實時運動控制系統。傳統的機器人控制系統基本上是設計者基于自己的獨立結構和生產目的而開發的,它采用了專用計算機、專用機器人語言、專用操作系統、專用微處理器的封閉式體系結構。這種結構的控制器存在制造和使用成本高,開發周期長,升級換代困難,無法添加系統的新功能等一系列缺點。本文介紹了一種基于PMAC運動控制卡的開放式結構機器人控制系統,采用IPC+DSP的結構來實現機器人的控制。這種機器人控制系統采用開放式硬件、軟件結構,可以根據需要方便地擴展功能,使之適應于不同類型機器人或機器人自動生產線。它采用多個微機分級控制方式,具有良好的開放性和擴展性。
1 機器人控制系統硬件構成
開放式機器人系統從概念上應該是一個以公用平臺為基礎(如Windows),但windows存在實時性差的缺點,很難保證計算周期在毫秒級的伺服控制周期之內,為了解決這個問題,就需要使用快速DSP運動控制卡,讓Windows處理相對慢一些的任務,而讓運動控制卡處理速度很快的運動伺服控制。在本文中,使用帶雙端口RAM的PMAC多軸運動控制卡,雙端口RAM作為windows和PMAC之間的高速緩沖區,將IPC內存中的軌跡插補數據下載到PMAC,或將每個關節位置的傳感器信息和伺服系統的總體狀態信息反饋到windows。根據以上分析和開放式機器人控制器的基本設計思想,設計了如圖1所示的機器人控制系統。
[align=center]

圖1 總體結構[/align]
采用多個微機分級控制方式,即上級IPC負責整個系統管理、路徑規劃,下級PMAC則實現對各個關節的伺服控制。
1.1 PMAC多軸運動控制卡特點
PMAC是遵循開放式系統體系結構標準開發的開放式可編程多軸運動控制器,它采用Motolora DSP56001數字信號處理器作為CPU,利用DSP的強大運算功能實現1-8軸的實時伺服控制。在許多應用中,PMAC是一臺計算機,能夠同時執行多個任務并能正確地進行優先級的排序,使它能夠在處理時間和任務切換的復雜性這兩個方面減輕主機的負擔。PMAC能適應多種硬件操作平臺,能和主機以各種總線或串口方式通訊,適用于所有電動機,對不同電動機可提供相應的控制信號。標準的PMAC運動控制器提供了PID+速度和加速度前饋和階式濾波器(5~500Hz)實現位置閉環。
1.2 運動伺服系統
機器人關節驅動器使用松下的MSMA系列小慣量型交流永磁同步伺服電機,伺服電機同軸安裝有旋轉角度傳感器,能提供分辨率為2500p/r的增量
編碼器信號。使用速度控制方式,伺服系統完成扭矩(電流)和速度兩個閉環的控制。交流伺服系統電流環采用比例控制器進行電流閉環控制,而速度環采用比例積分控制器進行速度環控制。這類電機具有良好的速度控制特點,可以實現平滑控制,幾乎沒有震蕩出現。
2 控制系統聯結和調試
在本控制系統中采用的是松下交流伺服驅動器和伺服電機,電機編碼器和驅動器通過聯接器CN SIG連在一起,驅動器的CN 1/F聯接器和PMAC連在一起。采用的是速度控制方式,因此,驅動器和PMAC所用的信號連線主要有:編碼器差動輸入信號、速度指令輸入、模擬地及數字地、伺服使能、伺服報警、安全限位。在整個聯接過程中,特別要注意的是在選擇編碼器信號傳輸線上要使用雙絞屏蔽線,這對于整個系統工作的穩定性、抗干擾能力以及信號的傳輸有非常大的影響。
2.1 開環零漂調整
本系統選用PMAC一型卡,輸出16位速度電壓模擬量信號,可以通過驅動器和PMAC卡雙方面調節零漂,但機器人的編碼器反饋電纜和動力線電纜之間的距離有限,不可避免地存在動力電纜的電磁場污染反饋信號。這樣,機器人本體上電瞬時各電機開環運行,各關節可能出現微小的偏移。必須通過控制驅動器SRV-ON和COM-的通斷,來釋放或者禁止電機的動態制動器,進而控制電流是否流入馬達,達到消除機器人各關節的漂移,如圖2所示。
[align=center]

圖2 控制關節開環漂移示意圖

圖3 單個關節工作示意框圖[/align]
2.2 位置閉環PID參數調整
圖3為單個關節工作于位置閉環方式時的結構示意框圖。首先,計算機按絕對坐標或相對坐標方式將目標位置送給運動控制器,然后再發送運動開始命令,控制器接到運動開始命令后,根據當前的加速度和速度設置進行運動軌跡計算,給出每一時刻應達到的理想位置坐標,PID控制部分負責實際位置對理想位置的跟蹤控制,跟蹤過程直至達到目標位置,或被計算機發出的新的位置目標及運動開始命令所更新。
PID控制是一種最優的控制策略,其輸入e(k)和輸出u(k)之間成比例、積分、微分關系。

PMAC運動控制器提供了PID和前饋位置伺服環濾波器。要使系統伺服特性達到剛性好,又穩定并且跟隨誤差少,需要調整PID參數。PMAC本身提供了調節PID參數的軟件PmacTuningPro,通過采集到系統的各種響應特性曲線來改變改變比例、積分、微分參數而獲得最好的閉環穩態特性和改變速度前饋增益、加速度前饋增益來獲得最小的跟隨誤差。典型的位置控制響應過程如圖4所示。
[align=center]

圖4 腰關節位置閉環階越響應曲線

圖5 安全功能[/align]
2.3 安全功能
在機器人運行過程中,有可能出現運動程序設計的欠缺或其他原因導致關節超出了運動空間,這種情況很危險,有可能造成電機的飛車或損壞,因此必須在各關節上安裝限位開關和報警處理。PMAC為每個通道都設計了正限位LIM+、負限位LIM-、和報警信號FAULT用于故障保護。
這些輸入都作了數字信號和模擬信號的光電隔離,當正限位LIM+、負限位LIM-、和報警信號FAULT與模擬地相連時,PMAC認為是正常工作狀態。但當它們與模擬地斷開后,PMAC認為到了限位或者出現錯誤而停止DAC輸出,停止電機。
2.4 回零功能實現
機器人在空間要想準確的定位,首先必須要確定各個關節的零點,而松下的小慣量電機使用的是增量編碼器,不具備記憶功能,那么就必須在開機時首先確定哪里是機器人的零點。根據應用的需要,使用限位開關回零。可以先讓電機運動到一個方向的限位開關,然后再反向偏移這段限位開關到規定零點的距離,最后設定當前位置為零點。
2.5 手爪步進電機的控制
機器人末端使用一個步進電機來驅動手爪開合,而PMAC一型卡只具備模擬量輸出,不能直接控制步進電機,并且手爪運動還需要和其它軸的運動協調。可以通過PMAC的數字I/OJ5口發出脈沖信號經過光電隔離后來控制手爪步進電機,PLC程序設計流程圖如圖6所示。
[align=center]

圖6 控制手爪流程圖

圖7 控制軟件設計[/align]
3 系統軟件設計
系統軟件采用模塊化結構設計,系統分為上位機部分和伺服控制軟件部分。上位機采用高級語言進行開發,界面友好,主要用于運動軌跡規劃、機器人動態分析、運動仿真、智能算法處理等管理模塊;下位機利用PMAC的DSP的高速運算速度來實現高速伺服插補運算、運動伺服控制等。圖7是系統的模塊化軟件結構。而DeltaTau公司提供的PMAC通訊驅動函數庫Pcomm32作為Windows與PMAC通訊橋梁。采用中斷機制完成伺服控制、軌跡插補、速度處理等高實時性的任務,當緩沖區清空時,PMAC會發出中斷請求信號,主機接收到該信號后,對后面的軌跡段進行路徑規劃控制,并將計算出的新的控制數據寫入到DPRAM中,PMAC則從DPRAM中讀出數據送入伺服驅動裝置,完成對機器人各關節的控制。
4 結論
本文介紹了一種工業機器人伺服控制系統。運行結果證明這種力矩、速度、位置三閉環控制系統滿足機器人控制要求,運行平穩。分層的系統體系結構極大的提高了系統的效率,模塊化的軟件設計則具有很強的可移植性、擴展性和開放性。