《基于單片機的智能清掃機器人研究》11000字(論文)_第1頁
《基于單片機的智能清掃機器人研究》11000字(論文)_第2頁
《基于單片機的智能清掃機器人研究》11000字(論文)_第3頁
《基于單片機的智能清掃機器人研究》11000字(論文)_第4頁
《基于單片機的智能清掃機器人研究》11000字(論文)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

緒論1.1課題的研究背景及意義如今社會和經濟迅速發(fā)展,人們花在工作上的時間越來越多,沒有時間和精神去從事家務勞動,因此,智能清掃機器人逐漸進入了我們的家庭。清掃機器人的痛處是讓忙碌的城市青年們得到釋放,讓他們能夠用智慧的方法來釋放自己的雙手,去尋找更高的生活品質[1]。智能清掃機器人,是一款智能化家電產品,通過內置芯片與其本身所配備的不同的傳感器相配合,可以根據(jù)用戶的要求,對室內地面的某個部位或者整個區(qū)域進行清掃。結合移動機器人技術與吸塵技術,室內地板環(huán)境能被自動清掃。在技術層面上,清掃車更具體化了多個核心技術:多個傳感器信息協(xié)調工作技術,空間導航技術、軌跡規(guī)劃算法和快速定位技術以及對電池性能的高要求[2]。從行業(yè)發(fā)展的趨勢來看,清掃機器人能大幅度減少工作壓力,解放人們的雙手,提升工作效率,適合居家及公共場所的地面清潔;省時省力,全流程無需人工操控,減少作業(yè)的繁重;同時,它的噪聲也較常規(guī)的吸塵器更輕、更輕巧,更容易清掃盲區(qū)。所以,在清掃機器人行業(yè)大有可為,它的發(fā)展有巨大的商業(yè)價值[3]。1.2國內外研究現(xiàn)狀清掃機器人最早可以追溯到二十世紀90年代的瑞典伊萊克斯公司,它率生產了世界上的第一款清潔機器人,如圖1-1所示,因外形像古代的三葉蟲所以命名為三葉蟲,具有電池自動回充和防摔保護。但由于反應速度、運算速度、機械運轉速度都相對緩慢,所以清潔的速度很低。最大的缺點是價格昂貴和機身厚度不夠理想,導致不能在家具的下面清理。圖SEQ圖\*ARABIC1-1三葉蟲清潔機器人美國科技公司iRobot在2002推出了一個叫做Roomba的清潔機器人[4],如圖1-2所示,標志著清掃機器人進入隨機式清掃時代。Roomba廣泛應用于木制或石制的地板和防水的地毯,通過旋轉并逐漸增大的螺旋形的半徑來將室內地面的所有區(qū)域都籠罩在內,增加邊刷輔助清潔,當遇到室內桌椅、衣柜等障礙物時,本身配置的特殊的障礙感應器就會使機器人緊貼墻壁進行作業(yè),防止損壞機器人。在清理了一塊地方之后,Roomba將旋轉90度,用同樣的方法清理室內的其它地方。Roomba的潔凈性能好,廉價,性價比高,并且比三葉蟲的機身厚底小,深受消費者青睞。但因為隨機式的清潔方式,覆蓋率較低。圖1SEQ圖\*ARABIC2Roomba清潔機器人鑒于隨機清掃模式的缺點,iRobot發(fā)布了一款名為“燈塔”的裝置[5]。清掃機器人與燈塔之間互相通信從而確定自己與燈塔之間的相對位置,解決Roomba清潔機器人覆蓋率不高的缺點。這種新的定位技術可以將覆蓋范圍提升到99%,但因為燈塔作為參考物,所以對燈塔的放置位置要求非常苛刻,一般情況下,擺放的位置決定了清掃機器人的清潔完成度。在接下來的數(shù)年中,很多高科技公司都在研發(fā)基于攝像頭定位的清掃機器人,其初衷是讓掃地機機器人能夠觀察室內環(huán)境,從而達到全方位清潔,提高覆蓋率。這款清掃機器人的關鍵技術就是通過攝像機來進行定位,通過紅外線感應裝置,可以在一分鐘內拍下30幅圖像,再通過數(shù)學運算進行建模,得出房間的地圖。通過比較前后兩幅圖像的不同,來確定自己的前進方向。這種方案解決了位置問題,也改善了覆蓋率低的問題,但對光線的依賴性很大,在昏暗的情況下不能工作,并且成本過高,無法在普通民眾中推廣開來。邏輯的創(chuàng)始人賈科莫馬里尼2010年在美國硅谷發(fā)明了一款利用激光探測距離的清掃機器人,配備了激光器發(fā)射機和接收機[6]。工作的過程中,發(fā)射機發(fā)出一束激光,當它碰到障礙時,就會被它的反射回來,然后由接收機來接收,然后再根據(jù)它的發(fā)送和接收的延遲來進行計算與障礙之間的距離并繪制了三維立體圖??筛咝У剡M出清理和非清理的地方。Neato清潔機器人利用一臺360°的激光傳感器來對周邊物體進行掃描[7],然后通過SLAM來對周邊區(qū)域進行實時的定位,從而為清潔路徑做出正確的選擇,如圖1-3所示。Neato開創(chuàng)了斷點型持續(xù)清掃技術的先例,在電池能量耗盡時,可以在中斷的地點繼續(xù)進行清理;并且具有良好的覆蓋面和優(yōu)秀的清洗性能,機身的厚度為僅僅10公分左右。圖1SEQ圖\*ARABIC3Neato清潔機器人目前,中國的清掃機器人市場,有三股勢力,一股是科沃斯、由利等專業(yè)的清掃機器人公司,他們擁有豐富的技術和供應鏈管理,正在逐漸發(fā)展;二是小米、石頭科技等新興的網(wǎng)絡公司,他們的優(yōu)勢來自于軟件和渠道;三是海爾、美的等傳統(tǒng)的家用電器巨頭,擁有豐富的生產技術,但他們的市場占有率和規(guī)模都很小??莆炙构臼俏覈钤绲囊患覍I(yè)從事清掃機器人的開發(fā)和制造企業(yè),它在這一行業(yè)中率先進入市場。在08年十月,公司發(fā)布首款名為7系列的清掃機器人。十余年來,先后推出了許多新的系列,為廣大消費者所熟知和喜愛。公司的產品以其特有的品質和價格的優(yōu)勢,在中、低檔用戶創(chuàng)造了一個很好的銷路。經過十余年的發(fā)展,科沃斯公司的清掃機器人從最初的胡亂清掃,到使用GPS系統(tǒng)進行更合理的規(guī)劃清掃,使清掃作業(yè)效率大幅提升,機械損耗大幅降低,使用年限延長[8]。地寶DN55可以使用激光雷達構建房間地圖的清掃機器人,構建地圖后可進行劃分區(qū)域,根據(jù)用戶需求選擇區(qū)域清掃,它的核心部件是LDS的激光測距,利用LLDS的激光測距,利用SLAM算法,可以完成位置確定和地圖繪制。但是LDS型感測器成本高昂,而且持續(xù)旋轉對其使用壽命有很大的影響。圖1SEQ圖\*ARABIC4清掃機器人進化史綜上所述,清掃機器人的發(fā)展經歷了發(fā)展停滯期、技術突破期和蓬勃發(fā)展期,如上圖1-4所示。從二十世紀90年代到今天,清掃機器人一直在創(chuàng)新,逐步被廣大群眾所認可,成為必備家用電器之一。據(jù)東方股票數(shù)據(jù),在2020年清掃車的市場占有率為34億美元,同比去年上升32%。排名前三的分別是iRobot、科沃斯和石頭公司,分別占46%、17%和9%的市場占有率。中國公司在全球三大清潔機器人公司中占有2個位置。自2020年起,智能清掃機器人技術發(fā)展迅速,三維TOF、三維結構光、激光雷達和單目/雙目等技術不斷涌現(xiàn)。1.3本論文主要研究內容(1)對軌跡規(guī)劃與避障方法及其優(yōu)劣勢進行了探討。軌跡規(guī)劃現(xiàn)主要的方案包括:柵格法,單元域分割法,人工視覺法,隨機覆蓋法[9]等;避障方法有:隨機碰撞法、三維結構光、三維TOF、激光雷達和視覺避障。(2)系統(tǒng)的硬件部件的選型。本著設計的基本理念,選擇STM32F103ZET6作為控制單元,用來控制清掃機器人,處理數(shù)據(jù)和決策運動路線,HC-SR04、ADXL345傳感器、霍爾編碼器用來收集機器人的運動姿態(tài)以及室內環(huán)境信息。(3)系統(tǒng)軟件的設計。超聲波傳感器、ADXL345傳感器、霍爾編碼器、電機的驅動程序以及主程序和軌跡規(guī)劃算法的設計。(4)系統(tǒng)整體測試。使用清掃機器人做實際清掃實驗,實驗證明該清掃機器人能夠高效、可靠地完成清潔作業(yè),具有較高的覆蓋面、較低的重復性、時間短、效率高等特點。2路徑規(guī)劃和避障方法2.1現(xiàn)有路徑規(guī)劃方案2.1.1隨機覆蓋法當前,中、低層次的智能清掃機器人所使用的基本原理是隨機覆蓋法。所謂的隨機覆蓋法并不是說沒有目的和方向的作業(yè),而是讓機器人按照三角形、五邊形等形狀做簡單的運動規(guī)律,來覆蓋作業(yè)區(qū)域,當讓這也是一種很難做到的事情。當有障礙物時,就會進行相應的控制。這種方案雖然成本低廉,但會耗費大量的時間,在不考慮時間的情況下可以將室內地板完全清掃。該系統(tǒng)無需對作業(yè)區(qū)域進行全面的觀察,無需依靠大量的檢測裝置,對控制核心的性能要求較低,因此具有較高的經濟效益。然而由于隨機覆蓋的策略相對較單一,在遇到復雜環(huán)境時存在漏洞,會使其進入死區(qū),也就是在特定的位置上繞圈或一直卡在某個地方。2.1.2單元域分割法單元域分割法,是指將作業(yè)區(qū)域劃分成大小不同的區(qū)域,在不同的區(qū)域中分別進行清掃作業(yè),最終將劃分的區(qū)域按最佳的邏輯序列進行連接依次清掃[10]。分區(qū)是單元域分割法的首要問題,其最佳情況是在區(qū)域內的所有障礙都位于區(qū)域的邊緣,使得區(qū)域的中央?yún)^(qū)域能夠有效地實現(xiàn)連續(xù)的區(qū)域劃分。在實際生活中,通常將單個的房間或密閉空間作為一個單元空間,空間大小、太大或太少都無濟于事。單元域法中的次要問題是,每個區(qū)域之間的聯(lián)系。當一個區(qū)域被完全覆蓋后,另一個區(qū)域鄰近時,它將被作為下一個被覆蓋的任務對象,當存在多個區(qū)域時,它會根據(jù)特定的邏輯選擇下一個區(qū)域,直到所有的區(qū)域都被覆蓋為止。該算法適用于多室的情況,同時還能提高處理器計算的速度。2.1.3柵格法柵格法把工作環(huán)境分為二值網(wǎng)格,具體情況如圖2-1所示,它包括了環(huán)境周圍的各種因素,一般是由障礙的是是否存在和規(guī)模組成,這種方法可以簡化室內空-間的建模,減少了計算時間,提高了對周圍的環(huán)境的了解[11]。這種方式主要是網(wǎng)格尺寸的問題,網(wǎng)格分割太多會削弱對環(huán)境的分辨能力,網(wǎng)格分割太少會導致對硬件層次上的數(shù)據(jù)儲存要求更為嚴格。圖2-1柵格法2.1.4人工勢場法人工勢場法是一種基于虛擬力法的機器人的移動策略[12]。它的主要目的是把物體和障礙對清掃機器人的作用轉化為人工勢場。目標位置的位能較小,障礙位置的位能較高,在此勢差下,障礙與清掃機器人之間的相互作用力使掃地機沿著位勢的降低的方向向目標點移動。人工勢場法易于進行,所得的路線安全、平穩(wěn),而在復雜的位面中,會出現(xiàn)在目標點處以外的區(qū)域,使清掃機器人不能達到目的。針對人造位場中存在的局部極小值問題,已有許多研究人員對其進行了一些修正。當機器人碰到一個局部極小的時候,將其它的算法與其它的算法相組合,使得它遠離了局部最小的位置,多采用搜索法、多勢場法、沿著墻壁走動法等算法,將機器人移出局部最小位置。在Matlab中展示人工勢場法,每個小的箭頭都表示了一個梯度的幅度和方位,在接近障礙的地方具有顯著的排斥性,在距離障礙較遠的地方梯度的方向指向終點。最終的路線是沿著梯度方向的。圖22人工勢場法2.2確定路徑規(guī)劃方案針對清掃機器人已經提出了各種路線選擇方案,但還沒有一種方案被認為是最優(yōu)方案,目前市面上的智能清掃車依然存在著許多的問題。無論采用什么方法,機器人的整體清理可以歸納為四部分:第一,從開始到結束都是給電池充電的地方,所以從這個角度來說,智能機器人的核心就是在起點和終點之間尋找最優(yōu)路徑。第二,在開始到結束的時候,要將整個地區(qū)都進行一次大范圍的清潔,而不是隨便從開始到結束。第三,在整個清理期間,應盡量避免碰撞障礙,減少電量的損耗。從實施難度的角度來看,該系統(tǒng)需要綜合考慮到系統(tǒng)的復雜性、路徑優(yōu)化等因素。第四,還需要考慮到價格、維護、使用方便等因素。本文針對這一問題,提出一種以單元分解法為基礎的全覆蓋路線規(guī)劃算法,即將先對各分區(qū)進行分區(qū)劃分,再采用全覆蓋方式進行分區(qū)劃分,最終將各分區(qū)之間的分區(qū)進行合理的排序,最終形成一條完整的路線[13]。由于采用了單元分解法,分區(qū)的子區(qū)內沒有障礙,使得整個子區(qū)的完整遍歷計算變得更為簡便,采用了“弓“字型號往復式路徑算法,其路線圖如圖2-3所示。往復式路徑起始于一個分區(qū)的角落,在該地區(qū)中,機器人在該地區(qū)進行往復移動,結束于區(qū)域的對角線或與起始點在同一側。圖23往復式路徑“弓“字型號往復式路徑較傳統(tǒng)的路線設計,明確了機器人的運動算法,使得清掃機器人工作更加高效,同時也大大的減少了計算的工作量;解決了整個工作環(huán)境的不變和局部的異變的問題;與其它多種方法相比,采用單元分解法方法,其原則上簡單,實施起來比較方便,通過對它的一些修改,可以更好的解決傳統(tǒng)方法的不足,而且劃分子區(qū)也很好的構建。2.3避障方法清掃機器人的避障方案現(xiàn)有隨機碰撞、三維結構光、三維TOF方案、激光雷達、視覺避障五大解決方案。早期的清掃機器人經常采用最簡單的隨機碰撞方式,機身一圈配備有減震的橡膠材質,清潔機器人沿任意的路徑在房間里發(fā)生碰撞,一旦遇到障礙就會隨意改變方向,直至發(fā)生下一次碰撞為止,然后再掉頭,如此反復。這個方案很簡單粗暴,適用于內部空間狹窄的房間,但在空間較大的房間里,效率低下的缺點就會暴露出來。自從iPhone將3D結構光技術應用于FaceID之后,3D結構光技術就得到了越來越多的運用。這種算法精度較高,但是成本很高,并且從接收方到發(fā)送方的距離也會影響到測試的距離。在光線較強的情況下,其表現(xiàn)非常差,會被外界光線所擾亂。ToF技術是一種測量物體與目標之間的間距的一種方式。ToF模塊內置光源[14],發(fā)射光線照射到物體上,光線到達物體后會被反射回ToF模塊中的感應器,通過計算光在空氣中運動的時間從而確定間距。3DToF是把單個ToF向多個方向延伸,其測量的范圍比結構性光要長。但3DToF的缺點是清晰度很差,而且無法提供足夠的影像來躲避障礙物。激光雷達避障原理同3DToF技術類似。在精度、反應速度、抗干擾能力和作用距離等方面,激光避障技術要比紅外線、超聲等技術好得多。缺點是只能對某一平面進行掃描,而不能實現(xiàn)對三維空間的觀察。采用視覺避障技術僅能獲取平面圖像,不能對3D空間按進行觀察。另外,單目視覺識別的圖像信息不能準確地反映出各個目標與鏡頭之間的距離,缺少三維空間的信息會導致錯誤的計算物體與目標之間的距離。本設計才用超聲波測距避障技術,具有原理簡單,技術成熟,對硬件要求不高,成本更低,使用簡便的優(yōu)勢,具體原理見第三章第八節(jié)。3系統(tǒng)硬件設計3.1硬件系統(tǒng)總體框架圖3.1總體框架結構圖控制單元選擇STM32F103ZET6芯片,用來控制清掃機器人和決策運動路線;機器人的移動依靠一對帶霍爾編碼器的直流減速電機;編碼器用來測量電機的轉動速度,通過AB兩相的相位差來判斷電機的轉動方向;探測障礙選擇超聲波傳感器HC-SR04;反饋機器人運動姿態(tài)選擇三軸加速度傳感器ADXL345。該系統(tǒng)的供電系統(tǒng)為一個電壓為12V、容量為3300mAh的鋰電池,為電機驅提供電源,并經過LM2596線性穩(wěn)壓后為控制單元和各傳感器提供電源。3.2底盤結構本設計底盤采用圓形結構,其特點在于在轉動清潔過程中遇到障礙時,環(huán)形結構能最大限度地減少撞擊力,從而起到對清掃機器人和室內家具的防護作用。該系統(tǒng)由兩個驅動輪和一個在任何角度上進行旋轉的萬向輪,C為機器人的重心位置,D為底盤的直徑,L為左右兩輪的間距,rw為驅動輪的半徑。圖32底盤結構3.3控制單元控制單元的主要作用是與超聲波、紅外、接觸、MPU6050等傳感器進行通信讀取數(shù)據(jù),并通過讀取的數(shù)據(jù)對外界的環(huán)境進行建模并控制機器人的運動策略,其次通過定時器來產生脈沖寬度調制(PWM)輸出控制行走電機、清掃電機和吸塵電機的起停和轉速。選擇STM32F1系列中的STM32F103ZET6作為控制單元,如圖3-3所示,原理圖如圖3-4所示,其內存容量是:64KBSRAM,512KBFLASH,板載資源的高級、通用、基本三種TIMER[15];SPI、IIC、485和CAN四種通信協(xié)議;5路豐富的串口資源;3個12位的ADC,轉換速率最大可達到12Mhz;1個12位的數(shù)模轉換器;112個通用GPIO端口;內置了FSMC,可以將SRAM擴展到LCD上,用FSMC來控制LCD,可以大大加快LCD的刷新率。圖3-3STM32F103ZET6芯片圖3-4STM32F103ZET6原理圖3.4電機智能清掃機器人要實現(xiàn)行走、清掃和吸塵功能離不開電機。直流減速電機具有結構簡單、價格低廉,控制方便的特性,所以本設計選用了兩種直流減速電機:一種為TT馬達,另一種為帶雙向霍爾編碼器的直流減速電動機。TT馬達,如圖3-5所示,供電電壓為DC3V,減速比為1:48,大約125轉/分,具有抗干擾、成本低的優(yōu)點,主要作為清掃功能和吸塵功能的驅動馬達。圖3-5TT馬達實物圖帶雙向霍爾編碼器的直流減速電動機的具體型號為JGA-25,如圖3-6所示,供電電壓為DC12V,減速比為1:34,主要作為行走電機來使用。紅線代表馬達的正電極,黑線條代表馬達的負電極,綠線條代表編碼器的負電極,藍線代表編碼器的正電極,黃線代表編碼器輸出信號A相位,白線代表編碼器輸出信號B相位[16]。圖3-6JGA-25實物圖3.5電機驅動單片機的普通GPIO口功率達不到驅動電機的功率,甚至會導致單片機燒掉。使用驅動電路可以使電機可以正常工作,通過控制通電電壓大小從而調節(jié)電機的轉速。本設計選擇兩塊XY-160D驅動模塊,采用了雙H橋集成電路,如圖3-7所示,主要特點包括:適合額定電壓12V,額定運行輸出功率40W,額定運行電壓7A的電動機長期滿額運轉;可同時分別驅動兩臺直流電機,每路額定輸出電流7A;供電寬電壓輸入,最高不可超過27V; 可工作于-25℃-80℃的環(huán)境下;通過加銅柱抬高電路板或加絕緣墊的方法避免背面電路短路;信號控制端的地和電源端的地不能連接在一起;電機正轉時不能立即變?yōu)榉崔D狀態(tài),必須使電機停下來至少0.1s的時間再去換向,否則會嚴重破壞驅動模塊;圖3-7XY-160D驅動實物圖圖3-8XY-160D電路原理圖3.6編碼器本系統(tǒng)選擇增量式編碼器霍爾光電型,如下圖3-9所示,由霍爾元件和磁性轉臺組成,該磁性轉臺的輸入軸與被測轉速軸連接,待被測轉速軸旋轉后,該磁性轉臺也會跟著旋轉,安裝于該磁性轉臺的霍爾開關式感應器作為檢測裝置,在每個磁體經過時,會發(fā)出對應的脈沖信號,檢測一定時間內的脈沖數(shù)量就可以計算出被測轉速軸旋轉速度?;魻柧幋a器的輸出信號由A相和B相組成,各是一組方波,電機的轉動的方向向可以根據(jù)AB相的相位順序來確定,根據(jù)AB兩相頻率確定電機轉速。圖39霍爾編碼器實物圖圖3-10霍爾編碼器電路原理圖3.7ADXL345清掃機器人進行清潔時,按照自己的姿勢進行下一次移動,采用ADXL345三軸加速傳感器判斷機器人處于何種姿態(tài)。ADXL345能檢測XYZ三個互相垂直的軸上的加速度變化情況,并且能將加速度值通過數(shù)學公式算出三個軸上的轉動角度,輸出量是數(shù)字信號,如圖3-11所示,廣泛應用于移動電話,醫(yī)療器械,娛樂設備,定位導航,老年人防摔等場合。該加速度傳感器優(yōu)勢在于:高分辨率。隨g范圍的提高分辨率也將提高,±16g時高達13位;量程有多個選擇?!?-16g可供選擇;靈敏度高??蓽y小于1.0°的傾角變動??梢酝瑫r測定由移動和碰撞引起的加速度,也可以測定靜態(tài)的加速度;功耗低。功率消耗可根據(jù)輸出的數(shù)據(jù)速度進行調整,待機狀態(tài)下只有0.1uA;尺寸小而薄。封裝體積僅為15mm3;寬溫度范圍。-40℃至+85℃;32級先進先出隊列存儲,能有效降低主機的負載;圖3-11ADXL345模塊圖ADXL345傳感器的三個檢測軸如圖3-12所示,在檢測正向加速度時,檢測軸的正向位置應當與地心引力的相對。ADXL345必須與機器人底盤牢固安裝,并將其固定在底盤的重心位置,以便準確反映機器人的姿態(tài),減少測量誤差和減少系統(tǒng)諧波的影響。圖3-12ADXL345的X,Y,Z檢測軸ADXL345與單片機的連接十分簡便,只要求連接SCL和SDA端口即可,如圖3-13所示圖3-13ADXL345連接圖3.8超聲波傳感器清掃機器人作業(yè)時,要時刻注意觀察周圍的情況,確定房間中障礙物的位置,采取最優(yōu)的移動方針,以防止碰撞,同時為了防止清掃機器人行走到臺階處跌落。使用超聲波傳感器可以實時探測機器人與障礙和地面之間的間距,當超過設置的臨界值時控制機器人轉向或后退,使其偏離軌道,避免碰撞和跌落。超聲波是頻率超過20kHz的,人類不借助儀器無法觀測到的聲波。本機器人選擇HC-SR04超聲波測距模塊,具有精度高(3mm),體積小,盲區(qū)小,低功率,低成本,動態(tài)性能穩(wěn)定的特點,在2厘米至400厘米的非接觸范圍檢測效果非常出色,可廣泛應用于各種移動機器人項目,如圖3-14所示。該模塊由兩個陶瓷壓電式超聲波傳感器,外加一個數(shù)據(jù)處理電路構成。其中一個是超聲波發(fā)射器,發(fā)出8個脈沖信號,具有40KHz的頻率,另一個是接受反射的脈沖信號的超聲波接收器。若已發(fā)送的信號被收到,則會產生一條可以被用來決定該信號在空氣中傳播時間的輸出脈沖。圖3-14HC-SR04模塊圖圖3-15HC-SR04電路原理圖該模塊由有Vcc、Trig、Echo、GND四個管腳,電路原理圖見圖3-15所示,其具體作用是:Trig控制所發(fā)射的超聲波信號,被反射的回波由Echo采集,VCC由直流5V供電,GND與STM32F103ZET6共地連接,HCSR-04的基本電氣參數(shù)如表3-1所示:表3-1HCSR-04的基本電氣參數(shù)工作電壓DC5V工作電流15mA運行頻率40KHz最大范圍4m最小范圍2cm測距精度3mm測量角度15°觸發(fā)輸入信號10μsTTL脈沖尺寸45mm*20*mm15mm3.9供電系統(tǒng) 本設計由多個模塊組成且供電電源要求不同,電機供電電壓DC12V,超聲波傳感器、ADXL345供電電壓DC5V,STM32芯片供電電壓3.3V,因此設計供電系統(tǒng)滿足系統(tǒng)的供電需要。供電電源選擇11.1V可充電鋰電池,如圖3-16所示,由三節(jié)鋰電池電芯組成,容量為3300mAh,尺寸為25.7mm*29mm*91.3mm,使用T插接頭。鋰電池優(yōu)點是綠色、安全、電壓平穩(wěn)、可以在任何時候充電、持久耐用。圖3-16鋰電池實物圖為提供3.3V和5V的電壓,本系統(tǒng)設計降壓電路,使用兩個LM2596SDC-DC可調降壓模塊,如圖3-17所示,寬電壓輸入,最小2.5V,最高不要36V,采用旋轉式電位計可使輸出的電壓在1.25V到35V之間,輸出的電壓波動在30毫伏以下,并且具有3A過熱和短路保護。圖3-17LM2596S實物圖圖3-18LM2596S電路原理圖4軟件設計4.1主程序程序采用模塊化設計,將各個傳感器的驅動程序都封裝成庫函數(shù),編寫主函數(shù)時將超聲波傳感器、三軸加速度傳感器、電機和霍爾編碼器一一初始化,最后在while中執(zhí)行路徑算法,流程圖如4-1所示。清掃機器人出發(fā)點和終點位于房間的對角線的兩點上,開始向前移動,當超聲波傳感器檢測到前方存在墻壁時,控制電機降低轉速,機器人向右旋轉90度,角度通過ADXL345檢測并反饋給單片機從而控制旋轉角,隨后清掃機器人前進M的距離,M為機器人吸塵器口的寬度,再向右旋轉90度繼續(xù)前進;當下一次檢測到墻壁時,向左旋轉兩次繼續(xù)前進。重復以上步驟實現(xiàn)對室內地板的清潔工作。圖4-1主程序流程圖4.2超聲波驅動程序HC-SR04的工作方式如下:向Trig管腳提供高電平的脈沖,保持時間最少在10μS以上,觸發(fā)后可發(fā)射8個40千赫的方形波,等待被反射的回波;若有回波,Echo管腳會生成一個高電平信號,通過其保持的時間即可算出與前方物體的距離,具體時序如圖4-2所示。此外,在高溫或低溫條件下,大氣中的聲速會受到氣溫T和濕度H的影響,此時聲速計算應按照V聲速=331.4+(0.606*T)+(0.0124*H)來計算。圖4-2HCSR-04控制時序圖初試化過程如下:流程圖如圖4-3所示,配置單片機和Trig連接的IO推挽輸出,和Echo連接的IO下拉輸入;單片機發(fā)送10us的高電平脈沖到Trig管腳;待Echo端輸出高電平時觸發(fā)TIM2開始向上計數(shù),直到Echo端輸出下降沿停止計數(shù),計數(shù)值為高電平持續(xù)的時間;掃地機與障礙物之間的距離(cm)=(TIM2->CNT*聲速(340M/S=0.034cm/us))/2≈TIM2->CNT/58圖4-3HC-SR04初始化流程圖4.3ADXL345驅動程序ADXL345支持IIC或SPI的數(shù)字接口接入,為了節(jié)約MCU的IO端口,該方案使用IIC模式,輸出為數(shù)字量。利用STM32F103的普通IO口PA4和PA5模擬IIC時序,實現(xiàn)和ADXL345的雙向通信。當ALTADDRESS接地時,ADXL345的IIC地址為0X53,0X3A寄存器寫入數(shù)據(jù),0X3B寄存器讀取數(shù)據(jù)。初始化步驟如下:流程圖如圖4-4所示,通電之后延遲1.1ms;初始化IIC總線;讀取器件ID;初始化五個寄存器,即0X2D(節(jié)能性能控制)、0X2C(數(shù)據(jù)傳輸速率和功率模式控制)、0X31(數(shù)據(jù)對齊方式控制)和0X2E(中斷使能控制);單片機與ADXL345進行雙向通信圖4-4ADXL345初始化流程圖讀取3個方向的重力加速度值的具體方式是不斷的查詢。讀取到的ADXL345的X,Y,Z方向的加速度值用ax,ay,az代表,∠X為X軸方向角度偏移量,∠Y為Y軸方向角度偏移量,∠Z為∠∠∠4.4電機驅動程序XY-160D電機1號端口控制信號的邏輯如表4-1所示,2號端口控制邏輯與1號相同。表4-1XY-160D控制邏輯IN1IN2ENA1OUT輸出00×剎車11×懸空10PWM正轉調速01PWM反轉調速101全速正轉011全速反轉該系統(tǒng)使用XY-160D模塊對直流電機進行控制,一個模塊可以驅動2個直流電機。例如1號端口,由邏輯圖可以看到,使能端ENA1為高電平時電機處于運行狀態(tài);ENA1為低電平時處于停止狀態(tài)。若想要控制電機正轉,在ENA1為高電平條件,IN1拉高,IN2拉低;IN1拉低,IN2拉高,電機反轉。STM32輸出PWM信號可實現(xiàn)對電機轉速的控制。PWM是一種利用單片機輸出的數(shù)字量對模擬回路控制的高效技術。本設計利用TIM3產生PWM,PWM輸出連接驅動器的使能端,初始化流程圖如圖4-5所示,圖4-5電機初試化流程圖4.5編碼器驅動程序STM32定時器強大之處在于它有多種工作狀態(tài),主要有輸入捕獲、輸出比較、PWM、編碼器接口等模式。本設計用到了定時器的編碼器接口模式,通過定時器配置兩個IO獲取編碼器的A相和B相信號,判斷兩路輸入信號的頻率和相位差,從而求出電機的轉動方向和轉速。與常規(guī)IO端口相比,定時器的編碼器模式具有較強的抗干擾能力,例如,當輸入端出現(xiàn)了毛刺時,該計數(shù)器仍能工作,而一般的IO端口要做到這一點,就必須人工增加一套程序。編碼測測速方式主要有M法、T法和M/T法三個方式。由于本設計使用增量的霍爾編碼器,所以測量方式主要用M方法,又稱頻率測數(shù)方法,即通過收集在一個固定時間段內編碼器發(fā)出的脈沖數(shù)量,以測算電機速度。編碼器每轉動一圈的脈沖數(shù)量為N,若在一時間段T內編碼器的輸出脈沖總數(shù)量為M個,則發(fā)電機轉動速度為:n=MNT。根據(jù)公式,可得出以下結論:轉動速度n與時間段內脈沖總數(shù)量M成正比JGA25電機后軸旋轉一次,產生12個脈沖,又因轉速比為1:34,從而電機的輸出軸旋轉一圈產生408個方波,再經過4倍頻技術,AB兩相每次電平的跳變都計數(shù),如圖4-6所示,那么每轉一圈輸出的脈沖總個數(shù)將變成為1632個,極大提高了測速的準確性。圖46編碼器倍頻初始化過流程圖如圖4-7所示,圖4-7編碼器初始化流程圖5系統(tǒng)測試5.1綜合能力測試智能清掃機器人遇到障礙物時能進行180度的旋轉并與原來的軌跡偏移M吸塵口寬度的距離,測試情況如圖5-1所示。通過反復試驗,本方法可達到96%覆蓋率。圖5-1綜合能力測試5.2供電系統(tǒng)測試圖5-3鋰電池電池電壓測試鋰電池充滿電后的所測電壓如圖5-3所示。圖5-45V降壓測試圖5-53V3降壓測試LM2596S的IN+和IN-分別接DC12V鋰電池的正負極,萬用表的正負極分別接在OUT+和OUT-上測量被降壓后的電壓,如圖5-4和圖5-5所示。5V輸出用作超聲波傳感器、三軸加速度傳感器和霍爾編碼器的供電電源,3.3V用作單片機的供電電源。第六章總結與展望本文所做的研究工作是設計了以STM32F103ZET6為控制單元的智能清掃機器人,重點研究了路徑規(guī)劃算法和避障方法,對該系統(tǒng)的硬件電路和軟件驅動進行了詳細的闡述。在現(xiàn)有軌跡規(guī)劃的基礎上,提出了一種以單元分解法為基礎的全覆蓋軌跡規(guī)劃算法。利用超聲

溫馨提示

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

評論

0/150

提交評論