自動巡邏機器人模擬_第1頁
自動巡邏機器人模擬_第2頁
自動巡邏機器人模擬_第3頁
自動巡邏機器人模擬_第4頁
自動巡邏機器人模擬_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

自動巡邏機器人模擬 論文(設(shè)計)題目自動巡邏機器人模擬摘要隨著人工智能的發(fā)展,機器人技術(shù)在我們?nèi)粘I钪袘?yīng)用得越來越廣泛,機器人不僅可以替人們完成很多繁重且高危險性的勞務(wù),還可以替人們完成重復性強并且繁瑣無聊的勞務(wù)。在繁重且高危險性的勞務(wù)中,使用機器人可以很大程度地減少企業(yè)的用工成本,讓企業(yè)可以更好的盈利;而在重復性強并且繁瑣無聊的勞務(wù)中,使用機器人可以很好的提高企業(yè)的生產(chǎn)效率和產(chǎn)品質(zhì)量。這些都使機器人應(yīng)用技術(shù)有很大的發(fā)展空間去供人們開發(fā)和研究。在將來的社會中,機械化和自動化是各領(lǐng)域發(fā)展的方向和目標,因為機械化和自動化不僅使各領(lǐng)域的效率得到很大提高,還很大程度的解放了人們的休閑時間,讓人們有更多的時間去學習和娛樂。巡邏機器人設(shè)計涉及到機械工程、計算機、傳感器技術(shù)、自動控制、機器視覺等諸多科學技術(shù)的綜合應(yīng)用,要求其在巡邏過程中可以完成障礙物檢測、避障、行人檢測、白天巡邏、夜間巡邏、導航、定位等功能。目前在機器人+安防中應(yīng)用中出場最多的是巡邏機器人,從目前行業(yè)中重點廠商的產(chǎn)品來看,絕大多數(shù)產(chǎn)品都具備自主巡航、自動避障、視頻監(jiān)控、人臉識別系統(tǒng)、實時定位以及紅外熱像功能,另外根據(jù)產(chǎn)品應(yīng)用不同還具備載人設(shè)施、拋投裝置等??梢哉f安保巡邏機器人集成了全景視頻監(jiān)控、環(huán)境感知及智能分析等功能,可實現(xiàn)多機協(xié)同,亦可輔助甚至代替安保人員執(zhí)行巡邏任務(wù)。其具備的全景拍攝及24小時運行等優(yōu)點可極大的節(jié)省人力投入,可廣泛應(yīng)用于工業(yè)園、工廠等環(huán)境。關(guān)鍵字:巡邏機器人;傳感器技術(shù);自動控制;障礙物檢測;行人檢測;導航;避障AbstractWiththedevelopmentofartificialintelligence,roboticstechnologyismoreandmorewidelyusedinourdailylife.Robotscannotonlyperformmanyheavyanddangerousservicesforpeople,butalsoperformrepetitiveandtedioustasksforpeople.Intheheavyandhigh-risklaborservices,theuseofrobotscangreatlyreducethecostofenterpriselabor,sothatenterprisescanmakebetterprofits;andintherepetitiveandtediouslabor,theuseofrobotscanimprovetheproductionefficiencyandproductqualityofenterprises.Allthesemaketherobotapplicationtechnologyhaveagreatdevelopmentspaceforpeopletodevelopandresearch.Inthefuturesociety,mechanizationandautomationarethedirectionandgoalofthedevelopmentofvariousfields,becausemechanizationandautomationnotonlyimprovetheefficiencyofvariousfields,butalsoliberatepeople'sleisuretimetoagreatextent,sothatpeoplehavemoretimetostudyandentertainment.Patrolrobotdesigninvolvesthecomprehensiveapplicationofmanyscienceandtechnology,suchasmechanicalengineering,computer,sensortechnology,automaticcontrol,machinevision,etc.Itisrequiredthatitcancompleteobstacledetection,obstacleavoidance,pedestriandetection,daypatrol,nightpatrol,navigation,positioningandotherfunctionsinthepatrolprocess.Atpresent,patrolrobotsarethemostwidelyusedintheapplicationofrobotsandsecurity.Accordingtotheproductsofkeymanufacturersintheindustry,mostoftheproductshavethefunctionsofautonomouscruise,automaticobstacleavoidance,videosurveillance,facerecognitionsystem,real-timepositioningandinfraredthermalimaging.Inaddition,accordingtothedifferentapplicationsofproducts,theyalsohavemannedfacilities,throwingdevicesandsoon.Itcanbesaidthatthesecuritypatrolrobotintegratesthefunctionsofpanoramicvideosurveillance,environmentalawarenessandintelligentanalysis,whichcanrealizemulti-machinecooperation,andcanalsoassistorevenreplacesecuritypersonnelincarryingoutpatroltasks.Ithastheadvantagesofpanoramicphotographyand24-houroperation,whichcangreatlysavemanpowerinvestment,andcanbewidelyusedinindustrialparks,factoriesandotherenvironments.Keywords:PatrolRobot;SensorTechnology;AutomaticControl;ObstacleDetection;PedestrianDetection;Navigation;ObstacleAvoidance目錄第一章巡邏機器人介紹 第一章巡邏機器人介紹1.1巡邏機器人背景機器人綜合應(yīng)用了人工智能、物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等高新技術(shù)。近幾年隨著這些技術(shù)的進步,機器人的發(fā)展也十分迅速,在各個行業(yè)都有很多應(yīng)用。國內(nèi)的警用安保巡邏機器人的發(fā)展也十分迅速。尤其在《中國制造2025》《機器人產(chǎn)業(yè)發(fā)展規(guī)劃(2016-2020年)》和《新一代人工智能發(fā)展規(guī)劃》等政策的出臺后,國家對于以機器人為代表的許多智能高端制造產(chǎn)業(yè)給予了極大的關(guān)注與支持。高校、研究所、公司緊密合作,形成了產(chǎn)學研一體化的機器人生態(tài)鏈。以公安部為主導,在發(fā)揮自己公安專長的基礎(chǔ)上,多家企業(yè)深入合作,相繼推出了多款警用安保巡邏機器人。隨著人臉抓拍、語音交互、身份識別等功能的不斷發(fā)展,在安防體系中警用安保巡邏機器人的角色日趨重要,逐漸成為公共安全領(lǐng)域的重要裝備。警用安保巡邏機器人按其工作場景大致可分為室內(nèi)和室外應(yīng)用。室內(nèi)主要適用于展廳、廣場、車站候車廳等地勢較為平坦的區(qū)域,行駛速度較慢,轉(zhuǎn)向較為靈活的場景。室外要求安保巡邏機器人有較強的運動能力,可穩(wěn)定通過一般的坑洼路面、陡坡以及微小裂縫帶等路況環(huán)境。同時,還必須有在雷電雨雪特殊天氣下的安全運行的能力,能夠適應(yīng)野外工作的高低溫環(huán)境。野外安保巡邏機器人常規(guī)采用四輪小車結(jié)構(gòu),轉(zhuǎn)彎半徑大,一般尺寸較大,不適合狹小空間使用,需要架設(shè)專用的網(wǎng)絡(luò)中轉(zhuǎn)站,保證機器人和后臺之間的通信。以“小智”為代表的室內(nèi)安保巡邏機器人,外形親和可愛,具有自主巡邏、自主充電、主動避障、語音交互、視頻通話等功能,適用于警務(wù)大廳、廣場、商場、候車大廳等公共場所,可以協(xié)助維持秩序,提供公安業(yè)務(wù)問詢、遠程報警等便民服務(wù)。圖1.1巡邏機器人1.2巡邏機器人的優(yōu)勢警用安保巡邏機器人可實現(xiàn)全方位、無死角視頻監(jiān)控,具有采集多維信息、全天無休工作、適應(yīng)復雜環(huán)境等優(yōu)點,不但具有傳統(tǒng)監(jiān)控系統(tǒng)和人力巡邏的優(yōu)點,而且還克服了兩種安保方案的不足,警用安保巡邏機器人不僅減輕了警員負擔,還提高了警察戰(zhàn)斗力。巡邏機器人具備紅外感知和夜視功能,所以可以全天無休的工作,這使得其在解放警力的同時,方便人民的生活,提高人民的安全感和幸福感。同室內(nèi)安保巡邏機器人一樣,室外安保巡邏機器人發(fā)展也十分迅速。室外安保巡邏機器人功能更加豐富,應(yīng)用場景更加多樣。除自主巡邏的基礎(chǔ)功能外,還具備環(huán)境監(jiān)測、移動廣播、火災隱患排查、異常音量采集、人臉抓拍等功能,可實現(xiàn)大范圍的智能安防。尤其在重要場所、重大活動的安保工作中,可以實現(xiàn)對重點人員的決速甄別與定位,不但解放了警力,還極大地提高了安防效率。警用安保巡邏機器人在協(xié)助民警執(zhí)勤、智能安防、便民服務(wù)等方面作用突出。區(qū)別于普通移動機器人,除具備自主導航的功能外,還可以進行人臉抓拍、身份識別、語音交互,主要應(yīng)用包括協(xié)助執(zhí)勤、自主安防、提供便民服務(wù),不僅減輕了警員工作壓力,還提高了警察隊伍戰(zhàn)斗力。1.3巡邏機器人功能巡邏機器人在巡邏過程中可通過自身所裝傳感器對周圍的環(huán)境進行行人檢測和障礙物檢測并主動規(guī)避障礙物,除此之外還具備自主巡邏、自主導航、環(huán)境監(jiān)測、火災隱患排查、異常音量采集、紅外感知和夜視等功能。1.4巡邏機器人關(guān)鍵技術(shù)●自主導航自主導航是巡邏機器人的關(guān)鍵技術(shù)之一,也是警用安保巡邏機器人自主巡邏的基礎(chǔ),目前常用的導航方式有激光導航和視覺導航兩種。對于不同的應(yīng)用環(huán)境,兩種導航方式都存在不同程度的局限性。視覺導航相對于激光導航來說,對環(huán)境的依賴性較大,要求外界環(huán)境的變化不可以太大.尤其對光線條件要求比較高。視覺導航更適合于光線條件好的應(yīng)用場景。激光導航對環(huán)境的適應(yīng)性比視覺導航強,較小的環(huán)境變化并不影響導航效果。激光導航分為2D激光導航和3D激光導航,兩種導航方式的主要區(qū)別是激光雷達的掃描維度不同。2D激光導航簡單快速,導航精度和穩(wěn)定性相對較差,成本較低。3D激光導航精度較高,成本也比較高,但是實時性相對較低。激光導航在外部環(huán)境發(fā)生較大變化時導航效果會受影響。比如在人群密集區(qū)、空曠地帶等特殊情況,自主導航能力會受很大影響。復雜環(huán)境下自主導航性能還不夠穩(wěn)定是警用安保巡邏機器人目前存在較突出的問題。由于巡邏機器人的工作環(huán)境較為復雜,所以導航穩(wěn)定性是首要解決的問題。●遠距離安全無線通信的流暢性警用安保巡邏機器人的工作全部由服務(wù)平臺進行指揮控制。服務(wù)平臺對機器人采集的信息進行實時分析、判斷。在執(zhí)行特殊任務(wù)時,有時需要人工參與,技術(shù)人員通過遙控終端對機器人進行控制,這對通信的實時性、安全性、穩(wěn)定性有較高要求。機器人信息傳輸要求高速、安全,視頻傳輸要求高清無卡頓。安保巡邏機器人作為一種智能移動設(shè)備,線控的方式很大程度降低了機器人的靈活性和巡邏半徑,這就要求機器人與機器人之間、機器人與后臺之間實現(xiàn)無線通信?,F(xiàn)有的主要無線通信方式是WIFI和4G網(wǎng)絡(luò)。WIFI通信需要在機器人工作范圍內(nèi)架設(shè)基站,但是各基站間切換配置復雜,而且存在安全隱患。4G網(wǎng)絡(luò)不用自己架設(shè)基站,但運營商會對網(wǎng)絡(luò)服務(wù)收費,尤其在進行高清視頻傳輸時,流量耗費巨大,成本代價高。因此,現(xiàn)有的通信方式還無法滿足高速、安全、遠距離的無線通信。即將普及的5G網(wǎng)絡(luò)可以有效地改善這一問題?!衩芗巳褐凶灾髯R別追蹤的智能性警用安保巡邏機器人的一個重要功能就是對流動人群進行甄別排查。實現(xiàn)這一功能的前提是對人員的自主識別與追蹤。自主識別指的是安保巡邏機器人可以智能識別人或者物的行為和特征,現(xiàn)在人臉識別和車牌識別技術(shù)較為成熟,然而,巡邏的目的是預判和發(fā)現(xiàn)異常情況,例如,人群聚集、恐慌、搶劫、斗毆、放火、攀爬、跌倒和追逐等情況。這些異常情況常發(fā)生在一些復雜的環(huán)境中,存在大量人物、建筑、樹木、車輛、道路等復雜背景,這使得巡邏機器人對目標檢測受到較大干擾。同時,攝像機隨著機器人的移動導致目標場景中背景發(fā)生變化,增加目標檢測難度。自主追蹤是指機器人在識別出可疑目標后,能對目標進行主動追蹤?,F(xiàn)有的追蹤方法對于運動有規(guī)律的目標能夠?qū)崿F(xiàn)有效追蹤,但是對于運動無規(guī)律、形變量大的目標追蹤效果很差?,F(xiàn)實應(yīng)用中,目標物的運動大都不規(guī)律,且存在遮擋和光線變化等問題,因此,自主追蹤的效果現(xiàn)階段還無法滿足實際需求。第二章巡邏機器人材料準備2.1電源選擇2.1.1電池選擇移動機器人自身裝載電源,甩掉牽引電纜,這不僅提高了機器人的性能,還很大程度上改進了移動性能。因此,一般采用電池作為移動機器人的電源。電池分為一次性電池和蓄電池。一次性電池雖然價格低廉,但隨著放電時間的加長,電壓呈S形曲線下降,放電初期和后期,電流下降的斜率很大,且電流越大下降越快??偟膩碚f,一次性電池無法提供過大的輸出電流,對電機的速度和電壓的限制非常大,且放電一段時間后電壓和電流下降,可能發(fā)生CPU清除復位,機器人速度下降等情況。蓄電池可反復充電,反復使用,且蓄電池隨著使用時間的加長,電壓下降幅度很小,基本不會影響CPU工作。綜合比較,蓄電池有著一次性電池不可比擬的優(yōu)勢,因此選擇蓄電池作為巡邏機器人電源。2.1.2充電器/放電器以鎳鎘電池的充放電為例。鎳鎘電池充電器本身附帶放電器,應(yīng)當先放電再充電以克服電池的“記憶”問題。單節(jié)電池的電壓低于1.0V就可視為達到完全放電而排除了“記憶”的影響。鎳鎘電池一般用0.1C的電流,充電16h,充入160%的電量(即完全充電),才可以輸出電池100%的容量。充電方式有以下幾種。1標準穩(wěn)定電流充電方式這是鎳鎘電池的標準充電方式。在直流電源與電池之間接入電阻,得到0.1C的穩(wěn)定充電電流。此時電池不發(fā)熱,也不需控制電流的大小,經(jīng)1516h即可完成充電過程。充電器結(jié)構(gòu)簡單,價格便宜。2定時充電方式按照時間的進程充電。開始以0.2C大小的電流充電,由IC計時器控制直至相當于120%電量的時間,然后切換成0.05C的小電流充電。整個過程約需愛6-8h。這種充電器結(jié)構(gòu)比較簡單,成本低康。3-ΔV控制充電方式這是最常用的快速充電方式。以0.5-1C大小的恒定電流充電,電池電壓將隨充電進程升高并在結(jié)束期(約120%電量)達到峰值,其后電池電壓反呈下降趨勢。這個峰值特性不受放電量、環(huán)境溫度等因素影響。-ΔV控制充電方式就是基于這一現(xiàn)象,若檢測發(fā)現(xiàn)出現(xiàn)-ΔV,即表明電池電壓已經(jīng)越過峰值下降,充電過程可以結(jié)束。這一方法是實現(xiàn)充電過程控制、判斷充電結(jié)束的有效手段。-ΔV控制充電方式所需的充電時間一般為1-2h,充電電流的大小請勿超過1C。否則電池內(nèi)部可能產(chǎn)生大量氣體,增高電池內(nèi)部的壓力,造成電池破裂,堿液外泄等危險狀況。另一個注意事項是選用的充電器應(yīng)與電池配套。通過三種充電方式進行比較,選擇第三種充電方式可以很大程度的減少充電時間,因此選擇第三種充電方式。2.1.3CPU電源選擇機器人一般需要準備兩種電源。一種供給數(shù)字IC、單片機、傳感器工作,通常為+5V,約數(shù)十至數(shù)百mA。另一種為電機(如DC電機)驅(qū)動電源,根據(jù)電機不同,電壓為3至24V,電流在數(shù)百mA至數(shù)A之間。兩類電源雖然可以分別供電,但是并不經(jīng)濟,且可能存在安裝空間上的困難。用一組電池時,5V電源可經(jīng)三端子穩(wěn)壓器件變換后獲得。圖2.1中輸入電壓為14.4V,電源芯μPC24M12HF和μPC24A05HF分別從電池處取得12V和5V兩路電壓輸出。其中,5V電壓的供電最好選用μPC24A05HF,而非TA78005AP。區(qū)別在于前者最小輸人電壓是6V,后者是7V。當電機啟動或電機大電流導致內(nèi)阻壓降增加而使驅(qū)動電源本身電壓下降時,前者受輸入電壓回落的影響比較小,有利于避免邏輯電路因為電壓降過大而出現(xiàn)誤動作。μPC24M12HF和μPC24A05HF的輸出電流為2A。1010μF1μF2μPC24M12HFμPC24A05HF1312V5V1231μF10μF電池組14.4V圖2.1三端子穩(wěn)壓器件原理2.2傳動方案選擇傳動方案選擇由舵機驅(qū)動輪子實現(xiàn)巡邏機器人的移動。2.2.1舵機結(jié)構(gòu)及工作原理舵機是為輪船、飛機等的舵面提供動力與運動的機器。在制作巡邏機器人時,通常不必自己去開發(fā)它,可以直接從小型航空、航海、飛機模型制造商處購得現(xiàn)成的舵機。圖2.2為舵機的基本結(jié)構(gòu),主要包括直流電機、減速齒輪、位置反噴電位器和控制電路板。控制電路板接收到來自信號線的控制信號后,控制電機轉(zhuǎn)動,電機帶動內(nèi)輪組,經(jīng)減速后傳動至輸出軸。舵機的輸出軸與位置反饋電位器相連,輸出軸轉(zhuǎn)動時,電位器輸出一個電壓信號至控制電路板,進行位置反饋,然后控制電路板根據(jù)機器人所在位置決定電機的轉(zhuǎn)動方向和速度,達到目標位置時停止。舵機的輸人線共有三根:一根電源線,一根地線,另外一根線是控制信號線。電源線和地線給舵機提供電源,電源線接收來自控制器的PWM信號。航機的PWM信號周期為20ms,脈沖寬度為0.5-2.5ms,其中舵機轉(zhuǎn)角的大小與脈寬的對應(yīng)關(guān)系如圖2.3所示。圖2.2舵機的基本結(jié)構(gòu)時間t時間t角度θ0°90°180°0.5ms1.5ms2.5ms圖2.3舵機轉(zhuǎn)角的大小與脈寬的對應(yīng)關(guān)系2.2.2舵機的驅(qū)動電路這里介紹一種用于驅(qū)動舵機的功率驅(qū)動模塊。該模塊使用大功率MOS管作為功率器件。按線如圖2.4所示。該驅(qū)動板是為通過PWM方式進行直流電機調(diào)速而設(shè)計的,適用于小型直流電機,最大輸人電壓12V,最大輸出電流6A。CTRL是前級控制信號輸人端口,該端口上兩條線的相對電平?jīng)Q定了輸出端OUT上輸出電壓的正負。驅(qū)動板的核心是由四個大功率場效應(yīng)管(IRF530、IRF9530)構(gòu)成的橋式電路。前級由光電耦合器TLP521-4配合下拉電阻R?、R?、R?、R?驅(qū)動。光電耦合器左端四路分兩組分別經(jīng)限流電阻R?、R?與CTRL的兩端相連。使同一橋臂上兩個場效應(yīng)管的通道分開,避免同一橋臂同時導通。6AL04是大功率二極(100V,6A),作用是降低IRF530的漏極電位,使其能夠正常導通。IN是電源輸人,輸人電壓范圍為5-12V。OUT接點機。功率驅(qū)動模塊在12V下正常工作,但是使用中發(fā)現(xiàn)在24V電源電壓下不能正常工作。原因是IRF530和IRF0530的UGS必須小于20V。此時需要進行改裝,利用LM2575T-5產(chǎn)生5V電壓對MOS管進行控制。改裝后增加了驅(qū)動板的適用范圍,甚至在30V以下也可工作。圖2.4功率驅(qū)動模塊2.2.3舵機的控制電路舵機的控制由舵機伺服模塊實現(xiàn)。伺服模塊把接收機發(fā)來的信號與電位器上的信號進行比較,在直流電機的輸出端輸出一個PWM信號。舵機功率較小時,可以從伺服模塊將此輸出引出來直接驅(qū)動直流電機;當功率較大時,就需要對驅(qū)動模塊的輸出進行功率放大。2.3傳感器選擇2.3.1開關(guān)巡邏機器人中常用的開關(guān)有按鈕開關(guān)、數(shù)字開關(guān)和接觸開關(guān)幾種,接觸開關(guān)在機器調(diào)試階段可以方便地提供人工輸人。數(shù)字開關(guān)一股用于CPU的輸人選擇,如速度等級、行走模式、格斗策略等,通常是8個為一組,接觸開關(guān)則用來檢測是否觸碰,檢測的對象有對方機器人、場地界線和場地上的道具等,一般用微動開關(guān)即可。2.3.2巡線傳感器巡線是指在帶白色或黑色引導條帶的深色場地(或相反)環(huán)境下,沿引導條帶指示的路徑實現(xiàn)跟蹤運動的過程。其基本原理是采用光電傳感器,通過反射信號的有無來控制移動載體的運動。在模擬巡邏場地粘貼白色或黑色的引導條帶(寬20-50mm),與場地的底色(綠色、淺綠色、黑色、棕色等)形成反差,以便將場地劃分成若干區(qū)域,易于識別,引導機器人行進。巡線光電傳感器就是基于對場地及線路反時光的處理結(jié)果來識別路線的一類光電傳感器。根據(jù)巡線采用的光電傳感器原理不同,可分為紅外光電反射式傳感器和辯色傳感器兩種類型。1.紅外光電反射式傳感器這種傳感器通過反射光強度巡線。由一個發(fā)射光源和一個接收器(光敏二極管)組成?;诰€條顏色與場地底色反射光強的差異,導致輸出電壓不同,從而識別線條。2.辯色傳感器在條帶與場地底色的反射性能區(qū)別不明顯時,根據(jù)反射光強識別線路的效果并不是很好,這時可以通過顏色識別來巡線。巡邏機器人對巡線傳感器的要求大致如下。(1)抗干擾性好:模擬巡邏場地可能存在各種形式的強光干擾、電磁干擾,顏色干擾,必須有較好的抗干擾能力。(2)可調(diào)性:辯色傳感器須留有調(diào)節(jié)各種參數(shù)的環(huán)節(jié),這可使得傳感器工作在最佳狀態(tài)。(3)穩(wěn)定性和快速性好:傳感器一旦移動到引導條帶邊緣,應(yīng)當及時、快速、穩(wěn)定地觸發(fā),不應(yīng)有狀態(tài)的抖動,否則會導致機器人的搖晃。(4)成本低廉:對于巡邏機器人,價格是一個重要的因素。2.3.2.1紅外光電反射式傳感器1.原理紅外線的波長為0.76-1000μm。一般紅外光電反射式傳感器都選擇工作在0.76-25μm段內(nèi)。大多數(shù)發(fā)光器件為880nm、930nm兩個系列。880nm易受到外界光的干擾。紅外發(fā)光管的材料一般為砷化鉀半導體。發(fā)光波長范圍0.75-1.5μm。小功率(小于100mW)的管壓降為1.0-1.3V,平均工作電流為20-50mA。紅外發(fā)光管有指向角、光軸、波長、輝度等性能指標。常用的光敏器件是光電二極管和光電三極管,均為紅外線接收管。它們在接收到光的變化之后轉(zhuǎn)變成電流的變化,再經(jīng)信號放大及相關(guān)處理,用于各種控制目的。光電二極管是常用的光-電轉(zhuǎn)換器件,當光照到PN結(jié)上時,它能接收光能并將之轉(zhuǎn)換為電能。它有兩種工作狀態(tài):(1)加反向電壓時,光照強度越大,二極管中的電流反向電流越大。(2)不加電壓時,PN結(jié)在光照作用下,產(chǎn)生正向電壓,可充當微型光電池。在無光照情況下,光電二極管的正向電阻約為l0kΩ,反向電阻為∞;有光照時,反向電阻隨光照強度的增加而減小,阻值可達幾kΩ以下。無反壓時,正向電壓與光照強度成比例,一般可達0.2-0.4V。光電三極管也是由光的照射量來控制電流的器件,可等效為一個光電二極管與一只晶體三極管的結(jié)合,具有放大作用。2.基于反射光強度測量的紅外光電反射式傳感器電路大多數(shù)光電傳感器電路都是基于反射光強度測量原理工作的。具體的應(yīng)用場合有距離、平面傾斜度、反射率和透射率參數(shù)的測量等。圖2.5給出了一種簡單的巡線光電傳感器電路。光電二極管工作在反壓下,在無反射光照射或光照較弱時,電阻為∞,此時三極管工作在放大區(qū),輸出電壓很?。划斣诜瓷涔庹丈涫闺娮柘陆档綆譳Ω時,三極管輸出電壓接近于5V。調(diào)節(jié)電阻R?可以得到更好的效果。市面上所出售的光電傳感器的電路基本與此相同,由于其簡單、容易購得,因此在簡單機器人中應(yīng)用廣泛。圖2.6是另外一種使用光電三極管的簡單光電傳感器電路,它采用帶運算放大器的放大電路,穩(wěn)定性、線性度及增益誤差等均比晶體管放大電路好。圖2.7給出了一種使用運算放大器的放大電路,在光電二極管下方連接了一個接地的電阻,有利于清除暗電流的影響,但是采用電容耦合,不可對直流成分放大。RR?10kΩR?100kΩR?10kΩD?LEDD?PHOTOT?OUT+5V圖2.5簡單光電傳感器電路(一)D1D1LEDR?1kΩ+5V+5VQ?NPN?PHOTOU1OUTNOTR?100kΩ圖2.6簡單光電傳感器電路(二)VccVccOPAMPRbRLRfv。CPHOTORb=Rf圖2.7運算放大器電路3.調(diào)制型光電傳感器電路光電傳感器抗外界干擾的能力強弱保證機器人能否正??煽康毓ぷ?,為此可附加調(diào)制電路來抑制傳感器中暗電流(無照電流)的變化。使用調(diào)制型的反射式光電傳感器時,使得光電傳感器抗干擾的能力變強。圖2.8給出了一種比較實用的調(diào)制型光電傳感器的電路。(1)電路的基本原理:發(fā)射部分采用一塊四與非門集成電路CD1011,構(gòu)成一個振蕩頻率可微調(diào)的多諧振蕩器(RP1),并對脈沖進行整形放大,然后接到三極管9013上驅(qū)動紅外發(fā)射管。接收部分由紅外接收管VDZ和運放LM393、LM567組成。VDZ接收紅外控制信號并進行光電轉(zhuǎn)換后,由C?耦合到運放LM393作電壓放大。運放輸出的信號由C?耦合至LM567進行音頻譯碼(選頻)。RP3及C?決定LM567的諧振頻率。當LM567的引腳3輸入與其自身的振蕩頻率相同的信號時,引腳8輸出低電平,否則輸出高電平。LM393的另一個運放用來構(gòu)成施密特比較器,將LM567的引腳8的信號接入比較器比較后輸出。圖2.8一種調(diào)制型光電傳感器(2)元件選用及調(diào)試:紅外發(fā)射管接收管型號不限(如PGK125型光電發(fā)射接收管)但是性能(波長范圍等)等應(yīng)該一致。電路安裝好以后使傳感器對著白紙,調(diào)節(jié)RP1或RP3,使輸出為高即可。RP1用來調(diào)整傳思器的功率,調(diào)節(jié)RP3可以改變工作頻率。(3)傳感器的特點如下。?抗干擾性好:由于通過脈沖發(fā)光,僅僅讀出光的變化部分,所以不受外部光干擾。此外,LM567為鎖相解調(diào)器,靈敏度高,抗干擾性強,只對捕捉帶內(nèi)的有用信號發(fā)生響應(yīng),對于捕捉帶外的信號,即使其強度再大也不會響應(yīng)。所以,它具有很好的抗外部干擾性能,甚至可以在陽光下正常工作。再次是抗電磁干擾性能好,不受電機工作影響,如果加電磁屏蔽可以更放心地使用。?可調(diào)性好:利用調(diào)整環(huán)節(jié)可以方便地調(diào)節(jié)功率及工作頻率,適應(yīng)不同的場地環(huán)境和不同的工作要求。?穩(wěn)定快速性好:施密特比較器具有回差滯后特性,即使處在線條的邊緣,傳感器信號也不抖動,再利用加速電容C?,可使狀態(tài)轉(zhuǎn)換加快。?價格便宜:該傳感器的平均成本為十幾元人民幣。2.3.2.2辨色傳感器辨色傳感器由三個光電二極管和三種顏色的濾光器組成。三個光電二極管上分別裝有紅(R)、綠(G)、藍(B)濾色器,將來自物體的反射光分解為三種顏色。色信號經(jīng)過放大電路處理,根據(jù)不同組合進行邏輯處理后得到實際的顏色輸出。圖2.9和圖2.10分別為色信號放大電路和一個辨色電路實例。更為精確的顏色識別方法是三基色測量方法。其原理是根據(jù)三基色的波長特性(波長、峰值、位置各不相同),借助峰值波長濾色器和硅光電二極管(光譜靈敏度覆蓋整個可見光域),將輸出經(jīng)過多級放大井進行A/D轉(zhuǎn)換得到最終結(jié)果。在辯色傳感器的實際使用中,最重要的問題是照明電源和聚光系統(tǒng),且辯色元件的面積應(yīng)盡可小,以便有效地在物體上形成照明點。用白熾燈作光源最為方便。至于聚光系統(tǒng),則必須注意聚光鏡的焦距以及照明點的直徑。圖2.9色信號放大電路2.10辨色電路2.3.3超聲波傳感器1.原理聲波是在空氣、水或固體中傳播的機械振動。人耳能聽到頻率范圍在20Hz-4okHz的聲波,稱之為可聽聲波。超聲波指人不能聽到的高頻聲波。超聲波傳感器由發(fā)射器件和接收器件組成,基本所有的超聲波傳感器的發(fā)射器件和接收器件都是基于壓電效應(yīng)制成的。發(fā)射器件將外加電場施于壓電晶片產(chǎn)生壓電逆效應(yīng),而接收器件是在晶片上施加外力產(chǎn)生變形時,在晶片的兩極產(chǎn)生與應(yīng)變量相應(yīng)的電荷(壓電正效應(yīng))。若應(yīng)變的方向相反則產(chǎn)生電荷的極性也相反。利用超聲波可以實現(xiàn)對遠處物體的非接觸式探測。機器人超聲探測是借助超聲波反射測量空間物體的距離和位置。超聲波距離傳感器的檢測方式有脈沖回波式和FM-CW(頻率調(diào)制-連續(xù)波式)兩種。脈沖回波式的檢測原理如圖2.11所示。將調(diào)制后的超聲波脈沖發(fā)射出去,若能檢測到被測物體反射回來的超聲波回波延遲時間,便可計算出被測物體的距離。超聲波換能器超聲波換能器R功率放大器前置放大器振蕩器檢波電路時間差檢測電路發(fā)射脈沖產(chǎn)生電路距離信息被測對象時間/s2時間/s21.510.5Δt幅值發(fā)射波接收波檢波輸出圖2.11脈沖回收式傳感器的檢測R=ν*Δt/2(式2.1)式中,R表示距離,單位為m;ν為超聲波在介質(zhì)中傳播的速度,如果空氣濕度為T(℃),則聲速ν=(331.5+0.607T)m/s,常溫20℃下大氣中的聲速ν=340m/s;Δt表示渡越時間,單位為s。FM-CW方式采用連續(xù)波對超聲信號進行調(diào)制。該方式的電路比較復雜,在實際中應(yīng)用不多。超聲波發(fā)射、接收器件的材料一般采用壓電陶瓷,圖2.12介紹了日本陶瓷公司的產(chǎn)品T40-16(發(fā)射)和R40-16(接收),電路如圖2.13所示,其性能規(guī)格分別列于表2.1和表2.2.發(fā)射器件由40kHz的發(fā)射電路、ON-OFF控制器和驅(qū)動器組成。接收器件由放大器、比較器和積分電路組成??烧{(diào)電阻R?用來調(diào)節(jié)發(fā)振頻率,與接收端的共振點匹配。R?調(diào)節(jié)比較電壓,以改變靈敏度。1.21.210.012.29.213.016.2圖2.12T40-16及R40-16的外形1010μF1μF2μPC24M12HFμPC24A05HF1312V5V1231μF10μF電池組14.4V圖2.13超聲波傳感器電路表2.1超聲波發(fā)射器件性能規(guī)格項目T40-16T40-18AT40-24A中心諧振頻率/kHz40±140±140±1升壓(中心頻率處)(0dB=0.002μbar)115dBMin115dBMin帶寬/(kHz/102dB)6.0Min(103dB)6.0Min(103dB)6.0Min(103dB)靜電容量/pF2400(1±25%)2400(1±25%)2400(1±25%)超聲波距離傳感器的測量范圍寬分辨率低,不受被測物體的透明度、顏色、電導率的影響,但不適合測量海綿或棉織物等吸音材料。他的響應(yīng)速度在毫秒級,屬于高速型傳感器。表2.2超聲波接收器件性能規(guī)格項目T40-16T40-18AT40-24A中心諧振頻率/kHz40±140±140±1靈敏度(中心頻率處)/(dB·μbar)-64Min.-64Min.-64Min.帶寬/(kHz/102dB)6.0Min(-71dB)6.0Min(-71dB)6.0Min(-71dB)靜電容量/pF2400(1±25%)2400(1±25%)2400(1±25%)2.超聲波傳感器的應(yīng)用超聲波距離傳感器在移動機器人研究中被廣泛使用。特別是在移動機器人需要進行環(huán)境探測和導航避障時,常常使用超聲波距離傳感器作為信息來源。單個超聲波距離傳感器在環(huán)境識別中的缺點是不易辨別物體的方位信息。在實際應(yīng)用中,常常將多個傳感器配置在空間呈環(huán)狀、排狀或?qū)訝罘植?,以獲得較準確的障礙物的立體信息,分辨是墻、柱還是墻角。超聲波傳感器的應(yīng)用注意事項如下。(1)測距精度。如以ms為單位來測量聲波的往返時間,則測距的分辨率為Δ=1但是這并不代表測量的絕對精度。決定絕對精度的因素有溫度、氣壓、風等,以溫度的影響最大。綜合各種因素,聲速的變動范圍最大可達5%左右。此外還有超聲波的反射波性和反射強度??傊?,超聲波傳感器的絕對精度隨遠近不同,大約為mm至cm的量級。(2)最大測距范圍。超聲波在空氣中的衰減與頻率的平方成反比。所以頻率高的超聲波傳不遠。最大測距范圍與發(fā)射波強度、被測物體大小尺度、對超聲波的反射率、接收器的靈敏度及噪聲水平有關(guān),一般在10m以內(nèi)。(3)方位分辨率。超聲波經(jīng)換能器發(fā)射后有指向特性。頻率越高,波束的指向越集中。一般能以波束幅寬的精度測出物體在各方位上的取向和形狀。(4)被測物體對超聲波的反射特性。只要不是所謂的吸音體,就有反射波。問題在于反射的方向與材料表面的凹凸程度。僅有垂直入射波才能正對入射方向反射。因此,聲吶圖往往“失真”,需要修復后方能利用。(5)測距所需的時間。將一周掃描分成256個方向進行,設(shè)待測物體的距離為5m,總共需要75s的時間。因此可知,與圖像輸入方式比較,超聲波傳感器獲取數(shù)據(jù)的時間長,而處理數(shù)據(jù)的時間較短。有人將超聲波傳感器與視覺傳感器進行信息融合,以獲取更多的環(huán)境信息。圖2.14為HC-SR04超聲波,其主要技術(shù)參數(shù)見表2.3。圖2.14HC-SR04超聲波使用電壓DC5V靜態(tài)電流小于2mA電平輸出高5V|低0V感應(yīng)角度不大于15度探測距離2cm-450cm高精度可達0.3cm表2.3HC-SR04超聲波參數(shù)2.4Arduino競賽板Arduino競賽板是本次巡邏機器人設(shè)計的控制中心,競賽擴展板提供了Arduinomega2560的PWM接口、模擬量接口、數(shù)字量接口、和8路5V、GND接口,方便用戶擴展功能。以及提供了超聲波傳感器接口和五路巡線接口、多功能接口、步進電機驅(qū)動。還提供了紅外要開、蜂鳴器和RGB多彩燈用于各種情況的警報和提示。以及一個按鍵,方便加入多種控制切換和程序開始等。還有4個Ukit舵機接口。與Arduinomega2560配合使用,可以控制Ukit的舵機實現(xiàn)輪模式和舵機模式、板載提供蜂鳴器、RGB多彩燈、按鈕和各種豐富的擴展接口。其形狀與接口類型分別如下圖2.15和圖2.16:圖2.15競賽擴展板&ArduinoMega2560圖2.16競賽板接口分布競賽板接口與Arduino連接情況如下圖2.17:圖2.17競賽板接口情況2.5其它材料優(yōu)必選進階級﹑中級教具包各小零件若干。2.5巡邏小車模型第三章巡邏機器人功能設(shè)計3.1巡邏開發(fā)Arduino2560競賽板,需要下載ArduinoIDE。ArduinoIDE是Arduino的默認開發(fā)環(huán)境,其簡單明了,包含了開發(fā)Arduino所需的核心功能。你可以通過Arduino官方網(wǎng)站下載ArduinoIDE。本次設(shè)計軟件版本為arduino-1.8.1。3.1.1巡邏機器人舵機與arduino通訊代碼#include"Arduino.h"#include"UkitMotor.h"http://>舵機與arduino通訊函數(shù)無需理解<//UkitMotor::UkitMotor(){route_node=1;start=1;pinMode(redPin,OUTPUT);pinMode(greenPin,OUTPUT);pinMode(bluePin,OUTPUT);digitalWrite(redPin,HIGH);digitalWrite(greenPin,HIGH);digitalWrite(bluePin,HIGH);pinMode(23,INPUT);//左1的循跡傳感器pinMode(25,INPUT);//左2的循跡傳感器pinMode(27,INPUT);//中間的循跡傳感器pinMode(29,INPUT);//右2的循跡傳感器pinMode(31,INPUT);//右1的循跡傳感器}unsignedcharUkitMotor::Cheak_Sum(unsignedcharlen,unsignedchar*buf){unsignedchari,sum=0;if(len>254)return0;for(i=0;i<len;i++){sum+=buf[i];}return(uint8_t)(sum);}unsignedlongUkitMotor::Servo_Tx(unsignedcharHead,unsignedcharServoNO,unsignedcharlen,unsignedcharCMD,unsignedchar*Data){unsignedlongtRet=0;unsignedchartCnt=0;unsignedlongtemp=2;//2ms發(fā)完unsignedcharbuf[40];unsignedcharlength=9;//9+1unsignedcharUsart3_Rx_Ack_Len=0;memset((void*)Usart3_Rx_Buf,0,sizeof(Usart3_Rx_Buf));memset((void*)buf,0,sizeof(buf));Usart3_Rx_Ack_Len=10;//應(yīng)答消息長度buf[0]=Head;//填充協(xié)議頭buf[1]=swab8(Head);if(Head>=0xFA){buf[2]=ServoNO;//舵機好}elseif(Head>0x00)//變長協(xié)議{length=len+5;//長度buf[2]=length;}buf[3]=CMD;memcpy((void*)&buf[4],(void*)Data,len);buf[length-1]=Cheak_Sum((length-3),(u8*)&buf[2]);buf[length]=0xED;if(Head==0xFA){if(CMD==1){if(ServoNO==0){memset((void*)&gsSave_Angle,Data[0],sizeof(gsSave_Angle));//保存所有角度}else{if(Data[0]==gsSave_Angle.Angle[ServoNO-1])return0;//不發(fā)送,直接返回else{gsSave_Angle.Angle[ServoNO-1]=Data[0];//保存單個角度,以后可能雙字節(jié)角度}}Usart3_Rx_Ack_Len=1;//1,4命令只應(yīng)答一個字節(jié)}elseif(CMD==4)Usart3_Rx_Ack_Len=1;//1,4命令只應(yīng)答一個字節(jié)}Retry_Servo:temp=(Usart3_Rx_Ack_Len+5);//接收消息長度,用于計算接收時間,1個字節(jié)0.087ms,預留5個空閑,10%誤差Serial3.begin(115200);//uart3Serial3.setTimeout(temp*87*110/100/400);//設(shè)置超時msSerial2.begin(115200);//設(shè)置波特率Serial2.write(buf,length+1);//發(fā)送消息Serial2.end();//關(guān)閉串口2,否則會影響接收消息tRet=Serial3.readBytes(Usart3_Rx_Buf,Usart3_Rx_Ack_Len+10);//接收應(yīng)答Serial3.end();//關(guān)閉串口3,否則會影響接收消息if(tRet>RXD_OFFSET)//打印返回消息{//Serial.write(Usart3_Rx_Buf+RXD_OFFSET,tRet-RXD_OFFSET);//Serial.print("\r\n");}if(tRet==0)//沒有接收到消息{if(tCnt<2){tCnt++;//重試gotoRetry_Servo;}}else//接收到消息{Usart3_Rx_Buf_count=tRet;tRet=0;if(Head==0xFA){if((CMD==1)||(CMD==4)){if((Usart3_Rx_Buf[RXD_OFFSET+1]==0xAA+ServoNO)){tRet=ServoNO;}}elseif(CMD==2){if((Usart3_Rx_Buf[RXD_OFFSET+3]==0xAA)&&(Usart3_Rx_Buf[RXD_OFFSET+2]==ServoNO)){tRet=Usart3_Rx_Buf[10+6]<<8;tRet|=Usart3_Rx_Buf[10+7]<<0;}}elseif(CMD==0xCD){if((Usart3_Rx_Buf[RXD_OFFSET+5]==ServoNO)){tRet=Usart3_Rx_Buf[RXD_OFFSET+5];}}elseif(CMD==0xD2){if((Usart3_Rx_Buf[RXD_OFFSET+3]==0xAA)&&(Usart3_Rx_Buf[RXD_OFFSET+2]==ServoNO)){tRet=1;}}elseif(CMD==0xD4){if((Usart3_Rx_Buf[RXD_OFFSET+3]==0xAA)&&(Usart3_Rx_Buf[RXD_OFFSET+2]==ServoNO)){tRet=Usart3_Rx_Buf[RXD_OFFSET+6]<<8;tRet|=Usart3_Rx_Buf[RXD_OFFSET+7]<<0;}}}elseif(Head==0xFC){if(CMD==1){if((Usart3_Rx_Buf[RXD_OFFSET+3]==0xAA)&&(Usart3_Rx_Buf[RXD_OFFSET+2]==ServoNO)){tRet=Usart3_Rx_Buf[RXD_OFFSET+6]<<8;tRet|=Usart3_Rx_Buf[RXD_OFFSET+7]<<0;}}}elseif((Head<0xFA)&&(Head>0x00)&&(Usart3_Rx_Buf[length+4]==CMD)){if(CMD==0x02){tRet=Usart3_Rx_Buf[length+5]-0xAA;}elseif(CMD==0x04){if(Usart3_Rx_Buf[length+3]==7)tRet=((Usart3_Rx_Buf[length+5]-0xAA)<<8)+Usart3_Rx_Buf[length+6];elseif(Usart3_Rx_Buf[length+3]==8)tRet=(Usart3_Rx_Buf[length+6]<<8)+Usart3_Rx_Buf[length+7];}}}returntRet;}unsignedcharUkitMotor::Get_Servo_list(unsignedcharServo_NO)//檢查舵機存在不?正不正常{return(Read_bit(gServo_list[Servo_NO/8],Servo_NO%8));}voidUkitMotor::Set_Servo_list(unsignedcharServo_NO){Set_bit(gServo_list[Servo_NO/8],Servo_NO%8);}voidUkitMotor::Clr_Servo_list(unsignedcharServo_NO){Clr_bit(gServo_list[Servo_NO/8],Servo_NO%8);}voidUkitMotor::check_servo(){//花兩秒時間unsignedchartID=1;unsignedchartData[4]={0,0,0,0};memset((void*)gServo_list,0,sizeof(gServo_list));gServos=0;Servo_Tx(0xFC,tID,4,0x01,tData);//預先測試一下for(tID=1;tID<SERVO_NUMER_MAX+1;tID++){if(Servo_Tx(0xFC,tID,4,0x01,tData)!=0){Set_Servo_list(tID-1);//設(shè)置舵機列表,后面多舵機使用gServos++;}else{Clr_Servo_list(tID-1);}}Serial.print("\tTotalServo:");Serial.print(gServos,DEC);Serial.print("\r\n");}//>以上舵機與arduino通訊函數(shù)無需理解//>最主要的函數(shù)<//voidUkitMotor::motor(charID,intdir,intspeed){unsignedcharaa[4]={0xFE,0,0,speed};unsignedcharbb[4]={0xFD,0,0,speed};if(dir==0)Servo_Tx(0xFA,ID,4,0x01,aa);elseServo_Tx(0xFA,ID,4,0x01,bb);}voidUkitMotor::servo(charID,intangle,inttime){unsignedchartData[4];tData[0]=angle+120;tData[1]=(time/20);tData[2]=0;tData[3]=0;Servo_Tx(0xFA,ID,4,0x01,tData);}voidUkitMotor::forward(intspeed){motor(lmotor,0,speed);motor(rmotor,1,speed);motor(lfmotor,0,speed);motor(rfmotor,1,speed);}voidUkitMotor::turnL(intspeed){motor(lmotor,1,speed);motor(rmotor,1,speed);motor(lfmotor,1,speed);motor(rfmotor,1,speed);}voidUkitMotor::turnR(intspeed){motor(rmotor,0,speed);motor(lmotor,0,speed);motor(rfmotor,0,speed);motor(lfmotor,0,speed);}voidUkitMotor::back(intspeed){motor(lmotor,1,speed);motor(rmotor,0,speed);motor(lfmotor,1,speed);motor(rfmotor,0,speed);}voidUkitMotor::stop(){unsignedcharaa[5]={0xFF,0,1,0,0};Servo_Tx(0xFA,lmotor,4,0x01,aa);Servo_Tx(0xFA,rmotor,4,0x01,aa);Servo_Tx(0xFA,lfmotor,4,0x01,aa);Servo_Tx(0xFA,rfmotor,4,0x01,aa);}voidUkitMotor::findline(intspeed){num1=digitalRead(31);num2=digitalRead(29);num3=digitalRead(27);num4=digitalRead(25);num5=digitalRead(23);if((num2==0)&&num3&&num4){turnL(speed);delay(60);while(1){num3=digitalRead(27);if(num3==1){turnL(speed);delay(150);}else{stop();break;}}}elseif(num3&&num2&&(num4==0)){turnR(speed);delay(60);while(1){num3=digitalRead(27);if(num3==1){turnR(speed);delay(150);}else{stop();break;}}}else{forward(speed);delay(2);}}voidUkitMotor::Tandtenfindline(intspeed){while(start==1){read_data();if(num1==0||num5==0){one_step(50);read_data();if(num1==0&&num5==0){one_step(50);read_data();if(num1==0&&num3==0&&num5==0){route[route_node]=3;//cross(speed);}elseif(num1==0&&num3==1&&num5==0){route[route_node]=2;//cross(speed);}}elseif(num1==0&&num3==0&&num2==0&&num5==1){route[route_node]=3;cross(speed);}elseif(num1==0&&num3==1&&num5==1){turn_L(speed);do{turnL(speed);read_data();}while(num3==1);}elseif(num1==1&&num3==0&&num4==0&&num5==0){route[route_node]=3;cross(speed);}elseif(num1==1&&num5==0&&num3==1){//┏型路口//////do{turnR(speed);read_data();}while(num3==1);}}//elseif(num1==1&&num2==1&&num3==1&&num4==1&&num5==1){//死胡同┃/////////turn_U(speed);//}else{straight(speed);}}}voidUkitMotor::cross(intspeed){switch(route[route_node]){case1:turn_L(speed);break;case2://岔路口右轉(zhuǎn)turn_R(speed);break;case3://直行穿過岔路口do{forward(speed);delay(80);read_data();}while(num1==0||num5==0);break;case4:stop();for(inta=0;a<10;a++){colorRGB(random(0,255),random(0,255),random(0,255));delay(200);}digitalWrite(redPin,HIGH);digitalWrite(greenPin,HIGH);digitalWrite(bluePin,HIGH);break;case5:turn_U(speed);break;case6:start=0;stop();break;}route_node=route_node+1;}voidUkitMotor::turn_L(intspeed){//90forward(speed);delay(500);turnL(speed);delay(600);do{turnL(speed);delay(140);read_data();}while(num3==0||num4==0);stop();}voidUkitMotor::turn_R(intspeed){forward(speed);delay(500);turnR(speed);delay(650);do{turnR(speed);delay(140);read_data();}while(num3==0||num2==0);stop();}voidUkitMotor::read_data(){num1=digitalRead(31);num2=digitalRead(29);num3=digitalRead(27);num4=digitalRead(25);num5=digitalRead(23);}voidUkitMotor::turn_U(intspeed){one_step(700);do{turnL(speed);read_data();}while(num3==1);stop();}voidUkitMotor::straight(intspeed){read_data();if(num3==0&&num2==0&&num4==1){turnL(speed);delay(20);}elseif(num3==0&&num4==0&&num2==1){turnR(speed);delay(20);}elseif(num2==0&&num4==1){turnL(speed);delay(80);}elseif(num3==0&&num2==1&&num4==1){forward(speed);}elseif(num4==0&&num2==1){turnR(speed);delay(80);}else{forward(speed);delay(50);}}voidUkitMotor::one_step(inttime){forward(765);delay(time);stop();}voidUkitMotor::colorRGB(intred,intgreen,intblue){analogWrite(redPin,constrain(red,0,255));analogWrite(greenPin,constrain(green,0,255));analogWrite(bluePin,constrain(blue,0,255));}//>最主要的函數(shù)<//3.1.2機器人巡邏程序巡邏方式采用灰度傳感器,并在模擬巡邏場地布置黑色22mm寬度的巡邏線條。在巡邏過程中遇到火災報警模擬由于沒有溫度傳感器,所以采用自定義按鍵觸發(fā)。主要程序如下:#include"UkitMotor.h"UkitMotormotor;intL_M=1,R_M=2;intsp=510;intpinBuzzer=43;intanjian=41;voidsetup(){//putyoursetupcodehere,torunonce:motor.check_servo();delay(100);pinMode(23,INPUT);pinMode(25,INPUT);pinMode(27,INPUT);pinMode(29,INPUT);pinMode(31,INPUT);pinMode(pinBuzzer,OUTPUT);pinMode(anjian,INPUT);forward(sp);}voidloop(){//putyourmaincodehere,torunrepeatedly:intnum1=digitalRead(31);intnum2=digitalRead(29);in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論