許宗喆
摘要:本文設(shè)計開發(fā)了一臺基于Arduino Mega 2560單片機的可遙控智能勘探避障小車,小車由機械結(jié)構(gòu)、控制系統(tǒng)、圖傳系統(tǒng)構(gòu)成。機械結(jié)構(gòu)包括車架與行駛單元,在物理層面保證小車的運動、抓取排障、電子元件布局等功能??刂葡到y(tǒng)包含上位機和下位機系統(tǒng),上位機由顯示屏、按鍵等構(gòu)成,實現(xiàn)遠程控制小車及開關(guān)車燈等功能;下位機由電機驅(qū)動、溫濕度傳感器等構(gòu)成,實現(xiàn)運動、測量溫濕度、距離和抓取障礙物等功能,兩者由ZigBee模塊實現(xiàn)數(shù)據(jù)交互,實現(xiàn)了實時傳輸圖像、溫濕度和距離數(shù)據(jù),聲光報警和智能排障等功能。圖傳系統(tǒng)將小車端周圍的情境實時傳回控制者,以便及時做出反應(yīng)。實驗證明小車的避障性能、排障性能、環(huán)境勘探功能良好,且抗干擾能力強。
關(guān)鍵詞:遠程勘探;無線傳輸;避障排障;單片機
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2018)22-0202-04
1如今,隨著科技的發(fā)展,大量的機械自動化裝置被人們廣泛運用在工業(yè)生產(chǎn)與制造中,智能小車的運用卻大部分被限制在自動化循跡避障方面。文獻[1-4]都各自用了不同的方法,分別從循跡傳感器、紅外線傳感器等多個方面開發(fā)了小車的循跡避障的功能。由于其體積小,可搭載多種傳感器及電子元件的特點,智能小車在地質(zhì)勘探中能起到很大的作用。過去地質(zhì)探測通常由實驗人員完成,該方法由于環(huán)境的未知因素往往會對實驗人員造成安全隱患。智能小車的出現(xiàn)讓機器代替了人工,為該問題提出了解決方案。但目前小車在地質(zhì)勘探中更多的只起到了勘探的功能,在遇到障礙時更多采用人工排障,十分麻煩而且浪費時間。為了滿足科學研究對未知區(qū)域探求日益增加的需求,研究設(shè)計并開發(fā)一臺可以遠程遙控的用于地質(zhì)勘探的小車,在之前勘探功能中增加自動避障程序和機械臂,不僅具備排障功能,還使小車具備了采樣功能,可以更好地代替人工在危險和狹小區(qū)域?qū)Φ匦魏椭車h(huán)境進行全面的檢測,并在遇到小型障礙物時自動躲避或遠程控制排除障礙,具有較強的越野及排障能力,能夠自行采集環(huán)境數(shù)據(jù)并將其傳送至上位機顯示屏。
1 機械結(jié)構(gòu)
機械結(jié)構(gòu)作為所有指令的執(zhí)行端,首先要搭載所有的電子設(shè)備并盡可能防止粉塵和水等的干擾,還要考慮機械臂在裝夾和搬運物體時的重心問題,最后也必須保證小車有較強的越野能力。
根據(jù)其功能主要分為三部分構(gòu)成:車架部分、行駛部分、抓取部分,如圖1所示。其中,車架含有機械臂工作區(qū)、電子器件搭載平臺及電池固定區(qū);行駛單元主要是電機減速器和履帶;抓取機構(gòu)是由高轉(zhuǎn)矩舵驅(qū)動的四自由度機械臂。
1.1 車架部分
預(yù)留出兩塊表面噴涂絕緣漆的平臺分別用于安裝電子元件和固定機械臂。電子器件搭載平臺搭載了包含單片機、通訊模塊等重要的硬件,位于小車頂部,部分傳感器和電機驅(qū)動器的散熱器直接與外界空氣接觸。由舵機搭載的超聲波傳感器與圖傳系統(tǒng)置于小車右側(cè),與置于左側(cè)的機械臂分開,減小了由機械臂運動而對圖傳系統(tǒng)和超聲波傳感器帶來的誤差。聲光報警器位于小車中心,方便觀測。溫濕度傳感器遠離機械臂,電機驅(qū)動等大功率元件放置,防止電流放熱對測量數(shù)據(jù)造成影響。
機械臂工作區(qū)主要用于安裝一個四自由度的機械臂,并有足夠的運動空間。將其安裝基座固定在小車運動前方的一塊較小平臺處,放置于小車中軸線上能快速地夾取四周障礙物,且在后端配重保證越野過程中的重心穩(wěn)定。此抓取裝置為四自由度空間關(guān)節(jié)機械臂,由四個MG996R高強度舵機實現(xiàn)旋轉(zhuǎn)功能,每個關(guān)節(jié)的旋轉(zhuǎn)范圍為0-270度,可保障在小車運動時,機械臂在一定范圍內(nèi)能正常排障。
電池固定區(qū)位于車架內(nèi)部,固定有一組電池,分別為一單片機為主的一系列硬件、圖傳系統(tǒng)和機械臂提供電源。
1.2 行駛單元
小車的運動由行駛單元實現(xiàn),兩個包含減速器的直流電機分別對稱放置于小車后端的兩側(cè),分別作用于左右兩個履帶。單側(cè)傳動含有一個后驅(qū)動輪、一個前導向輪、一個張緊輪和三個支撐輪。前導向輪懸高,使小車具有翻越小型障礙的能力。履帶則能讓小車適應(yīng)各種地形,起越障及防滑的作用。
1.3 抓取單元
抓取單元旨在將妨礙小車運動的所有障礙物移開,使用一個四自由度的機械臂實現(xiàn)全方位的排障,末端執(zhí)行器是一個強力夾子。機械臂的運動由舵機驅(qū)動,每個關(guān)節(jié)的運動范圍是0-180°,運動精度±0.5°,最大抓取質(zhì)量5kg。操作臂由上位機的兩個搖桿控制,并能通過圖傳系統(tǒng)的攝像頭清晰地看到,實現(xiàn)了人機快速順利交互的功能。
2 控制系統(tǒng)
控制系統(tǒng)由硬件和軟件共同構(gòu)成,分為上位機和下位機。上位機負責對小車運動進行控制,實現(xiàn)流暢地人機交互功能,下位機則對控制做出反應(yīng)并把測量出的溫濕度及距離等數(shù)據(jù)傳送給上位機。上位機與下位機通過ZigBee通訊模塊進行通訊,共同實現(xiàn)小車顯示實時數(shù)據(jù)、排障避障等功能。并采用C語言進行系統(tǒng)的編程,程序分為上位機程序模塊與下位機程序模塊,分別編入上位機和下位機的單片機芯片中。
2.1 上位機系統(tǒng)
2.1.1 主要元件介紹
上位機由搖桿、按鍵傳感器、TJC4024T032-011顯示屏、ZigBee通訊模塊以及arduino 2560單片機組成。
采用兩個搖桿,一個搖桿的兩個方向分別控制小車的進退和左右轉(zhuǎn)動,另一個搖桿的x方向控制1號舵機的水平旋轉(zhuǎn),y方向控制2號舵機的垂直旋轉(zhuǎn),實現(xiàn)180度范圍的超聲波距離探測以及四分之一球面的圖像傳輸。按鈕傳感器則負責小車前燈的開關(guān)。
顯示屏選用TJC4024T032-011顯示屏,用以顯示下位機傳感器通過通訊模塊傳送到上位機的數(shù)據(jù)。該顯示屏需要在使用之前使用數(shù)據(jù)線進行處理來調(diào)整顯示屏界面。單片機在收到數(shù)據(jù)以后,通過串口通訊將數(shù)據(jù)傳輸給顯示屏。共分三欄,分別顯示溫度、濕度和距離。以此達到人機快速交流的目的,滿足了勘探小車勘探地形地貌的基本需求。
選用Arduino 2560 單片機。Arduino 2560擁有四個通訊串口、53個數(shù)字引腳及15個模擬引腳,可以讀取搖桿的模擬數(shù)據(jù)以及按鈕的數(shù)字數(shù)據(jù),并實現(xiàn)通訊模塊與單片機、單片機與顯示屏的串口交流,可以滿足實驗要求。并且Arduino 2560單片機易于開發(fā),故采用Arduino 2560單片機作為主控板。
2.1.2 軟件控制
上位機程序用于采集搖桿和按鈕傳感器數(shù)據(jù),并將其轉(zhuǎn)換為下位機程序可以識別的格式從通訊模塊輸出,以及從通訊模塊接收下位機發(fā)出的數(shù)據(jù)顯示在顯示屏上。搖桿輸出的模擬信號介于0到1023之間,處于中間位置時輸出的信號為510。對于控制小車運動的搖桿,將運動數(shù)據(jù)前進設(shè)為“1”,后退設(shè)為“2”,左轉(zhuǎn)設(shè)為“3”,右轉(zhuǎn)設(shè)為“4”。分別將不同的搖桿信號對應(yīng)的運動數(shù)據(jù)設(shè)為1、2、3、4。對于控制舵機旋轉(zhuǎn)的搖桿,則直接將轉(zhuǎn)動角度作為輸出數(shù)據(jù),對于搖桿不同方向傳動帶來的不同模擬數(shù)據(jù),分別將轉(zhuǎn)動角度循環(huán)加1或減1,達到持續(xù)轉(zhuǎn)動的效果。按鈕傳感器控制小車前燈的開關(guān),采用按下變換的方法。當單片機檢測到由按鈕傳感器狀態(tài)變化帶來的電流變化時,則自動將電平信號在1和0之間變化,達成改變燈亮狀態(tài)的目的。上位機程序中同時還具備將ZigBee通訊模塊接收到的數(shù)據(jù)寫入顯示屏的功能。
2.2 下位機系統(tǒng)
2.2.1 主要元件介紹
下位機由L298N電機驅(qū)動、超聲波傳感器、溫濕度傳感器、三極管、arduino mega 2560單片機、舵機、蜂鳴器、ZigBee通訊模塊等構(gòu)成。
電機驅(qū)動采用L298N,精度高并且穩(wěn)定,有很高的可行性[5]。具有可以在接收單片機的運動指令后同時驅(qū)動兩個直流電機的優(yōu)點??梢栽趩纹瑱C的控制下完成對兩個履帶動力輪的驅(qū)動,并通過改變電流方向改變動力輪的轉(zhuǎn)動方向,用差速實現(xiàn)小車車身的轉(zhuǎn)動。驅(qū)動器同時具有將小車攜帶12v電源轉(zhuǎn)換為5v為單片機的功能。
同樣使用Arduino 2560單片機作為主控板,被用于控制電機驅(qū)動、舵機旋轉(zhuǎn)和前燈的開關(guān)。同時可以接收傳感器數(shù)據(jù),并傳送給通訊模塊。由于單片機沒有足夠的正負極電源串口,采用將正負極引出的方法為小車硬件提供電源。
1號舵機搭載超聲波傳感器及二號舵機,可進行在水平平面180度的旋轉(zhuǎn)。二號舵機搭載圖傳系統(tǒng),可在豎直方向進行90度的旋轉(zhuǎn)。在1號舵機和2號舵機的共同作用下,圖傳系統(tǒng)可以進行四分之一球面的旋轉(zhuǎn)并傳輸圖像??梢詽M足勘探小車全面探測地形的要求。
同時小車還搭載LED燈,以5v電磁繼電器為開關(guān),提供光源,為圖傳系統(tǒng)提供清晰的圖像。
2.2.2 軟件控制原理
下位機程序用于讀取上位機通訊模塊輸出的控制數(shù)據(jù),控制小車運動以及從通訊端口輸出傳感器讀取的數(shù)據(jù)。采用servo庫函數(shù),通過讀取上位機發(fā)送的轉(zhuǎn)動角度可以對舵機轉(zhuǎn)動角度簡便地進行控制。通過讀取運動信號來控制電機的正反轉(zhuǎn),從而實現(xiàn)小車前進后退左右轉(zhuǎn)的功能。同時還能夠按照車前燈控制數(shù)據(jù)來控制LED串口的高低電平,達到開關(guān)燈的目的。超聲波傳感器采用HC-SRO4,要采集超聲波數(shù)據(jù),先對trigpin出發(fā)串口發(fā)出一個持續(xù)10微秒的高電平來啟動傳感器,然后從echopin串口讀取傳感器收集到的數(shù)據(jù)。為了實現(xiàn)小車避障的功能,寫入緊急制動程序。若超聲波距離小于30cm(含車身)而且運動數(shù)據(jù)為1(前進),則將運動數(shù)據(jù)改為0(停止)。所以當前方障礙物與小車相距極近時,小車將不能前進,只能左右轉(zhuǎn)與后退。
2.2.3 機械臂控制原理
機械臂在整個排障避障小車中有著極其重要的作用,對機械臂靈活準確地控制是該控制系統(tǒng)中的關(guān)鍵環(huán)節(jié)。本系統(tǒng)中機械臂的運動控制不需工業(yè)現(xiàn)場中那樣精確,而是需要遠端操作者在控制時機械臂能快速靈活地響應(yīng)運動指令,主要包括機械臂的下列動作:基座左右旋轉(zhuǎn)、手臂下垂上揚、手臂前伸和后退、夾子夾緊和松開。因此采用運動開關(guān)[7],在使用單片機編程過程中,參照文獻[11],將上述8個動作的運動函數(shù)經(jīng)由機械臂逆運動學和位姿變換等理論模塊化[11],操作者在遠端只需要根據(jù)圖傳系統(tǒng)傳回的實時環(huán)境畫面控制8個運動開關(guān)即可。
2.3 通訊模塊
采用ZigBee通訊模塊,將上位機與下位機分別設(shè)為主節(jié)點與從節(jié)點。上位機的ZigBee通訊模塊被設(shè)置為主節(jié)點,可以接收下位機ZigBee從節(jié)點發(fā)送的溫濕度數(shù)據(jù)以及距離數(shù)據(jù),同時發(fā)送搖桿及按鈕傳感器的數(shù)據(jù)給下位機。下位機ZigBee通訊模塊設(shè)為從節(jié)點,負責發(fā)送傳感器數(shù)據(jù)以及接受上位機發(fā)送的搖桿及按鈕等數(shù)據(jù)。通過主從兩個節(jié)點的不斷通訊,實現(xiàn)的小車快速流暢的人機交互。
為了解決兩個單片機互相的通訊問題,在兩個程序中分別寫入拆分合并程序模塊。由于ZigBee通訊模塊無法一次性傳輸多個數(shù)據(jù),需要將需傳輸?shù)亩鄠€數(shù)據(jù)合并輸出。但得到傳輸數(shù)據(jù)的單片機并不能自動將合并的數(shù)據(jù)分開。為了使單片機能夠識別合并在一起的各種數(shù)據(jù),巧妙使用了分隔符的方法,在數(shù)據(jù)與數(shù)據(jù)之間加入分隔字母如a,b,c,d。例如 1a20b30c1d代表小車前進(“1”),1號舵機旋轉(zhuǎn)20度,2號舵機旋轉(zhuǎn)30度,車前燈亮。在單片機內(nèi)拆分時,對字符串依次進行檢測,若檢測到分隔字母,則把該字母以前,上一字母之后的字符串提出形成需要的數(shù)據(jù)。結(jié)果證明,該模塊可以將需要在通訊模塊之間傳輸?shù)臄?shù)據(jù)合并,然后轉(zhuǎn)換成可被傳輸?shù)淖址问捷敵?,并在單片機內(nèi)對字符串進行拆解,形成不同的數(shù)據(jù),已達到保持流暢通訊的目的。
3 圖像傳輸
采用1024*600,7寸的高清顯示屏,具有高亮度、高清晰度的特點,與12V電源相連接,同時使用高清攝像頭。為了防止由于攝像頭功率過大導致的電路過熱,在攝像頭接受端口放置一個散熱風扇,能夠在圖傳系統(tǒng)運行時對攝像頭實施快速降溫。顯示屏搭載于上位機上,攝像頭放于下位機,通過天線進行無線通訊。顯示屏搭載于下位機的二號舵機上,通過上位機搖桿的信號輸出,可實現(xiàn)在小車上半球面內(nèi)任意角度的旋轉(zhuǎn)。使觀察的方位更加全面。達到對四周環(huán)境進行全面?zhèn)刹斓哪康摹?/p>
4 實例分析
在完成硬件組裝及軟件編寫后,為了對小車性能進行更好的測試,分別在山地與城市中進行實驗。分別在距離上位機20m、50m、100m、200m處設(shè)置障礙,并遙控小車前進,對障礙進行抓取。經(jīng)過多次實驗,發(fā)現(xiàn)小車可以正常測量環(huán)境的溫濕度和障礙距離。發(fā)現(xiàn)山地平均溫度為28攝氏度,平均濕度為72%,城市的平均溫度為32攝氏度,平均濕度為67%。發(fā)現(xiàn)ZigBee的最大通訊距離為200米左右,圖傳系統(tǒng)的最大通訊距離為100米左右。在一百米以內(nèi)小車可以實現(xiàn)正常工作,并成功抓取物體并挪開物體,具有良好的勘探作用。
5 結(jié)束語
本文設(shè)計并開發(fā)了一種基于arduino的遠程勘探避障小車??梢酝ㄟ^小車搭載的圖傳系統(tǒng)及溫濕度傳感器讓控制者全面地了解被勘探環(huán)境,同時具有機械臂使小車具有小規(guī)模排障功能。實驗證明,小車具有良好的勘探及排障功能,可以在實際生活中被應(yīng)用推廣。創(chuàng)新之處在于結(jié)合了勘探小車的勘探功能與機械臂的排障功能,為探索工作提供了極大的便利,不足之處在于上位機的控制與下位機的執(zhí)行之間存在可察覺的時間差,系統(tǒng)整體的反應(yīng)速度還有待提升,可在上位機與下位機的執(zhí)行程序中進行結(jié)構(gòu)優(yōu)化來彌補此缺陷。
參考文獻:
[1] 張軍, 張海云,等. 基于Arduino單片機的微型智能自動循跡搬運車的設(shè)計[J]. 機床與液壓, 2018, 46(3): 43-46.
[2] 牛闖, 玉翰章,等. 基于STC89C52單片機的循跡智能車控制系統(tǒng)設(shè)計[J]. 電腦知識與技術(shù), 2013, 9(10): 2488-2492.
[3] 任艷艷, 宗占元. 基于STC單片機的紅外遙控智能車的設(shè)計[J]. 濟源職業(yè)技術(shù)學院學報, 2012, 11(1): 29-33。
[4] 龍桂鈴, 徐磊, 侯英龍. 基于單片機的智能車避障的實現(xiàn)[J]. 計算機與數(shù)字工程, 2011, 39(3): 182-184.
[5] 冷雪鋒. 基于PID的STM32智能小車機器人的設(shè)計[J]. 自動化技術(shù)與應(yīng)用,2016(11):121-126.
[6] 宋沖, 王洪濤, 吳聰,等. 基于HT32F1765機械臂小車設(shè)計[J]. 機床與液壓,2017, 45(5): 21-25.
[7] 韓團軍. 基于STM32RCT6的無線地面智能排障小車的設(shè)計[J]. 實驗技術(shù)與管理,2018,35(6): 151-155.
[8] 吳碩, 吳桐. 五自由度機械臂運動學系統(tǒng)建模與仿真[J]. 自動化與儀器儀表,2017,48(2):73-79.
[9] 張杰, 舒志兵, 張海榮. 基于計算機串口通信的機械臂運動控制[J]. 電氣應(yīng)用, 2007, 26(7):88-90
[10] 余樂,李慶,鄭力新,朱建清. 六自由度機械臂運動軌跡自動生成方法仿真與實現(xiàn)[J]. 華僑大學學報(自然科學版). 2018(03).
[11] John J. Craig. Introduction to Robotics: Mechanics and Control[M]. 2006: 78-100
[12] 李憲華, 張雷剛,等. 六自由度模塊化機械臂腕部工作空間量化對比分析[J]. 計算機應(yīng)用研究. 2017, 34(9):2666-2669.
【通聯(lián)編輯:張薇】