輪式/四足可變形智能偵察機器人是一款能在較復(fù)雜地形環(huán)境下行走運動的偵察機器人,它是在輪式運動的車體上增加四足行走機構(gòu),通過車體變形達到行走模式轉(zhuǎn)變的目的,該機器人將輪式行走和四足行走兩種運動形式相結(jié)合,前者適于平坦地面的輪式快速移動,后者適于較復(fù)雜地面(如廢墟)上的四足行走。同時可通過自行設(shè)計的手持遙控器對機器人移動及攝像頭云臺進行控制,將獲得的傳感器數(shù)據(jù)及視頻實時傳至手持遙控器及上位計算機平臺。
1 控制系統(tǒng)的方案設(shè)計與實現(xiàn)
1. 1 嵌入式控制系統(tǒng)的設(shè)計
針對偵察行動中對環(huán)境數(shù)據(jù)的采集和對機器人運動控制的雙重需求,以及對機器人跟隨式遙控和計算機監(jiān)控的要求,設(shè)計了一套控制系統(tǒng),包括:機器人本體控制系統(tǒng),手持式遙控器,上位計算機平臺監(jiān)控軟件。
機器人本體控制系統(tǒng)包括:負責為整機各個部分提供電能的電源系統(tǒng)、負責整機控制的主控制電路、負責所有傳感器數(shù)據(jù)采集的傳感器控制電路、控制舵機動作的舵機控制器、控制電機動作的電機控制器、負責同手持遙控器無線通訊的無線模塊和拍攝圖像的無線攝像頭。
手持式遙控器包括:負責遙控器控制的遙控板、負責同機器人及計算機端監(jiān)控軟件通信的無線模塊、顯示無線攝像頭所拍攝頭像的顯示系統(tǒng)、顯示環(huán)境數(shù)據(jù)的LCD及指示燈系統(tǒng)和負責發(fā)出命令信息的矩陣式鍵盤。
上位計算機平臺監(jiān)控軟件包括: 機器人運動姿態(tài)的顯示、遙控器所傳回數(shù)據(jù)的顯示、機器人各參數(shù)的在線設(shè)置、對機器人環(huán)境進行監(jiān)控的報警系統(tǒng)和與手持遙控器交換信息等功能。
1.2 嵌入式控制系統(tǒng)
嵌入式控制系統(tǒng)主要分三部分:安裝于機器人體內(nèi)的機器人本體控制系統(tǒng)、手持式遙控器和上位計算機平臺監(jiān)控軟件。
機器人本體控制系統(tǒng)
1. 主控制電路是整個機器人本體系統(tǒng)的核心,負責傳感器數(shù)據(jù)的接收,轉(zhuǎn)發(fā)及分析,遙控命令的執(zhí)行,直接控制機器人的運動姿態(tài)。
2. 傳感器控制電路、電機控制電路及舵機控制器的串口都與主控制電路的串口相連,通過自行設(shè)計的串口通信方向控制電路,主控制電路可以與各個控制電路分時通訊。
3. 電機控制電路和舵機控制器受主控制電路直接控制。
4. 傳感器控制電路循環(huán)掃描環(huán)境數(shù)據(jù),將數(shù)據(jù)按照通信協(xié)議傳給主控制電路,主控制電路將數(shù)據(jù)通過無線模塊轉(zhuǎn)發(fā)給手持遙控器,同時進行數(shù)據(jù)的分析。
5. 無線攝像頭將所攝圖像直接傳至手持遙控器上的接收機。
手持式遙控器
1. 遙控器電路是整個遙控系統(tǒng)的核心,負責從機器人處接收數(shù)據(jù)并顯示至LCD,同時將數(shù)據(jù)分析處理后轉(zhuǎn)發(fā)至計算機端監(jiān)控軟件。
2. 無線圖像接收機將接收到的圖像顯示在液晶屏上。
3. 通過矩陣鍵盤,可以對機器人運動模式進行設(shè)置或下達行動命令,也可與計算機端軟件進行通信。
上位計算機平臺監(jiān)控軟件
1. 機器人姿態(tài)顯示窗口,顯示機器人當前的運動狀態(tài),是以輪式運動,還是以四足行走。
2. 傳感器數(shù)據(jù)顯示窗口,顯示各個傳感器當前數(shù)據(jù)。
3. 報警系統(tǒng),可對機器人各個方面進行監(jiān)控,及時發(fā)出警報??蓪︻A(yù)警值進行設(shè)置。
4. 通信窗口,可與手持遙控器進行信息交換。
2 機器人本體說明
2. 1 運動機構(gòu)的創(chuàng)新性說明
本課題研究的輪式/四足可變形復(fù)合式移動機器人從結(jié)構(gòu)上講是一種新的設(shè)計結(jié)構(gòu)概念和創(chuàng)新,它可以更好的把兩種單一運動方式的移動機器人的優(yōu)點相結(jié)合, 達到更佳的工作效率和實用價值。
首先,引用中心對稱結(jié)構(gòu)設(shè)計:變?yōu)樗淖闶叫螒B(tài)時,機器人轉(zhuǎn)向任何方向后不影響運動方式, 依然可以前后左右進行相同運動;變?yōu)檩喪叫螒B(tài)時,前后對稱。
其次, 各個關(guān)節(jié)相互獨立,可單獨控制。
第三, 利用增加的自由度,可實現(xiàn)更好的姿態(tài)控制。例如,輪式形態(tài)時,配合變形結(jié)構(gòu)可實現(xiàn)改變重心高度,傾斜機身,左、右轉(zhuǎn)彎;四足形態(tài)時可實現(xiàn)高重心行走和低重心行走。
第四,利用機器人可轉(zhuǎn)動的支撐底盤,可實現(xiàn)攝像頭的左右轉(zhuǎn)動及機器人的原地轉(zhuǎn)身。
復(fù)合式移動機器人在秉承了多種移動機器人的優(yōu)點的同時, 充分考慮到運動環(huán)境的影響, 對于不同的運動環(huán)境采用不同的運動方式, 以不同的運動方式各自的優(yōu)勢來應(yīng)對環(huán)境??梢愿鶕?jù)周圍環(huán)境的變化隨時調(diào)整運動姿態(tài),達到提高的運動效率的目的。例如同樣是輪式運動,但可以調(diào)整機器人重心的高低和左右偏移。如在寬闊平坦的路上以輪式運動方式, 在狹縫中可以采用低重心的輪式運動,當路面不平整時可以改為四足行走。
也可根據(jù)偵查任務(wù)需要調(diào)整機器人的高低,進而調(diào)整機身上攝像頭的視線范圍。例如,廢墟中有人困于一塊墻體下,機器人可身體放低,就可用攝像頭觀察廢墟中的情況。
2.2 運動模式說明
整機自由度為17。
不同于一般四足機器人的單腿3自由度,本機器人單腿自由度為4,精確調(diào)整舵機動作可更好地控制機器人姿態(tài),可原地轉(zhuǎn)向。
機器人底部支撐底盤自由度為1。
四足式運動方式主要用于不適合輪式移動的崎嶇路面。本機器人四足式運動采用靜態(tài)步行方式:即在任一時刻至少有3 條腿與地面接觸,用于支撐機器人本體,且保證機器人重心落在三足支撐點構(gòu)成的三角形區(qū)域內(nèi)。
位于機器人中心有一個支撐底盤,自由度為1,可以接觸地面支撐整個機器人的重量,使得四條機械腿可以離開地面,進而控制整個機器人的原地轉(zhuǎn)向。
輪式運動方式應(yīng)用于較平坦地面的快速移動。通常采用上圖所示姿態(tài)的四輪驅(qū)動方式運行:將腳掌轉(zhuǎn)向機身外側(cè),膝關(guān)節(jié)收緊,旋轉(zhuǎn)二號臀關(guān)節(jié)使膝關(guān)節(jié)驅(qū)動輪接觸地面,并支撐起來(如下圖),可用輪式在平面內(nèi)自由運動。輪式運動通過控制驅(qū)動輪轉(zhuǎn)速來實現(xiàn)機體的速度控制;一號臀關(guān)節(jié)及二號臀關(guān)節(jié)可以調(diào)整驅(qū)動輪之間相對位置,進而控制行駛的位置和方向。同時利用PWM調(diào)速,可實現(xiàn)簡單的差速驅(qū)動。
2. 3 機器人結(jié)構(gòu)部件說明
不銹鋼部件
機器人結(jié)構(gòu)零件用型號304不銹鋼激光切割后,用彎折機彎折而成。(附有部分結(jié)構(gòu)零件工程圖紙及部分機器人分解圖)
舵機
本機器人采用的舵機產(chǎn)品型號為TOWERPRO MG995及9805MG,金屬齒輪,采用6伏電壓供電,力矩分別為13kg.cm和25kg.cm。
MG995安裝于一號臀關(guān)節(jié)、腳掌關(guān)節(jié)及支撐底盤。
9805MG安裝于二號臀關(guān)節(jié)及膝關(guān)節(jié)。
直流電機
本作品采用的直流電機調(diào)速性能好,起動力矩大,采用降電壓起動。即由單獨的可調(diào)壓直流電源對電機電樞供電,結(jié)合PWM、既可使電機平滑起動,又能實現(xiàn)調(diào)速。
2. 4 嵌入式控制系統(tǒng)
系統(tǒng)整體功能說明
如下圖為本系統(tǒng)的原理組成框圖,主要由主控制電路、串口方向選擇電路、傳感器控制電路、超聲波模塊控制電路、電源電路、電機控制電路、以及輔助電路組成。其中主控制電路、傳感器控制電路和電機控制電路主要由MCU及時序電路組成,負責相應(yīng)電路的時序控制、通信控制和數(shù)據(jù)處理;而串口方向選擇電路、超聲波模塊控制電路主要由組合邏輯電路組成,為系統(tǒng)提供高速的通信線路配置服務(wù)。電源電路則包含整個系統(tǒng)的電源供電接口,以及無線數(shù)傳模塊的3.3V供電電源。輔助電路則為系統(tǒng)提供一些輔助性服務(wù),比如復(fù)位、指示燈等。
(附有整體系統(tǒng)PCB圖)
串口通信方向選擇電路
本系統(tǒng)使用多個單片機進行協(xié)作的,各MCU各司其責,需要相互通信。一般情況下單片機系統(tǒng)的通信可以使用傳統(tǒng)單片機多機通信協(xié)議來實現(xiàn)的,但是本系統(tǒng)涉及到要與舵機控制器進行通信的問題。舵機控制器負責控制機器人執(zhí)行動作,也通過串口與控制系統(tǒng)進行通信。單片機通過串口向舵機控制器發(fā)送動作指令,舵機就會執(zhí)行相應(yīng)的動作。如果還是使用傳統(tǒng)的多機通信協(xié)議,由于舵機控制器無法識別協(xié)議,將會導(dǎo)致舵機執(zhí)行錯誤的動作。
因此有必要設(shè)計一個串口通信方向選擇電路,由主控MCU來進行通信方向選擇,保證系統(tǒng)不發(fā)生錯誤動作,而且設(shè)計增加一個這樣的電路有利于波特率不同的子系統(tǒng)之間進行通信。
(1)RXD選擇電路
RXD是單片機串口的數(shù)據(jù)接收端,這里特指主控制MCU的串口接收端。由于其通信方向是固定的,因此可以使用數(shù)據(jù)選擇器實現(xiàn)電路功能。本電路使用四選一數(shù)據(jù)選擇器74HC153實現(xiàn)數(shù)據(jù)選擇功能。被選擇的數(shù)據(jù)為子系統(tǒng)MCU的串口數(shù)據(jù)發(fā)送端TXDn。當子系統(tǒng)要求發(fā)生通信時,先申請,再由主控制MCU建立連接后便可進行通信。
(2)TXD分配電路
TXD是單片機串口的數(shù)據(jù)發(fā)送端,這里特指主控制MCU的串口數(shù)據(jù)發(fā)送端。由于其數(shù)據(jù)傳輸方向是固定的,因此可以使用數(shù)據(jù)分配器實現(xiàn)其功能。本系統(tǒng)是使用2-4數(shù)據(jù)分配器/譯碼器74HC139實現(xiàn)數(shù)據(jù)分配功能。其數(shù)據(jù)輸入端為使能端E,當E為高電平時,芯片的輸出端為高電平,當E變?yōu)榈碗娖綍r,被選中的輸出端變?yōu)榈碗娖剑瑥亩鴮崿F(xiàn)數(shù)據(jù)分配功能。被分配的數(shù)據(jù)的目的端口就是子系統(tǒng)MCU的串口數(shù)據(jù)接收端RXDn。當子系統(tǒng)要求發(fā)生通信時,先申請,再由主控制MCU建立連接后便可進行通信。
主控制電路
主控制電路是機器人本體控制系統(tǒng)的核心,主要負責舵機控制、命令下達、數(shù)據(jù)處理、全局控制、通信控制等,是整個系統(tǒng)的控制中心。負責接收傳感器傳回數(shù)據(jù)及接受遙控器的命令,可對舵機控制器、電機控制器直接下達命令。(后附有主控制電路部分核心代碼)
通信部分
主控要和數(shù)據(jù)采集模塊,舵機控制器,無線數(shù)傳模塊進行通信,其過程為不斷從數(shù)據(jù)采集模塊獲得環(huán)境采集數(shù)據(jù),進行相應(yīng)的判斷,針對分析結(jié)果發(fā)送相應(yīng)的控制命令,同時控制無線數(shù)傳模塊把相關(guān)信息發(fā)給遙控器和計算機端軟件。
數(shù)據(jù)分析部分
這一部分主要體現(xiàn)在程序設(shè)計上,通過分析障礙物和機器人的距離判斷是否遇到了臺階等的障礙物,另一方面對溫度數(shù)據(jù)進行比較判斷是否進入了異常的環(huán)境。
傳感器控制電路
傳感器控制電路是機器人的感知系統(tǒng),是直接對傳感器進行操作并獲取相關(guān)數(shù)據(jù)的電路。電路由STC89C58組成控制元件,負責時序控制、數(shù)據(jù)獲取、與其他電路交換信息,并負責部分數(shù)據(jù)處理任務(wù)。與MCU直接相連的芯片為ADC0809,它是光線傳感電路的核心元件,負責光強數(shù)據(jù)的采集。它也控制著超聲波選擇電路(第27頁有詳細說明)。
電機控制電路
電機控制電路負責驅(qū)動電機的速度控制及數(shù)據(jù)通信。其作用為產(chǎn)生PWM信號控制電機控制器,進而控制電機的轉(zhuǎn)速。該電路的核心元件為STC14C5410,該芯片具有四路PWM輸出可以對機器人的四個驅(qū)動輪進行差速控制。其內(nèi)置的AD轉(zhuǎn)換模塊也可應(yīng)用到相關(guān)電路中,方便拓展更多功能,例如對驅(qū)動輪進行測速等。
其他電路
包括電源接口、無線數(shù)傳模塊穩(wěn)壓電源電路及接口電路、濾波電容、蜂鳴器控制電路、指示燈電路、復(fù)位電路等。這些電路能對系統(tǒng)電路的工作提供必要的輔助。
舵機控制器
此舵機控制器是整個機器人動作控制的核心部件,是本機器人實現(xiàn)對復(fù)雜地形適應(yīng)能力的基礎(chǔ)。
本機器人利用了舵機控制器的17路輸出來控制機器人各個關(guān)節(jié)。
數(shù)模轉(zhuǎn)換模塊
本機器人利用此模塊實現(xiàn)了對5個光敏電阻的數(shù)據(jù)轉(zhuǎn)換。
ADC0809 是帶有8位A/D 轉(zhuǎn)換器、8 路多路開關(guān)以及微處理機兼容的控制邏輯的CMOS 組件。它是逐次逼近式A/D 轉(zhuǎn)換器,可以和單片機直接接口。
在轉(zhuǎn)換期間,ST 應(yīng)保持低電平。EOC 為轉(zhuǎn)換結(jié)束信號。當EOC 為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D 轉(zhuǎn)換。OE 為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0 為數(shù)字量輸出線。CLK 為時鐘輸入信號線。因ADC0809 的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ,VREF(+),VREF(-)為參考電壓輸入。
光強傳感器
本機器人使用光敏電阻檢測環(huán)境中的光強,通過ADC0809轉(zhuǎn)換為數(shù)字信號進行相關(guān)的處理和控制,其中光敏電阻和AD的連接電路如下圖所示。
器件簡介:光敏電阻是根據(jù)半導(dǎo)體的光電導(dǎo)效應(yīng)制成的。它所用的材料主要有:硒、硫化鎘、硫化鋁、硫化鉍、硒化鎘、硒化鋅、砷化鎵、硅等。其中對可見光敏感的硫化鎘光敏電阻是最有代表性的一種。光敏電阻在使用時,可以加直流偏壓,也可以加交流偏壓,它的電流隨電壓呈線性變化。光敏電阻在無光照時,其暗阻值一般大于1500 kΩ ,在有光照時,其亮阻值為幾千歐,兩者相差大。
溫度傳感器 DS18B20
本機器人采用一共5個溫度傳感器進行對機器人自身溫度和環(huán)境溫度的測量。
簡介:此處使用度傳感器是DS18B20數(shù)字溫度計,它是DALLAS公司生產(chǎn)的1-Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統(tǒng),具有線路簡單,在一根通信線,可以連接多個數(shù)字溫度計,十分方便。
本機器人利用了DS18B20產(chǎn)品的如下特點:
(1)用一個端口即可實現(xiàn)通信。
(2)每個DS18B20中都有獨一無二的序列號。
(3)實際應(yīng)用中不需要外圍電路即可實現(xiàn)測溫。
超聲波測距系統(tǒng)
超聲波模塊
采用壓電脈沖反射式超聲波收發(fā)器。
超聲波模塊控制電路
一個超聲波模塊要占用兩位IO口,而本系統(tǒng)所使用的超聲波模塊的數(shù)量達到16個,因為超聲波模塊無使能端,無法復(fù)用端口,若模塊直接與單片機相連,將會占用單片機32位I/O口,且這些I/O將無法和其他部件共用。為了節(jié)約端口資源,提高MCU資源的利用率,必須設(shè)計添加超聲波模塊控制電路。
(1)TX端口分配電路
TX是單片機向超聲波模塊發(fā)送信號的端口,其數(shù)據(jù)方向是固定的,因此可以使用數(shù)據(jù)分配器來實現(xiàn)電路功能。TX端口分配電路的原理圖如圖1的下半部分所示。其核心元件是3-8譯碼器74HC138,由兩片74HC138組成4-16數(shù)據(jù)分配器。
由于74HC138的輸出端口在沒有選通的情況下是輸出高電平的,這樣會造成超聲波模塊誤觸發(fā),不斷地發(fā)送超聲波干擾正在工作的模塊,因此要在74HC138的輸出端接上非門。74HC138的輸入數(shù)據(jù)是從使能端OE1輸入的,這是為了保證數(shù)據(jù)相位的正確,當OE1為高電平時,芯片上被選擇的輸出端變?yōu)榈碗娖?,對?yīng)的非門就會輸出高電平;當OE1為低電平時,芯片的輸出端變?yōu)楦唠娖?,對?yīng)非門變?yōu)榈碗娖?,這就實現(xiàn)了數(shù)據(jù)分配功能。非門U1A輸入端為地址端的最高位A4,通過這個非門對兩個芯片的使能端OE2A和OE2B的控制,就可以把兩片3-8數(shù)據(jù)分配器組合成4-16數(shù)據(jù)分配器。
(2)RX端口選擇電路
RX是超聲波向單片機發(fā)送數(shù)據(jù)的端口,其數(shù)據(jù)傳輸方向是固定的,因此可以用數(shù)據(jù)選擇器來實現(xiàn)電路功能。RX端口選擇電路的原理圖如圖1的上半部分所示。其核心元件是8選1數(shù)據(jù)選擇器74HC151,由兩片74HC151組成16選1數(shù)據(jù)選擇器。
非門U1A輸入端為地址端的最高位A4,通過這個非門對兩個芯片的使能端STB的控制,就可以把兩片8選1數(shù)據(jù)選擇器組合成16選1數(shù)據(jù)選擇器。為了避免邏輯錯誤,兩片8選1數(shù)據(jù)選擇器的輸出端需使用或門來進行端口合并。
軟件控制系統(tǒng)
硬件系統(tǒng)必須配上適當?shù)目刂栖浖到y(tǒng)才能正常工作。對本功能電路進行控制的程序使用C語言編寫,統(tǒng)一放在頭文件中,其接口函數(shù)為:
unsigned char readdis(unsigned char n);
這個函數(shù)的返回值就是以厘米為單位的整數(shù)距離值,這個值的最大值為255cm,已經(jīng)能滿足系統(tǒng)的需要。入口參數(shù)n為指定超聲波模塊的序號,函數(shù)將會根據(jù)序號給出硬件地址并進行距離測量。該超聲波控制程序具有防卡死功能,當測量距離超出范圍或沒有返射信號時,函數(shù)可以自動結(jié)束等待并返回最大值255cm。
無線數(shù)傳模塊
NRF24L01P+PA+LNA無線數(shù)傳模塊工作于免許可證的2.4G ISM頻段,可以點對點或組成星型網(wǎng)絡(luò),此模塊的核心為挪威NORDIC公司的最新的高性能無線數(shù)傳芯片NRF24L01+,外圍輔助以大功率PA和LNA芯片,射頻開關(guān),帶通濾波器.
本作品使用的51內(nèi)核的STC89C58單片機不具備SPI硬件接口,所以用了一組I/O口實現(xiàn)了模擬SPI協(xié)議。
無線攝像頭
攝像頭安裝位置為機器人底部的支撐底盤(云臺)上,可上下調(diào)整或隨底盤左右旋轉(zhuǎn),具備更好的視野。
本機器人使用彩色 CMOS無線攝像頭,可同時承載音頻信號,在救災(zāi)中達到更好的效果。
2.5 手持式遙控器模塊說明
手持式遙控器整體功能
本遙控器是連接機器人本體系統(tǒng)與計算機監(jiān)控軟件的中間節(jié)點,起到了信息轉(zhuǎn)發(fā)的作用。其主要功能是顯示機器人所攝實時圖像,顯示機器人周邊環(huán)境數(shù)據(jù),以及遙控機器人的各種動作。
遙控器接收機器人發(fā)出的環(huán)境數(shù)據(jù)后,進行分析并判斷機器人目前所處的環(huán)境以及是否有特殊事件,比如前進途中有溝壑障礙或環(huán)境溫度過高等,然后將環(huán)境數(shù)據(jù)及分析結(jié)果同時顯示在液晶屏上,供操作者參考,操作者可以按下不同的按鍵發(fā)送具體指令,完成相應(yīng)的動作。
7寸彩色液晶屏
與無線攝像頭的手動諧調(diào)接收器相連,顯示機器人所攝圖像。(后附實物圖及主要參數(shù))
矩陣鍵盤
鍵盤的功能是供操作者發(fā)送指令或設(shè)計機器人運動模式,如前進,后退,變形等。
分為兩部分:1)機器人模式設(shè)置鍵, 可對機器人運動模式進行設(shè)置;2)機器人運動控制鍵,可對機器人前進后退等運動進行控制。
藍牙模塊
藍牙模塊是手持遙控器和計算機的連接紐帶,通過藍牙將采集的數(shù)據(jù)等發(fā)送到計算機端監(jiān)控軟件,計算機端監(jiān)控軟件可以發(fā)送簡單的文字信息到手持遙控器
液晶顯示模塊
其主要工作是顯示環(huán)境數(shù)據(jù)和與計算機端監(jiān)控軟件交換的信息。
2.4上位計算機平臺監(jiān)控軟件說明
監(jiān)控軟件是救災(zāi)指揮中心所使用的,其可以對機器人進行簡單的監(jiān)測,有報警功能,可同手持遙控器進行通訊。是對手持遙控器的補充。
第十二屆“挑戰(zhàn)杯”作品 三等獎
2010年在學(xué)校某科技競賽中獲得?!疤氐泉劇薄?br />2011年第八屆“挑戰(zhàn)杯”陜西省大學(xué)生課外學(xué)術(shù)科技作品競賽獲得“特等獎”。