在機(jī)器人智能移動(dòng)中,SLAM發(fā)揮了無(wú)可比擬的作用,SLAM (simultaneous localization and mapping),也稱為CML (Concurrent Mapping and Localization), 主要幫助機(jī)器人進(jìn)行即時(shí)定位與地圖構(gòu)建,或并發(fā)建圖與定位。但SLAM技術(shù)并不等于智能導(dǎo)航。為什么這么說(shuō)呢?原因如下:
SLAM技術(shù)主要是解決機(jī)器人的地圖構(gòu)建與即時(shí)定位,而機(jī)器人進(jìn)行智能導(dǎo)航主要解決的是機(jī)器人與環(huán)境的自主交互,尤其是點(diǎn)到點(diǎn)自主移動(dòng)的問(wèn)題,雖然SLAM技術(shù)在其中起到了關(guān)鍵的作用,但還需要加入路徑規(guī)劃和運(yùn)動(dòng)控制。在SLAM技術(shù)幫助機(jī)器人確定自身定位和構(gòu)建地圖之后,進(jìn)行一個(gè)叫做目標(biāo)點(diǎn)導(dǎo)航的能力。通俗的說(shuō),就是規(guī)劃一條從A點(diǎn)到B點(diǎn)的路徑出來(lái),然后讓機(jī)器人移動(dòng)過(guò)去。
運(yùn)動(dòng)規(guī)劃是一個(gè)很大的概念,從機(jī)械臂的運(yùn)動(dòng)、飛行器的飛行,到掃地機(jī)的清掃,機(jī)器人的移動(dòng),其實(shí)這些都是屬于運(yùn)動(dòng)規(guī)劃的范疇。
SLAM+路徑規(guī)劃和運(yùn)動(dòng)控制=機(jī)器人智能導(dǎo)航
運(yùn)動(dòng)規(guī)劃主要分為: 全局規(guī)劃 、 局部規(guī)劃。
全局規(guī)劃
全局規(guī)劃,顧名思義,是最上層的運(yùn)動(dòng)規(guī)劃邏輯,它按照機(jī)器人預(yù)先記錄的環(huán)境地圖并結(jié)合機(jī)器人當(dāng)前位姿以及任務(wù)目標(biāo)點(diǎn)的位置,在地圖上找到前往目標(biāo)點(diǎn)最快捷的路徑。
局部規(guī)劃
當(dāng)環(huán)境出現(xiàn)變化或者上層規(guī)劃的路徑不利于機(jī)器人實(shí)際行走的時(shí)候(比如機(jī)器人在行走的過(guò)程中遇到障礙物),局部路徑規(guī)劃將做出微調(diào)。
與全局規(guī)劃有所區(qū)別的是,局部規(guī)劃可能并不知道機(jī)器人最終要去哪,但是對(duì)于機(jī)器人怎么繞開(kāi)眼前的障礙物特別在行。
這兩個(gè)層次的規(guī)劃模塊協(xié)同工作,機(jī)器人就可以很好的實(shí)現(xiàn)從A點(diǎn)到B點(diǎn)的智能移動(dòng)了。不過(guò)實(shí)際工作環(huán)境下,上述配置還不夠。因?yàn)檫\(yùn)動(dòng)規(guī)劃的過(guò)程中還包含靜態(tài)地圖和動(dòng)態(tài)地圖兩種情況。
A* 算法
A*(A-Star)算法是一種 靜態(tài) 路網(wǎng)中求解最短路徑最有效的直接搜索方法,也是解決許多搜索問(wèn)題的有效算法。算法中的距離估算值與實(shí)際值越接近,最終搜索速度越快。但是,A*算法同樣也可用于動(dòng)態(tài)路徑規(guī)劃當(dāng)中,只是當(dāng)環(huán)境發(fā)生變化時(shí),需要重新規(guī)劃路線。
D* 算法
D*算法則是一種 動(dòng)態(tài) 啟發(fā)式路徑搜索算法,它事先對(duì)環(huán)境位置,讓機(jī)器人在陌生環(huán)境中行動(dòng)自如,在瞬息萬(wàn)變的環(huán)境中游刃有余。D*算法的最大優(yōu)點(diǎn)是不需要預(yù)先探明地圖,機(jī)器人可以和人一樣,即使在未知環(huán)境中,也可以展開(kāi)行動(dòng),隨著機(jī)器人不斷探索,路徑也會(huì)時(shí)刻調(diào)整。
上述的幾種算法都是目前絕大部分機(jī)器人所需要的路徑規(guī)劃算法,能夠讓機(jī)器人跟人一樣智能,快速規(guī)劃A到B點(diǎn)的最短路徑,并在遇到障礙物的時(shí)候知道如何處理。但 掃地機(jī)器人 作為最早出現(xiàn)在消費(fèi)市場(chǎng)的服務(wù)機(jī)器人之一,它需要的路徑規(guī)劃算法更為復(fù)雜。
空間覆蓋(space coverage)
掃地機(jī)器人所需要的功能跟市面上的機(jī)器人有所不同,比如針對(duì)折返的工字形清掃,如何有效進(jìn)行清掃而不重復(fù)清掃?如何讓掃地機(jī)和人一樣,理解房間、門、走廊這種概念?
針對(duì)這些問(wèn)題,學(xué)術(shù)界長(zhǎng)久以來(lái)有一個(gè)專門的研究課題,叫做空間覆蓋(space coverage),同時(shí)也提出了非常多的算法和理論。其中,比較有名的是Morse Decompositions,掃地機(jī)通過(guò)它實(shí)現(xiàn)對(duì)空間進(jìn)行劃分,隨后進(jìn)行清掃。
所以,他要實(shí)現(xiàn)的不是盡快實(shí)現(xiàn)從A到B的算法,為了家里能盡量掃得干凈,要盡量覆蓋從A到B點(diǎn)的所有區(qū)域,實(shí)現(xiàn)掃地機(jī)器人“掃地”的這個(gè)功能。
所以,機(jī)器人智能導(dǎo)航技術(shù)的發(fā)展還需要更多的技術(shù)加以支撐,適用于更多的場(chǎng)景。雖然技術(shù)和需求在變,但不變的是,在行業(yè)中取長(zhǎng)補(bǔ)短,結(jié)合不同新的技術(shù)進(jìn)行融合,這是不會(huì)改變的事實(shí)。
關(guān)鍵字:SLAM,智能导航