AI智能小車套件-Cutebot x AI鏡頭 結合聯合國永續發展目標SDGs專題應用|台灣STEAM教學團隊 oursteamtw
icon教學資源
122021.05

AI智能小車套件-Cutebot x AI鏡頭 結合聯合國永續發展目標SDGs專題應用

什麼是聯合國永續發展目標SDGs?

聯合國永續發展目標(Sustainable Development Goals, SDGs)包含17項目標(Goals)與169項細項目標(Targets)。

於2015年由聯合國所有193個會員國通過此項議程,提出了一個更公平、更和平的世界願景,且不遺漏任何一個國家。這些全球性目標將引導國際社會於未來15年(2016-2030)積極採取行動以消除貧困和不平等、保護健康和防止氣候變化等亟待解決的全球性議題。




          圖二、聯合國17項永續發展目標(SDGs)(中文)

什麼是do your :bit?

do your :bit是micro:bit結合聯合國永續發展目標SDGs所推出、專屬於8-18歲兒童及青少年的全球性創意挑戰賽。

為什麼do your :bit活動非常適合8-18歲兒童及青少年參加?

將孩子們的學習與現實世界做連結變得越來越重要,透過使用micro:bit來思考如何解決聯合國永續發展目標SDGs,孩子們將能從這個過程中了解到如何把學習到的科技能力,轉化成改變世界的想法和真實問題的解決方案,培養出科技融入生活的核心素養。

透過聯合國永續發展目標SDGs的真實問題,我們將能以PBL的方式(問題導向學習:problem-based learning)讓孩子們運用科技能力來解決實際問題。



以下我們以AI智能小車套件-Cutebot x AI鏡頭的基礎六大功能,來示範如何結合聯合國永續發展目標SDGs、將各個功能應用到生活中來解決實際問題。
 

enlightened專案一

應用功能:循線追蹤,利用AI影像識別路徑讓Cutebot小車依循黑線移動。
應用情境:製作提供給銀髮族從A點到B點自駕前往醫院的無人載具。
結合SDGs議題:目標3_良好健康與社會福利,確保健康的生活方式,促進各年齡人群的福祉。



 

軟體平台

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

程式設計

步驟1

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



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




我們需要增加一個擴充積木來針對AI Lens進行編程。點選Menu底部的"Advanced",再點選"Extensions",接著在搜尋的對話框內輸入此網址:https://github.com/elecfreaks/pxt-PlanetX-AI,以將其下載。

注意:請務必輸入此網址才能找到PlanetX-AI,暫時不能透過輸入關鍵字搜尋。
小心勿輸入關鍵字下載成PlanetX(這擴充包含了PlanetX-AI和其他類別的應用),它目前和Cutebot擴充積木不相容,會導致編寫好程式後無法下載hex.檔案。





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


步驟2

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

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



程式總覽

連結:https://makecode.microbit.org/_W9c01xeYRU2U

結果示意

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

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



enlightened專案二

應用功能:路標車,利用AI影像識別路標卡指令來控制Cutebot小車。
應用情境:製作交通安全教育教案,利用循跡地圖及路標卡帶領學生藉由判斷路標、紅綠燈...等學習道路安全。
結合SDGs議題:目標4_良質教育,確保包容和公平的優質教育,讓全民終身享有學習機會。



程式設計
 

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

../../_images/case-17-01.png

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


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

../../_images/case-17-02.png

程式總覽

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

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


結果示意

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

 

enlightened專案三

應用功能:變色燈,利用AI影像識別卡片顏色後,變更Cutebot小車的LED前燈及車底燈顏色。並結合另一片micro:bit透過廣播來遙控Cutebot小車的運行。
應用情境:透過Cutebot x AI鏡頭-變色燈功能協助盲人識別紅綠燈,Cutebot在識別到紅綠燈時會改變車燈顏色,接著發出對應的提示聲響。
同時我們將一片micro:bit當作遙控,安裝在白手杖上(國際公認盲人專用識別輔具),使盲人可以利用microbit的按鍵操控Cutebot小車前進的方向(例如:當按下A+B鍵=Cutebot小車持續前進)。

結合SDGs議題:
目標3_良好健康與社會福利,確保健康的生活方式,促進各年齡人群的福祉。
目標11_永續發展的市鎮規劃,建設包容、安全、具防災能力與永續的城市和人類住區。




