梁偉鄯 侯冰宇
(柳州工學(xué)院 信息科學(xué)與工程學(xué)院,柳州 545616)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們對機(jī)器自動化技術(shù)的研究不斷深入。機(jī)器人作為集機(jī)械、控制、人工智能等多學(xué)科先進(jìn)技術(shù)于一體的自動化裝備,一直是人們的研究重點(diǎn)[1]。輪式機(jī)器人作為機(jī)器人學(xué)中較為重要的一類機(jī)器人,一直備受青睞。
在實(shí)際使用中,全方位移動機(jī)器人的控制性能通過其定位系統(tǒng)和導(dǎo)航算法進(jìn)行考量。全向輪底盤作為機(jī)器人的基礎(chǔ)運(yùn)動系統(tǒng),常用于全國大學(xué)生機(jī)器人大賽。這項(xiàng)賽事對機(jī)器人的靈活性和精準(zhǔn)度要求較高。為了滿足比賽要求,在全向輪底盤的設(shè)計(jì)上運(yùn)用正交碼盤和陀螺儀,采用基于Bezier 的曲線路徑規(guī)劃算法,融合梯形加減速和速度分解等算法。
設(shè)計(jì)需要滿足2020 年第十九屆全國大學(xué)生機(jī)器人大賽ROBOCON 賽事需求,即在比賽場地上進(jìn)行任意位置的路徑規(guī)劃,且底盤運(yùn)動系統(tǒng)能準(zhǔn)確按照設(shè)置好的路徑運(yùn)動。比賽場地圖,如圖1 所示。
圖1 比賽場地圖
設(shè)計(jì)總體方案時(shí),系統(tǒng)主要由最小系統(tǒng)主控板、定位模塊以及電機(jī)驅(qū)動等模塊構(gòu)成。定位系統(tǒng)先反饋相對位置給主控板,主控板向電機(jī)驅(qū)動發(fā)送移動命令。電機(jī)轉(zhuǎn)動后通過編碼器將脈沖值反饋給主控板,主控板根據(jù)反饋的脈沖值和定位系統(tǒng)的位置判斷是否到達(dá)目標(biāo)點(diǎn)。
2.1.1 電機(jī)選型方案
電機(jī)選型主要有兩種方案:一是無刷電機(jī);二是775 有刷帶行星減速齒輪電機(jī)。綜合可行性和精度指標(biāo)分析后,選用775 有刷帶行星減速齒輪電機(jī)。它的優(yōu)點(diǎn)在于力矩大、易控制、結(jié)構(gòu)相對簡單、便于維修、控制精度高、響應(yīng)快、價(jià)格低廉、實(shí)用。
2.1.2 編碼器選型方案
電機(jī)選型主要有兩種方案:一是磁編碼器;二是光電編碼器。綜合可行性和精度指標(biāo)分析后,選用磁編碼器。它的優(yōu)點(diǎn)在于可以提供較高的分辨率,因此可以提供精確的位置和運(yùn)動信息。此外,它壽命較長,且不需要高精度光柵,降低了安裝要求?;谒墓ぷ髟?,磁編碼器可以實(shí)現(xiàn)非接觸安裝,減少了機(jī)械接觸的磨損和故障風(fēng)險(xiǎn)。
定位方式選型主要有兩種方案:一是傳感器定位;二是單邊碼盤加陀螺儀定位。綜合分析可行性和精度指標(biāo)后,選用單邊碼盤加陀螺儀定位。它的優(yōu)點(diǎn)在于定位精度高,安裝方便。它可以以原點(diǎn)為參考點(diǎn),在較短時(shí)間內(nèi)提供一個(gè)高精度的相對位置,對機(jī)器人工作環(huán)境依賴性較小。
研究的全向輪底盤由4 個(gè)全向輪組成。實(shí)際應(yīng)用中,考慮實(shí)用性和輪子的負(fù)載能力,設(shè)計(jì)如圖2 所示的模型。以底盤中心為圓心,4 個(gè)全向輪分布在與中心相切的正方形的四角。輪系結(jié)構(gòu)是全方位移動機(jī)器人可以進(jìn)行全向無死角平移的關(guān)鍵。它的輪系結(jié)構(gòu)由大輪邊緣和小輪組成[2],可以避免側(cè)滑帶來的非完整性運(yùn)動限制,實(shí)現(xiàn)任意角度的平移和自轉(zhuǎn)。
圖2 模型3D 建模圖
根據(jù)機(jī)器人實(shí)際用途,假設(shè)該底盤為剛體底盤,4 個(gè)輪組都有獨(dú)立的電機(jī)驅(qū)動。運(yùn)動信息主要通過編碼器和陀螺儀獲取。陀螺儀固定在底盤水平位置,以獲得機(jī)器人的自轉(zhuǎn)角度信息[2]。根據(jù)底盤移動特點(diǎn),設(shè)計(jì)通過每個(gè)編碼器連接一個(gè)小型全向輪來獲取輪子的轉(zhuǎn)速信息。
以起始點(diǎn)為原點(diǎn),建立場地全局坐標(biāo)系Xw-Yw和機(jī)器人自身坐標(biāo)系Xm-Ym,如圖3 所示[2]。自身坐標(biāo)系原點(diǎn)為底盤的幾何中心,δ為輪子的運(yùn)動方向和機(jī)器人的運(yùn)動方向的夾角,θ為車子自轉(zhuǎn)的角度,xm和ym分別為車體沿橫坐標(biāo)和縱坐標(biāo)行走的路程,L為4個(gè)輪子到底盤中心的距離,v1~v4為4 個(gè)電機(jī)帶動輪子轉(zhuǎn)動的速度。車子本身轉(zhuǎn)動后和全局坐標(biāo)系的偏差角為θ,因此需要根據(jù)θ的變化將自身坐標(biāo)系轉(zhuǎn)化為全局坐標(biāo)系。
圖3 坐標(biāo)系及每個(gè)輪子的速度分解示意圖
將機(jī)器人坐標(biāo)的xm和ym進(jìn)行正交分解到世界坐標(biāo),可以得到
為方便運(yùn)算,將式(1)轉(zhuǎn)化為矩陣形式,有
機(jī)器人位姿θ和自轉(zhuǎn)角速度ω可由陀螺儀數(shù)據(jù)計(jì)算得到,車體橫坐標(biāo)方向和縱坐標(biāo)方向的速度vxm和vym可由編碼器數(shù)據(jù)計(jì)算得到,由此可以計(jì)算得到機(jī)器人在一個(gè)系統(tǒng)采樣周期內(nèi)的位移。
根據(jù)底盤中心與4 個(gè)全向輪位置的幾何關(guān)系,得到電機(jī)驅(qū)動全向輪運(yùn)動學(xué)方程為
將式(3)轉(zhuǎn)化成矩陣形式,得到機(jī)器人運(yùn)動模型為
通過式(4)可得機(jī)器人輪子與全局坐標(biāo)的關(guān)聯(lián)。
通過曼哈頓距離計(jì)算兩點(diǎn)距離。已知兩點(diǎn)之間的距離、目標(biāo)最大速度,通過路徑的速度規(guī)劃所需要加速距離和減速距離。在達(dá)到最大速度前,速度逐步增大,直至最大速度,之后以最大速度勻速運(yùn)動,在快要接近目標(biāo)終點(diǎn)時(shí),使速度逐步接近零。梯形加減速規(guī)劃速度可以極大可能地滿足速度快且穩(wěn)的特性。通過將梯形加減速規(guī)劃的速度-比例-積分-微分(Proportion-Integral-Differential,PID)算法相結(jié)合[3],向全向輪底盤提供快速、穩(wěn)定的機(jī)動性能和制動性能。
經(jīng)定位方式和距離計(jì)算方式只能實(shí)現(xiàn)兩點(diǎn)之間直線運(yùn)動,通過貝塞爾曲線優(yōu)化路徑軌跡,使路徑由只可以直線移動變?yōu)榭梢匝厍€移動。貝塞爾曲線通過節(jié)點(diǎn)和線組成連續(xù)的曲線,能夠?qū)D(zhuǎn)角進(jìn)行平滑處理,縮短部分路徑長度,節(jié)約直線行駛過拐點(diǎn)的時(shí)間[4]。
4 階貝塞爾的曲線方程為
式中:t為時(shí)間;P1~P4為各個(gè)頂點(diǎn)坐標(biāo)值。
當(dāng)t∈(0,1)時(shí),能生成4 次貝塞爾曲線。曲線上任意一點(diǎn)的曲率K(u)的計(jì)算公式為[5]
式中:u為曲線上的任意一點(diǎn);x'(u)為曲率在X軸方向上的切向量;x''(u)為曲率在X軸方向上的法向量;y'(u)為曲率在Y軸方向上的切向量;y''(u)為曲率在Y軸方向上的法向量。
該底盤主控板選用STM32F103RCT6 作為控制芯片,原理如圖4 所示。
圖4 主控電路原理
電機(jī)驅(qū)動采用2 個(gè)預(yù)驅(qū)芯片和4 個(gè)N 溝道大功率金屬-氧化物-半導(dǎo)體(Metal Oxide Semiconductor,MOS)管構(gòu)成雙H 橋結(jié)構(gòu),實(shí)現(xiàn)對有刷電機(jī)的控制。一般有刷驅(qū)動需要2 個(gè)互補(bǔ)的脈沖寬度調(diào)制(Pulse Width Modulation,PWM)波和1 個(gè)方向引腳,才能控制電機(jī)的正反轉(zhuǎn)和調(diào)速。在驅(qū)動的輸出兩端并聯(lián)一個(gè)壓敏電阻和一個(gè)雙向瞬態(tài)抑制二極管,可有效抑制電機(jī)瞬間停轉(zhuǎn)或者反轉(zhuǎn)時(shí)產(chǎn)生的浪涌,防止電流倒灌驅(qū)動部分燒毀MOS 管。
軟件部分可以分為底盤定位系統(tǒng)、編碼器模塊和單片機(jī)系統(tǒng)。通過定位系統(tǒng)反饋底盤的位置信息,直接通過編碼器模塊接口將獲取的脈沖數(shù)值經(jīng)過處理得到的相對位置信息發(fā)送到單片機(jī)系統(tǒng)。單片機(jī)系統(tǒng)對電機(jī)通過電機(jī)驅(qū)動控制其速度和方向,使底盤高效精準(zhǔn)地到達(dá)目的地,然后停止運(yùn)動。
底盤定位系統(tǒng)是機(jī)器人導(dǎo)航和控制的重要組成部分。通過定位系統(tǒng)反饋底盤的位置信息,可以實(shí)現(xiàn)機(jī)器人的自主導(dǎo)航和精確定位。
編碼器是一種能夠?qū)⑿D(zhuǎn)運(yùn)動轉(zhuǎn)換為電信號輸出的裝置。在機(jī)器人底盤中,通常采用光電編碼器或磁性編碼器獲取電機(jī)的轉(zhuǎn)動信息。
單片機(jī)系統(tǒng)是機(jī)器人控制系統(tǒng)的核心部分。在機(jī)器人底盤中,單片機(jī)系統(tǒng)通常負(fù)責(zé)接收編碼器反饋的位置信息,并根據(jù)預(yù)先規(guī)劃好的路徑進(jìn)行控制。單片機(jī)系統(tǒng)可以通過PWM 信號控制電機(jī)的轉(zhuǎn)速和方向,從而控制底盤運(yùn)動。
全向輪底盤長為1 000 mm、寬為1 000 mm,底盤單個(gè)驅(qū)動輪半徑為75 mm,底盤質(zhì)量為9.2 kg,在長為10 m、寬為9 m 的區(qū)域內(nèi)。全向輪底盤執(zhí)行根據(jù)比賽路徑設(shè)定不同規(guī)劃速度的不同路徑。經(jīng)過大量測試,機(jī)器人的路徑跟隨誤差在2.5 cm 以內(nèi),位姿跟隨誤差在0.04 rad 以內(nèi),滿足實(shí)際比賽的需求,如表1 所示。
該全向輪底盤作為機(jī)器人的基礎(chǔ)運(yùn)動平臺,在參加2020 大學(xué)生機(jī)器人大賽過程中運(yùn)動控制效果良好,滿足競賽對于精準(zhǔn)度的要求。此外,提出的定位和路徑規(guī)劃可以推動全向移動機(jī)器人的發(fā)展。