張一迪
電子科技大學(xué) 四川 成都 611731
智能循跡小車作為電子自動化技術(shù)的代表產(chǎn)品,是一個較為典型的高科技綜合系統(tǒng)。在其工作過程中,囊括了很多在高新技術(shù)的使用,比如探測,傳感,識別,避障,掌控運行路線并作出相應(yīng)的決策等等,都是智能循跡小車的特點。和一些智能機器人相比,智能循跡小車的運行更加穩(wěn)定,其操作也更簡便。所以我認(rèn)為,智能小車可以稱得上是更優(yōu)秀的智能機器人,只是將機器人的雙腿變成了輪子。
根據(jù)設(shè)計要求,小車將會在開始階段攜帶小型物體,直行一段距離后,經(jīng)過多個180度彎道后直行,在指定地點投出物體,再直行一段距離后,識別出在右側(cè)的橋體,過橋之后通過門體結(jié)束運行。
1、運行主板。在本設(shè)計中,除了小車的基本結(jié)構(gòu)之外,選擇Raspberry Pi 3B+作為運行的主板,Raspberry Pi 3B+相比于其他的處理器,更接近于一個完整的系統(tǒng),我們可以在上面添加其他驅(qū)動器和軟件,例如OpenCV 和Python。同時作為一個處理速度更快的主板,更適合于尋跡小車的運行,不容易出現(xiàn)過程不連貫的情況。除此之外,作為一個體積有限,適用于其他情況的系統(tǒng),在有限體積內(nèi),我們需要為其他硬件留出足夠的組裝空間,在這樣的設(shè)計要求下,選擇廣泛電路板,連接PWM,GPIO 和電機。樹莓派的GPIO 端口連接電路板GPIO,PWM 用于控制之后所需要的硬件,電機選擇L298N,和其他電機相比它更穩(wěn)定也允許高電流通過。
2、傳感器選擇。在本次設(shè)計中,我更傾向于選擇超聲波傳感器,相比于其他設(shè)備,壓力傳感器分辨率較低,遙感效果差,光學(xué)傳感器也太需要天氣的支撐,一旦在惡劣天氣下很有可能停止工作,另外,紅外線感應(yīng)器也有其缺點,有時它的敏感性較差,反應(yīng)也不夠靈敏。在權(quán)衡了多種設(shè)備下選擇超聲波傳感器,首先通過Raspberry向引腳輸入信號,觸發(fā)該模塊的距離檢測功能。在激活之后該模塊將發(fā)送超聲波脈沖,并檢測是否有信號返回。最后,信號被檢測到,然后利用時間函數(shù)計算時間,從而計算出汽車與障礙物之間的實際距離。
3、釋放目標(biāo)物體設(shè)備選擇。在本次設(shè)計之中,除了基本的循跡過程之外,投放目標(biāo)物體到指定區(qū)域也是一項特殊的工作。權(quán)衡之下選擇機械臂,的確其成本較高,并且體積較大,但是其優(yōu)點極其明顯,對于投放位置的把控非常精確,是其他設(shè)備所難以比擬的,相比之下,利用磁鐵控制難以確定位置,并且也容易被其他金屬設(shè)備干擾,并不適合這種精確要求,同時一種推放手臂也是可選擇之列,其體積較小并且很容易控制,但是相比機械臂還是不夠精確。機械臂的控制通過PWM 伺服機制就可以很好的驅(qū)動,其機械臂運動呈線性變化,所以,給定一定的脈沖寬度,它的輸出軸將保持在一個相應(yīng)的角度。
4、輪子驅(qū)動。相比于其他硬件,輪子的選用較為簡單。驅(qū)動方式選擇四驅(qū),雖然和雙驅(qū)相比成本偏高,但是四驅(qū)的穩(wěn)定性值得信賴。同時,在輪子和履帶的選擇上選擇輪子,雖然履帶有著輪子無法企及的優(yōu)點,根據(jù)這次設(shè)計的要求,在行駛正常道路之外,還有上橋的路線,履帶毫無疑問因為高摩擦性在這段行駛路線占有優(yōu)勢,但是因為履帶在轉(zhuǎn)彎方面也有著劣勢。在思考之下還是選擇輪子,因為其高靈活性更適合這個設(shè)計。
5、攝像頭選用。本次項目中選用300億像素攝像機,可與USB 其他模塊通訊。系統(tǒng)支持多種輸出形式。這臺攝像有兩個舵,可以左右旋轉(zhuǎn)180度,上下旋轉(zhuǎn)180度。同時這臺相機的作用首先是可以利用邊界識別算法對小車的下一次運動進行檢測,除此之外,可以通過在攝像機中的圖像對顏色進行識別,對上橋和過門都有很重要的幫助。
1、基于OpenCV 的Canny算法。由于樹莓派的運算速度并不夠快,所以也許不施加有效可靠的算法之外,得到的效果也是非常喜人的,但是在本設(shè)計中,除了所需要的效果之外,過程所需要的時間也很重要。Canny方法首先使用高斯濾波器對圖像進行平滑的處理。其次,計算各點的梯度和方向。第三,采用非最大抑制來消除邊緣檢測中的雜散響應(yīng),然后進行雙閾值檢測。檢測應(yīng)用于確定真實邊緣和潛在邊緣,最后通過抑制孤立的弱邊緣來實現(xiàn)邊界識別。在使用這種過程之后,可以發(fā)現(xiàn)即使不調(diào)整參數(shù),Canny方法的輸出效果也是很優(yōu)秀的。然而,這個輸出效果依舊需要提升。目標(biāo)路徑不夠清晰,因此需要降低噪聲,突出目標(biāo)路徑。
2、膨脹腐蝕算法。根據(jù)上面的描述,Canny算法可以說的上是很優(yōu)秀的輸出方式,但是降低噪聲來獲得更優(yōu)秀的輸出結(jié)果對小車運動方向極其重要。在這里選擇膨脹腐蝕算法。膨脹算法主要是對灰度值較大的像素進行擴展,用于突出目標(biāo)路徑。當(dāng)使用膨脹算法時,卷積后每當(dāng)中心點周圍的一次足夠多的點是高亮度的,中心點就將被設(shè)置為高亮度,否則被設(shè)置為低亮度。與膨脹算法相比,腐蝕算法是對灰度值較小的像素點進行擴展,其原理與膨脹算法相反,在這種情況下可以用來降低噪聲。
3、運動控制。根據(jù)邊界識別的結(jié)果,確定汽車運動的一種常用方法是先計算目標(biāo)路徑的質(zhì)心,然后用質(zhì)心位置來確定運動軌跡。首先,對于相機拍攝的照片,因為頂部和底部有一些部分將包含無用的圖像。因此圖片可以分為五個區(qū)域,分為中心區(qū)域,左部分,極左部分,右部分和極右部分(頂部和底部無用區(qū)域屏蔽掉)。如果目標(biāo)路徑的質(zhì)心位于其中某個區(qū)域,那么小車將按照該區(qū)域的名稱移動。例如,如果質(zhì)心位于極右區(qū)域中,小車就會向右轉(zhuǎn)。對于計算質(zhì)心,遍歷算法是常用且有效的,但因為Raspberry Pi的運算速度是較慢的。所以在這種情況下,使用一種改進的遍歷算法。并不是遍歷所有點,只表示目標(biāo)路徑的質(zhì)心的三行。在這種情況下,結(jié)果是相對準(zhǔn)確的,而速度將更快。
4、識別橋體。對于這個部分可以使用HSV 的格式檢測,HSV 作為一個非常典型的方式在這個設(shè)計中也很實用。通過攝像機定時拍攝路邊物體來檢測出橋體顏色,同時利用閾值對所需顏色的HSV 范圍進行調(diào)整,以適應(yīng)情況。
研究這類小車并不只是單純?yōu)榱伺d趣和探索,若能夠?qū)⑵溲邪l(fā)成熟,可以廣泛用于人類的生產(chǎn)生活之中,比如貨物的搬運,一些較為危險和狹小的地帶的檢測,或者軍用的掃雷用途等等,人類可以從這類人工智能受益無窮。