陳 濤 張煊赫 余 春
(重慶交通大學(xué) 信息科學(xué)與工程學(xué)院,重慶400074)
本設(shè)計(jì)的服務(wù)機(jī)器人由10 個(gè)硬件功能模塊構(gòu)成,分別是電機(jī)驅(qū)動(dòng)模塊,用以實(shí)現(xiàn)機(jī)器人的正常行進(jìn);陀螺儀模塊,結(jié)合PID 算法用以實(shí)現(xiàn)機(jī)器人的穩(wěn)定行進(jìn);RFID 射頻模塊,用以識(shí)別指定軌跡上的定位卡,實(shí)現(xiàn)機(jī)器人在配送終點(diǎn)的精確??浚谎E模塊,用以機(jī)器人對(duì)軌跡的邊緣檢測,實(shí)現(xiàn)機(jī)器人軌跡行進(jìn)的穩(wěn)定性,不脫軌、不偏軌;GSM 模塊,用以實(shí)現(xiàn)機(jī)器人在到達(dá)目的寢室后,向下單人發(fā)送短信驗(yàn)證碼,確定取貨人身份;鍵盤輸入和LCD顯示屏,用于取貨人輸入4 位短信驗(yàn)證碼和顯示輸入;無線通信模塊,用于機(jī)器人與管理終端和客戶終端的實(shí)時(shí)通信,實(shí)現(xiàn)管理人員和客戶對(duì)機(jī)器人實(shí)時(shí)位置的查看;電磁鎖和繼電器模塊,用于打開和關(guān)閉貨箱,實(shí)現(xiàn)開箱關(guān)箱的電控過程,系統(tǒng)硬件結(jié)構(gòu)圖如圖1 所示。
本設(shè)計(jì)中對(duì)于目的寢室和機(jī)器人實(shí)時(shí)定位采用了室內(nèi)普遍使用的RFID 技術(shù),定位方案為機(jī)器人車載RFID RC522 射頻模塊,軌道鋪設(shè)RFIDIC 卡電路,在機(jī)器人行進(jìn)的過程中能夠高效地讀取當(dāng)前位置并根據(jù)IC 卡編號(hào)判斷是否為終點(diǎn)寢室位置,從而控制機(jī)器人繼續(xù)前進(jìn)或者在當(dāng)前位置停止。RC522 是一種非接觸式的讀寫卡芯片,數(shù)據(jù)傳輸速率非常高,適合應(yīng)用于機(jī)器人快速行駛中進(jìn)行識(shí)別。
本設(shè)計(jì)循跡模塊采用TCRT5000 傳感器,利用紅外光探測,具有高靈敏度、高抗干擾、性能穩(wěn)定等特性。軌跡使用6cm 寬白線,所以采用5 路TCRT5000 傳感器進(jìn)行軌跡邊緣檢測,當(dāng)發(fā)生脫軌、偏軌等情況時(shí),進(jìn)行檢測糾正。
本設(shè)計(jì)機(jī)器人與管理員終端的無線通信采用NRF24L01 無線收發(fā)模塊,此模塊使用2.4G 通信技術(shù),擁有全雙工、透明傳輸方式、高速率遲延小、不限包長、大數(shù)據(jù)傳輸、性能優(yōu)異等特點(diǎn)。能夠?qū)崿F(xiàn)機(jī)器人將實(shí)時(shí)位置信息快速傳回管理員終端的功能,并且能夠?qū)⒐芾韱T終端的控制信息同時(shí)高速傳輸至機(jī)器人端,實(shí)現(xiàn)機(jī)器人的實(shí)時(shí)位置監(jiān)控與配送流程反饋。
圖1 系統(tǒng)硬件系統(tǒng)圖
在機(jī)器人行駛過程中,最為重要的姿態(tài)判斷分析傳感器即為陀螺儀傳感器,通過陀螺儀機(jī)器人可以分析出當(dāng)前行駛的偏航角度,并結(jié)合PID 算法及時(shí)作出調(diào)整,保證機(jī)器人行駛的穩(wěn)定。在機(jī)器人行駛,三維空間中通過判斷Z 軸角度,即機(jī)器人車體的航偏角,即可判斷機(jī)器人是否行駛為直線,而Z 軸在運(yùn)動(dòng)情況下有累積誤差。因?yàn)閆 軸角度是通過對(duì)角速度積分計(jì)算出來的,沒有觀測量濾波,所以漂移是不可避免的。X,Y 軸是有重力場濾波,所以不會(huì)有漂移,Z 軸只能用短時(shí)間內(nèi)的相對(duì)測量量。所以相對(duì)于MPU-6050 裸電路,我們選用基于MPU-6050 芯片的HWT101 陀螺儀模塊,此陀螺儀模塊相對(duì)于裸電路,此模塊輸出高精度的單軸石英晶體(水晶)陀螺儀,采用高性能的微處理器和先進(jìn)的動(dòng)力學(xué)解算與卡爾曼動(dòng)態(tài)濾波算法,能夠快速求解出產(chǎn)品當(dāng)前的實(shí)時(shí)運(yùn)動(dòng)姿態(tài);且采用數(shù)學(xué)積分及運(yùn)動(dòng)估算,解算出高精度旋轉(zhuǎn)角度,避免出現(xiàn)大幅度誤差;使用了先進(jìn)的數(shù)字濾波技術(shù),能有效降低測量噪聲,提高測量精度。模塊內(nèi)部集成了姿態(tài)解算器,能夠在動(dòng)態(tài)環(huán)境下精準(zhǔn)輸出產(chǎn)品的當(dāng)前姿態(tài),姿態(tài)測量靜態(tài)精度0.1 度,穩(wěn)定性極高。通過后期的測試,完成30 分鐘的機(jī)器人配送任務(wù)陀螺儀Z 軸角度累計(jì)誤差<1°,不影響機(jī)器人的正常配送過程。
配送機(jī)器人采用了車型機(jī)器人的結(jié)構(gòu),機(jī)械結(jié)構(gòu)主要包括了車體底盤部件、頂部貨箱部件以及矩陣按鍵與LCD 顯示屏。機(jī)器人車體底盤車輪按照同邊同接進(jìn)行控制安裝,即同一邊的車輪轉(zhuǎn)速采取同一PWM 波進(jìn)行調(diào)制,保持大致相同轉(zhuǎn)速,方便控制。車體底盤選用金屬材質(zhì),保證其強(qiáng)度和載貨穩(wěn)定度,在調(diào)試過程中,進(jìn)行碰撞測試時(shí),保證其剛度和碰撞強(qiáng)度。車體輪胎選用內(nèi)填泡沫型,能夠?qū)圀w進(jìn)行緩沖,保證其行駛過程中過障的穩(wěn)定性,以增強(qiáng)其對(duì)地形的適應(yīng)性。
機(jī)器人整體架構(gòu)采用了三層結(jié)構(gòu),上層搭建配送貨箱,并嵌入鍵盤矩陣和LCD 顯示屏,實(shí)現(xiàn)一體化,將貨箱置于頂層有利于用戶進(jìn)行輸入取貨碼、取貨等操作;中層放置機(jī)器人電路模塊、續(xù)航電池并搭建整體電路,保證了電路運(yùn)行的穩(wěn)定性和隱秘性,減少外界對(duì)電路的破壞,并且作為中層,有利于對(duì)頂層和底層模塊進(jìn)行供電和控制;底層放置了RFID 射頻模塊和循跡模塊,主要是基于這些模塊的識(shí)別和檢測距離,有利于循跡模塊對(duì)行駛軌跡的邊緣檢測,RFID 射頻模塊對(duì)軌道IC 卡的識(shí)別。
機(jī)器人配送主要過程如圖2 所示,首先等待管理員終端的配送信號(hào),客戶下單之后,管理員對(duì)訂單進(jìn)行查看,將貨物裝入機(jī)器人貨箱中,發(fā)送開始配送信號(hào)。機(jī)器人接收到開始信號(hào)后,開始循跡前進(jìn),并同時(shí)識(shí)別軌道IC 卡,判斷當(dāng)前寢室是否為送貨終點(diǎn),若為終點(diǎn),則停止前進(jìn),向用戶預(yù)留手機(jī)號(hào)碼發(fā)送驗(yàn)證碼短信,等待用戶取貨。用戶通過鍵盤輸入驗(yàn)證碼,若錯(cuò)誤則重新發(fā)送短信,若正確則打開貨箱。在貨箱關(guān)閉之后,則自動(dòng)返程,返回發(fā)貨起點(diǎn),完成一單貨物配送,如圖2。
機(jī)器人與管理員終端使用無線通信模塊進(jìn)行通信,該模塊的特點(diǎn)是全雙工透傳模式,本設(shè)計(jì)通信過程也采用這種模式。但在通信過程中,雙方采取的接收和發(fā)送方式不同,且開發(fā)環(huán)境不同,所以采用的傳輸數(shù)據(jù)格式、解析方式、傳輸速率也十分重要。本設(shè)計(jì)在傳輸中采取9600bps 速率的串口透傳,根據(jù)電腦終端通過串口發(fā)送時(shí),需要將幀頭設(shè)置為0x00 數(shù)據(jù)的特點(diǎn),同時(shí),電腦終端需要向機(jī)器人傳輸1 位寢室號(hào)信息、11 位預(yù)留電話號(hào)碼信息、4 位取貨碼信息,需要信息包括16 字節(jié)數(shù)據(jù),所以制定電腦終端向機(jī)器人數(shù)據(jù)傳輸一幀為19 字節(jié),其中包括2 字節(jié)幀頭,作為數(shù)據(jù)信息開始標(biāo)志,16 字節(jié)數(shù)據(jù)信息,以及1 字節(jié)幀尾,作為每幀數(shù)據(jù)結(jié)束標(biāo)志,以此規(guī)定數(shù)據(jù)傳輸協(xié)議,如表1所示。
表1 通信協(xié)議數(shù)據(jù)格式
對(duì)于機(jī)器人運(yùn)動(dòng)采用的主要控制策略為通過控制電機(jī)的電壓,即可控制電機(jī)達(dá)到指定的轉(zhuǎn)速。本設(shè)計(jì)中的機(jī)器人采用了4個(gè)電機(jī),即4 個(gè)電機(jī)轉(zhuǎn)速相同時(shí),即可使機(jī)器人前進(jìn)、后退;右行走輪系轉(zhuǎn)速大于左行走輪系時(shí),即可使機(jī)器人右轉(zhuǎn);左轉(zhuǎn)同理。本設(shè)計(jì)采用PWM 調(diào)制的方法來控制電機(jī)的轉(zhuǎn)速。對(duì)于機(jī)器人的主控芯片STM32 而言,可以采用STM32 自帶的定時(shí)器做為脈寬控制定時(shí)方式,以此產(chǎn)生的脈沖寬度非常精確,誤差范圍僅在微秒級(jí)別采用的L298N 電機(jī)驅(qū)動(dòng)模塊,控制單個(gè)電機(jī)使用3 個(gè)引腳,分別為2 個(gè)電平輸出引腳和1 個(gè)電機(jī)使能引腳,所以只需將使能引腳接入STM32 的一個(gè)定時(shí)器控制引腳,采用PWM 調(diào)制,控制STM32 輸出信號(hào)的占空比,控制電機(jī)驅(qū)動(dòng)模塊的使能性,即可在電機(jī)端輸出不同的電壓,完成對(duì)不同電機(jī)的調(diào)速。
由于機(jī)器人運(yùn)行的環(huán)境不同,同時(shí)電機(jī)安裝的硬件穩(wěn)定性也不同,所以僅僅采用PWM調(diào)制方式對(duì)機(jī)器人的行走進(jìn)行控制遠(yuǎn)遠(yuǎn)不夠,即使電機(jī)轉(zhuǎn)速相同,機(jī)器人行駛過程中可能會(huì)偏離指定方向。為了使機(jī)器人更加穩(wěn)定地行駛,本設(shè)計(jì)采用陀螺儀測量結(jié)合PID 算法控制的方式。相較于常用的增量式和位置式PID 控制算法,增量式PID 算法得出的控制量對(duì)應(yīng)的是近幾次與目標(biāo)誤差的增量,而不是位置式PID 控制算法得出的實(shí)際位置和預(yù)期位置的偏差,采用增量式PID 算法能夠在本設(shè)計(jì)獲得比較好的控制效果,同時(shí),當(dāng)系統(tǒng)突發(fā)問題時(shí),增量式不會(huì)嚴(yán)重影響系統(tǒng)的工作。本設(shè)計(jì)采用以機(jī)器人動(dòng)力系統(tǒng)作為類比,陀螺儀模塊為測量器,增量式PID 算法根據(jù)陀螺儀測量偏離角度數(shù)據(jù)和初始化三大系數(shù)輸出調(diào)整的PWM 調(diào)制波控制車輪轉(zhuǎn)速,減小偏角,再測量偏角,構(gòu)成閉環(huán)反饋系統(tǒng),完成對(duì)機(jī)器人行駛過程中方向的控制,使機(jī)器人以直線行駛,提高其行駛穩(wěn)定性。
本自動(dòng)配送服務(wù)機(jī)器人通過STM32 主控芯片控制其行進(jìn)與通信,經(jīng)過陀螺儀和PID 算法控制機(jī)器人穩(wěn)定行進(jìn),依靠RFID射頻和循跡模塊準(zhǔn)確定位,進(jìn)行指定路線配送與返程。經(jīng)測試,目前機(jī)器人能夠勝任對(duì)單個(gè)用戶下單的精準(zhǔn)配送,完成自主配送、自動(dòng)返回,整個(gè)系統(tǒng)能夠完成用戶網(wǎng)上下單、管理員接單、機(jī)器人自動(dòng)配送并返回的整體過程。對(duì)后續(xù)也將對(duì)機(jī)器人的結(jié)構(gòu)和算法進(jìn)行升級(jí),使本自動(dòng)配送服務(wù)機(jī)器人能夠同時(shí)完成多任務(wù)的配送,提升整體效率,以便更好地服務(wù)于人類。
圖2 硬件系統(tǒng)圖