黃恒一 付三麗
(三亞學(xué)院,海南 三亞 572022)
科技在不斷進步,智能化的設(shè)備不斷普及和應(yīng)用,促使機械化自動化的設(shè)備應(yīng)運而生,由于現(xiàn)實生活環(huán)境中的一些極端天氣條件及人類不便作業(yè)的地方對智能機械化作業(yè)的需求,因此,用機械臂代替人類雙手完成某些工作是有必要的,特別是在一些特殊的場合,比如警察在碰到炸彈時由于環(huán)境危險,可利用履帶機器人完成工作;還有在存在毒氣、狹窄的縫隙,崎嶇的山地,需要搬運一些有輻射的物體,這些場景都能體現(xiàn)機械臂智能車的優(yōu)勢[1]。本文設(shè)計了一款手機藍牙無線監(jiān)控智能車,具有低成本、便捷性、易操作等特點。
本文設(shè)計的智能手機控制機械臂智能車能實現(xiàn)對目標(biāo)區(qū)域物品的實時監(jiān)控及抓取作業(yè)。該智能車的優(yōu)勢是操作便捷,容易上手,同時智能車主體硬件部件構(gòu)造簡單,除無線抓取功能之外,還可以實現(xiàn)目標(biāo)區(qū)域圖像信息的回傳顯示監(jiān)控[2,3]。
智能車Arduino單片機核心控制模塊負(fù)責(zé)控制小車的各種操作以及連接各模塊;BT18藍牙通信模塊用于智能手機與遙控履帶車的信息交互,負(fù)責(zé)將接收APP發(fā)出的指令傳輸?shù)絾纹瑱C中從而進行遠距離通信;電源模塊選用兩節(jié)4.2v電池電源供電;驅(qū)動模塊利用舵機控制機械臂抓取功能完成抓取作業(yè);監(jiān)控模塊選用WIFI數(shù)傳,實時在手機上傳輸視頻;驅(qū)動模塊驅(qū)動兩臺微型直流電機,使履帶車實現(xiàn)前進后退轉(zhuǎn)向功能[4]。
本文設(shè)計的機械臂智能車硬件部分分為5個模塊,分別是Arduino板核心控制模塊,監(jiān)控模塊,藍牙通信模塊,電源模塊,驅(qū)動模塊。其中主控模塊用于實現(xiàn)智能車主體各種功能的控制及數(shù)據(jù)的處理;藍牙模塊用于智能車與用戶之間的數(shù)據(jù)交互;驅(qū)動模塊實現(xiàn)智能車機械臂的控住操作;監(jiān)控模塊實現(xiàn)智能車主體攝像頭與目標(biāo)區(qū)域圖像信息的采集;電源模塊用于實現(xiàn)對智能車主體部件的電源供電。
圖1 智能車俯視圖
圖2 智能車帶監(jiān)控模塊圖
圖1為不含外接監(jiān)控模塊智能車主體,圖2所示為含外接監(jiān)控模塊藍牙智能車主體,圖2所示為手機監(jiān)控端可以通過WiFi的方式接收智能車主體上攝像頭回傳的監(jiān)控畫面[5]。
2.2.1 智能車外接監(jiān)控模塊
智能車外接監(jiān)控模塊選用工作電壓5V工作電流1.0A的WiFi智能模塊,智能車搭載這個模塊來實現(xiàn)圖像信息的傳送,本模塊供電口為5V充電寶進行供電,USB接口連接攝像頭再通過手機APP連接設(shè)備的WiFi即可實時視頻傳輸。
圖3 監(jiān)控模塊外接電源接口
圖4 監(jiān)控模塊外接免驅(qū)攝像頭接口
圖3、圖4監(jiān)控模塊相關(guān)外接部件配置完畢后,用戶即可實現(xiàn)對智能車外接監(jiān)控圖像信息的回傳查看。
圖5 智能車監(jiān)控測試
圖6 PC端監(jiān)控回傳圖像信息
由圖6可知,當(dāng)智能車處于正常運行時,與智能車車身路由器網(wǎng)關(guān)處于同一局域網(wǎng)環(huán)境中的終端設(shè)備,也可以通過瀏覽器端實現(xiàn)對監(jiān)控圖像信息的回傳查看。
2.2.2 智能車機械臂模塊
文中智能車機械臂模塊選用三個MG90S舵機,其中兩個為一個整體,兩個舵機配合來完成機械臂的移動功能,第三個控制機械爪的張開閉合。通過stm32本身的PWM端口生成相應(yīng)的波形,編程用于控制機器手臂的動作程序以實現(xiàn)對舵機的控制。
MG90S舵機工作其原理是控制電路接收來自信號源的控制脈沖,驅(qū)動電機轉(zhuǎn)動,齒輪將速度呈大倍數(shù)降低,并將輸出扭矩放大到響應(yīng)倍數(shù),然后輸出;電位器隨末位動級轉(zhuǎn)動,測量舵機的轉(zhuǎn)角角度;電路板根據(jù)電位計檢測判斷舵機的轉(zhuǎn)角角度,然后控制舵機轉(zhuǎn)動到目標(biāo)角度或保持在目標(biāo)角度。為了模擬舵機轉(zhuǎn)向,外部控制器必須輸出PWM信號,以指示舵機的旋轉(zhuǎn)角度。舵機控制器所需的編碼信息是脈沖寬度。舵機的控制脈沖周期20ms,脈寬范圍0.5ms~2.5ms,分別對應(yīng)-90o到+90o的位置(對于180o舵機)。
用戶手機端APP通過發(fā)送控制機械臂爪子不同的指令至智能車主控芯片,通過智能車主控芯片進行解碼,來控制智能車機械臂手臂產(chǎn)生不同的效果[6,7]。
圖7 智能車機械臂控制端APP
圖8 智能車機械臂小臂
智能車軟件部分分為三部分,分別為機械臂小車運行狀態(tài)用戶控制端手機APP軟件、智能車芯片主程序及智能車監(jiān)控端手機APP。
2.3.1 程序設(shè)計流程
總體程序流程分為三個部分,第一個部分主要用來控制小車的運動以及舵機的運轉(zhuǎn),也就是機械臂的控制;第二部分控制圖像傳輸;第三個部分是智能車主體芯片程序。
圖9 程序設(shè)計流程圖
其中,智能車主控芯片程序是通過Keil軟件進行開發(fā);手機控制端APP適合初學(xué)者使用的網(wǎng)頁制作平臺,在MITApp inventor平臺上,可以通過拖動各種功能按鍵實現(xiàn)軟件的制作,組件設(shè)計和邏輯設(shè)計都十分方便;智能車監(jiān)控端手機APP,最佳的方案是利用Java語言在eclipse IDE進行開發(fā)[8,9]。
2.3.2 APPInventor程序設(shè)計
APPInventor2是一個在網(wǎng)頁上就能進行操作的可視化安卓應(yīng)用程序制作平臺。用戶只需要使用瀏覽器打開APP Inventor2的平臺網(wǎng)站,使用賬戶登錄后即可通過拖拽組件和邏輯塊來完成安卓應(yīng)用程序的制作,操作十分簡便,入門門檻較低,不同于傳統(tǒng)的APP制作開發(fā)需要Java語言的基礎(chǔ)和Android應(yīng)用開發(fā)的基礎(chǔ),而且其應(yīng)用領(lǐng)域十分廣闊。
論文中智能車用戶控制端APP是在APPInventor2開發(fā)平臺上開發(fā)完成的,主要是用來遙控機械臂智能車的各種功能,對小車發(fā)送前進、退、左轉(zhuǎn)、右轉(zhuǎn)、機械臂模塊的相關(guān)指令功能。
圖10和圖11所示為智能車用戶端APP軟件設(shè)計的相關(guān)界面。
2.3.3 智能車監(jiān)控端APP的設(shè)計
監(jiān)控端APP通過準(zhǔn)備好JDK,android SDK,ADT和開發(fā)工具Eclipse構(gòu)建APP開發(fā)平臺,采用Java語言編寫。
圖10 APP界面端
圖11 APP邏輯代碼界面
圖12 監(jiān)控APP開發(fā)組件
圖13 監(jiān)控APP開發(fā)界面
通過圖13可知道,所開發(fā)的監(jiān)控端APP,可以實現(xiàn)對目標(biāo)區(qū)域圖像的實時監(jiān)控及抓拍[10]。
論文設(shè)計的機械臂智能車可以在一些極端條件下輔助人類進行相關(guān)作業(yè)。雖然智能車還存在避障、傳感、自主導(dǎo)航等一些技術(shù)問題需要進一步拓展研究,但是相信隨著科技的進步,未來人們可以通過機器人和機器車來代替人們?nèi)ヌ幚硪恍┪kU、困難、艱苦的工作,使科技服務(wù)于人類,推動社會的進步。