8. 第八課

../_images/8_1.png

8.1. 簡介

歡迎參加Micro:bit 智能小車課程!在本課程中,我們將探索Micro:bit並學習如何在編程中如何控制Micro:bit智能小車。

8.2. 教學目標

讓學生清楚掌握Micro:bit 智能小車的AI鏡頭原理及其功用,並了解如何透過設計編程令AI鏡頭幫助智能小車實現更多功能。

8.3. 物件追蹤功能 (下)

8.3.1. HuskyLens物件追蹤進階應用

在第7課中,我們學習了有關HuskyLens物件追蹤的基本原理、現實應用以及操作方式。此外,您現在也懂得利用物件追蹤使車子可以一直看向物件方向,並精準地往物件前進。而microbit智能小車所配備的麥克納姆輪具有高靈活性,可以與HuskyLens互相配合發展出更多新功能,從而最大限度地發揮物件追蹤功能的潛力。

8.3.2. 探測障礙:HuskyLens物件追蹤 v.s. 超聲波傳感器

在經過第七課練習2和3後,相信您已經熟練如何使用HuskyLens物件追蹤重現超聲波傳感器最基本的探測障礙功能了。以下的圖表總結了只使用兩者之一進行探障的利弊。

HuskyLens 超聲波傳感器
可以只探測已學習物件的距離 無法只針對目標物件進行探測
辨識容易出現誤差,導致出錯 只要物件是平面,不容易出錯
可以追蹤目標物件並保持距離 不能追蹤任何物件

那麽,如果將HuskyLens和超聲波傳感器一起使用,就能互相抵消各自的缺點了。

8.4. 練習1

先重溫上一課的知識並熱身一下,在學習物件後,將物件放在車子前方,並拿至不同距離。設計程序,利用HuskyLens取得物件高度,令車子一直與物件維持在大概相同的距離。

../_images/8_2.png

8.5. 練習2

結合超聲波傳感器,改良練習1的程序。學習後把物件放在HuskyLens畫面範圍内。利用HuskyLens物件追蹤以及車子旋轉令物件維持在畫面的水平中心,并使用超聲波傳感器維持車子與物件的距離。

../_images/8_3.png ../_images/8_4.png

提示:

  • 可參考第6課練習2將畫面劃分成三個區域

  • 先使用調節車子方向,再繼續前進

8.6. 練習3

結合超聲波傳感器和HuskyLens特體追蹤,設計程序令車子能夠完成以下動作。

../_images/8_5.png

提示:

根據超聲波的運作原理,車子要探測不在鏡頭畫面中心的物件有一定難度。試想像一下需要在甚麼情況(怎樣的物件配合怎樣的學習過程)才能成功使車子往後右或後左移動。 

8.7. 挑戰

在完成練習3之後,現在你已經懂得如何令車子可以根據方位以不同的方式追蹤物件移動。

那麽,現在可以兩人一組使用兩部車子進行挑戰。先把第一部車子放在前方,另一部車子則使用HuskyLens從後方充分學習第一部車子。

一人設計程序利用遙控手柄控制第一部車子進行前進、右轉、左轉、後退等行動。另一人則設計並反復修改程序令第二部車子跟隨著第一部車子後方移動。

提示:

如果車子移動速度過快導致HuskyLens來不及追蹤,可以在每次移動後短暫暫停令鏡頭適應

../_images/8_6.png ../_images/8_7.png

8.8. 答案

8.8.1. 練習1

以探測到的高度判斷車子離物件的距離。

當高度在60以下,判斷物件太遠,車子前進。

當高度在80以上,判斷物件太近,車子後退。

否則車子停下。

../_images/8_8.png

8.8.2. 練習2

當物件在畫面的X中心大於190和小於130,車子分別向右及向左旋轉。

否則執行超聲波程序,探測物件距離並控制前進及後退。

../_images/8_9.png ../_images/8_10.png

8.8.3. 練習3

要使車超聲波測不在HuskyLens鏡頭畫面中心的物件,在以下條件較易達成:

  • 物件體積較大,並且只對物件其中一處的特徵進行學習。(確保傳感器能接收反彈回來的信號)

  • 使用HuskyLens學習時必須要包含充足數量的角度及距離。(由於鏡頭在支架上的角度固定,而在不同角度、距離看見的物件樣子都存在分別,必須確保HuskyLens在不同位置都能辨識到物件)

8.8.3.1. 程序無限次執行

以5和12距離為分界,執行向前移動、原地移動、向後移動的程序。

../_images/8_11.png

8.8.3.2. 向前移動

../_images/8_12.png

8.8.3.3. 向後移動

../_images/8_13.png

8.8.3.4. 原地移動

../_images/8_14.png