2015年4月11日,第26屆江蘇省青少年科技創(chuàng)新大賽在宜興順利舉行。經(jīng)過(guò)3天的展示、答辯、交流活動(dòng),最終,來(lái)自江蘇省錫山高級(jí)中學(xué)高三(9)班的謝超同學(xué),以《基于航位推算法定位與深度優(yōu)先遍歷的未知環(huán)境遍歷系統(tǒng)》斬獲本次大賽最高獎(jiǎng)“江蘇省人民政府青少年科技創(chuàng)新培源獎(jiǎng)”。謝超同學(xué)是本次大賽唯一獲此殊榮的高中生,下面就讓我們走近他的世界,看看他的研究成果是如何一點(diǎn)一滴地醞釀出來(lái)的。
流行歌曲《Call?Me?Maybe》的MTV講述了這樣一段有趣的故事:在明媚的陽(yáng)光下,相貌英俊的男主角在自家后院的草坪上修剪草坪。他優(yōu)雅地推著剪草機(jī),就像在悠閑地散步。覺(jué)得熱了,他便脫下身上那件白色背心,露出勻稱的胸肌。這一幕恰巧被女主角瞥見(jiàn),一段浪漫的愛(ài)情故事就此展開(kāi)。
我們不妨換個(gè)場(chǎng)景:男主角在一片足球場(chǎng)上修剪草坪。這時(shí),恐怕不僅女主角無(wú)法對(duì)他一見(jiàn)傾心,可憐的男主角也會(huì)因此愁眉苦臉,抱怨不已。
我倒是覺(jué)得,這種枯燥的工作應(yīng)當(dāng)由機(jī)器人來(lái)完成。也許只要給剪草機(jī)安上電池,再加個(gè)控制器來(lái)操縱它,用蛇形走法走完整個(gè)足球場(chǎng)就行了,反正足球場(chǎng)的長(zhǎng)寬是已知的,事先設(shè)定好路線就行。
可是,如果換在未知環(huán)境中呢?要解決這個(gè)問(wèn)題,其實(shí)只要解決定位和遍歷這兩大問(wèn)題,接著設(shè)計(jì)一個(gè)模型車,再測(cè)試一下就OK了。
定位就是要確定模型車在未知環(huán)境中的絕對(duì)坐標(biāo)和方向。
比如,常見(jiàn)的GPS就是一種手持定位設(shè)備,在地球上可應(yīng)用于經(jīng)緯度、海拔等信息的定位。你也許會(huì)想,既然GPS都可以在地球這么大的環(huán)境中定位了,那么應(yīng)用在上述環(huán)境中肯定是輕而易舉的。但是,上述問(wèn)題定位的精度要求相對(duì)較高,民用GPS的定位精度只有幾米,肯定沒(méi)法滿足。
不過(guò),還有一種常見(jiàn)的“慣性導(dǎo)航”定位技術(shù)非常適合解決這個(gè)問(wèn)題,這種技術(shù)被廣泛地應(yīng)用于航空航天、船舶定位等精度要求高的領(lǐng)域。這種技術(shù)聽(tīng)起來(lái)好像很厲害,但從原理上來(lái)說(shuō)卻很好理解。它利用傳感器測(cè)出移動(dòng)物體的加速度,再對(duì)加速度二次積分,就能推算出物體的坐標(biāo)。但是,這種方法還是不可行,原因很簡(jiǎn)單,便宜的加速度模塊精度和GPS差不了多少,能達(dá)到精度要求的模塊價(jià)格至少是五位數(shù),而且操作很復(fù)雜。
那怎么辦呢?利用測(cè)速測(cè)向設(shè)備的推算導(dǎo)航,這個(gè)辦法和慣性導(dǎo)航差不多,不同的是測(cè)速度,然后一次積分,而且模塊便宜,精度又好。這種方法的缺點(diǎn)是有誤差,要用PID進(jìn)行反饋控制。至于PID如何操作,我也不太清楚。它是大學(xué)里自動(dòng)化專業(yè)教授的東西,因此這個(gè)方案也行不通。
那么是不是就沒(méi)法解決定位問(wèn)題了呢?條條大路通羅馬!還有一個(gè)看起來(lái)都算不上是個(gè)定位方法的辦法:直接開(kāi)環(huán)控制。所謂開(kāi)環(huán),我想舉個(gè)倒水的例子:你要用飲水機(jī)接水,可以用眼睛看水有沒(méi)有滿,快滿的時(shí)候就松開(kāi)放水的按鈕,像這樣運(yùn)用一些參考量來(lái)反饋控制輸出量的方法就是閉環(huán)控制;相反,如果你接水的時(shí)候在和別人聊天,完全沒(méi)有注意到水杯里的水位,也就是說(shuō)這時(shí)你的眼睛沒(méi)有提供一些參考來(lái)供你判斷輸出量(杯中水量)是否達(dá)到了預(yù)期(倒?jié)M),這就是開(kāi)環(huán)。
開(kāi)環(huán)的好處在于控制簡(jiǎn)單。只需要執(zhí)行部件,即用手按放水按鈕,但不需要提供參考的部件,即眼睛,也不需要根據(jù)參考信息來(lái)反饋控制輸出量。這種方法的缺點(diǎn)是應(yīng)對(duì)誤差的能力差,閉著眼睛倒水,水可能溢出來(lái)。這個(gè)方法也不靠譜,看起來(lái)完全沒(méi)法應(yīng)用到實(shí)踐中。比如,每秒鐘產(chǎn)生1厘米的誤差,十分鐘后就達(dá)到了6米,誤差累積起來(lái)是很可觀的。
我們不妨換個(gè)思路,如果我們能夠使誤差盡可能的小,即使采用開(kāi)環(huán)策略,我們也能在較短的運(yùn)行時(shí)間內(nèi)獲得較高的精度。這就是我采用的方案,簡(jiǎn)單但可行。