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