勞振鵬 東莞理工學(xué)院機(jī)械工程學(xué)院 黃市生 黎梓恒 曾志彬 吳國洪 東莞市橫瀝模具科技產(chǎn)業(yè)發(fā)展有限公司 陳學(xué)忠 廣東石東實業(yè)(集團(tuán))公司
前言:現(xiàn)在的辦公樓、居室很多使用了玻璃門窗做裝飾,而現(xiàn)有的服務(wù)機(jī)器人大多使用紅外傳感器實現(xiàn)識別障礙物的效果,出現(xiàn)了服務(wù)機(jī)器人不能準(zhǔn)確識別透明玻璃,需依靠壓力傳感器與透明玻璃的接觸作用進(jìn)而實現(xiàn)識別效果,導(dǎo)致該機(jī)器人的工作效率低;并且該機(jī)器人在構(gòu)建室內(nèi)地圖時,容易出現(xiàn)不能準(zhǔn)確地描繪玻璃墻、玻璃門的真實位置。此外,現(xiàn)有的移動機(jī)器人在地圖構(gòu)建方面,由于地形、光照等不確定性因素,通過傳感器系統(tǒng)獲得的外部信息往往數(shù)據(jù)誤差大,并未能有效地處理數(shù)據(jù),使機(jī)器人不能獲取有效環(huán)境特征,導(dǎo)致了地圖構(gòu)建的不準(zhǔn)確性、不全面性。還有,現(xiàn)有的應(yīng)用在地圖構(gòu)建領(lǐng)域的移動機(jī)器人大多數(shù)為各種各樣的輪式機(jī)器人,相比履帶式機(jī)器人,輪式機(jī)器人對于凹凸不平或者沙粒為主的環(huán)境的適應(yīng)性很低,行走不方便,執(zhí)行任務(wù)的效率大大降低;并且輪式機(jī)器人需要使用的驅(qū)動電機(jī)比履帶式機(jī)器人多,成本相對較高。
針對以上不足,本文提出了一種基于激光掃描與卡爾曼濾波技術(shù)的地圖構(gòu)建系統(tǒng)及移動機(jī)器人的設(shè)計方案,將從機(jī)構(gòu)設(shè)計方面與軟件系統(tǒng)搭建方面進(jìn)行闡述。
本文所設(shè)計的機(jī)器人結(jié)構(gòu)如圖1所示,機(jī)器人采用三層平臺的結(jié)構(gòu),由下往上,第一層平臺為履帶式運(yùn)動結(jié)構(gòu),第二層平臺為控制中心,第三層平臺為傳感器區(qū);履帶式運(yùn)動結(jié)構(gòu)包括履帶、齒型輪、齒型輪固定件、電機(jī)固定件、12V帶減速電機(jī)、90°角碼、橫梁;控制中心包括載板Ⅰ、樹莓派三代主板、PWR電機(jī)驅(qū)動板、支桿;傳感器區(qū)包括載板Ⅱ、超聲波傳感器、360°激光掃描測距雷達(dá);
履帶式運(yùn)動結(jié)構(gòu)中的齒型輪設(shè)置在齒型輪固定件的兩端;履帶與齒型輪配合;兩個12V帶減速電機(jī)斜對角分布,進(jìn)一步的,通過電機(jī)固定件以螺紋連接的方式連接在齒型輪固定件;兩根橫梁均通過90°角碼以螺紋連接的方式連接兩邊的齒型輪固定件;載板Ⅰ設(shè)置在橫梁的上方,載板Ⅰ的通孔與橫梁的通孔同軸配合;樹莓派三代主板設(shè)置在載板Ⅰ的上方及中間位置;PWR電機(jī)驅(qū)動板設(shè)置在樹莓派三代主板的上方;載板Ⅱ通過支桿與載板Ⅰ連接;載板Ⅱ的橢圓形狀一端設(shè)置為朝向機(jī)器人的前方;超聲波傳感器共有五個,其中三個超聲波傳感器在載板Ⅱ的扇形區(qū)均勻分布,其一朝向機(jī)器人的正前方,另外在載板Ⅱ的左右方向分別設(shè)置兩個超聲波傳感器,且位于該邊線的中間位置;360°激光掃描測距雷達(dá)設(shè)置在載板Ⅱ的中心位置;
機(jī)器人由兩個12V帶減速電機(jī)驅(qū)動,12V帶減速電機(jī)的正負(fù)極兩根線與PWR電機(jī)驅(qū)動板的電機(jī)輸出口電連接;PWR電機(jī)驅(qū)動板的ENA引腳(A通道使能端)與樹莓派主板的16針電連接,ENB引腳(B通道使能端)與樹莓派主板的18針電連接,通過使用樹莓派GPIO輸出5V電平信號控制使能端的輸出電壓實現(xiàn)電機(jī)加速與減速;PWR電機(jī)驅(qū)動板的IN1、IN2、IN3、IN4引腳分別與樹莓派主板的11、12、13、15針電連接;
超聲波傳感器的Trig引腳與樹莓派主板的GPIO2(3針)連接,Echo引腳先連接一個1k電阻再進(jìn)一步連接樹莓派主板的GPIO3(5針),在連接1k電阻與GPIO3之間的線路引出一個帶2k電阻的電路接到GND,1k 和 2k 電阻組成了一個分壓電路,使GPIO 3腳的電壓降到了3.3v 左右;
運(yùn)動方面,對樹莓派編程,配置引腳的輸入輸出狀態(tài),設(shè)置16、18針輸出PWM值進(jìn)行機(jī)器人的速度控制,設(shè)置11與12針(13與15針)為互斥的電平狀態(tài)實現(xiàn)電機(jī)的正反轉(zhuǎn),當(dāng)兩個電機(jī)的旋轉(zhuǎn)方向與旋轉(zhuǎn)速度均一致,機(jī)器人將直線行走,當(dāng)兩個電機(jī)的旋轉(zhuǎn)方向相反、旋轉(zhuǎn)速度相同,機(jī)器人將逆時針旋轉(zhuǎn)或順時針旋轉(zhuǎn),即為拐彎,設(shè)置11、12、13、15針均為False狀態(tài)值,機(jī)器人停止運(yùn)動。
避障方面,樹莓派觸發(fā)傳感器發(fā)射超聲波,并測量超聲波從發(fā)射到返回的時間間隔,結(jié)合音速從而算出障礙物的距離,當(dāng)檢測到機(jī)器人兩端的距離的差值穩(wěn)定在一個范圍里,機(jī)器人往前移動,當(dāng)兩端距離的差值超出這個范圍,機(jī)器人往檢測距離值大的一端自動調(diào)整。
圖1 硬件結(jié)構(gòu)設(shè)計圖
將360°激光掃描測距雷達(dá)與樹莓派三代主板通過USB線進(jìn)行電連接,樹莓派連接激光掃描測距雷達(dá),先設(shè)置ip 掩碼和網(wǎng)關(guān),然后通過程序指令采集激光雷達(dá)的檢測數(shù)據(jù);樹莓派三代主板自帶無線WIFI和藍(lán)牙模塊,在樹莓派上建立串口通信,以藍(lán)牙透傳的方式將激光雷達(dá)的檢測數(shù)據(jù)傳送到PC機(jī);利用上位機(jī)軟件,將檢測數(shù)據(jù)以ASCII格式儲存,基于Matlab平臺,編寫數(shù)據(jù)解析的程序,使用分支結(jié)構(gòu)讀取各個數(shù)據(jù)的屬性,進(jìn)而讀取數(shù)據(jù);結(jié)合卡爾曼濾波算法,對數(shù)據(jù)進(jìn)行處理,先對系統(tǒng)狀態(tài)、誤差協(xié)方差、過程噪聲的協(xié)方差、測量噪聲的協(xié)方差賦值,然后迭代計算卡爾曼增益、系統(tǒng)狀態(tài)和誤差協(xié)方差,對系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計,得到最優(yōu)的環(huán)境信息;并且采用柵格模型來構(gòu)造地圖,先初始化局部區(qū)域柵格模型,然后進(jìn)行坐標(biāo)轉(zhuǎn)換,將障礙點(diǎn)坐標(biāo)映射到柵格地圖中相應(yīng)的柵格上,實現(xiàn)把激光雷達(dá)的測量數(shù)據(jù)轉(zhuǎn)換到柵格地圖上,再依次讀取所有激光雷達(dá)數(shù)據(jù)并給局部柵格地圖賦值,實現(xiàn)將環(huán)境數(shù)據(jù)柵格化,得到柵格地圖。
本文所做的工作總結(jié)如下:第一,根據(jù)功能的要求對移動機(jī)器人進(jìn)行了結(jié)構(gòu)設(shè)計;第二,根據(jù)機(jī)器人的功能要求搭建了軟件系統(tǒng)。