關(guān)鵬 衣龍浩 陳威行
【摘要】 由于機(jī)器人的發(fā)展,循跡算法顯得尤為重要,文章中將討論使用STM32單片機(jī)驅(qū)動機(jī)器人循跡上各種算法優(yōu)劣與實(shí)現(xiàn)的最好方式,讓機(jī)器人循跡更合理輕松。
【關(guān)鍵字】 STM32 機(jī)器人 循跡 灰度傳感器
智能循跡機(jī)器人是一種被廣泛研究的機(jī)器人,國內(nèi)外有許多重要的比賽圍繞此開展,其中很重要的一部分就是考驗(yàn)循跡機(jī)器人的穩(wěn)定性,機(jī)器人循跡系統(tǒng)實(shí)際上就是機(jī)器人路徑識別系統(tǒng),它將路況的真實(shí)信息實(shí)時的傳送給主控制器,循跡系統(tǒng)方案的好壞,直接關(guān)系到最終性能的優(yōu)劣[1]。
一、硬件基礎(chǔ)
(1)STM32F103RBT6微處理器最小系統(tǒng)板;
(2)前后各安裝一個SEN1660八路灰度傳感器,調(diào)節(jié)電位器,使前后八路灰度傳感器精度統(tǒng)一;
(3)16V充電鋰電池;
(4)驅(qū)動模塊。
二、STM32F103系列微處理器簡介
STM32F103系列微處理器是首款基于ARM7體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)RISC處理器,在通常8位和16位系統(tǒng)的存儲空間上發(fā)揮了ARM內(nèi)核的高性能。該系列微處理器工作頻率為72MHz內(nèi)置高達(dá)128K字節(jié)的Flash存儲器和20K字節(jié)的SRAM,具有豐富的通用I/O端口[2]。
三、循跡檢測算法比較與處理
3.1 直線循跡算法
3.1.1 前灰度傳感器+ PWM+偏移量度調(diào)節(jié)
如圖1所示,共設(shè)置三種偏移情況,微偏、中偏、大偏分別進(jìn)行不同的調(diào)節(jié)。
機(jī)器人在白線上行駛時,使用前八路灰度傳感器通過判斷偏移情況,通過PWM利用占空比來調(diào)整機(jī)器人速率,讓機(jī)器人直線循跡。
優(yōu)點(diǎn):機(jī)器人幾乎無卡頓現(xiàn)象。
缺點(diǎn):當(dāng)偏移過大時無法調(diào)節(jié)沖出跑道。
3.1.2 前后灰度傳感器+PWM+延時+偏移量度調(diào)節(jié)
機(jī)器人在白線上行駛時,使用前后八路灰度傳感器通過判斷是否偏移,當(dāng)偏移為微偏時通過PWM利用占空比來調(diào)整機(jī)器人速率,當(dāng)偏移超過微偏時通過延時讓機(jī)器人左右原地轉(zhuǎn)調(diào)節(jié)直到前后灰度傳感器均被跑道平分為止,讓機(jī)器人直線循跡。
優(yōu)點(diǎn):機(jī)器人穩(wěn)定,很少沖出跑道
3.2 轉(zhuǎn)彎循跡算法
(1)利用前灰度傳感器檢測到的亮燈數(shù)的變化判斷是否到路口。
(2)使用延時俯沖半個車身。
(3)用前灰度傳感器依次壓線轉(zhuǎn)彎,如3號壓線條件通過后,再判斷4號壓線條件,4號通過后判斷5號壓線條件,這時候停止轉(zhuǎn)動。
四、 結(jié)束語
本文對基于STM32的機(jī)器人的直線和轉(zhuǎn)彎循跡算法進(jìn)行了探討,經(jīng)過實(shí)際測試以上算法是切實(shí)可行的方案,在該方案的基礎(chǔ)上設(shè)計功能實(shí)現(xiàn)將是今后的目標(biāo)。
參 考 文 獻(xiàn)
[1]何用輝.復(fù)雜環(huán)境下機(jī)器人光電循跡系統(tǒng)研究與設(shè)計[J].南昌工程學(xué)院學(xué)報, 2012,31(4)
[2]孫書鷹.新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用[J].微計算機(jī)應(yīng)用, 2010,31(1)