CompactRIO-9014實時控制器
The Challenge:
為已經丟失控制器的20歲工業機器人替換新的控制器,并對其進行擴展,使之具有現代機器人控制軟件中的典型功能。創建可通過直觀圖形化用戶界面(GUI)操作的、適于本科生實驗課程的系統。
The Solution:
使用NI CompactRIO控制器作為機器人驅動器和編碼器與LabVIEW 8.5軟件、 比例-積分-微分(PID)工具箱、3D圖像渲染和VI服務器間的接口,實現機器人運動軟件,并可以通過圖形界面進行訪問。
"使用CompactRIO和LabVIEW,我們可以在單個編程環境中,從零開始構建完整的機器人驅動和控制系統。"
在過去的幾十年里,工業機器人技術經歷了飛速的發展。自二十世紀80年代以來,它們已經從只能以有限精度沿著預訂軌跡運動的抓放式機器人,發展成具有高精度、可以在手術室中應用,并且靈活適應環境,同時可經常與視覺系統及生產單元中的其它機器人進行交互的系統。這就是我們在大學的倉庫中發現20歲的三菱Movemaster機器人時,第一反應是決定把它送給博物館的原因。但是,一個教師決定把它交給我 —— 當時我還只是一名帝國理工學院的本科生,來使機器人“復活”。
項目目標
早先的時候,三菱Movemaster機器人配有一個手持式教學盒、一個微波爐大小的驅動單元和一個可通過串行接口將所有機器關節所需的角位置傳輸到驅動單元的可選計算機。但是現在所有外設都丟失了,所以我們需要修復機器人底座上的36根未定義管腳,使其恢復原有的功能。我們需要替換以前用于從PC機的可視化用戶界面來控制機器人的過時的編程語言。考慮到需要保留可能作為教學輔助的應用,我們需要創建出一種可以允許學生在未來進行便捷擴展的系統(特別是不同的控制算法)。
設計選項
在我們試圖對機器人進行逆向工程后,我們需要通過兩個主要步驟確定系統的總體布局。首先,我們需要開發I/O解決方案驅動機器人的5個直流電機,并同時讀取編碼器信號。第二,我們需要將信息傳輸到標準PC機上并將其在圖形界面上顯示出來。
系統所需的通道數(15路脈寬調制[PWM]數字輸出和10路數字輸入)和采樣速率(PWM為1kHz而輸入采樣速率為100kHz)都沒有超出標準微控制器電路板的個性化解決方案的范疇。但是,編程環境的多樣性和開發這樣系統所面臨的挑戰,超出了本科生項目的時限和范圍。由于美國國家儀器公司的產品,可以提供從數據采集到高級圖形用戶界面開發等全部所需的功能,顯而易見可以作為我們的選擇之一。
我們選擇了CompactRIO可編程自動控制器,利用它來實時采集和處理所需數量的信號。雖然產品的花費超出了典型本科生項目的預算,但考慮到CompactRIO的全面性和易用性,我們還是選擇了它。我們可以在5分鐘內設定好CompactRIO控制器(包括接線和所有軟件的部署),而且可以在其他項目中共用這一個控制器。
信號I/O
CompactRIO控制器的現場可編程門陣列(FPGA)背板,能夠以完全并行化的方式讀取、輸出和處理I/O模塊通道。利用數量充足的可編程門電路,我們能夠以1kHz的頻率輸出5個獨立的PWM信號,輸出10個數字信號到外部的馬達驅動芯片,同時以100kHz頻率對10條編碼通道進行采樣。在FPGA上,我們將每個機器人關節上的兩個編碼器上獲得的信號,顯示成整數以表示相對的關節角度。使用NI網站上提供的VI幫助我們進一步縮短了FPGA上VI的開發時間。兩個高速切換的數字輸出和數字輸入模塊為我們的應用提供了充足的通道數。
圖形化用戶界面
上述硬件接口的功能一定程度上受到FPGA技術能力的限制,但是系統的用戶界面在Windows PC上運行,可以充分利用LabVIEW 8.5的特性。使用基于事件的界面,用戶可以通過輸入位置向量或上下、左右和前后增量式移動機器人,來設定機器人終端效應器的笛卡爾坐標位置和方向。然后進行坐標變換,計算出每個機器人關節所需的關節角。這些數據會反饋給控制器子VI,從所需和實際的關節角中計算出電機命令信號。
為了允許學生們在將來實現不同的控制算法,只要模板定義的前面板元件存在,控制器子VI在每次運行時都加載并可以包含任意的邏輯。這非常有用,因為學生們可能不能使用LabVIEW環境下的所有功能,而只能使用缺少LabVIEW FPGA和LabVIEW Real-Time Module的學生版本。雖然學生版軟件不能打開全部的機器人軟件,但學生們仍然可以使用它開發機器人控制器,并在機器人上進行測試。
我們的“老”機器人的可靠性是整個項目中的一個問題,我們需要一個機器人仿真以便我們在機器人維修時繼續工作。使用LabVIEW 3D圖像控制,我們創建了機器人的示意原理圖。使用圖形化用戶界面,用戶可以得知軟件是否精確表示了當前機器人的位置。當可視化與現實不符合時,用戶可將機器人送到啟動原點,并按下按鈕重新啟動軟件。
結論
使用CompactRIO和LabVIEW,我們可以在同一個編程環境中,從零開始構建完整的機器人驅動和控制系統。借助于CompactRIO控制器的易用性,使用高科技的FPGA技術來喚醒我們的“古董”機器人簡直輕而易舉。作為本科生的我,利用不到九個月的兼職項目工作,就開發出了包括軟件和硬件的整個系統。
致謝
我在醫藥機電一體化實驗室中完成了這個項目,指導者是Ferdinando Rodriguez y Baena博士。該項目是在Christopher Burton已有工作的基礎上進行的。