AI智能小車套件-Cutebot x AI鏡頭(上集)|奧斯丁教育團隊 OURSTEAM in EDUCATION
icon教學資源
022021.03

AI智能小車套件-Cutebot x AI鏡頭(上集)

本集內容學習完畢後,請您接續前往(下集)學習人臉辨識以及遙控方法!
enlightenedAI智能小車套件-Cutebot x AI鏡頭(下集)enlightened
如需為AI Lens更新韌體,步驟請參考

enlightenedAI Lens 智能AI鏡頭enlightened
 
 
使用CutebotAI鏡頭進行循線追蹤

目的:使用Cutebot和AI鏡頭執行循線追蹤。




所需材料:

Cutebot V3.0小車x 1

Cutebot鋰電池組x 1

AI鏡頭 x 1

注意:AI鏡頭套件僅適用於Cutebot V3.0(您可以在底板上看到版本編號)。


../../_images/cutebot-16-04.png

連接方式:

安裝鋰電池組的步驟:
如果您的Cutebot尚未加裝乾電池座,請省略步驟1~2,並從步驟3開始安裝。


積木的組裝步驟:

積木清單:



組裝步驟:

步驟1






步驟2







步驟3





步驟4



連接AI鏡頭:

RJ11線連接上AI鏡頭



並將杜邦線的另一端穿過電池座下方,再連接到Cutebot上,依照:黑色線連接G、紅色線連接3V、綠色線連接19、黃色線連接20(請確保連接到正確的位置)。



接著將兩個黑色積木搭配AI鏡頭一起安裝在Cutebot上,使AI鏡頭更加穩固。



完成圖示:





提示:連接AI鏡頭的積木支架可以彈性調整,我們可以手動調整AI鏡頭的角度,以滿足您要達到的功能要求。

 

軟體平台

