|
基于超聲波傳感器的全向移動(dòng)平臺(tái)的沿墻控制 針對(duì)沿墻自主導(dǎo)航, 搭建一種由全向輪、 步進(jìn)電機(jī)、 超聲波傳感器以及 52 單片機(jī)組成的全向移動(dòng)平臺(tái), 分析了其運(yùn)動(dòng)特性。 進(jìn)行了全向移動(dòng)平臺(tái)自主沿墻導(dǎo)航系統(tǒng)的硬件設(shè)計(jì), 提出了一種全動(dòng)和差動(dòng)相結(jié)合的沿墻控制策略。 實(shí)驗(yàn)結(jié)果證明: 該控制策略能有效實(shí)現(xiàn)自主精確沿墻導(dǎo)航, 為全向移動(dòng)平臺(tái)的沿墻導(dǎo)航控制提供了一種方法。 0 前言 沿墻導(dǎo)航是指機(jī)器人沿著墻壁的輪廓行走, 保持與墻壁一定的距離, 且不發(fā)生碰撞現(xiàn)象[1]。 沿墻導(dǎo)航在許多領(lǐng)域得到了應(yīng)用, 如室內(nèi)清掃機(jī)器人、 老人服務(wù)機(jī)器人、 AGV 小車、 滅火機(jī)器人等。 沿墻走是機(jī)器人借助環(huán)境進(jìn)行自主導(dǎo)航的方法之一, 其關(guān)鍵在于如何獲取環(huán)境知識(shí), 這就需要借助機(jī)器人外部傳感器。 視覺、 紅外、 激光、 超聲波等傳感器都在移動(dòng)機(jī)器人中得到實(shí)際應(yīng)用[2]。 但超聲波傳感器以其性價(jià)比高、 硬件實(shí)現(xiàn)簡(jiǎn)單等優(yōu)點(diǎn), 在移動(dòng)機(jī)器人感知系統(tǒng)中得到了廣泛的應(yīng)用[3]。 郭小勤等[1,3-4] 對(duì)普通差動(dòng)輪式機(jī)器人做了沿墻走研究, 并通過實(shí)驗(yàn)較好地實(shí)現(xiàn)了接近式沿墻走效果。 但對(duì)于普通的輪式移動(dòng)機(jī)構(gòu), 轉(zhuǎn)彎都需要一定的旋轉(zhuǎn)半徑, 在狹小的空間常因無(wú)法橫向移動(dòng)而失去作用, 這在一定程度上就限制了輪式機(jī)器人的使用[5]。全向移動(dòng)機(jī)構(gòu)特別適合移動(dòng)空間狹小、 需要經(jīng)常轉(zhuǎn)彎、 行走距離較短或需要橫向移動(dòng)的場(chǎng)合。 1 全向移動(dòng)平臺(tái)底盤設(shè)計(jì) 由于全向輪圓周由多個(gè)小輥?zhàn)咏M成, 輥?zhàn)拥妮S線與輪子的圓周相切, 并能自由旋轉(zhuǎn), 這樣的結(jié)構(gòu)使得全向輪具備 3 個(gè)自由度: 繞輪軸的轉(zhuǎn)動(dòng)、 饒輥?zhàn)虞S線的轉(zhuǎn)動(dòng)和沿輥?zhàn)虞S線垂直方向的平動(dòng) (也即和普通輪子相比具有側(cè)滑功能)。 2 全向移動(dòng)平臺(tái)運(yùn)動(dòng)方式 全向移動(dòng)平臺(tái)工作空間為一平面, 如圖 2 (a)所示, 以 4 個(gè)輪子的軸線分別為 x、 y 軸, 以 4 個(gè)輪子的軸線交點(diǎn)也即該全向移動(dòng)平臺(tái)的幾何中心為原點(diǎn), 建立平面直角坐標(biāo)系。 3 全向移動(dòng)平臺(tái)自主沿墻導(dǎo)航系統(tǒng)硬件設(shè)計(jì) 如圖 3 所示系統(tǒng)主要由 STC89C52 單片機(jī)、 2 路超聲波電路以及 4 個(gè)電機(jī)驅(qū)動(dòng)電路組成。 系統(tǒng)采用低功耗、 抗干擾性強(qiáng)、 高性能的 STC89C52 單片機(jī)作為系統(tǒng)的主控制器, 接受 2 路超聲波傳感器測(cè)量到的與障礙物之間的距離信號(hào), 通過自主沿墻導(dǎo)航算法發(fā)出指令給電機(jī)驅(qū)動(dòng)電路, 驅(qū)動(dòng)全向移動(dòng)平臺(tái)自主沿墻導(dǎo)航。 3.2 控制系統(tǒng) 如圖 4 所示, 控制系統(tǒng)主要由 STC89C52 單片機(jī)、 時(shí)鐘電路、 復(fù)位電路組成。 STC89C52 單片機(jī)具有抗干擾性能強(qiáng)、 速度快、 功耗低和指令代碼完全兼容 8051 單片機(jī)等特點(diǎn)[6]。 時(shí)鐘電路采用內(nèi)部時(shí)鐘方式, 通過 STC89C52 單片機(jī)的 XTAL1 和 XTAL2 引腳外接石英晶體和和兩個(gè)微調(diào)電容來(lái)實(shí)現(xiàn)。 復(fù)位電路采用上電自動(dòng)復(fù)位和按鍵復(fù)位的方式。 3.3 超聲波測(cè)距電路 超聲波測(cè)距電路用于測(cè)試與障礙物的距離。 一般的超聲波模塊的有效距離不足 5 m[7], KSl03 超聲波傳感器帶溫度補(bǔ)償功能, 測(cè)量精度高, 使用溫度修正的測(cè)距命令, 直接輸出距離 (單位為 mm), 近距離內(nèi)最高精度達(dá) 1 mm; 測(cè)量盲區(qū)最小至 1 cm, 最大量程可達(dá) 11 m, 基本無(wú)盲區(qū); 使用 I2C 接口與主機(jī)通信, 自動(dòng)響應(yīng)主機(jī)的 I2C 控制指令; 省電模式: 具有自動(dòng)休眠功能, 模塊在 5 s 內(nèi)未收到主機(jī)指令自動(dòng)進(jìn)入休 眠 狀 態(tài), 隨 時(shí) 被 主 機(jī) I2C 控 制 指 令 喚 醒[8]。KSl03 支持溫度修正的距離探測(cè)及溫度探測(cè), 測(cè)量距離大, 在 I2C 模式下, 一條 I2C 總線或一對(duì) IO 口可以接 20 個(gè) KS103, 故采用 KSl03 超聲波測(cè)距。 在 KS103 測(cè)距模塊上連線引腳上標(biāo)識(shí)有: VCC、SDA/ TX (簡(jiǎn)稱 SDA)、 SCL/ RX (簡(jiǎn)稱 SCL)、 GND、MODE。 MODE 引腳懸空時(shí), KS103 工作于 I2C 模式,其中 VCC 用于連接+5 V (3 0~ 5 5 V 范圍均可) 電源, GND 用于連接電源地, SDA/ TX 是 I2C 通信的數(shù)據(jù)線, SCL/ RX 引腳是 I2C 通信的時(shí)鐘線。 SCL 及SDA 線均需要由主機(jī)接一個(gè) 4 7 kΩ (阻值 1 ~ 10 kΩ均可) 電阻到 VCC。 單片機(jī)的 P35、 P36 引腳分別作為 I2C 通信的時(shí)鐘線 SCL 和數(shù)據(jù)線 SDA 與 KS103 測(cè)距模塊的 SCL 及 SDA 引腳相連, 接口電路如圖5所示。 圖 5 超聲波傳感器與單片機(jī)接口電路 KS103 測(cè)距模塊數(shù)據(jù)包括距離、 往返時(shí)間以及溫度, 單片機(jī)通過 I2C 總線向 KS103 模塊寄存器 0x02寫 8 位探測(cè)指令 0xbc (該指令探測(cè)距離為 0 ~ 11 m,帶溫度補(bǔ)償), 等待轉(zhuǎn)換時(shí)間到, 讀取 KS103 模塊的0x02、 0x03 寄存器中的 16 位距離測(cè)量值[9],其單位為 mm。 3.4 步進(jìn)電機(jī)驅(qū)動(dòng)電路 步進(jìn)電機(jī)采用工作電壓為 12~24 V, 額定相電流為 1. 65 A, 步距角為 1 8°, 扭矩為 0 55 N· m 的兩相四線混合式大扭矩 42 系列步進(jìn)電機(jī)。 步進(jìn)電機(jī)驅(qū)動(dòng)芯片采用 A4988, A4988 是一款完全的微步電動(dòng)機(jī)驅(qū)動(dòng)器, 可以以全、 半、 1/ 4、 1/ 8 及 1/ 16 步進(jìn)模式驅(qū)動(dòng)兩相步進(jìn)電機(jī), 輸出驅(qū)動(dòng)性能可達(dá) 35 V 及±2 A,為系統(tǒng)步進(jìn)電機(jī)提供了足夠的驅(qū)動(dòng)功率[10]。 A4988帶有內(nèi)置轉(zhuǎn)換器, 操作簡(jiǎn)便, 只需在步進(jìn)端口輸入一個(gè)脈沖即可驅(qū)動(dòng)電動(dòng)機(jī)產(chǎn)生微步, 無(wú)需相序表、 高頻控制線或復(fù)雜接口[11]。 A4988 步進(jìn)電機(jī)驅(qū)動(dòng)芯片主要端口有 ENABLE、DIR、 STEP、 MS1、 MS2、 MS3。 ENABLE 端口可以使用單片機(jī)端口控制, 也可以直接連接 GND 使能。 EN⁃ABLE 端口輸入高電平時(shí), 電機(jī)不轉(zhuǎn), 輸入低電平時(shí), 電機(jī)轉(zhuǎn)動(dòng)。 在 STEP 引腳輸入一個(gè)脈沖, 即可驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)產(chǎn)生微步, 設(shè)置脈沖的頻率, 可控制步進(jìn)電機(jī)旋轉(zhuǎn)速度。 MS1、 MS2、 MS3 按照表 1 分別接高低電平來(lái)設(shè)置步進(jìn)模式, 從而選擇不同的步距角和激勵(lì)方式[10]。 DIR 端口輸入高電平時(shí), 步進(jìn)電機(jī)順時(shí)針旋轉(zhuǎn), 輸入低電平時(shí), 步進(jìn)電機(jī)逆時(shí)針旋轉(zhuǎn)。A4988 電機(jī) 驅(qū) 動(dòng) 芯 片 與 單 片 機(jī) 的 接 口 電 路 如 圖 6所示。 單片機(jī)的 P00-P05 口同時(shí)與 4 個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)芯片 A4988 的 1~ 6 號(hào)輸入端口相連, 控制步進(jìn)電機(jī)的使能、 步進(jìn)角以及激勵(lì)方式等。 單片機(jī)的的 P2 口分別與 A4988 的 STEP、 DIR 端口相連, 控制步進(jìn)電機(jī)的速度和方向。 4 個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)芯片 A4988 的輸出端 1A 與 1B 分別接步進(jìn)電機(jī)同相的兩端, 輸出端2A 與 2B 分別接步進(jìn)電機(jī)另一相的兩端。 4 沿墻導(dǎo)航控制策略 為了直觀地闡明沿墻走控制策略, 可以以直線墻為例, 如圖 7 所示, 期望的全向移動(dòng)平臺(tái)能沿著距離墻 400 mm 距離 (距離值大小可調(diào)) 的直線墻行走。按全向移動(dòng)平臺(tái)中心線與預(yù)期的直線路徑的位置可以分五類情況。 第一類情況如圖 7 (a) 所示, 全向移動(dòng)平臺(tái)的中心線與預(yù)期的直線路徑完全重合, 超聲波傳感器 1 測(cè)距=超聲波傳感器 2 測(cè)距 = 設(shè)定距離, 則不需要調(diào)整, 全向移動(dòng)平臺(tái)直線前進(jìn)。 第二類情況如圖 7 (b) 所示, 移動(dòng)平臺(tái)中心線向左偏離且與預(yù)期的直線路徑相交, 超聲波傳感器 1 測(cè)距<設(shè)定距離,且超聲波傳感器 2 測(cè)距>設(shè)定距離, 則控制全向移動(dòng)平臺(tái)右轉(zhuǎn)。 第三類情況如圖 7 (c) 所示, 移動(dòng)平臺(tái)中心線向右偏離且與預(yù)期的直線路徑相交, 超聲波傳感器 1 測(cè)距>設(shè)定距離, 且超聲波傳感器 2 測(cè)距<設(shè)定距離, 則控制全向移動(dòng)平臺(tái)左轉(zhuǎn)。 第四類情況如圖7 (d)所示, 移動(dòng)平臺(tái)中心線向左偏離且與預(yù)期的直線路徑平行, 超聲波傳感器 1 測(cè)距 = 超聲波傳感器 2測(cè)距<設(shè)定距離, 則控制全向移動(dòng)平臺(tái)右移。 第五類情況如圖 7 (e) 所示, 移動(dòng)平臺(tái)中心線向右偏離且與預(yù)期的直線路徑平行, 超聲波傳感器 1 測(cè)距 = 超聲波傳感器 2 測(cè)距>設(shè)定距離, 則控制全向移動(dòng)平臺(tái)左移。 對(duì)于第一類直線前進(jìn)情況, 采用差動(dòng)的行走方式, 1、 3 號(hào)車輪不轉(zhuǎn), 2、 4 號(hào)車輪轉(zhuǎn), 這樣不僅可以節(jié)省能耗而且相比全動(dòng)直線行走方式走的直線更直。 對(duì)于第二類右轉(zhuǎn)和第三類左轉(zhuǎn)情況采用全動(dòng)方式, 充分發(fā)揮全動(dòng)方式的優(yōu)點(diǎn), 右轉(zhuǎn)、 左轉(zhuǎn)時(shí)可以繞全向移動(dòng)平臺(tái)的幾何中心旋轉(zhuǎn), 轉(zhuǎn)彎半徑; 對(duì)于第四類右移、 第五類左移也采用差動(dòng)方式, 2、 4 號(hào)車輪不轉(zhuǎn), 1、 3 號(hào)車輪轉(zhuǎn), 可以使得全向移動(dòng)平臺(tái)直接橫向移動(dòng)到預(yù)期的路徑上來(lái), 調(diào)整快。 圖 7 全向移動(dòng)平臺(tái)沿墻走策略 5 實(shí)驗(yàn)結(jié)果 全向移動(dòng)平臺(tái)沿著一段為直線墻和一段為弧形墻行走, 從簽字筆畫的痕跡可以看出, 全向移動(dòng)平臺(tái)的軌跡最開始一段為左移線段 1, 直線前進(jìn)線段 2 和弧形線段 3, 運(yùn)動(dòng)軌跡光滑。 全向移動(dòng)平臺(tái)放在紙上的初始位置是隨機(jī)放的, 全向移動(dòng)平臺(tái)的初始位是遠(yuǎn)離墻的, 故全向移動(dòng)平臺(tái)在程序控制下左移, 快速地達(dá)到其中心離墻的距離為 500 mm, 故形成了左移線段 1 的運(yùn)動(dòng)軌跡。 然后全向移動(dòng)平臺(tái)保持離墻為 500 mm 的距離沿直線墻行走, 形成了直線前進(jìn)線段 2 的運(yùn)動(dòng)軌跡。 最后全向移動(dòng)平臺(tái)保持離墻為500 mm 的距離沿弧形墻行走, 形成了弧形線段 3 的運(yùn)動(dòng)軌跡。 當(dāng)然改變超聲波傳感器設(shè)置的值 (大于最小盲區(qū) 1 cm, 小于最大量程 11 m), 也即是改變?nèi)蛞苿?dòng)平臺(tái)中心離墻的距離后, 全向移動(dòng)平臺(tái)也能實(shí)現(xiàn)沿墻走。 圖 8 全向移動(dòng)平臺(tái)沿著直線墻行走實(shí)驗(yàn) 6 結(jié)論 參考文獻(xiàn): 班寧產(chǎn)品匯總 |