李 鋮
(河南牧業(yè)經(jīng)濟(jì)學(xué)院,河南 鄭州 450000)
機(jī)器人技術(shù)越來(lái)越火熱,也越來(lái)越流行,它融合了很多交叉學(xué)科知識(shí),并且大量應(yīng)用于前沿技術(shù),許多發(fā)達(dá)國(guó)家開(kāi)展機(jī)器人制作比賽以此來(lái)鼓勵(lì)更多高科技人才進(jìn)入機(jī)器人領(lǐng)域[1]。目前為止,市面上的機(jī)器人多為固定的,但其范圍與行為受到限制,所以需要更多的移動(dòng)機(jī)器人來(lái)解決問(wèn)題[2]。探險(xiǎn)機(jī)器人是現(xiàn)在比較火熱的智能機(jī)器人,探險(xiǎn)機(jī)器人能夠探測(cè)險(xiǎn)境,代替人們發(fā)現(xiàn)危險(xiǎn),幫助人們找到合適的路線,使人們盡快到達(dá)想要去的地方。該文結(jié)合中國(guó)機(jī)器人大賽中機(jī)器人旅游——探險(xiǎn)游項(xiàng)目的要求背景,自主研發(fā)出該探險(xiǎn)機(jī)器人小車。
該智能小車由軟件系統(tǒng)、結(jié)構(gòu)與外觀、電子電路系統(tǒng)、傳感器、動(dòng)力系統(tǒng)這5個(gè)部分組成,如圖1所示。其中,軟件系統(tǒng)控制整個(gè)機(jī)器的運(yùn)行,是該小車的控制核心,它能夠與小車的其他電子元件保持實(shí)時(shí)通信,將程序運(yùn)算的結(jié)果發(fā)送至各個(gè)電子信息元件,實(shí)現(xiàn)小車的各個(gè)部分運(yùn)動(dòng)統(tǒng)一;該小車的結(jié)構(gòu)與外觀部分是采用亞克力板作為小車的框架;電子電路系統(tǒng)是將各個(gè)電子元件的信號(hào)線與Arduino主板的I/O用杜邦線相連,使Arduino主板與各個(gè)傳感器保持實(shí)時(shí)通信;該小車傳感器部分由8路數(shù)字灰度傳感器、光電避障傳感器、漫反射激光傳感器3個(gè)傳感器構(gòu)成傳感器部分,該部分是該小車的感知器官,他們是使小車實(shí)現(xiàn)循跡,避障的保證,是接受外界信號(hào)的重要組成部分;動(dòng)力系統(tǒng)采用容量為5300mAh,放電倍率為30c,額定電壓為14.8V大容量高倍率電池,并且用一塊LM2596 DC-DC可調(diào)降壓模塊穩(wěn)定輸出一個(gè)12V、一個(gè)5V的電源,12V電源為直流電機(jī)驅(qū)動(dòng)供電,一個(gè)5V電源為主控板以及各種傳感器供電。以此來(lái)保證小車的各個(gè)部分持續(xù)正常地工作。
圖1 智能小車的總設(shè)計(jì)思路
該文的智能小車采用Arduino Mega 2560最小系統(tǒng)作為該小車軟件系統(tǒng)。Arduino Mega 2560是基于ATmega2560的微控制板,有54路數(shù)字輸入/輸出端口(其中15個(gè)可以作為PWM輸出)、16路模擬輸入端口、4路UART串口、16MHz的晶振、USB連接口、電池接口、ICSP頭和復(fù)位按鈕[3]。簡(jiǎn)單地用USB連接電腦或者用交直流變壓器就能使用[3]。它具有大量的I/O口和較快的處理速度,這也是它比Arduino UNO更加適合該文小車的特性。
小車上下板采用亞克力材質(zhì),利用SolidWorks建模設(shè)計(jì)出合適尺寸,把各個(gè)模塊位置確定下來(lái),把孔的位置定好,然后出圖,利用高精度激光切割機(jī)把上下底板加工出來(lái),激光切割的切口光滑、速度快、精度高,能一次成型,很方便,無(wú)須二次加工,節(jié)約了大量的時(shí)間,簡(jiǎn)化工序流程,再配合亞克力板的優(yōu)良激光切割特性,可以快速地從圖樣設(shè)計(jì)到底板制作完成[4]。之后上下板之間用銅質(zhì)六角螺柱支撐固定起來(lái),整體結(jié)構(gòu)看起來(lái)規(guī)整大氣,各模塊根據(jù)圖紙安裝固定,部分傳感器可根據(jù)使用目的利用3D打印進(jìn)行安裝固定。
探險(xiǎn)機(jī)器人主要使用的傳感器有8路數(shù)字灰度傳感器、光電避障傳感器、色標(biāo)漫反射傳感器。這些傳感器的信號(hào)線都連接到Arduino Mega2650的引腳上,電源用DC-DC15A同步整流降壓模塊降壓后連接到這些傳感器的VCC和GND,接線原理如圖2所示,其中TXD為發(fā)射端,RXD為接收端,GND為接地端。電機(jī)部分是用一塊LM2596 DC-DC可調(diào)降壓模塊先降壓,然后連接到電機(jī)驅(qū)動(dòng)上,電機(jī)驅(qū)動(dòng)上會(huì)有一些排針插口,這些排針插口連接到Arduino Mega 2650的引腳上,這就是該智能小車的電子電路部分。
圖2 通信信號(hào)接線原理
探險(xiǎn)機(jī)器人使用了8路數(shù)字灰度傳感器、光電避障傳感器、色標(biāo)漫反射傳感器。
8路數(shù)字灰度傳感器:如圖3所示,用于識(shí)別賽道上白色的引導(dǎo)線,數(shù)字灰度傳感器輸出的數(shù)字信號(hào)只有0或者1,根據(jù)賽場(chǎng)的環(huán)境不同,筆者需要對(duì)數(shù)字灰度傳感器進(jìn)行調(diào)節(jié),進(jìn)而適應(yīng)賽場(chǎng)的環(huán)境,調(diào)節(jié)傳感器就是調(diào)節(jié)它的電壓,數(shù)字灰度傳感器的芯片是電壓比較器,型號(hào)是LM393,它有兩路電壓輸入,一路是光敏電阻的輸出電壓,一路是滑動(dòng)變阻器的基準(zhǔn)電壓,通過(guò)LM393電壓比較器來(lái)比較這2路電壓,進(jìn)而對(duì)外輸出高低電平。
圖3 8路數(shù)字灰度傳感器
光電避障傳感器又稱紅外避障傳感器,型號(hào)是E18-D80NK,它是1個(gè)集成傳感器,外觀小巧美觀,外殼配有螺紋與螺母,易于安裝固定,它將發(fā)射器接收器處理系統(tǒng)融合在一起,非干擾性,靈敏度高[5]。傳感器前端有1個(gè)過(guò)濾光質(zhì)的玻璃片,它能過(guò)濾發(fā)射的光源,又能過(guò)濾其他光線對(duì)傳感器的干擾。光電避障傳感器檢測(cè)最遠(yuǎn)距離是800mm,傳感器的探測(cè)距離可以根據(jù)使用要求自己調(diào)節(jié),傳感器探測(cè)距離調(diào)節(jié)方式就是轉(zhuǎn)動(dòng)尾部的滑動(dòng)變阻器。傳感器正常工作電壓是5V,正常工作電流是10mA~15mA,探測(cè)距離的范圍是30 mm~800 mm[6]。
色標(biāo)漫反射傳感器:型號(hào)是E18-F10NK,是一種集發(fā)射與接收于一體的色標(biāo)傳感器,具有距離調(diào)節(jié)旋鈕和工作指示燈,根據(jù)燈的亮與滅來(lái)進(jìn)行顏色的區(qū)分。傳感器正常工作電壓是4.5 V~5.5 V,正常工作電流是10 mA~15 mA,探測(cè)距離的范圍是20 mm~150 mm。
動(dòng)力系統(tǒng)原理如圖4所示,電源采用3300mAh-4s(14.8V)大容量電池,強(qiáng)勁電力、更大容量、環(huán)保材質(zhì)、待電持久,為小車提供充足的電源,保證其長(zhǎng)久續(xù)航。利用DC-DC15A同步整流降壓模塊輸出一個(gè)12V的電源,利用一塊LM2596 DC-DC可調(diào)降壓模塊穩(wěn)定輸出一個(gè)5V的電源,12 V電源為直流電機(jī)驅(qū)動(dòng)供電,5V電源為主控板以及各種傳感器供電。
圖4 動(dòng)力系統(tǒng)分壓思路
由直流正科電機(jī)驅(qū)動(dòng),選用電壓12 V轉(zhuǎn)速為1 000轉(zhuǎn)電機(jī),雙H橋,可同時(shí)驅(qū)動(dòng)2臺(tái)直流電機(jī),單路7 A電流,功率大[7]。大扭矩電機(jī)為小車翻越障礙提供充沛動(dòng)力,減速箱采用全金屬齒輪,外殼使用高硬度不銹鋼材質(zhì),更受外界沖擊,耐磨性高,精確度高,定子采用銅芯線圈繞組,電機(jī)更耐磨損。采用L型電動(dòng)機(jī)臥式安裝座,使電機(jī)穩(wěn)定安全地固定在小車底板上。
探險(xiǎn)機(jī)器人使用Arduino Mega 2650主控板,其優(yōu)點(diǎn)在于有大量的引腳,基于高性能核心處理器的快速處理速度,可以在程序運(yùn)行時(shí)將各路傳感器收到的數(shù)字信號(hào)和模擬信號(hào)進(jìn)行實(shí)時(shí)處理,以便在小車行進(jìn)途中對(duì)車身姿態(tài)進(jìn)行實(shí)時(shí)調(diào)整和控制。整個(gè)控制系統(tǒng)分為2個(gè)部分,即循跡部分和精準(zhǔn)控制部分,其中循跡部分主要使用8路數(shù)字灰度傳感器,精準(zhǔn)部分主要使用色標(biāo)傳感器。2個(gè)部分相互協(xié)調(diào)來(lái)控制探險(xiǎn)機(jī)器人行為,精確控制部分與循跡部分兩者各有各的觸發(fā)方式及引導(dǎo),并不會(huì)沖突,是一種相互協(xié)調(diào)的關(guān)系??刂撇呗栽韴D如圖5所示。
圖5 控制策略原理
循跡部分主要利用灰度傳感器來(lái)進(jìn)行循線。首先筆者需要采集背景色與線路的顏色,背景色為地毯的綠色,線路為白色布基膠帶。筆者采用灰度傳感器的數(shù)字模式,數(shù)字口直接接在I/O口上,設(shè)置這些I/O口為輸入模式,讀取每路傳感器的輸出,數(shù)字口有高電平和低電平2種信號(hào),由于灰度傳感器可以將收集到的電信號(hào)的模擬值進(jìn)行二值化處理,所以可設(shè)置為,當(dāng)灰度傳感器掃到白線為0,否則為1。這樣可以設(shè)置為當(dāng)小車平穩(wěn)地走在白線正中間時(shí),4路和5路正好掃到白線,此時(shí)表示二進(jìn)制為11100111,此時(shí)小車全速前進(jìn)。當(dāng)小車向右偏移時(shí),也就是左側(cè)的1路或2路或3路掃到了白線,此時(shí)表示二進(jìn)制為00111111或10011111或11001111,這時(shí)調(diào)整小車的電機(jī)左邊調(diào)速減慢,右邊增快,使其向左偏轉(zhuǎn),直至小車車身能夠平穩(wěn)地在白線中間行進(jìn),此時(shí)繼續(xù)全速前進(jìn)。當(dāng)小車向左偏移時(shí),也就是右側(cè)的8路或7路或6路掃到了白線,此時(shí)表示二進(jìn)制為11111100或11111001或11110011,這時(shí)調(diào)整小車的電機(jī)右邊調(diào)速減慢,左邊增快,使其向右偏轉(zhuǎn),直至小車車身能夠平穩(wěn)地在白線中間行進(jìn)[8]。
精準(zhǔn)控制部分主要依靠車身前方兩側(cè)的色標(biāo)漫反射傳感器記錄車身在整個(gè)路線中的位置,并且在到達(dá)控制位時(shí)跳轉(zhuǎn)至指定控制子程序內(nèi)執(zhí)行,從而達(dá)到精準(zhǔn)控制的效果?;谥骺匕鍍?yōu)越的處理速度,在到達(dá)指定識(shí)別位置時(shí)可以實(shí)時(shí)執(zhí)行控制子程序。由于漫反射傳感器極靈敏,在行進(jìn)過(guò)程中難免會(huì)有誤觸的現(xiàn)象發(fā)生,為了避免這一現(xiàn)象,筆者采用了在指定位置觸發(fā)執(zhí)行下一步行為的措施,避免在非控制位時(shí)做出其他動(dòng)作。精準(zhǔn)控制主要分為指定角度轉(zhuǎn)彎、高臺(tái)做指定動(dòng)作、指定位置做無(wú)線區(qū)調(diào)整并開(kāi)啟相應(yīng)傳感器、指定位置停車或掉頭等動(dòng)作。車身經(jīng)過(guò)每個(gè)路口,其前方灰度傳感器全部檢測(cè)不到信號(hào)時(shí),其進(jìn)入慢速前進(jìn)狀態(tài),同時(shí)啟動(dòng)左右兩側(cè)的色標(biāo)傳感器,當(dāng)收到色標(biāo)傳感器返回的信號(hào)時(shí),車身按指定角度轉(zhuǎn)彎,無(wú)信號(hào)時(shí)繼續(xù)前進(jìn),再次有信號(hào)時(shí)做出指定動(dòng)作,直至車身駛出路口時(shí),灰度傳感器再次接收返回信號(hào),結(jié)束通過(guò)路口階段。
該車采用的是PWM控制電機(jī)的轉(zhuǎn)速,即按固定的頻率來(lái)接通和斷開(kāi)電源,并且根據(jù)實(shí)際需要改變固定周期內(nèi)“接通”“斷開(kāi)”時(shí)間的長(zhǎng)短,PWM調(diào)速控制應(yīng)用廣泛,尤其是在直流電機(jī)的調(diào)速上[9]。此外,用單片機(jī)的軟件編程來(lái)產(chǎn)生PWM信號(hào),比用硬件來(lái)產(chǎn)生信號(hào)簡(jiǎn)單得多[9]。只要改變通、斷電的時(shí)間,就能讓電機(jī)轉(zhuǎn)速得到控制。小車的單片機(jī)不停地掃描所有的引腳接口,一旦信號(hào)有變化,就執(zhí)行相應(yīng)的判斷程序,此時(shí)通過(guò)循跡部分或者精準(zhǔn)控制部分來(lái)進(jìn)行車身調(diào)整,把相應(yīng)的信號(hào)發(fā)送給電機(jī)從而調(diào)節(jié)車身的姿態(tài)。
該文簡(jiǎn)要地介紹了一種基于Arduino Mega 2560單片機(jī)而設(shè)計(jì)的一款智能循跡小車。該智能小車采用模塊化設(shè)計(jì)的方法進(jìn)行設(shè)計(jì),由軟件系統(tǒng)、結(jié)構(gòu)與外觀、電子電路系統(tǒng)、傳感器、動(dòng)力系統(tǒng)這5個(gè)部分組成,使小車的結(jié)構(gòu)簡(jiǎn)單緊湊,并由循跡部分和精準(zhǔn)控制部分,兩者相互配合使小車的循跡更加精準(zhǔn)。經(jīng)過(guò)多次實(shí)驗(yàn)與測(cè)試,該智能小車可以實(shí)現(xiàn)自主的循跡功能,并且隨著人工智能的發(fā)展,該智能小車及其系統(tǒng)可實(shí)現(xiàn)采摘、抓取、搬運(yùn)等功能。