王偉柯 陳帥興 鐘協城 黃梓鑫 李德榮



摘要:本文研制的全地形小車結合了四輪越障車越障能力強勁的特點,以鋁件作為結構框架,并以樹莓派4b板為核心微控制器,觸須傳感器和灰度傳感器為輔助控制系統,直流減速電機為整體驅動系統,還采用卡爾曼濾波算法和增量PID控制算法控制小車整體的穩定運行,精確地控制小車的行進線路和行進姿態。該全地形小車能夠適應多種場地,并在啟動后能夠自主實現沿著黑色引導線行走、攀爬窄橋、跨越兩段式階梯、過隧道、識別指定顏色的氣球并爆破,最后在終點線處停下。該車全程行駛過程中,均無人干預和操控。
關鍵詞:全地形小車;樹莓派;灰度傳感器;觸須傳感器
中圖分類號:TH-39?????????????????????????? 文獻標志碼:A?????????????????????????? doi:10.3969/j.issn.1006-0316.2023.08.009
文章編號:1006-0316 (2023) 08-0063-07
Design and Development of All-Terrain Vehicle Based on Raspberry Pi Control
WANG Weike,CHEN Shuaixing,ZHONG Xiecheng,HUANG Zixin,LI Derong
( 1.School of Mechanical Engineering, Guangdong Ocean University, Zhanjiang 524088, China;2.College of Ocean Engineering and Energy, Guangdong Ocean University, Zhanjiang 524088, China )
Abstract:The all-terrain car developed in this paper features the strong crossing ability of four-wheel obstacle crossing vehicles, with aluminum parts as the structural framework and the raspberry pie 4b board as the core microcontroller. Tentacles sensor and grayscale sensor is used as the auxiliary control system, and DC deceleration motor is used as the overall drive system. Kalman filter algorithm and incremental PID control algorithm is used to control the overall stability of the car, which accurately controls the travel line and movement attitude of the vehicle. The all-terrain vehicle can adapt to a variety of venues. After the start, it can independently walk along the black guide line trail, climb narrow bridge, cross two section ladder, go through tunnel, identify balloons of specified color and explode them, and finally stopp at the finish line. During the whole driving process of the vehicle, there is no intervention and control from anyone.
Key words:all-terrain vehicle;raspberry pi;grayscale sensor;tentacles sensor
隨著無人控制系統、人工智能化技術的成熟,機械與電子技術實現向機電一體化的融合發展[1-2],如自動駕駛汽車、科學勘察車、月球車等[3]。基于該發展理念,各創新比賽也設置有智能越障小車、排爆機器人等賽道[4]。全地形小車作為智能車的代表,具有在不規則路面行走及攀越滑坡和階梯的能力,本文研制的全地形小車就是通過機械設計與電子信息結合,進行再編程設定環境,使其成為一種針對復雜道路狀況和環境的車輛,并具有機器人的特性。
1 機械結構設計
該全地形小車模仿四驅車的形狀設計,是一種小型化且便于拆裝的四輪二段式結構。小車根據各種路障的特點進行相關結構設計,包括電機安放位置的調整、輪子的選用、導向輪的設計,使其能夠通過窄橋、隧道、階梯、爆破等任務。最終搭建出一種擁有驅動電機、特殊輪子、導向輪機構的全地形小車結構框架。
在小車行走方面,采用了三種輪子方案,如圖1所示,其中方案一輪子由鋁輪片和塑料履帶組成,方案二為1:10模型輪胎套上塑料履帶,方案三為1:10模型輪胎上加海綿圈。經過20次的全程行走測試,得到數據如表1所示。
經多次模擬行走與測量發現,方案三雖然速度較慢,但其與障礙物之間的摩擦力大,能夠平穩地上下窄橋與階梯。因為海綿圈具有極好的柔韌性,當小車有沖擊力時,海綿被階梯壓縮,能夠增大與階梯表面的接觸面積,增強摩擦力,完美解決了小車上不了階梯的問題。且因為海綿圈材料的特性,其行走時相互摩擦力較大,不會出現車子左右擺動的情況;而在隧道行走時,其與亞克力板的相互摩擦力又較小,使其能更好地轉動方向,不會出現輪胎卡住現象,還能夠進一步提高小車落地的緩沖性能,因此方案三合理可行。
對于小車過隧道的結構設計,嘗試了四種導向輪機構方案,分別對進行20次過隧道測試,得出了其通過次數、成功通過的平均用時及在出口處的偏轉角度,如表2、圖2所示。
由表2可以看出,方案三為最佳方案,前導向輪圓弧狀的支架,讓全地形小車在管道入口處碰到邊緣時能夠順利滑進隧道,提高了容錯率;后導向輪使后車輪在轉向時都不會有碰到管道內壁的現象,大大提高轉向性能,使全地形小車能夠精準地在隧道內拐彎行走。
小車的排爆部分如圖3所示[5]。設計一個卡槽結構,讓攝像頭卡在卡槽內。為了使小車能夠進行精準爆破,將舵機安裝在攝像頭正上方。通過測量氣球與小車的距離,采用10 cm鋁桿作為舵機桿件,識別氣球后進行180°的旋轉扎破氣球[6]。
1.2.3 整體車型結構
為了實現小車的輕量化,小車的中間骨架只用了一塊桁架連接。用了兩塊舵機架以延長車身,且易于加裝滑軌。滑軌特殊的孔位剛好能夠適配18 mm孔位的減速電機。骨架前端位置加裝一塊鋁平板,用于固定導向輪機構、觸須傳感器、電池夾持架。電池夾持架能夠夾緊兩個電池,且易于拆卸,方便電池充電和更換備用電池。利用四根螺栓與兩塊連桿將樹莓派固定在中間骨架上,使得重心分布均勻,保證了小車的速度和靈活性[7]。小車二維工程圖如圖4所示。
2 硬件模塊
樹莓派是一種基于Linux操作系統的微型電腦電路板[8],其優點為:①卡片非常小,但具有電腦大部分的功能;②以SD/MicroSD卡為內存兼硬盤;③卡片主板有多個USB接口和一個以太網接口,可以連接鍵盤、鼠標、網線、顯示器等外圍部件;④支持Python、C、Scratch等多種編程語言。
為了更好地將電機驅動模塊與電源轉換模塊結合,且樹莓派需要用到USB供電,而電池是DC接口,因此設計了一個由TB6612芯片控制、可由DC接口轉換成5 V的USB接口裝置的一款電機驅動器。該電機驅動器能夠使兩塊鋰電池分別給樹莓派和電機供電,其原理圖如圖5所示。
灰度傳感器能夠利用不同顏色的檢測面對光反應不同、其阻值也不同的原理來進行顏色深淺檢測。其尋線信號準確穩定,使得尋線更加精準,且輸出信號可以是模擬量或者數字量,非常方便使用。當灰度傳感器處在黑色區域上方時,輸出的數字為“1”,當灰度傳感器處在白色或其他顏色較淺的區域上方時,輸出的數字為“0”[9]。通過IO口AIN1、AIN2、BIN1、BIN2來控制電機的正反轉。具體邏輯表3所示。
四個灰度傳感器配合電機的正反轉和左右差速,使小車不論是在隧道內還是隧道外都能靈活完成左右轉、直走等功能,實現循跡。
當小車處在黑線右邊較少時,通過控制左右電機速度,實現差速偏移,使得小車往左小幅度偏移,回到正軌;當小車處在黑線右邊較多時,左右電機差速較大,使得小車能夠往左大幅度偏移,回到正軌。同理,小車處在黑線左邊較少或較多時,也能夠通過改變左右輪差速使得小車回到正軌。當小車本身就處于正軌時,左右電機差速為0,小車直行[10]。具體邏輯如表4所示。
小車在過彎道時角度旋轉會很大,一般小車在隧道內依然會通過調節兩邊車輪的轉速差進行轉彎,但這種調節方式使得小車在隧道內旋轉角度很小。因此采用兩邊車輪方向差,進行原地旋轉過彎。使用觸須傳感器來檢測小車是否進入隧道,如圖6所示。觸須傳感器是一種仿生類的數字量傳感器。在觸須傳感器的觸須碰到障礙時,會彎曲觸碰到開關,從而讓電流形成一個回路而發送數據信號,原理如圖7所示。小車加裝這個模塊后,在過隧道時會讓觸須碰到隧道頂部使觸須彎曲形成一個閉合回路,有效區分了小車處于直線行駛還是隧道過彎,從而設置彎道與直線的調節力度[11]。
經過多次測試發現,由于隧道內空間狹窄,行駛過程中四個灰度傳感器只有一個會識別到黑線。此時的運行邏輯如表5所示。
樹莓派USB攝像頭通過透鏡生成投射到圖像傳感器表面上的場景的光學圖像,然后轉換成電信號,再由轉換器轉換成數字圖像信號,最后被發送到正在處理中的數字信號處理芯片。通過USB接口與計算機重新處理時,圖像可以通過顯示器看到。USB攝像頭讀取圖像的速度較快,且可以獲取到場景圖像。還可以利用opencv庫對圖像進行處理。在實際測試中,發現小車不用停止就能快速識別得到色卡與氣球顏色,從而提高時間的利用率[12]。
舵機是由直流電機、減速齒輪組、傳感器和控制電路組成的一套自動控制系統。顏色識別完成后,通過發送信號,指定輸出軸旋轉角度,完成扎氣球動作。
3 軟件模塊
while True:
_,frame=cap.read()
for i in range(3):
img = frame.copy()
img = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)
mask=cv2.inRange(img,lowers[i],uppers[i])
if(np.mean(mask)>color_num):
res.value = i
break
else:
res.value = -1
if(on == 1):
GPIO.output(AIN2,GPIO.LOW)
GPIO.output(AIN1,GPIO.HIGH)
GPIO.output(BIN2,GPIO.LOW)
GPIO.output(BIN1,GPIO.HIGH)
on = 0
if(h3==1? and h4!=1):
motor(leftlow)
elif(h3!=1 and h4==1):
motor(rightlow)
elif(h1==1 and h2!=1):
motor(lefthigh)
elif(h1!=1 and h2==1):
motor(righthigh)
else:
motor(string)
當總開關打開,灰度傳感器等模塊開始工作,USB攝像頭單獨工作。觸須模塊的觸發與否決定了兩套不同的循跡方案的使用。如果觸發,則表明在隧道內,此時使用隧道內的循跡方案;如沒被觸發,則使用隧道外的循跡方案。不同的循跡方案,決定著左右電機不同的轉動方向和差速,靈活地實現循跡。程序的不斷循環,使得小車能夠不斷調整,始終在黑線正上方行駛。行駛過程中攝像頭一直處于開啟狀態,當識別到目標顏色時,能夠及時驅動舵機完成排爆任務,如沒獲取到目標顏色,舵機則處于待機狀態,等待接收指令。因此整個過程中小車無需停下來完成某一任務,總時間大大減少。舵機完成動作后,程序繼續運行4 s,之后自動關閉。流程圖如圖8所示。
4 結語
經過多次測試與調試,經歷了四代小車的更替,完成了設計-制造-調試的循環過程,成功制作出一種以樹莓派開發板為核心控制板,能夠獨立尋跡行走,順利完成窄橋、隧道、爆破任務的全地形小車,并首次嘗試了觸須傳感器,實現在隧道內外擁有兩種不同的循跡模式。該全地形小車有著獨特的輪子構造、獨立的驅動力和有強大的行動力,完全能夠應付復雜的地形。小車設計以四輪驅動為主要動力來源,四個輪作為一個整體進行驅動,提升整個小車的驅動力、行動力、穩定性。最后進行多次測試,得出全地形小車依次完成各種障礙的成功率達到95%,且均能在30 s內完成。因此,該全地形小車設計方案無誤,各項指標穩定,達到了預期目的。
參考文獻:
[1]牟文昌加,陳建宏. 基于ATMEGA328控制器的全地形小車的設計與實現[J]. 自動化技術與應用,2020,39(10):14-18.
[2]黃金虎,盧剛,王俊. 基于dsPIC30f4012的越障小車控制系統設計[J]. 微特電機,2012,40(6):50-52.
[3]任玲玲,李浪,閆庚龍,等. 基于Arduino的藍牙智能避障小車設計[J]. 電子制作,2022,30(19):27-30,97.
[4]鄭才國,肖梁. 全地形小車設計與實現[J]. 現代機械,2019(3):44-47.
[5]鄭靈潔,胡曉軍,陳靜儀,等. 基于探索者平臺的全地形機器人設計與實現[J]. 湖州師范學院學報,2021,43(2):70-73.
[6]劉孝賢,余江,鄭徐凱,等. 基于STM32的全地形越障排爆機
器人設計[J]. 機械,2022,49(9):76-80.
[7]陳奎,張峻源,楊明月,等. 基于Arduino單片機的全地形小車設計[J]. 海峽科技與產業,2019(4):39-41.
[8]姜宗元,劉茜,李天,等. 基于樹莓派的汽車安全智能防護系統的設計[J]. 電子世界,2017(18):127-128,133.
[9]苗慶龍,羅江濤,姜浩楠,等. 基于Arduino單片機的智能越障循跡車[J]. 機電一體化,2018,24(7):44-48.
[10]李志強,康欽清,肖玉亮,等. 基于Arduino的智能小車設計與實現[J]. 無線互聯科技,2022,19(16):43-46.
[11]谷安,謝清華. 機器人觸須傳感器的設計[J]. 傳感器與微系統,2006,25(6):83-84,88.
[12]陳小龍. 基于灰度傳感器的智能小車避障尋優系統設計與實現[J]. 中國信息化,2018(2):66-67.