一臺可被稱作機(jī)器人的機(jī)器,必須要能感應(yīng)環(huán)境并對其產(chǎn)生影響。這也是傳感器做為機(jī)器人學(xué)關(guān)鍵的原因,而懂得使用傳感器打造智能機(jī)器人,對有心打進(jìn)機(jī)器人學(xué)圈子的各位而言至關(guān)重要。
在本文中,我們要認(rèn)識的是稱為「感知>判斷>動作」(sense > think > act)的機(jī)器人運(yùn)作。這個運(yùn)作在機(jī)器人學(xué)的應(yīng)用相當(dāng)廣泛,也是了解如何編寫機(jī)器人程序一個很好的切入點(diǎn)。讓我們開始吧!
選擇傳感器
我們有多少物理特性可以測量,就有多少傳感器可以使用,但我們先從HC-SR04超音波距離傳感器開始,因?yàn)樗阋?、單純,而且在機(jī)器人學(xué)中用途廣泛(它還有很方便的Arduino數(shù)據(jù)庫)。
定義機(jī)器人模型
這個傳感器可以偵測距離,所以我們先做一個會閃避障礙物的簡單機(jī)器人吧。這種機(jī)器人可以前進(jìn)、后退,并定點(diǎn)旋轉(zhuǎn)到任何方向。距離傳感器就安裝在機(jī)器人的正面。有了這個機(jī)器人的概念之后,讓我們來看如何讓它運(yùn)作。
什么是感知、判斷、動作?
感知、判斷、動作是一種決策循環(huán),可以用來為機(jī)器人解決很多問題,而且非常地簡單。在我們的例子中,機(jī)器人必須感測前方是否有障礙物,接著判斷是否可以前進(jìn)、或是否應(yīng)該轉(zhuǎn)彎或后退,之后便會依照決定來動作。這樣的邏輯可以套用在任何機(jī)器人上,適用任何傳感器,幾乎可以進(jìn)行任何動作。
了把這種邏輯寫成用來控制機(jī)器人的程序代碼,我們必須描述得更加精確,讓我們由以下的方法來創(chuàng)造簡單的機(jī)器人行為模式:
1. 機(jī)器人感應(yīng)前方3cm內(nèi)是否有任何障礙物。
2. 若無障礙物,則前進(jìn)。
3. 若有障礙物,則后退。
這很容易轉(zhuǎn)換為程序代碼,但我們可以預(yù)見這套邏輯會讓機(jī)器人在遇到墻壁時卡在前后來回的循環(huán)。它會先前進(jìn)直到偵測到墻壁,接著后退到偵測不到墻壁,然后再前進(jìn),不斷重復(fù)。我們可以用以下的方式來改良它的行為模式。
1. 機(jī)器人感應(yīng)前方3cm內(nèi)是否有障礙物。
2. 若無障礙物,則前進(jìn)。
3. 若有障礙物,則右轉(zhuǎn),再返回第1步。
機(jī)器人會重復(fù)這個循環(huán),直到找出3cm內(nèi)沒有墻面的方向。
現(xiàn)在我們就有了一個可以確實(shí)讓機(jī)器人避開障礙物的感知、判斷、動作模型。這并不是很精密的模型,我們還可以增加很多細(xì)節(jié)來提升閃避障礙物的能力。
即使是簡單的機(jī)器人,只要運(yùn)用復(fù)雜的感知、判斷、動作模型,還是可以設(shè)計(jì)出非常聰明的行為模式。這就是機(jī)器人學(xué)的精隨:聰明的都在軟件里!
我們目前的行為模式效率有點(diǎn)低,因?yàn)闄C(jī)器人要右轉(zhuǎn)的時候需要先左轉(zhuǎn)三次?,F(xiàn)在我們在前面的三步驟后面加上第四步來改良行為模式:
4. 若有障礙物,則左轉(zhuǎn),再返回第1步。
1. 機(jī)器人偵測前方3cm內(nèi)是否有障礙物。
2. 若無障礙物,則前進(jìn)。
3. 若有障礙物,則左轉(zhuǎn)并再次偵測。
4. 若無障礙物,則前進(jìn)并重設(shè)循環(huán)。
5. 若有障礙物,則右轉(zhuǎn)并再次偵測。
6. 若無障礙物,則前進(jìn)并重設(shè)循環(huán)。
7. 若有障礙物,則機(jī)器人繼續(xù)右轉(zhuǎn),直到無障礙物。
樣一來機(jī)器人就會檢查左右兩邊有沒有墻面,代表它的移動會更有效率。我們現(xiàn)在可以發(fā)現(xiàn)連這樣簡單的行為,在描述上也開始變得復(fù)雜,但如果把這套行為模式想成一系列的感知、判斷、動作循環(huán),就更容易理解了。
就這樣,我們已經(jīng)把一套簡單的感知、判斷、動作行為模式建構(gòu)成可以實(shí)際應(yīng)用的障礙閃避程序。接下來要把這套行為模式轉(zhuǎn)換成程序代碼很容易,而我們也就可以開始做各種機(jī)器人學(xué)的嘗試了。再加裝更多距離傳感器,甚至不同種類的傳感器,便能讓機(jī)器人的行為模式更加精密。只要記得把動作分解成感知、判斷、動作的循環(huán),就能做到很多事!
-
傳感器
+關(guān)注
關(guān)注
2545文章
50455瀏覽量
751101 -
機(jī)器人
+關(guān)注
關(guān)注
210文章
28109瀏覽量
205860
發(fā)布評論請先 登錄
相關(guān)推薦
評論