劉溯奇,蔣正鋒,陸偉艷
(廣西民族師范學院,崇左 532200)
近年來,機器人技術的應用開始從制造業(yè)向非制造領域擴展,比如宇宙探索、海底探查、管道鋪設和檢修、醫(yī)療、軍事、服務、娛樂等方面。從而基于非結(jié)構環(huán)境、極限環(huán)境下的先進機器人技術及應用研究已成為機器人技術研究和發(fā)展的主要方向。機器人技術的發(fā)展從來離不開其他技術的發(fā)展,計算機技術就是其中之一,而嵌入式系統(tǒng)就是計算機技術發(fā)展最快和應用最廣泛的技術之一,人們稱之為后PC時代。近年來,由于嵌入式處理器的高度發(fā)展,嵌入式系統(tǒng)在體積、價格、功耗、性能、穩(wěn)定性等方面有明顯的突出優(yōu)勢,因此,機器人無論從控制系統(tǒng)的結(jié)構還是機器人的智能程度等方面都得到了很大提高。所以,研究機器人及其控制系統(tǒng),嵌入式技術發(fā)揮了越來越重要的作用[1]。
隨著我國社會經(jīng)濟和城市建設的迅速發(fā)展,在人們物質(zhì)生活水平不斷提高的同時,環(huán)境也遭受了越來越多的污染,人類賴以生存的水資源也不例外。水面污染對人類的水源構成很大的威脅,湖泊尤其是旅游勝地和市內(nèi)人工湖泊,更是無法逃避漂浮物污染的厄運,舉目可見各種日常消費品的包裝物在湖面上漂浮。污染的加劇需要根治,但是,水面污染的治理是一項長期艱難的任務,是全人類必須面對的共同問題。用人工清理水面漂浮物只是權宜之計,有些危險水域人工是無法勝任的。因此,設計了基于嵌入式技術的小型湖面漂浮物清掃機器人,用于完成這一工作。實驗結(jié)果表明該系統(tǒng)操作簡單、安全平穩(wěn)、經(jīng)濟環(huán)保、適應性和實用性強,具有較深遠的理論意義和應用推廣價值[2]。
小型湖面漂浮物清掃機器人系統(tǒng)總體設計方案如圖1 所示,該方案總體來說,可分為兩部分:一部分是清掃機器人結(jié)構。它由船體、尾部的回收拖網(wǎng)、在水面上行走的一對驅(qū)動輪以及對應的一對直流電機構成機器人的本體結(jié)構,并在本體結(jié)構上搭載了硬件控制系統(tǒng)(ARM11)和多種傳感器等相關設備,如USB 攝像頭、電機驅(qū)動控制板、WiFi 模塊等。第二部分是以無線路由器為中心節(jié)點構成的遠程控制與監(jiān)控網(wǎng)絡。該部分主要由帶寬較大、傳輸速率較高和傳輸距離達500m 之遠的無線路由器,具有無線網(wǎng)卡、安裝有監(jiān)控軟件、便于攜帶的遠程控制用筆記本電腦,一端通過有線方式連接到無線路由器的上行端口、另一端通過其他途徑連接到Internet的有線路由器,多臺接入Internet的遠程監(jiān)控計算機所組成。其目的是通過有線和無線傳輸通道實現(xiàn)對清掃機器人的遠程控制,并獲取機器人采集到的實時視頻圖像,以便進一步觀察和決策,最終完成湖面漂浮物垃圾的清理工作。
圖1 系統(tǒng)總體方案設計圖
清掃機器人控制系統(tǒng)主要完成遠程控制計算機發(fā)來的命令識別,并做出相應的動作,實時采集機器人周圍的視頻圖像,然后通過WiFi 信道傳輸給遠程控制機等。對系統(tǒng)進行功能模塊化劃分,本系統(tǒng)可劃分為以下六大模塊:視頻圖像采集模塊(USB 攝像頭);人機交互模塊;USB 接口的WiFi 模塊;程序下載模塊;電機驅(qū)動模塊和電源管理模塊。各模塊之間的關系如圖2 所示。
核心控制板模塊采用FriendlyARM 公司的Tiny6410開發(fā)板[3],該開發(fā)板外圍接口比較完備,引出了很多I/O、數(shù)據(jù)和地址總線,適合二次開發(fā)。
視頻采集模塊采用的是包含中星微公司ZC0301P 芯片的USB 攝像頭,ZC0301P 芯片內(nèi)部集成了CMOS的圖像感光芯片、JPEG 硬件壓縮引擎和USB 設備控制接口,可通過它采集得到壓縮了的MJPEG 格式的視頻流數(shù)據(jù),并可由USB 接口傳輸?shù)絻?nèi)存進行處理。
圖2 硬件控制系統(tǒng)(ARM11)結(jié)構示意圖
系統(tǒng)需要兩種電源,分別是5V,12V。5V 電源用于核心板供電,12V 電源主要對電機驅(qū)動模塊供電。為了避免引起干擾,需要設計電源模塊,因此選用了開關電源芯片LM2576 作為電壓變換核心器件,它能承受最大達3A的電流輸出。整個機器人所需的能量由12V 電瓶提供。
WiFi 模塊采用的是USB 接口的無線網(wǎng)卡TL-WN321G+,采用Ralink 公司的RT73 芯片,無線傳輸速率高達54Mbps,傳輸距離可達100~300m,能夠滿足控制系統(tǒng)對遙控距離的要求。
程序下載模塊主要完成啟動程序和應用程序的下載,本系統(tǒng)提供兩種下載方式,并口下載和串口下載。并口下載通過并口線與JTAG 調(diào)試接口連接完成PC 與S3C6410的通訊,串口下載通過RS232 串口線連接電路板上COM 口與PC 進行通訊[4]。
電機驅(qū)動模塊是機器人的重要組成部分,它和電機、驅(qū)動輪組成機器人的執(zhí)行機構,完成機器人的向前、向后、轉(zhuǎn)向等運動動作。
由于直流電機具有良好的線性調(diào)速特性,簡單的控制功能,較高的效率,優(yōu)異的動態(tài)特性等,因此廣泛應用在控制系統(tǒng)中。本設計采用的是1 片L298N電機驅(qū)動芯片驅(qū)動2個直流電機,采用PWM 調(diào)速原理控制直流電機達到控制機器人的運動動作。
L298N 可驅(qū)動兩個直流電機,OUT1,OUT2 和OUT3,OUT4 之間分別接2個電機。IN1 與IN2,IN3與IN4 腳接輸入控制電平,控制電機的正反轉(zhuǎn),ENA,ENB 接控制使能端,控制電機的停轉(zhuǎn)[5]。為了消除電機運轉(zhuǎn)對硬件控制系統(tǒng)(ARM11)的干擾,從控制板的控制引腳出來的信號,經(jīng)過1 片TLP521-4的4 路光電耦合器信號隔離,通過脈寬調(diào)制控制光電耦合器的開關達到控制L298N 驅(qū)動芯片,并達到控制電機按照所需的速度運轉(zhuǎn)的目的。其電機驅(qū)動電路如圖3 所示。
圖3 電機驅(qū)動模塊原理圖
軟件設計主要分為兩部分:一是遠程控制端應用軟件的開發(fā),主要工作是發(fā)送控制命令,遠程控制清掃機器人的前進、后退、轉(zhuǎn)向和作業(yè)工作等動作,并控制清掃機器人開啟USB 攝像頭采集機器人周圍水域的視頻信息,通過WiFi 無線信道傳回到控制端并顯示。二是清掃機器人控制系統(tǒng)軟件的開發(fā),主要包括操作系統(tǒng)移植、WiFi 模塊和USB 攝像頭模塊驅(qū)動移植、視頻采集程序的實現(xiàn)、視頻服務器的構建、電機模塊驅(qū)動程序設計和系統(tǒng)應用軟件設計等工作。
操作系統(tǒng)移植包括引導加載程序Bootloader、內(nèi)核裁剪、配置與編譯、根文件系統(tǒng)的制作與移植等。引導加載程序負責上電時初始化目標板,裝載內(nèi)核到內(nèi)存,把引導參數(shù)傳遞給內(nèi)核,然后執(zhí)行內(nèi)核。在內(nèi)核裁剪和配置時,需要保證系統(tǒng)的功能,然后保證
支持硬件電路正常工作。
WiFi 模塊采用的是USB 接口的無線網(wǎng)卡TL-WN321G+,Linux-2.6.36 內(nèi)核提供了對該模塊的支持,因此,配置內(nèi)核的時候,選上該模塊驅(qū)動即可。
視頻采集模塊采用的是USB 攝像頭,用于完成清掃機器人周邊水域的視頻采集,傳回到遠程控制端后,可人工判別湖面漂浮物的所在位置。由于Linux-2.6.36 內(nèi)核已包含萬能USB 攝像頭驅(qū)動,所以在配置內(nèi)核的時候,選上該模塊驅(qū)動即可。
Linux 下的視頻采集是基于Video4Linux(V4L)或Video4Linux2(V4L2)提供的接口函數(shù)來實現(xiàn)的。V4L 或V4L2是Linux 中關于視頻設備的內(nèi)核,它為針對視頻設備的應用程序編程提供一系列接口函數(shù)。在應用程序中可利用V4L 或V4L2 結(jié)合I/O 控制函數(shù)如open、read、write、close、內(nèi)存映射等來操作攝像頭進行視頻數(shù)據(jù)采集,隨后可進行數(shù)據(jù)壓縮。
視頻采集完成之后,通過網(wǎng)絡傳輸?shù)竭h程控制端計算機的瀏覽器,遠程控制端就可以通過瀏覽器實時了解機器人周圍水域情況。為了完成該功能,需要實現(xiàn)嵌入式web 服務器構建和視頻服務器的設計。Web 服務器建立,采用的是thttpd 服務器,它是多任務的http 服務器,支持認證和CGI 程序,對其進行配置和編譯,并集成到Linux 操作系統(tǒng)中。在此基礎上,開發(fā)相應的視頻服務端軟件和應用軟件。
Linux 操作系統(tǒng)下驅(qū)動程序的編寫有固定的模式,編寫驅(qū)動程序的主要工作就是編寫子函數(shù),如open、read、write、ioctl 等,并填充file_operations的各個域。編寫好之后,可以以模塊的形式或直接編譯進內(nèi)核的方式,使Linux 內(nèi)核支持對電機模塊的控制。
本設計采用WiFi 技術,以無線路由器為組網(wǎng)中心節(jié)點,構建了一個局域網(wǎng)絡,將小型湖面漂浮物清掃機器人和無線遠程控制PC 機等接入網(wǎng)絡中。通過無線遠程控制PC 機或遠程監(jiān)控計算機的控制界面,可向機器人發(fā)出采集視頻圖像的指令,并可通過WiFi 信道傳回來的視頻圖像,判斷漂浮物的方向和所在位置,然后發(fā)出行走指令控制機器人運動到漂浮物處,收集湖面垃圾。經(jīng)不同湖面的多次實驗表明,該系統(tǒng)傳輸信息穩(wěn)定可靠,機器人運行平穩(wěn),收集垃圾效率高,通過采用大功率的無線路由器,其最遠遙控距離可達500 米左右。因此,該機器人及其構建的系統(tǒng)具有較高的應用價值。
[1]郝衛(wèi)東,陳亮,曹德新.基于嵌入式技術的智能機器人系統(tǒng)研究[J].電子技術應用,2009(2):30-34.
[2]張蕾蕾.湖面清掃智能機器人的控制[D].沈陽:沈陽理工大學,2008.3.
[3]廣州友善之臂計算機科技有限公司.Mini6410 用戶手冊[EB/OL].http://www.arm9.net/mini6410- um.asp/ Mini6410 用戶手冊.pdf,2010.
[4]劉溯奇,郝衛(wèi)東,林添成,等.基于嵌入式的視覺巡線機器人系統(tǒng)設計[J].工程設計學報,2008,15(2):94-96.
[5]S.T.Corp.L298N UserManual[EB/OL].http://www.st.com/internet/analog/product/ 63147.jsp/L298N.pdf,2000.