基于Arduino&Android小車的倉儲(chǔ)搬運(yùn)研究
第一章 緒 論
隨著信息技術(shù)和工業(yè)化的不斷發(fā)展,物流已經(jīng)得到了越來越多企業(yè)的關(guān)注。物流是一種先進(jìn)的組織方式和管理技術(shù),是企業(yè)生產(chǎn)中不可忽視的重要環(huán)節(jié),一個(gè)高效合理的物流系統(tǒng),是企業(yè)降低生產(chǎn)成本、提高競爭力的重要手段。企業(yè)生產(chǎn)中必須把發(fā)展物流技術(shù)放在一個(gè)戰(zhàn)略的高度加以重視,尤其是在當(dāng)今信息傳遞速度不斷提高以及人們對(duì)速度的需求越來越高的狀況下,更要重視物流系統(tǒng)的高效性。
物流速度的提高依賴于兩個(gè)方面:一是物流運(yùn)輸速度的提高,二是倉儲(chǔ)中貨物運(yùn)轉(zhuǎn)速度的提高,F(xiàn)代運(yùn)輸基礎(chǔ)設(shè)施快速發(fā)展,公路、鐵路、航空等運(yùn)輸手段不斷升級(jí),這給物流運(yùn)輸速度的提高提供了良好的環(huán)境。倉儲(chǔ)是物流系統(tǒng)的核心節(jié)點(diǎn),所以提高倉儲(chǔ)貨物的運(yùn)轉(zhuǎn)速度成為提高物流速度的關(guān)鍵,而對(duì)倉儲(chǔ)中貨物的運(yùn)轉(zhuǎn)實(shí)質(zhì)是對(duì)倉儲(chǔ)中貨物進(jìn)行搬運(yùn)的一個(gè)過程,且搬運(yùn)作業(yè)貫穿于物品的入庫、存儲(chǔ)、出庫等各個(gè)環(huán)節(jié),搬運(yùn)活動(dòng)在物流鏈中起著銜接的關(guān)鍵作用。目前大多數(shù)企業(yè)倉儲(chǔ)搬運(yùn)工作都是由人工或者叉車等設(shè)備來完成,但這種方式存在投資高、效率低的問題,并且存在一定的安全隱患。據(jù)調(diào)查顯示,美國工業(yè)生產(chǎn)過程中裝卸搬運(yùn)費(fèi)用占總成本的 20%~30%,德國企業(yè)物流搬運(yùn)費(fèi)用占營業(yè)額的 1/3,日本物料搬運(yùn)費(fèi)用則占國民生產(chǎn)總值的 10.73%。在實(shí)際的生產(chǎn)工作中,由于貨物的重量大小不一,人工搬運(yùn)的過程中會(huì)出現(xiàn)人員無法搬運(yùn)的情況,導(dǎo)致物流速度延遲。很多企業(yè)在工作中忽略對(duì)搬運(yùn)人員進(jìn)行技術(shù)培訓(xùn),導(dǎo)致在倉儲(chǔ)搬運(yùn)活動(dòng)中也極易出現(xiàn)安全事故。目前物流行業(yè)已經(jīng)轉(zhuǎn)變?yōu)榻?jīng)濟(jì)增長方式的重要內(nèi)容,傳統(tǒng)的倉儲(chǔ)作業(yè)模式已經(jīng)無法滿足現(xiàn)代物流的發(fā)展,人工或者叉車搬運(yùn)效率低、安全性差的問題已經(jīng)成為倉儲(chǔ)搬運(yùn)發(fā)展的瓶頸。所以人們迫切需要找到一種能夠代替人工進(jìn)行簡單重復(fù)性操作,且投入少、效率高的機(jī)械設(shè)備,因此,搬運(yùn)機(jī)器人應(yīng)用而生。
……
國外對(duì)于搬運(yùn)機(jī)器人技術(shù)的研究始于 20 世紀(jì) 50 年代,,1953 年,美國 Barrett 電氣公司開發(fā)出世界上第一臺(tái)智能搬運(yùn)小車,標(biāo)志著搬運(yùn)機(jī)器人技術(shù)的開始。1954 年,英國研制出了一種基于電磁感應(yīng)的搬運(yùn)小車。20 世紀(jì) 60 年代到 70 年代,由于歐洲對(duì)于搬運(yùn)機(jī)器人技術(shù)進(jìn)行了標(biāo)準(zhǔn)化制定,所以在此階段搬運(yùn)機(jī)器人技術(shù)得到了快速發(fā)展,除了 Barrett 公司,還有 Wagner、HJC、BT、ACS 等制造廠商加入到搬運(yùn)機(jī)器人技術(shù)大軍中。70 年代中期,歐洲配備的搬運(yùn)搬運(yùn)機(jī)器人達(dá) 4800 臺(tái),1985 年配備總臺(tái)數(shù)超過一萬臺(tái)。
20 世紀(jì) 80 年代末,國外的搬運(yùn)機(jī)器人技術(shù)逐步走向成熟,以美國為例,從 1983年到 1985 年搬運(yùn)機(jī)器人制造廠商增加了 3 倍多。1984 年,汽車通用公司發(fā)展成為搬運(yùn)機(jī)器人產(chǎn)業(yè)最大用戶,1986 年的使用數(shù)量為 1407 臺(tái),到 1987 又新增 1662 臺(tái)。在歐洲搬運(yùn)機(jī)器人技術(shù)走向成熟的過程中,日本的搬運(yùn)機(jī)器人技術(shù)也發(fā)展迅速。日本于1966 年與美國一家公司合資成立日本首家搬運(yùn)機(jī)器人制造廠。日本的搬運(yùn)機(jī)器人總產(chǎn)值在 1981 年的時(shí)候達(dá)到 60 億日元,并以平均每年 20%的速度遞增,到 1985 年,其總產(chǎn)值高達(dá) 200 億日元。1988 年,日本搬運(yùn)機(jī)器人制造廠商增加到 20 多家,1986 年,日本機(jī)器人行業(yè)累計(jì)使用搬運(yùn)機(jī)器人達(dá) 5032 臺(tái)。目前,全世界搬運(yùn)機(jī)器人使用量達(dá) 10萬臺(tái)以上。
80 年代后,隨著改革開放的不斷深入,我國對(duì)機(jī)器人技術(shù)的研究逐步得到政府的支持與重視。1976 年北京起重機(jī)械研究所研發(fā)的第一臺(tái)搬運(yùn)小車標(biāo)志著我國搬運(yùn)機(jī)器人技術(shù)的開始,隨后清華大學(xué)、國防科技大學(xué)等都開始投入到搬運(yùn)機(jī)器人的研制中。北京郵政科學(xué)技術(shù)研究所于 1988 年研制出了一臺(tái)用于郵政樞紐的搬運(yùn)機(jī)器人。中科院沈陽自動(dòng)化研究所于 1988 年生產(chǎn)出 6 臺(tái)用于汽車裝配線的搬運(yùn)機(jī)器人,這是國內(nèi)首次將搬運(yùn)機(jī)器人應(yīng)用到汽車工業(yè)中比較成功的案例。
……
第二章 系統(tǒng)開發(fā)平臺(tái)介紹
Arduino 是源自意大利的一個(gè)開源電子原型平臺(tái),它由一塊具備簡單 I/O 功能的電路板和一套程序開發(fā)環(huán)境軟件組成。Arduino 可以讀取它所連接的電燈、傳感器等的信號(hào)。Arduino 硬件由一個(gè)基本版加各種擴(kuò)展板組成,而各種擴(kuò)展板則通過插接堆疊在基本版上來完成相互之間的連接。Arduino 電路板能夠通過一根 USB 線和電腦連接起來,可以通過電腦進(jìn)行編程控制。利用 Arduino 項(xiàng)目平臺(tái),開發(fā)者可以快速做出有趣且實(shí)用的交互式產(chǎn)品。
Arduino 采用了基于開放源代碼的軟硬件平臺(tái),其中 Arduino 硬件是一塊完整的電路板,它包含了一塊微控制器 IC、一組排母用于連接到其他電路、若干個(gè)穩(wěn)壓器 IC 用于給整個(gè)電路提供電源以及一個(gè) USB 用來連接到計(jì)算機(jī)。Arduino 軟件包含了一個(gè)文本編輯器,開發(fā)者可以利用它來編寫和修改程序并且可以將編寫好的程序燒寫到Arduion 電路板中。
為了滿足不同應(yīng)用領(lǐng)域的需求,Arduino 也設(shè)計(jì)了不同的型號(hào)以滿足不同使用者的需求。Arduino 常見版本如圖 1.2 所示:
Uno 是最新的 Arduino 產(chǎn)品系列,使用 Atmel Atmega 328 處理器,提供 14 個(gè)數(shù)字接口、6 個(gè)直插板和 8 個(gè)貼片板的模擬接口。Uno 采用 ATMega8U2/16U2 進(jìn)行 USB 到串行數(shù)據(jù)的轉(zhuǎn)換代替之前版本中使用的 FTDI USB-to-serial 串行驅(qū)動(dòng)器芯片,而且下載速度更快更穩(wěn)定,Uno 系列支持 USB 口直接供電和外接電源供電,目前 Uno 系列已成為 Arduino 主推的產(chǎn)品。
……
Android 平臺(tái)的研發(fā)隊(duì)伍陣容非常強(qiáng)大,其中包括 Google 以及“開放手機(jī)聯(lián)盟”—HTC(宏達(dá)電)、T-Mobile、高通、摩托羅拉、三星以及中國移動(dòng)等在內(nèi)的 30 多家企業(yè)。Android 應(yīng)用程序由 Java 語言來編寫,同時(shí)也支持其他一些語言,如 C、Perl 等。
Google 的目標(biāo)是讓移動(dòng)通信不依賴與設(shè)備,甚至是平臺(tái),同時(shí) Google 表面將進(jìn)一步推進(jìn)“隨時(shí)隨地為每個(gè)人提供信息”這個(gè)企業(yè)目標(biāo)。Android 是第一個(gè)完整、開放、免費(fèi)的手機(jī)平臺(tái)。目前市場中應(yīng)用在手機(jī)上的操作系統(tǒng)主要有 Android(安卓)、蘋果操作系統(tǒng)、微軟 windows phone、塞班、黑莓等操作系統(tǒng),但 Android 操作系統(tǒng)占據(jù)了較大比例。
Android 應(yīng)用程序一般由 Activity、Broadcast Intent Receiver、Service 和 Content Provider 四個(gè)部分組成,還包含一個(gè)系統(tǒng)自動(dòng)生成的描述文件 AndroidManifest.xml。Activity 是開發(fā)者頻繁遇見的一個(gè)基本模塊,多個(gè) Activity 之間可以相互跳轉(zhuǎn)并構(gòu)成一個(gè) Android 應(yīng)用程序。當(dāng)一個(gè)外部事件發(fā)生時(shí),可以使用 BroadcastReceiver 做出響應(yīng)。Service 是不可視的、運(yùn)行在后臺(tái)主線程中的服務(wù),你可以啟動(dòng)一個(gè) Service 服務(wù)運(yùn)行或監(jiān)聽某種動(dòng)作,如播放一首歌曲,記錄位置的改變等,但不能用作耗時(shí)請(qǐng)求。Android程序提供 Content Provider 抽象接口實(shí)現(xiàn)多個(gè)應(yīng)用程序之間的私有數(shù)據(jù)互訪。
本章主要介紹了系統(tǒng)開發(fā)使用的開發(fā)平臺(tái)和相關(guān)技術(shù),涵蓋了硬件環(huán)境——Arduino 平臺(tái)的介紹,包括 Arduino UNO 開發(fā)板以及傳感器擴(kuò)展板的介紹,用于開發(fā)手機(jī)端應(yīng)用程序的 Android 技術(shù)介紹及其架構(gòu)的介紹。
……
3.1 系統(tǒng)實(shí)驗(yàn)平臺(tái) ............................. 15
3.2 系統(tǒng)總體設(shè)計(jì)方案 ............................. 15
3.3 系統(tǒng)總體框架設(shè)計(jì) ............................ 16
3.4 無線智能網(wǎng)絡(luò)設(shè)計(jì) ............................. 18
3.4.1 無線智能網(wǎng)絡(luò)組成 ........................ 18
3.4.2 系統(tǒng)功能設(shè)計(jì) .............................. 18
3.4.3 無線智能網(wǎng)絡(luò)硬件設(shè)計(jì) ................. 19
3.5ARDUINO 無線網(wǎng)關(guān)工作原理 .................... 23
3.6 倉儲(chǔ)搬運(yùn)車系統(tǒng)硬件 .......................... 23
3.6.1 L298N 電機(jī)驅(qū)動(dòng) .......................... 23
3.6.2 紅外循跡傳感器 ........................ 25
3.6.3 超聲波模塊 .......................... 26
3.6.4 舵機(jī) ................................... 27
3.6.5 機(jī)械臂 ................................ 29
3.6.6 LCD 液晶屏 ........................... 31
3.6.7 LED 模塊 ............................. 31
3.6.8 蜂鳴器 ............................. 32
3.6.9 XBEE 藍(lán)牙模塊 ......................... 33
3.6.10 電源 .................................. 36
3.7ARDUINO 主控板電路連接 .................... 36
3.8 本章小結(jié) ................................ 37
第四章 ARDUINO 平臺(tái)無線網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn) ....... 38
4.1 ARDUINO 與 PC 通信 ......................... 38
4.1.1 USB 接口的串行通信 ....................... 38
4.1.2 PC 向 ARDUINO 發(fā)送信息 ................... 40
4.1.3 ARDUINO 向 PC 發(fā)送信息 .................. 41
4.2 系統(tǒng) PWM 調(diào)速原理 ........................ 42
4.3 循跡模塊的設(shè)計(jì)與實(shí)現(xiàn) ..................... 43
4.4 避障模塊的設(shè)計(jì)與實(shí)現(xiàn) ...................... 50
4.4.1 避障模塊設(shè)計(jì) .......................... 50
4.4.2 LED 指示燈報(bào)警 ......................... 52
4.4.3 蜂鳴器報(bào)警 ........................ 53
4.5 搬運(yùn)模塊的設(shè)計(jì)與實(shí)現(xiàn) ................. 55
4.6 顯示模塊的設(shè)計(jì)與實(shí)現(xiàn) ...................... 59
4.7ARDUINO 網(wǎng)關(guān)軟件的設(shè)計(jì)與實(shí)現(xiàn) ............. 60
4.8 本章小結(jié) .................................. 63
第五章 ANDROID 藍(lán)牙通信軟件設(shè)計(jì)與實(shí)現(xiàn) ...... 64
5.1 ANDROID 藍(lán)牙軟件功能設(shè)計(jì) .......... 64
5.1.1ANDROID 藍(lán)牙軟件開發(fā)技術(shù) ............... 64
5.1.2 ANDROID 藍(lán)牙軟件功能結(jié)構(gòu) ............ 65
5.1.3 ANDROID 藍(lán)牙軟件工作流程 ............. 65
5.2 ANDROID 藍(lán)牙軟件的實(shí)現(xiàn) ................. 67
5.2.1 藍(lán)牙的開啟 .......................... 67
5.2.2 藍(lán)牙的連接 ......................... 67
5.2.3 建立 SPP .......................... 68
5.2.4 接收與發(fā)送十六進(jìn)制數(shù)據(jù) ......... 69
5.3 應(yīng)用程序的簽名 .................... 69
5.4 本章小結(jié) ......................... 70
……
第五章 ANDROID 藍(lán)牙通信軟件設(shè)計(jì)與實(shí)現(xiàn)
Arduino 要與其它藍(lán)牙設(shè)備進(jìn)行無線通信,可以使用藍(lán)牙技術(shù)實(shí)現(xiàn),目前大多Android 智能手機(jī)均自帶藍(lán)牙模塊,并且支持虛擬串口通信方式,而 Arduino 硬件電路只需要額外添加一個(gè) XBEE 藍(lán)牙模塊,即可實(shí)現(xiàn)與 Android 智能手機(jī)的通信。因?yàn)樗{(lán)牙虛擬串口的Android手機(jī)無法與Arduino直接進(jìn)行通信,所以需要開發(fā)通信軟件來實(shí)現(xiàn)。
Android 2.0 以上版本的手機(jī)均支持藍(lán)牙開發(fā),并且提供了藍(lán)牙 API 接口和相應(yīng)功能的類,可以實(shí)現(xiàn)藍(lán)牙的開啟、關(guān)閉、搜索、連接等功能。藍(lán)牙通信軟件的主要作用就是在 Arduino 端與安裝 Android 操作系統(tǒng)的智能終端通過藍(lán)牙 API 接口和調(diào)用相應(yīng)功能的類建立二者之間的 Socket 通信,并且將輸入輸出數(shù)據(jù)以數(shù)據(jù)流的形式通過藍(lán)牙串口軟件進(jìn)行傳遞。藍(lán)牙通信,包括藍(lán)牙設(shè)置、搜索和配對(duì)、建立連接和數(shù)據(jù)傳輸。Android 平臺(tái)支持藍(lán)牙協(xié)議,提供藍(lán)牙功能包建立藍(lán)牙設(shè)備間的無線連接,實(shí)現(xiàn)藍(lán)牙串口通信。
啟動(dòng)手機(jī)終端軟件,首先需要進(jìn)行藍(lán)牙設(shè)備的搜索,搜索到的藍(lán)牙設(shè)備需正確輸入配對(duì)密碼才能完成配對(duì),本軟件設(shè)置的配對(duì)密碼為 1234。配對(duì)完成后,藍(lán)牙主、從設(shè)備建立串口通信鏈路。使用完畢可以斷開串口通信鏈路的連接,或者退出本軟件。
……
結(jié)論
系統(tǒng)采用 Arduino 平臺(tái)進(jìn)行硬件電路的搭建和硬件驅(qū)動(dòng)程序的開發(fā),采用 Android平臺(tái)進(jìn)行手機(jī)藍(lán)牙通信軟件的開發(fā)。用戶只需要安裝藍(lán)牙通信軟件的 APK 即可實(shí)現(xiàn)對(duì)硬件電路和外圍模塊的驅(qū)動(dòng)。Arduino 硬件主要使用了 Arduino UNO 電路板、Arduino XBee 傳感器擴(kuò)展板、XBee 藍(lán)牙模塊、紅外循跡傳感器、超聲波傳感器、舵機(jī)、機(jī)械臂、LED 指示燈、蜂鳴器、LCD 液晶顯示屏和 Android 手機(jī)等設(shè)備,采用了藍(lán)牙串口通信 SPP 技術(shù)規(guī)范實(shí)現(xiàn)無線通信。Android 平臺(tái)提供了建立藍(lán)牙設(shè)備間通信的 API,用于支持手機(jī)通信軟件的開發(fā)。
參考文獻(xiàn)(略)
本文編號(hào):38970
本文鏈接:http://www.sikaile.net/wenshubaike/lwfw/38970.html