程式設計

遙控端(安裝在白手杖上的micro:bit)

在“啟動時(on start)”積木中,將廣播群組設為1(之後亦將小車端的群組設定為1,因此兩者可連通)。
當按下A+B鍵時,廣播傳送數字1、按下A鍵時,廣播傳送數字2、按下B鍵時,廣播傳送數字3、按下logo時,廣播傳送數字4。




AI鏡頭 x Cutebot小車端

在“當啟動時(on start)”積木中,將廣播群組設為1(遙控端的群組亦設定為1,因此兩者可連通)。
初始化AI鏡頭,然後將功能切換到顏色識別模式,並將2顆燈設置為連接到P15腳位(Cutebot車底的2顆Raibow LED信號燈預設為P15腳位 )。



在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上的卡片顏色。如果它識別了紅色,則將LED前燈和車底燈設置為紅色,並且立刻停車及播放提示旋律;如果它識別出綠色,則將LED前燈和車底燈設置為綠色,並且Cutebot小車開始前進及播放提示旋律。



當收到廣播數字時,設置為從AI鏡頭獲取一個畫面,並判斷當數字=1,Cutebot小車開始前進及播放提示旋律、當數字=2,Cutebot小車向左轉並播放兩拍中音C提示、當數字=3,Cutebot小車向u右轉並播放兩拍中音D提示、當數字=4,Cutebot小車立刻停車並播放提示旋律。



程式總覽



連結

遙控端(安裝在白手杖上的micro:bit)
https://makecode.microbit.org/_Tj53XPXTKJrP

AI鏡頭 x Cutebot小車端
https://makecode.microbit.org/_UuiXzC0cP8m7
 

結果示意

利用AI影像識別卡片顏色後,變更Cutebot小車的LED前燈及車底燈顏色。我們可以再並結合另一片micro:bit透過廣播來遙控Cutebot小車的運行。



enlightened專案四

應用功能:追蹤球體,利用AI影像辨識,讓Cutebot小車能夠追蹤球體。
應用情境:
(1)透過Cutebot x AI鏡頭-追蹤球體的功能,再加裝一台錄影機,就能隨時追著球的狀況進行錄製,在疫情期間讓觀眾們不需前往球場也能同步觀賞球賽,配合政府落實防疫。
(2)Cutebot小車化身足球守門員,搭配打造的小型紙上足球場,以趣味化的方式讓沒有真實足球場的孩子也能接觸足球並喜愛上這項運動!
結合SDGs議題:
目標3_良好健康與社會福利,確保健康的生活方式,促進各年齡人群的福祉。


 

程式設計

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


../../_images/case-19-01.png

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

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



../../_images/case-19-02.png


程式總覽

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

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


結果示意

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



 


 

enlightened專案五

應用功能:一鍵學習,使用Cutebot和AI鏡頭實現一鍵學習功能,並進行延伸運用。
應用情境:
(1)將必須透過人工檢查瑕疵的工作,改由AI影像辨識進行判讀,以節省人力。如果AI鏡頭判別出瑕疵就發出提示聲音並且Cutebot小車可經由閃燈或移動小車來做相關提示。
(2)將Cutebot小車安裝在資源回收桶,用來識別大家有沒有確實進行回收分類(例如:按下A鍵是學習寶特瓶、按下B鍵是學習鋁罐等等),並可以利用Cutebot小車其本身也是一個擴充板的優勢,再外接伺服馬達並黏上自製舉牌,當有人丟錯回收物時,Cutebot小車將會舉牌提醒。(補充:Cutebot小車其載有P1、P2引腳及伺服馬達專用的S1、S2)。
結合SDGs議題:
(應用情境1)目標9_產業、創新和基礎設施,建設具防災能力的基礎設施,促進具包容性的永續工業化及推動創新。
(應用情境2)目標12_確保永續消費和生產模式



程式設計

以下是以:
應用情境2結合SDGs目標12來做示範。

我們可以將不同台AI x Cutebot小車各寫入一個一鍵學習項目,並放到對應的回收桶位置。因為AI鏡頭最多可以一次學習五個項目,因此這邊我們將五個項目以一台Cutebot小車來做程式範例設計。

