勞振鵬 東莞理工學院 機械工程學院 黃市生 黎梓恒 曾志彬 吳國洪 東莞市橫瀝模具科技產(chǎn)業(yè)發(fā)展有限公司 陳學忠 廣東石東實業(yè)(集團)公司
前言:自動避障作為機器人的關(guān)鍵技術(shù),是保證機器人正常移動,避免撞上障礙物的重要方法。調(diào)研發(fā)現(xiàn),國內(nèi)外機器人自動避障系統(tǒng)還存在避障效率低,傳感器信息采集不理想、避障方向單一等問題;另一方面,市面上大多數(shù)機器人避障系統(tǒng)雖然實現(xiàn)避障但不具有物體識別的功能;并且機器人避障系統(tǒng)的載體多采用普通的移動平臺,該些運動平臺的靈活度較低,這些原因?qū)е铝藱C器人對環(huán)境的適應(yīng)性低,執(zhí)行任務(wù)的成功率不高。
針對以上不足,本文提出了一種全方位避障和障礙物識別的機器人設(shè)計方案。
本文所設(shè)計的機器人結(jié)構(gòu)如圖1所示,機器人采用具有底板和載板兩層平臺,底板的上表面設(shè)置了伺服電機驅(qū)動模塊、步進電機驅(qū)動模塊、集成WIFI模塊藍牙模塊的stm32控制器(下文簡稱為stm32控制器),底板的下表面設(shè)置了三個伺服電機,經(jīng)聯(lián)軸器各連接一個全向輪,三個全向輪兩兩之間的夾角設(shè)置為60°,三個伺服電機通過伺服電機支架固定在底板的下表面,三個伺服電機分別引出霍爾線(U、V、W線)與編碼器線(A相線、B相線),進一步連接伺服電機驅(qū)動模塊,相應(yīng)的,伺服電機驅(qū)動模塊的TX、RX、控制量輸入1、控制量輸入2的接口分別連接著stm32控制器的USART3_RX、USART3_TX、PC2、PC3接口。
機器人的底板和載板通過抬升件固定與連接;載板的上表面設(shè)置了紅外測距傳感器、步進電機、激光測距儀支撐件、和圓形艙板;在圓形艙板的外表面均勻設(shè)置8個紅外測距傳感器,8個紅外測距傳感器的信號線都分別串接2千歐的電阻以進行降壓處理,再依次連接在stm32控制器的PB8至PB15的端口。
機器人的步進電機設(shè)置在二層底板的中心位置,步進電機的伸出軸與激光測距儀支撐件固定連接,激光測距儀支撐件的上方和正前方分別設(shè)置了工業(yè)級激光測距儀和高清攝像頭,步進電機與步進電機驅(qū)動模塊通過兩相線電連接,步進電機驅(qū)動模塊的PULS+ 、DIR+接口分別連接至stm32控制器的PA13 、PA14接口,步進電機驅(qū)動模塊的PULS-接口與DIR-接口短接,并連接至stm32控制器的GND接口,stm32控制器根據(jù)外部信號相對應(yīng)地改變端口PA13與PA14的輸出狀態(tài),實現(xiàn)驅(qū)動步進電機帶動工業(yè)級激光測距儀和高速攝像頭。
工業(yè)級激光測距儀的VCC、RXD、TXD、GND接口分別與stm32控制器的VCC、USART2 TX、USART2 RX、GND接口連接,通過程序指令,以串口通信的方式實時讀取工業(yè)級激光測距儀對障礙物的檢測距離;高速攝像頭的FIFO芯片的Y0~Y7接口與stm32控制器的PB0~PB7接口電連接,并且高速攝像頭的FIFO芯片的FIFO_RRST、FIFO_WRST、FIFO_RCLK、FIFO_WR_CTR、FIFO_OE接口與stm32控制器的PA4~PA8接口電連接。
圖1 硬件結(jié)構(gòu)設(shè)計圖
運動方面,stm32控制器采集外部信號,轉(zhuǎn)換成控制指令,傳送給伺服電機驅(qū)動模塊,可實現(xiàn)控制三個全向輪的運行方式。全向輪的輪子邊緣分布著多個輥子,通過stm32控制器控制任意兩個全向輪同向轉(zhuǎn)動,另一個全向輪保持不動作,在合力作用下,小車直線行走;通過stm32控制器控制三個全向輪同向轉(zhuǎn)動,小車零半徑轉(zhuǎn)彎。
避障方面,stm32控制器實時讀取PB8至PB15的端口的電平狀態(tài),當某個方向上的紅外測距傳感器檢測到障礙物,stm32控制器將從對應(yīng)的端口讀取到高電平信號,進一步的,stm32控制器將往伺服驅(qū)動器的控制端口輸出相對應(yīng)的脈沖+方向指令,即改變原來運動方向的指令,進而控制小車避開障礙物,往安全方向行走;由8個紅外測距傳感器組成的避障系統(tǒng),覆蓋范圍為360°,每相隔45°就有1個紅外測距傳感器在實時檢測是否存在障礙物,然而該小車是由3個全向輪驅(qū)動,也就是說,小車往任意一個方向直行時,該前進方向上都至少有一個紅外測距傳感器在實時檢測是否存在障礙物,實現(xiàn)了全方位避障。
視覺方面,stm32控制器從FIFO中讀取數(shù)據(jù),讀取過程為:FIFO讀指針復位->給FIFO讀時鐘(FIFO RCLK)->讀取第一個像素高字節(jié)->給FIFO讀時鐘(FIFO RCLK)->讀取第一個像素低字節(jié)->給FIFO讀時鐘(FIFO RCLK)->讀取第二個像素高字節(jié)->循環(huán)讀取剩余像素->結(jié)束,實現(xiàn)采集障礙物的圖像信息,結(jié)合視覺算法,通過識別障礙物的輪廓特征以及顏色特征進而識別前方的障礙物。
本文所做的工作總結(jié)如下:第一,根據(jù)功能的要求對全方位避障和障礙物識別的機器人進行了結(jié)構(gòu)設(shè)計;第二,對機器人的功能進行了軟件系統(tǒng)的搭建,建立起了機器人的程序流程。