陳 艷,顧寄南,樊 帆,關(guān)號(hào)兵,沈 巍
(江蘇大學(xué) 制造業(yè)信息化研究中心,鎮(zhèn)江 212013)
隨著大量先進(jìn)的微處理器制造技術(shù)的發(fā)展,越來越多的嵌入式系統(tǒng)用嵌入式處理器而不用通用的處理器[1]。本文設(shè)計(jì)了基于ARM與DSP相結(jié)合的上下料機(jī)器人控制系統(tǒng)平臺(tái),融合了視覺定位技術(shù)和無線通信技術(shù),提高了系統(tǒng)的實(shí)時(shí)性和集成度。
嵌入式系統(tǒng)處理器是整個(gè)硬件系統(tǒng)的核心元件,其性能好壞直接決定整個(gè)系統(tǒng)的運(yùn)行效果[2]。機(jī)器人控制平臺(tái)主處理器為ARM微控器,從處理器為DSP芯片;操作系統(tǒng)采用μClinux系統(tǒng)。
ARM在人機(jī)交互、監(jiān)視控制、支持實(shí)時(shí)控制等方面具有強(qiáng)大的功能;DSP數(shù)字信號(hào)處理能力優(yōu)于其他控制器;μClinux系統(tǒng)具有支持各種協(xié)議及多進(jìn)程調(diào)度機(jī)制的優(yōu)點(diǎn)。因此ARM作為處理器平臺(tái),運(yùn)行μClinux系統(tǒng),與DSP的實(shí)時(shí)運(yùn)算結(jié)合起來,構(gòu)成了高性能、高效率的控制平臺(tái)。
上下料機(jī)器人的控制平臺(tái)包括ARM主控系統(tǒng)、DSP視覺系統(tǒng)、運(yùn)動(dòng)控制系統(tǒng)、ZigBee無線通信等模塊,總體設(shè)計(jì)方案如圖1所示。
ARM主控模塊采用三星公司ARM9系列的S3C2440,是高性能低功耗的32位RISC處理器,具有64M的SDRAM,硬件上保證了系統(tǒng)的快速響應(yīng)速度。ARM處理器模塊通過RS-232串口與運(yùn)動(dòng)控制模塊連接,RS-232串口在中斷模式下工作[2]。
DSP視覺處理芯片采用TI公司的TMS320DM642,該芯片是一款性能優(yōu)越的多媒體處理器,可以很好地完成與主控制器的通信。運(yùn)動(dòng)控制的專有電路用復(fù)雜可編程邏輯器CPLD來設(shè)計(jì)。CPLD管理ARM和各種外部設(shè)備的接口配置,尤其在控制多軸的情況下,實(shí)現(xiàn)并行處理的功能,保證了系統(tǒng)響應(yīng)速度。
圖1 機(jī)器人總體設(shè)計(jì)方案
嵌入式μClinux的開發(fā)采用宿主機(jī)和目標(biāo)機(jī)交叉開發(fā)的過程。開發(fā)時(shí)使用宿主機(jī)的交叉編譯、匯編及連接工具形成可執(zhí)行的二進(jìn)制代碼,把執(zhí)行文件下載到目標(biāo)機(jī)上運(yùn)行,并通過以太網(wǎng)口進(jìn)行程序的調(diào)試。
μClinux嵌入式操作系統(tǒng)具有一般操作系統(tǒng)的功能,而且提供多任務(wù)管理和周圍資源管理,移植內(nèi)容如下。
1)建立交叉開發(fā)環(huán)境,修改內(nèi)核目錄樹根下的Makefile,指明交叉編譯器和目標(biāo)平臺(tái)。
2)對(duì)μClinux源碼進(jìn)行修改,針對(duì)硬件修改啟動(dòng)代碼和配置文件。
添加Norflash驅(qū)動(dòng)文件,在drives/mtd/maps下加入驅(qū)動(dòng)文件;
修改配置項(xiàng)drivers/mtd/maps/Kconfig文件;修改drivers/mtd/maps/Makefile文件。
3)配置編譯內(nèi)核,得到zImage文件,即生成新的內(nèi)核映像文件[1]。
在μClinux中,所用設(shè)備時(shí)都有統(tǒng)一的接口。安裝驅(qū)動(dòng)程序后,使用設(shè)備就像使用文件一樣。當(dāng)需要使用相關(guān)設(shè)備的驅(qū)動(dòng)程序時(shí),驅(qū)動(dòng)程序以模塊的形式加載到內(nèi)核中,使用完畢即卸載。這種加載方式使驅(qū)動(dòng)程序獨(dú)立開來,便于修改和升級(jí)。
上下料機(jī)器人控制系統(tǒng)主要任務(wù)是實(shí)時(shí)與目標(biāo)機(jī)床群通信,對(duì)相應(yīng)的數(shù)據(jù)和命令進(jìn)行判斷和解釋,驅(qū)動(dòng)機(jī)器人電機(jī)做相應(yīng)的響應(yīng),從而實(shí)現(xiàn)換料功能。各模塊任務(wù)分配。
1)無線通信模塊ZigBee采用基于星型的拓?fù)浣Y(jié)構(gòu)[4],即以機(jī)器人為中心節(jié)點(diǎn)、面向其他數(shù)控機(jī)床節(jié)點(diǎn)的基礎(chǔ)上搭建,傳遞數(shù)控機(jī)床上下料的命令。
2)ARMS3C2440控制器完成各種任務(wù)的調(diào)度、命令代碼的解釋以及運(yùn)動(dòng)控制的處理,采集到一臺(tái)機(jī)床的服務(wù)指令,即驅(qū)動(dòng)機(jī)器人小車至目標(biāo)機(jī)床,若有多臺(tái)機(jī)床發(fā)出指令,按照優(yōu)先級(jí)完成一臺(tái)機(jī)床任務(wù),把其它指令儲(chǔ)存以待下個(gè)周期執(zhí)行。
3)TMS320DM642視覺處理器的目標(biāo)是確定物料的位置,把每次攝像頭拍攝的物料圖像進(jìn)行識(shí)別、匹配和后處理[5],從圖像信息提取出物料的空間位置坐標(biāo);經(jīng)過攝像機(jī)標(biāo)定矩陣,S3C2440將空間位置坐標(biāo)轉(zhuǎn)換為驅(qū)動(dòng)電機(jī)的脈沖控制,從而使機(jī)器人能夠到達(dá)目標(biāo)位置。
上下料機(jī)器人控制系統(tǒng)的實(shí)驗(yàn)設(shè)備采用研旭嵌入式綜合開發(fā)平臺(tái)YX-EMBOX,它集成了ARM、DSP、CPLD等控制模塊。DSP模塊通過并行串口與維視視覺平臺(tái)通信,利用視覺平臺(tái)完成攝像機(jī)的標(biāo)定和工件二維圖像的拍攝。如圖2所示。
假設(shè)工件在料箱中平鋪放置,那么工件在垂直方向上的位置偏差可以忽略不計(jì),通過調(diào)整料箱的高度來設(shè)定末端執(zhí)行器與料箱的距離,我們只需對(duì)單目攝像頭進(jìn)行一次標(biāo)定即可。
圖2 控制芯片實(shí)物及攝像頭的標(biāo)定實(shí)驗(yàn)
機(jī)器人本體采用雙四桿機(jī)構(gòu),在小車和關(guān)節(jié)處共裝有四個(gè)伺服電機(jī)。電動(dòng)機(jī)的控制采用不斷循環(huán)的PI式增量算法,電動(dòng)機(jī)的當(dāng)前速度值由中斷子程序產(chǎn)生。各個(gè)電機(jī)在上料過程中不同時(shí)段反饋的脈沖數(shù)如表1所示。
表1 電機(jī)不同時(shí)段的脈沖數(shù)
基于ARM的上下料機(jī)器人控制系統(tǒng),結(jié)合先進(jìn)的計(jì)算機(jī)軟硬件技術(shù),具有良好的開發(fā)性和可靠性。同時(shí)在嵌入式操作系統(tǒng)μClinux的支持下,可以驅(qū)動(dòng)4個(gè)電機(jī)運(yùn)作,滿足了實(shí)時(shí)同步控制和多任務(wù)調(diào)度要求,具有良好的應(yīng)用前景。
[1] 周立功. ARM嵌入式系統(tǒng)基礎(chǔ)教程[M]. 北京航空航天大學(xué)出版社. 2005
[2] 李衛(wèi), 宋弘, 李紅嬋. 基于ARM的嵌入式服務(wù)機(jī)器人控制器的研究[J]. 電子設(shè)計(jì)工程, 2009, 17(9): 3-5.
[3] 劉建群, 劉綠山, 羅繼合等. 基于ARM與DSP的切繪機(jī)運(yùn)動(dòng)控制平臺(tái)的設(shè)計(jì)[J]. 機(jī)械設(shè)計(jì)與制造, 2008, (2): 162-164.
[4] 王東, 張金榮, 魏延等. 利用ZigBee技術(shù)構(gòu)建無線傳感器網(wǎng)絡(luò)[J]. 重慶大學(xué)學(xué)報(bào)(自然科學(xué)版), 2006, 29(8): 95-97.
[5] 楊忠耀, 段鎖林. 雙目視覺機(jī)器人物體搬運(yùn)伺服控制系統(tǒng)研究[J]. 太原科技大學(xué)學(xué)報(bào), 2008, 29(4): 295-301.