張 用,郝衛(wèi)東,朱博譞,苗國強
(桂林電子科技大學 機電工程學院,廣西 桂林 541004)
基于嵌入式焊接機器人控制系統(tǒng)設計*
張 用,郝衛(wèi)東,朱博譞,苗國強
(桂林電子科技大學 機電工程學院,廣西 桂林 541004)
ARM處理器功耗低、成本低、體積小、外圍電路簡單、擁有豐富外設和I/O引腳等優(yōu)點能滿足不同接口且具有強大的數(shù)據信號處理能力。設計了基于嵌入式Linux焊接機器人控制系統(tǒng),上位機采用Exynos四核Cortex-A9處理器芯片設計上位機硬件電路,以DSP芯片為下位機主控制器,采用QT開發(fā)上位機控制系統(tǒng)軟件進行QT移植。實驗仿真證明:所設計的控制系統(tǒng)能夠對機器人進行焊接控制,達到預期效果。
焊接機器人 ;上位機;QT
工業(yè)機器人[1]在工業(yè)生產領域得到廣泛應用,除工業(yè)焊接機器人本體、驅動部分外,控制系統(tǒng)[2]是焊接機器人最重要的部分。鄭天江等人提出采用工控PC和運動控制通訊卡對機器人進行控制[3]。張艷瓊等人研究了基于Web service的控制系統(tǒng)[4],利用因特網的開放性實現(xiàn)遠程數(shù)據交換、多平臺接入。隨著技術發(fā)展,具有控制系統(tǒng)架構可被生產廠家以外任何人進行二次開發(fā)的開放控制系統(tǒng)成為研究熱點[5-7],此開放式控制系統(tǒng)一般采用PC+運動控制卡模式進行控制。
ARM處理器功耗低、成本低、體積小且外圍電路簡單,同時ARM處理器擁有豐富的外設和I/O引腳、能滿足不同接口且具有強大的數(shù)據信號處理能力[8],故ARM處理器作為機器人控制器提供了可行性;嵌入式Linux內核源碼開源特性,使得可以根據工程需要在搭建好的Ubuntu編譯系統(tǒng)里任意裁剪內核,編譯制作鏡像再將程序下載到硬件電路里,硬件電路通電調試運行即可實現(xiàn)預期設計。傳統(tǒng)工業(yè)焊接機器人控制采用示教器在線編程方法,操作人員在現(xiàn)場較固定位置對機器人操作控制焊接,相比傳統(tǒng)機器人控制結合國內外最新技術,本文設計焊接機器人控制系統(tǒng),以DSP芯片為下位機主控器,上位機采用Exynos四核Cortex-A9處理器芯片,設計上位機控制電路,運用QT良好的跨平臺移植性,采用QT開發(fā)上位機,將編譯好的QT鏡像下載到上位機硬件電路。
機器人由機構本體和控制系統(tǒng)組成。工業(yè)焊接機器人控制系統(tǒng)的主要要素有:計算機硬件系統(tǒng)及控制軟件;輸入/輸出設備;驅動器;傳感系統(tǒng)。機器人電氣控制系統(tǒng)主要由上位計算機、DSP運動控制器、驅動器、執(zhí)行機構和反饋機構?;诖?,本文設計的控制系統(tǒng)模塊如圖1所示。
圖1 控制系統(tǒng)模塊
上位計算機提供人機交互界面,提供人性化設計便于生產操作人員對其操作控制,人機接口包括示教盒、操作面板、顯示屏等,上位計算機與DSP運動控制器采用RS232串口通訊;DSP控制器采用雙核心TMS320F28335芯片控制,二者采用SPI通訊,將焊接軌跡和控制程序下載到一個DSP控制芯片,另一個芯片處理數(shù)據,處理控制程序、上位機、伺服驅動器等反饋數(shù)據;伺服驅動器接受DSP控制器發(fā)來PWM波驅動6個伺服電機進而實現(xiàn)焊接,其與DSP控制器采用CAN通訊;執(zhí)行機構包括齒輪、焊槍等,執(zhí)行焊接任務。
上位計算機硬件電路處理器芯片采用ARM Cortex-A9 Exynos四核處理器處理數(shù)據,SDRAM用于存放程序運行空間、數(shù)據及堆棧區(qū);NAND FLASH用于上位機Linux 編譯環(huán)境編譯好的QT鏡像、根文件及其他程序等;電源模塊為上位機硬件及軟件運行提供電量;復位模塊提供硬件運行后初始化功能;HPI接口是一個與主機通信的并行接口,用于上位機與DSP運動控制器進行通信,信息通過片存儲器與主機進行數(shù)據交換;以太網模塊用于接入因特網,從而組成局域網;串口模塊外部接入JTAG調試接口,用于筆記本電腦將編譯好的鏡像程序下載到上位機芯片里,并進行程序調試使用;鍵盤模塊控制焊接機器人狀態(tài)的輸入,分別將其實現(xiàn)運行模式按鍵,實現(xiàn)手段模式和自動運行模式切換,關節(jié)運行動作按鍵等;觸摸屏模塊和LCD顯示提供了硬件平臺,將Linux環(huán)境下編譯好的QT人機交互程序,下載到上位機硬件電路里,在上位機運行即可實現(xiàn)可視化界面,便于操作人員操作機器人焊接控制,同時運行現(xiàn)場報警等實時信息反饋到LCD觸摸屏上。所設計的焊接機器人控制系統(tǒng)硬件結構圖如圖2所示。
DSP控制器通過HPI接口與上位機ARM硬件處理器相連,DSP控制器接收LCD顯示屏和其他矩陣鍵盤輸入信號,DSP控制器將PWM信號發(fā)送給伺服驅動器來控制伺服電機,帶有增量編碼器功能的定時器計算驅動器返回的脈沖,可計算伺服電機每個時刻的位置、速度、加速度等信息。DSP控制器自身的AD外設將傳感器數(shù)字信號轉換為DSP控制器可識別的數(shù)字量;DSP控制器通過串口與示教器進行通訊。
圖2 焊接機器人控制系統(tǒng)硬件結構圖
本設計采用QT軟件開發(fā)上位機人機交互界面GUI,其有廣泛的適應性及良好的可移植性[9]。在虛擬機VMware-workstation8.0.3上加載從官網下載的Ubuntu12.04.2鏡像源碼,搭建好嵌入式Linux編譯環(huán)境[10],交叉編譯器為arm-none-linux-gnueabi-gcc -o。打開SSH軟件輸入虛擬機IP地址、root和密碼連接Ubuntu12.02虛擬機上,Linux Kernel3.0內核通過SSH軟件拷貝到Ubuntu12.02虛擬機里并用編譯器編譯可以執(zhí)行文件;Linux系統(tǒng)層包括應用層、操作層和驅動層。具體架構如圖3所示。
圖3 Linux系統(tǒng)層關系
3.1 嵌入式操作系統(tǒng)移植
在完成嵌入式Linux交叉編譯環(huán)境的建立,配置與編譯Linux內核,制作根文件系統(tǒng),設計Bootloader,以及軟件平臺的搭建后,便要設計上位機控制器的應用軟件。應用軟件設計中設備驅動程序的開發(fā)包括:人機交互界面、觸摸屏響應模塊、鍵盤輸入響應模塊、上位機與PC以太網通信模塊以及上位機和下位機DSP控制器通信模塊。開發(fā)驅動程序時,首先要在已經搭建好的Linux編譯系統(tǒng)內核驅動注冊到平臺設備結構體"platform_driver_register",注冊時需和設備相匹配;一部分驅動要和上層通訊,需生成設備節(jié)點,上層應用通過一套標準接口函數(shù)調用設備節(jié)點即可控制底層和底層通訊。
3.2 上位機人機交互界面設計
QT作為跨平臺圖形用戶界面工具包誕生以來,由于其廣泛適應性及良好可移植性,已擴展到了包括便攜式設備在內的幾乎當今程序設計的所有領域。從QT官網下載編譯環(huán)境所需要的工具包及補丁包,通過SSH軟件拷貝到Linux鏡像里將其安裝成功,搭建好QT編譯環(huán)境,進行控制界面軟件開發(fā),然后將開發(fā)好的上位機鏡像文件移植到上位機硬件電路里,控制系統(tǒng)軟件框圖如圖4所示。
圖4 控制系統(tǒng)軟件框圖
(1)下位機與機器人本體通信:DSP控制器通過CAN給伺服驅動器發(fā)送PWM波,控制伺服電機運轉,編碼器將電機實時旋轉位置、速度、加速度等信息反饋給DSP控制器。
(2)系統(tǒng)日志:可以查看焊接機器人焊接時的工作日志等信息。
(3)密碼修改:用于修改設備的登錄密碼,先輸入原始密碼,再輸入新密碼即可實現(xiàn)密碼修改。
(4)示教:運用示教器控制機器人實現(xiàn)對其參數(shù)設置、機器人運動狀態(tài)的實時顯示等。
(5)上位機與下位機通訊:在上位機設置串口號、波特率等信息,點擊打開串口按鈕即可實現(xiàn)上位機與下位機通訊。
(6)系統(tǒng)設置:主要包括系統(tǒng)設置操作權限、本體參數(shù)設置等,用戶在執(zhí)行任務時要登錄密碼、設置機器人運動參數(shù)等。所設計的QT上位機界面如圖5所示。
圖5 焊接機器人上位機QT控制頁面
切換到手動模式狀態(tài)下,即可對焊接機器人每個關節(jié)手動操作,如圖7所示。
圖6 手動操作機器人動作
3.3 下位機應用軟件控制流程圖
設備通電后控制軟件系統(tǒng)開始運行,硬件平臺開始初始化,機器人檢測系統(tǒng)開始檢驗機器人關節(jié)是否在原點處,若不在原點處,則調節(jié)機器人回原點處,否則不可自動運行。若在原點處,則進行工作方式選擇,若選擇手動,則執(zhí)行相應手動操作。若選擇自動工作模式,機器人焊接軌跡是否示教?若需要,則選擇示教機器人;若不需要示教,則讀取DSP控制器內存、執(zhí)行相關程序文件,執(zhí)行伺服電機啟動焊接,焊接過程若有報警則在上位機界面顯示報警信息,操作人員按照提示解除報警,機器人繼續(xù)焊接,若沒有報警,一個周期焊接結束,焊接機器人回到原點,等待命令執(zhí)行下一周期焊接。下位機軟件系統(tǒng)控制流程圖如圖7所示。
圖7 軟件控制系統(tǒng)控制流程圖
本文所設計的焊接機器人控制系統(tǒng),控制機器人焊接的程序主要在下位機DSP控制器里,上位機提供人機交互界面便于操作焊接使用,焊接產生的實時信息反饋到上位機界面處;下位機DSP控制器控制機器人程序編寫需要與上位機吻合、邏輯保持一致。焊接機器人本體及與其相控制的伺服驅動器等電氣控制元件價格較高,結合已有的實驗條件,以串口調試助手來模擬下位機DSP控制器及其焊接機器人本體。在上位機QT界面,點擊自動按鈕,串口調試助手收到robstart(),調用下位機DSP控制器執(zhí)行機器人焊接函數(shù)void robstart();控制機器人焊接,圖8所示為仿真模擬實驗。
圖8 仿真模擬實驗
本文設計的嵌入式焊接機器人控制系統(tǒng),以DSP芯片為主控制器,上位機采用Exynos四核Cortex-A9處理器芯片,設計上位機硬件電路,上位機采用Linux系統(tǒng)移植。實驗仿真表明:所設計的上位機嵌入式控制系統(tǒng)正確、可行。
[1] 蔡自興.機器人學[M].北京:清華大學出版社,2000.
[2] 徐達,郝琢,李華,等.彈藥自動裝填機器人控制系統(tǒng)開發(fā)平臺設計[J].計算機測量與控制,2011,19(4):857-859.
[3] 鄭天江,宋孫浩,楊亞威,等.基于實時Linux的網絡化開放式運動控制器研究[J].制造業(yè)自動化,2015,37(5):36-39.
[4] 張艷瓊,蔡瑞英.基于Web Service的工業(yè)控制系統(tǒng)研究[J].微計算機信息,2008,24(8-3):58-60.
[5] William E Ford.What is an Open Architecture Robot Controller? [J].Intelligent Control,1994:27-32.
[6] IFR.Executive Summary of World Robotics 2012 Industrial robot [R].World Robotics 2012,Statistical Department in International Federation of Robotics ,2012.
[7] 徐小明,魏澤峰,胡立明,等.基于PC與運動控制器的開放式數(shù)控系統(tǒng)研究與開發(fā)[J].制造業(yè)自動化,2012,34(2):107-110.
[8] 王帥華,楊東升,王允森,等.基于ARM的linux實時搶占補丁的研究與實現(xiàn)[J].組合機床與自動化加工技術,2015(9):1-4.
[9] 楊杏,陳富林,周霏,等.基于Qt的工業(yè)機器人語言系統(tǒng)的設計[J].組合機床與自動化加工技術,2015(3):71-74.
[10] 王茂森,許仁江,戴勁松,等.嵌入式山地機器人控制系統(tǒng)設計[J].機械設計與制造,2014(12):212-216.
(編輯 李秀敏)
Design of Control in Welding Robot Based on Embedded
ZHANG Yong,HAO Wei-dong, ZHU Bo-xuan,MIAO Guo-qiang
(College of Mechanical and Electrical Engineering, Guilin University of Electronic Technology, Guilin Guangxi 541004,China)
ARM processor, with advantages of low power consumption, low cost, small size, simple peripheral circuit, rich peripherals and IO pins, etc. has powerful data signal processing ability, which can meet different interfaces. Welding robot control system is based on Embedded Linux to design. Superior machine hardware circuit is designed by Exynos four core cortex-A9 processor chip, and DSP chip is used as main lower computer controller. In order to transplant QT , upper monitor control software system is developed by QT. The simulation experimental results show that the design of the control system can realize the function of welding control for robot, achieving the desired effect.
welding robot; upper computer; QT
1001-2265(2017)01-0089-02
10.13462/j.cnki.mmtamt.2017.01.024
2016-03-26;
2016-04-26
國家自然科學基金項目(51305087);桂工信投資[2014]276號
張用(1986—),男,山東棗莊人,桂林電子科技大學碩士研究生,研究方向為嵌入式技術、工業(yè)機器人,(E-mail)jd0604@126.com。
TH165;TG659
A