假設目前有編號1~編號5共五個垃圾桶,利用AI x Cutebot小車的一鍵學習功能,在AI進行影像辨識後,透過發出不同的聲音及micro:bit顯示數字提示,來告訴孩子目前手中的資源回收項目應該丟到哪一號正確的回收桶中。


在“啟動時(on start)”積木中,初始化AI鏡頭,然後將功能切換到物件學習模式。
設計按下A鍵是學習目標ID1(例如:寶特瓶)、按下B鍵是學習目標ID2(例如:鋁罐)、按下A+B鍵是學習目標ID3(例如:乾電池)、按下logo是學習目標ID4(例如:紙容器)、搖晃是學習目標ID5(例如:保麗龍)。




在“重複執行(forever)”的積木中,設置為從AI鏡頭中獲取一個畫面。當AI鏡頭識別到ID1(寶特瓶)在畫面中,則會發出兩拍中音C,並在micro:bit上顯示數字1(提醒將寶特瓶丟到1號回收桶);當AI鏡頭識別到ID2(鋁罐)在畫面中,則會發出兩拍中音D,並在micro:bit上顯示數字2(提醒將鋁罐丟到2號回收桶);當AI鏡頭識別到ID3(乾電池)在畫面中,則會發出兩拍中音E,並在micro:bit上顯示數字3(提醒將乾電池丟到3號回收桶);當AI鏡頭識別到ID4(紙容器)在畫面中,則會發出兩拍中音F,並在micro:bit上顯示數字4(提醒將紙容器丟到4號回收桶);當AI鏡頭識別到ID5(保麗龍)在畫面中,則會發出兩拍中音G,並在micro:bit上顯示數字5(提醒將保麗龍丟到4號回收桶)。



程式總覽



連結:https://makecode.microbit.org/_9fpY1y6syMME
 

結果示意

按下A鍵時,將機器學習到的AI影像辨識目標設置為ID1,完成學習後,如果識別到目標ID1,則會發出中音C,並亮藍色前燈來提示它已辨識到該學習到的目標,否則的話,將會亮紅色前燈來提示目前辨識到的並非該學習目標。

 


enlightened專案六

應用功能:人臉識別,使用Cutebot和AI鏡頭實現人臉識別功能,並進行延伸運用。
應用情境:禁區警示預防意外:學校機構有許多死角區域(頂樓、地下室等等),安排Cutebot小車像警衛般待在這些地方,透過AI鏡頭進行人臉辨識,一旦有小朋友誤闖,利用micro:bit的廣播功能,對老師端的另一片micro:bit發出警報通知,提醒老師注意已有學生誤闖,確保小朋友安全。
結合SDGs議題:目標11_永續發展的市鎮規劃,建設包容、安全、具防災能力與永續的城市和人類住區。



程式設計
 

AI鏡頭 x Cutebot小車端
在“啟動時(on start)”積木中,將廣播群組設為1(之後亦將老師端的群組設定為1,因此兩者可連通),初始化AI Lens並切換到人臉識別功能。
在“重複執行(forever)”積木中,設置為從AI鏡頭獲取一個畫面,並判斷畫面上是否為人臉,如果是的話,透過廣播發送字串"Warn!"


老師端的micro:bit

在“啟動時(on start)”積木中,將廣播群組設為1(Cutebot小車端的群組亦設定為1,因此兩者可連通),初始化AI Lens並切換到人臉識別功能。
當收到廣播文字時,顯示該透過廣播傳送的字串"Wann!",並且重複播放50次警報音來做為提示老師已有小朋友誤闖禁區。


連結

AI鏡頭 x Cutebot小車端
https://makecode.microbit.org/_3TuAe7T1FFUp​
老師端的micro:bit
https://makecode.microbit.org/_Eq1ftAbYf85u

結果示意

當AI影像辨識到畫面的人臉時,透過廣播發送字串"Warn!"到另一片micro:bit上並且重複播放50次警報音來做為提示。

 

  • icon
  • icon
  • icon
  • icon
  • icon
  • icon電話:04-2337-1605
  • icon傳真:04-2256-9949
  • icon統編:13438259
  • iconE-mail:oursteamtw@gmail.com
  • iconLINE ID:@oursteam