MicroSoft MakeCode(https://makecode.microbit.org/ )

程式設計

步驟1

點擊Menu中的“進階(Advanced)”以查看更多選擇。



我們需要增加一個擴充積木來針對Cutebot進行編程。點擊Menu底部的"Advanced",接著在搜尋的對話框內輸入" cutebot"並下載下來。




我們需要增加一個擴充積木來針對AI Lens進行編程,點選Menu底部的"Advanced",再點選"Extensions",接著在搜尋的對話框內輸入PlanetX-AI,以將其下載。
注意:小心勿下載成PlanetX(這擴充包含了PlanetX-AI和其他類別的應用),它目前和Cutebot擴充積木不相容,會導致編寫好程式後無法下載hex.檔案。




注意:如果出現告知由於不相容而將刪除編程資料庫的提示,可以按照提示所述繼續操作或再建立一個新專案。

步驟2

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到循線追蹤模式,設定micro:bit以顯示指定的圖案。

在“重複無限次(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上線條的偏離方向:
-如果它偏向左側,則表示Cutebot偏向右側,我們應該將左邊輪子的速度設置為10%,將右邊輪子的速度設置為40%,使Cutebot向左轉並轉到正確的方向。
-如果直線偏向右側,則表示Cutebot偏向左側;我們應該將右邊輪子的速度設置為10%,將左邊輪子的速度設置為40%,使Cutebot向右轉並轉到正確的方向。
若非前述的兩種狀況,則代表無須調整Cutebot的轉向,我們可以將兩個Cutebot輪子的速度都設置為20%,然後Cutebot便會沿直線前進。




程式總覽

程式連結:https://makecode.microbit.org/_L9vFzqgseV1h

結果

AI影像識別路徑讓Cutebot小車依循黑線移動。

../../_images/case-16-04.gif


 
Cutebot&AI鏡頭路標車
 


目的使用AI鏡頭識別路標卡來控制Cutebot。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到卡片識別模式,設定micro:bit以顯示指定的圖案。
 



在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上的卡片圖標。
-如果它符合“前進”圖標,則我們將左輪和右輪的速度都設置為50%,以使汽車前進。
-如果它識別到“向左轉”圖標,則將汽車設置為以30%的速度向左轉0.5秒,然後繼續前進。請注意AI鏡頭具有三個緩衝區,在執行後需要獲得三個畫面以清除緩衝區。
-如果識別出“向右轉”圖標,我們將汽車設置為以30%的速度向右轉0.5秒,然後繼續前進。請注意AI鏡頭具有三個緩衝區,在執行後需要獲得三個畫面以清除緩衝區。
-如果識別出“停止”圖標,則汽車立刻停止行駛。


注意:因為左轉/右轉的程式中有暫停的指令(for 0.5 seconds),因此需要編寫清除緩衝區的指令:【repeat 3 times do Get one image from AI-Lens】。而前進或停止沒有暫停的指令(for 0.5 seconds),所以不需要編寫清除緩衝區的指令。



程式總覽

../../_images/case-17-03.png

程式連結:https://makecode.microbit.org/_1v3bWhet40hr


結果

AI影像識別路標卡指令來控制Cutebot小車
如果AI鏡頭識別出“前進”卡,則汽車將向前行駛。如果識別出“左轉”卡,則汽車向左轉然後前進;如果識別出“向右轉”卡,則汽車向右轉然後前進;如果識別出“停車”卡,則汽車停止行駛。

 
 
 
Cutebot&AI鏡頭變色燈
 


目的使用AI鏡頭識別卡片顏色後,能變更LED前燈及車底燈的顏色。

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到顏色識別模式,並將2顆燈設置為連接到P15腳位(Cutebot車底的2顆Raibow LED預設為P15腳位 )。


在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上的卡片顏色。如果它識別了白色,則將LED前燈和車底燈設置為白色;如果它識別出藍色,則將LED前燈和車底燈設置為藍色,以此類推,我們以相同的方式使用綠色、紅色、黃色和黑色卡進行程式設計。




程式總覽

程式連結:https://makecode.microbit.org/_WRvApYTbuJem


結果

AI影像識別卡片顏色後,會變更LED的前燈顏色和車底燈的顏色。




 

Cutebot&AI鏡頭追蹤球體
 



目的用AI Lens進行影像辨識,讓Cutebot能夠追蹤球體

程式設計

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到球體追蹤模式。

在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面。如果畫面中有球,則判斷球的大小。
如果檢測到球的尺寸小於100,則表示該球距離Cutebot較遠,接著使用X軸的值來判斷該球的位置:
-如果X軸的值小於80,則表示該球位於Cutebot的左前方,我們需要將左輪的速度設置為0%,將右輪的速度設置為20%,以使小車向左轉去追球。
-如果X軸的值超過144,則代表球在Cutebot的右前方,我們需要將左輪的速度設置為20%,將右輪的速度設置為0%,以使Cutebot向右轉去追球。
若非前述兩者情況,代表X軸的值介於80~144之間,該球大約是在Cutebot的前方,所以我們將兩個輪子都設置為25%,以使Cutebot前進去追球;如果檢測到球的尺寸大於100,則表示球距離Cutebot很近,我們則將Cutebot設置為停止移動。


補充:關於size<100的數字範圍設定
經過測試數值範圍是0~224會比較好運做,不過0~224是理論值,實際使用的範圍值可能會更小,可依據個人使用再做調整。size、x 或是y的範圍都建議是0~244。


程式總覽

../../_images/case-19-03.png

程式連結:https://makecode.microbit.org/_FWL7247fyfCk


結果

AI影像辨識到球體,驅動Cutebot小車保持一定距離追蹤球體。如果距離球體太近,則Cutebot會停止。


 

CutebotAI鏡頭一鍵學習

 

目的:使用Cutebot和AI鏡頭實現一鍵學習功能。
 

程式設計

 

在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到物件學習模式。
設計按下A鍵是學習目標ID1、按下B鍵是學習目標ID2、按下A+B鍵是學習目標ID3、按下logo是學習目標ID4、搖晃是學習目標ID5(AI鏡頭最多可以一次學習五個項目)。

 

在“重複執行”的積木中,設置為從AI鏡頭中獲取一個畫面。當AI鏡頭識別到ID1在畫面中,則會發出中音C;當AI鏡頭識別到ID2在畫面中,則會發出中音D;當AI鏡頭識別到ID3在畫面中,則會發出中音E;當AI鏡頭識別到ID4在畫面中,則會發出中音F;當AI鏡頭識別到ID5在畫面中,則會發出中音G。
 

程式總覽

程式連結:https://makecode.microbit.org/_L3j62HMaeWgj

結果
按下A鍵時,將機器學習到的AI影像辨識目標設置為ID1,完成學習後,如果識別到目標ID1,則會發出中音C。
按下B鍵時,將機器學習到的AI影像辨識目標設置為ID2,完成學習後,如果識別到目標ID2,則會發出中音D。
按下A+B鍵時,將機器學習到的AI影像辨識目標設置為ID3,完成學習後,如果識別到目標ID3則會發出中音E。
按下logo時,將機器學習到的AI影像辨識目標設置為ID4,完成學習後,如果識別到目標ID4則會發出中音F。
當搖晃時,將機器學習到的AI影像辨識目標設置為ID5,完成學習後,如果識別到目標ID5則會發出中音G。我們可以用這五個基本音來彈奏簡單的音樂。





更多Cutebot x AI鏡頭應用內容,請接續
enlightenedAI智能小車套件-Cutebot x AI鏡頭(下集)enlightened
  • icon
  • icon
  • icon
  • icon
  • icon
  • icon電話:04-2337-1605
  • icon傳真:04-2256-9949
  • icon統編:13438259
  • iconE-mail:oursteamtw@gmail.com
  • iconLINE ID:@oursteam