陳天浩
摘 要:本文簡要介紹了基于智能輪式移動機器人智能避障、循跡、遙控的設(shè)計與實現(xiàn)——一種基于Arduino新型集成開發(fā)環(huán)境的超聲波避障小車的工作原理。其中包括對小車的執(zhí)行組件、搭建結(jié)構(gòu)、傳感器、Arduino單片機軟件編程及試驗結(jié)果的介紹。
關(guān)鍵詞:Arduino單片機;超聲波傳感器;避障;遙控;循跡
中圖分類號:TP212 文獻標識碼:A 文章編號:1671-2064(2018)03-0027-02
1 設(shè)計背景
隨著現(xiàn)代計算機技術(shù)的不斷發(fā)展和普及,機器人的發(fā)展已經(jīng)遍及近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。小到智能玩具,大到機械、電子、冶金、交通、宇航、國防等各個領(lǐng)域。在本次的設(shè)計中,我將設(shè)計出一個能夠避障機器人,在具有這個基本功能的基礎(chǔ)上,就可以為他附加更多的功能,賦予它更多的實用價值。
本設(shè)計題目為《基于arduino的智能避障小車設(shè)計》是以Arduino單片機為控制核心,主要研究小車的避障功能。利用超聲波傳感器檢測道路上的障礙,然后把數(shù)據(jù)傳送給單片機,當超聲波檢測到距離小車前方有障礙物時單片機就發(fā)出指令讓小車左轉(zhuǎn)一定角度,然后停止運行繼續(xù)探測.如果前方?jīng)]有障礙物就直走,否則繼續(xù)左轉(zhuǎn)一定角度。如此通過超聲波不斷的循環(huán)檢測周邊環(huán)境的情況進行自動避障。該功能的小車能夠?qū)崿F(xiàn)在無人操作的情況下在比較寬闊平坦的環(huán)境中避開障礙物。當機器人在行走過程中遇到前方障礙時,能夠根據(jù)有效范圍內(nèi)的距離作出相應(yīng)處理,由單片機軟件發(fā)出轉(zhuǎn)彎、直行、后退指令,避免機器與障礙物相撞。
2 避障小車機器人的設(shè)計原理與方法
本設(shè)計中直流電機PWM控制系統(tǒng)的主要功能包括實現(xiàn)對直流電機的加速、減速,并且可以調(diào)整電機的轉(zhuǎn)速,能夠很方便的實現(xiàn)電機的智能控制。主體電路:即直流電機PWM控制驅(qū)動模塊。這部分電路主要由Arduino Uno系統(tǒng)開發(fā)好的PWM控制函數(shù)配合定時器直接產(chǎn)生,配合對于的方向控制IO口可以直接控制直流電機的加速、減速以及電機的正轉(zhuǎn)和反轉(zhuǎn),并且可以調(diào)整電機的轉(zhuǎn)速,能夠很方便的實現(xiàn)電機的智能控制。其間是通過ArduinoUno單片機產(chǎn)生脈寬可調(diào)的脈沖信號并輸入到L298驅(qū)動芯片來控制直流電機工作的。該直流電機PWM控制系統(tǒng)由以下電路模塊組成;設(shè)計控制部分:主要由Arduino Uno功能擴展板組成。直流電機PWM控制實現(xiàn)部分主要由一些二極管、電機和L298直流電機驅(qū)動模塊組成。智能小車采用后輪驅(qū)動,兩個前輪各用一個電機,后輪是萬向輪,起到支撐和轉(zhuǎn)向的作用。
本小車的硬件部分分為幾個模塊:超聲波傳感器、Arduino單片機、電源、兩個直流電動機、電機驅(qū)動板、車身。電源連接在Arduino單片機上給整個小車供電。小車以Arduino單片機為核心,連接電機驅(qū)動板控制兩個直流電動機的運轉(zhuǎn),從而實現(xiàn)小車的前進。將超聲波傳感器安置在車身的最前端,用于探測前方是否有障礙物。當超聲波傳感器遇到障礙物,將反饋提供到單片機里從而做出向左旋轉(zhuǎn)的反應(yīng),再次檢測前方是否有障礙物,若有障礙物則繼續(xù)旋轉(zhuǎn),沒有障礙物則電機驅(qū)動器驅(qū)動電機前進,從而實現(xiàn)整個小車的避障功能。
3 實驗及結(jié)果分析
3.1 預(yù)期目標
本次試驗基本達到預(yù)期目標。
(1)在車前方?jīng)]有障礙物時,小車沿直線向前走。(2)在車前方有障礙物時,小車能避開障礙物,避障方法如下:超聲波檢測到障礙物后,先向左邊旋轉(zhuǎn),檢測。如果旋轉(zhuǎn)后前面沒有檢測障礙物,則沿直線向前走;如果旋轉(zhuǎn)后檢測到前方仍有障礙物,則繼續(xù)旋轉(zhuǎn),如果前面沒有障礙物,則沿直線向前行走。
但是該超聲波避障小車還存在著許多的不足,比如說只能對正前方一定角度內(nèi)進行探測,使用的是一路超聲波而不是多路超聲波探測,并且為了簡化,默認的只是向同一個方向轉(zhuǎn)彎等,這些都是有待進一步發(fā)展和提高的。
3.2 遇到的問題和解決方法
在此之前我并沒有制作過任何智能的機器人。初定避障小車這個題目時,最初采用樂高機器人搭建了一個循跡避障的機器人,由于操作較為簡單,后來我決定嘗試采用Arduino芯片,利用超聲波傳感器搭建出一臺智能的避障小車。最初我對硬件的原理不夠明白,不知道采用哪些原件,課程設(shè)計指導(dǎo)書上介紹的也并不詳細,因此我利用大量時間去圖書館查閱了許多資料,對其電機驅(qū)動、Arduino控制板以及超聲波傳感器的引腳、電路設(shè)計等各方面都做了近一步的了解之后才開始進行小車的搭建。
在選擇硬件設(shè)施上,我也花了很大功夫。在最初我設(shè)計了兩個驅(qū)動方案的選擇。一個是采用ULN2003驅(qū)動,它是由7組達林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時驅(qū)動7組負載的能力,一般用于高速大功率驅(qū)動電路。另個一就是采用由雙極性管組成的H橋電路(L298N)。用單片機控制晶體管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電機轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,則效率非常高;H橋電路保證了可以簡單地實現(xiàn)轉(zhuǎn)速和方向的控制,電子開關(guān)的速度很快,穩(wěn)定性也很高。而且它有更強的驅(qū)動能力。此驅(qū)動板體積小,重量輕,而且它有一個外加的續(xù)流二極管,可以防止電機線圈在斷電時的方向電勢損壞芯片,同時也也安裝有散熱片能使芯片溫度降低,盡量防止他自動斷電,讓驅(qū)動性能更加穩(wěn)定。板子設(shè)有兩個電流反饋檢測接口、內(nèi)邏輯取電選擇端、4個上拉電阻選擇端、2路直流電機接口、控制電機方向指向燈等等。這個板子不僅適用于智能程控小車、輪式機器人等,還可以配合各種控制器使用。因此經(jīng)過一番對比和考慮,最終我選擇了L298N電機驅(qū)動板。之所以最終沒有選擇紅外線傳感,是因為紅外線對使用環(huán)境有較高的要求,當遇上淺色或是深色的家居物品它無法反射回來,會造成機器人無法正常避障。而這款HC-SR04則采用仿生超聲波技術(shù),類似鯨魚,蝙蝠采用聲波來偵測判斷障礙物以及及空間方位,該超聲波避障模塊包括超聲波發(fā)射器,接收器和控制電路,靈敏度較高,但技術(shù)成本也較高。
在搭建方面,我完成程序的編譯通電之后,小車發(fā)生了原地旋轉(zhuǎn)的現(xiàn)象,經(jīng)過觀察,我發(fā)現(xiàn)小車在感應(yīng)障礙物方面并沒有問題。問題出現(xiàn)在左側(cè)輪前轉(zhuǎn),而右側(cè)輪后轉(zhuǎn)。所以我將控制右側(cè)車輪的電機的接線進行改接,這個問題便得以解決。
在軟硬件調(diào)試方面,也存在一些小問題。首先是避障小車的旋轉(zhuǎn)角度不夠,也許是因為地面摩擦力的關(guān)系,小車的旋轉(zhuǎn)角度并達不到我所設(shè)定的左轉(zhuǎn)九十度。后來我又將程序進行改進,設(shè)置的旋轉(zhuǎn)角度比九十度多一些,小車就可正常避障了。還有一個問題就是小車在遇到障礙物之后的反應(yīng)速度并不是很快,需要障礙物在前面平行持續(xù)1,2秒才可以做出轉(zhuǎn)向的判斷,這個延遲反應(yīng)也經(jīng)常造成小車和障礙物發(fā)生碰撞,這也是我遇到的最大問題,在這個問題上我做了很多程序上的調(diào)試,但終究達不到很理想的效果,在后續(xù)的試驗中,我準備嘗試換一個感測避障模塊進行嘗試改進。
4 結(jié)語
在未來的社會中智能也是大勢所趨,而智能車作為智能機器人中一類必不可少的組成部分。最近幾年發(fā)展更是迅速,各個國家更是投入大量資金。它廣泛涉及人工智能、計算機視覺、自動控制、精密儀器、傳感和信息等一系列學科的創(chuàng)新研究,其研究成果可廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)藥、軍事、航空、信息技術(shù)等實際領(lǐng)域,智能機器人的發(fā)展水平可反映出一個國家的高科技水平和綜合國力,是國家綜合國力強大的標志,也是人類文明進步的標志。在我未來的工作與生活中,會越來越多的需要機器人代替人力來工作和完成一些難度較大或較為費力的任務(wù),對這些實用的機器人的需求也會越來越大。因此,機器人研發(fā)的前景是不可估量的。
參考文獻
[1]袁新娜,與紅英,編著.超聲波傳感器在智能小車避障系統(tǒng)中的應(yīng)用[A].中北大學,(2009)08-0085-04.
[2]邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].北京.清華大學出社,2004.
[3]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2002.
[4]安鵬,馬偉.S12單片機模塊應(yīng)用及程序調(diào)試[J].電子產(chǎn)品世界,2006(211):162-163.
[5]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000.