1、引言
在機器人技術的研究中,控制系統是一個研究的重點。隨著機器人智能控制體系的發展以及在工業上的廣泛應用,開放式運動控制系統應運而生,并很快成為了一種重要的工業標準 。目前的機器人控制系統一般都采用工控機IPC 與可編程多軸控制器PMAC(Programmable Multi-Axis Controller)相結合的方式。主控制器IPC和下層運動控制器PMAC作為六自由度噴涂機器人控制系統的核心部件,它們的各項性能指標直接決定了整個噴涂機器人控制系統性能的優劣。本文研制的六自由度噴涂機器人控制器調試系統包括速度及加速度參數設置,關節空間運動調試,直角坐標空間運動調試,I/O端口調試四個方面。通過實驗驗證,該調試系統能夠使我們對噴涂機器人控制器工作的實時性,可靠性, 安全性等性能有一個總體的*估,很好的達到了調試的目的。
2、控制器調試系統硬件平臺
本文中,六自由度噴涂機器人控制系統采用PC-Based 的開放式系統架構。工控機IPC有很強的信息處理能力,且應用比較靈活,PMAC 運算速度快,實時性很強。在設計時,將IPC 和PMAC 結合起來,充分發揮二者的優點,提高系統的整體性能。如圖1 所示為六自由度噴涂機器人控制系統總體結構圖。帶雙端口RAM 的 PMAC2-PC 多軸運動控制卡通過PCI總線與主機IPC 相連。雙端口RAM 作為Windows 和PMAC 之間的高速緩沖區。IPC 通過下載運動控制程序到PMAC 卡中運行或者使用PMAC 提供的在線運動指令,來指定各個伺服電機的運動。PMAC 負責完成伺服運動控制的細節。為了實現六自由度噴涂機器人的運動控制功能,還需在PMAC 上擴展相應的I/O 板,伺服驅動單元,伺服電機,編碼器等,最終形成一個完整的運動控制系統。
圖1 六自由度噴涂機器人控制系統總體結構圖
3 、控制器調試系統軟件設計
3.1 調試系統軟件開發平臺
控制器調試系統建立在Windows 操作系統之上,具備了多任務協調處理的能力。利用了面向對象語言Visual C#.NET,它同時具有Visual Basic 的易用性,高性能及C++的低級內存訪問性,提供了豐富的進程和資源管理,并且支持標準的32 位DLL 調用。由于Delta Tau公司提供的Windows 環境下的PComm32 動態鏈接庫函數能夠完成與運動控制有關的復雜細節,因而,大大縮短了調試系統的開發周期。
3.2 調試系統軟件層次結構
調試系統軟件采用層次結構,上層是用戶界面及IPC 主程序,下層為PMAC 底層運動控制程序。用戶界面用于提供下達調試任務的接口并實時顯示當前系統狀態。主程序完成系統管理和上層運動規劃,包括文件與數據管理、伺服參數調整、軌跡規劃、運動學正反解、運動控制程序的生成、狀態監測、故障處理等,并通過PComm32 動態鏈接庫向PMAC 發送在線指令,獲取以PMAC 為基礎的伺服系統的狀態和發送運動數據等。PMAC 接收IPC發出的各種運動控制命令,根據位置給定信號及光電編碼器的位置反饋信號,分時完成每個電機轉角的誤差計算、控制算法計算及D/A 轉換,最終完成對各伺服電機的控制。這種分層次的軟件結構,保證了調試系統的可移值性與通用性。
4 控制器調試系統軟件實現
4.1 用戶界面及主程序類對象的關系與實現
通過對系統結構與功能進行分析,我們建立了如下類:通用運動控制類,進程類,傳感器類,界面類,定時器類與輔助類,進程類又分為規劃器類和控制器類。其中,最主要的類對象有:通用運動控制類CBaseControl,控制器類CController 和規劃器類CPlanner。通用運動控制類CBaseControl 是各種運動控制平臺的抽象,包含了通用運動控制平臺的公用數據和公共操作。從通用控制類又可派生出電機軸類CShaft。電機軸類主要封裝了電機軸的屬性及行為。控制器類CController 封裝了控制器的控制軸數據和控制器的公共功能,負責控制器的初始化并將各種指令轉化為基本的運動控制指令。規劃器類CPlanner 主要用于直角坐標空間運動的規劃,它抽象并實現了路徑規劃算法,比如直線插補與圓弧插補。為了使電機軸類能使用規劃器類和控制器類,通用運動控制類CBaseControl里面含有一個指向控制器類CController 的指針*p_CController 和一個指向規劃器類*p_CPlanner。為了記錄和保存示教點,還需定義用于描述指令的輔助類。一個指令可以將目標位置,運動方式,運動速度,指令類型等封閉在一起,這樣,一個示教任務就表示為一個指令鏈表m_TeachePointList,一個示教點就表示為指令鏈表的一個元素。通過對指令鏈表的操作就可實現示教任務的各項功能,如示教點的插入,記錄,刪除和示教任務的回放。
4.2 IPC 同PMAC 之間的通信
IPC 上的Windows 與PMAC 之間通過Delta Tau 公司提供的PComm32 動態鏈接庫進行通信。PComm32 包括了所有與PMAC 的通信方法,在主程序中只需調用PComm32 動態鏈接庫就能完成Windows 同PMAC 之間的數據交換。盡管PComm32 動態鏈接庫中包含了很多函數,但常用的并不多,只要掌握了以下幾個函數,就可以實現大多數的通信功能。
OpenPmacDevice() //為應用程序使用PMAC 打開一個通道;
ClosePmacDevice() //當程序運行完畢后關閉所打開的通道;
PmacGetResponseA() //發送一個命令字符串給PMAC,并從緩沖區得到PMAC 的反饋;
PmacConfigure() //調出配置對話框并修改PMAC 的參數;
PmacDownLoadA() //將程序從IPC 下載到PMAC;
PmacSendCommandA() //發送一個命令字符串給PMAC。
4.3 調試系統模塊化實現
本文中的調試系統采用模塊化結構,使系統具有擴展性與通用性。四個模塊分別是:系統參數設置模塊,關節空間運動調試模塊,直角坐標空間運動調試模塊,I/O端口調試模塊。各模塊運行界面如下:
(1) 參數設置模塊:如圖2(a)所示,在通用控制菜單項中,有6個子菜單,分別是系統自檢,系統初始化,打開控制器,關閉控制器,伺服上電和伺服斷電。可以設置各伺服電機軸的速度和加速度參數,單擊執行,各電機軸將會按照給定參數運動,窗體右邊實時顯示當前各電機軸角度及經過運動學正解得到的直角坐標值。單擊復位,各電機軸回到初始位置。
(2) 關節空間運動調試模塊:如圖2(b)所示,六個伺服電機軸分別被定義為X,,Y,Z,A,B,C軸,選擇步長和軸號以后可以讓各個軸以一定的步長運動,通過列表操作得到指令序列,再通過對指令序列的操作進行示教重演。窗體下面實時顯示當前各電機軸角度,直角坐標,以及伺服報警,運動出錯,正限位動作,負限位動作,軸開啟等系統狀態。
圖 2 (a)參數設置模塊 (b)關節空間運動調試模塊
(3) 直角坐標空間運動調試模塊:如圖3(a)所示,須通過運動學反解將直角坐標空間的示教操作轉換到關節空間,其他功能與關節空間運動調試模塊類似。
(4) I/O端口調試模塊:如圖3(b)所示,布置了16個輸入端口和16個輸出端口。每個I/O端口的狀態值均用bool值表示,調用此模塊時,16個輸入端口的狀態值將會以0或1的形式顯示在界面上。將各輸出端口設置數值0或1,單擊設置,輸出端口的值將會傳遞到實際的外部設備,以控制連接到I/O端口的實際外部設備的開關。
圖3 (a)直角坐標空間運動調試模塊 (b) I/O 端口調試模塊
5 結論
本文以工控機IPC 作為六自由度噴涂機器人控制系統的主控制器,結合可編程多軸控制器PMAC,設計了一種基于PMAC 的開放式六自由度噴涂機器人控制系統硬件平臺。在此基礎上,通過Visual C#.NET 和PComm32 動態鏈接庫,采用分層次的軟件結構研制了六自由度噴涂機器人控制器調試系統。通過該調試系統,可以對六自由度噴涂機器人控制器工作的實時性,可靠性和安全性等性能有一個總體的*估,及時發現存在的故障并加以排除,為噴涂機器人最終研制成功提供了重要的保證。
-
控制器
+關注
關注
112文章
16382瀏覽量
178303 -
機器人
+關注
關注
211文章
28466瀏覽量
207292 -
智能控制
+關注
關注
4文章
599瀏覽量
42273
發布評論請先 登錄
相關推薦
評論