Stop Sign 編程教學(Blockly)

所需材料:

Zumi x 1

Zumi Dashboard x 1

Stop Sign x 1 (最好為 Zumi 的路標卡)

編程概覽:

Blockly for Zumi - Google Chrome

編程教學 :

10. Sign Detection – Robolink Basecamp — Mozilla Firefox

由於需使用 Zumi 的相機拍照以認出 "stop" sign , 因此需先啟動相機(import camera) ,

並把它開啟 ( start camera) 。

這2個代碼皆可在"camera" block 中找到。

Blockly for Zumi - Google Chrome

創建2個variable 「image」和「sign」 , 前者為拍攝照片時用 ,

後者則是設為分辨「image」是不是 stop sign而設下的。

Blockly for Zumi - Google Chrome

Variable 可在 「Varibale」的 Create variable 來創建。

Blockly for Zumi - Google Chrome

為了讓用家得知  Zumi 的鏡頭拍到什麼 , 這邊可以加入「show image get image」來顯示拍到的圖像。

10. Sign Detection – Robolink Basecamp — Mozilla Firefox

由於需要不斷檢測路面情況(有沒有stop sign) , 因此需要使「repeat do」來不斷重覆檢測的編程 ,

使用 until 是因為當 Zumi 認出 stop sign 時就可以跳出 loop 並進入Output的階段。

「repeat do」 能在 「loops」中找到。

Blockly for Zumi - Google Chrome

Zumi 需不斷向前行走以尋找 "stop sign" , 因此需加入 driving command 「 forward 1 sec...」

wait 2 seconds 的目的是停下來給 Zumi 拍照並尋找 "stop" sign 。

Blockly for Zumi - Google Chrome

當 Zumi 找到 "stop" sign 時 , console 顯示的相片會框著"stop" sign , 然後跳出loop。

在上圖你可以看到 Zumi 花了一點時間才認出 "stop" sign , 那是正常的 。

因此 Zumi 有時候會有延遲或有距離問題 , 不一定能在第一次看到"stop" sign 就認出來。

Blockly for Zumi - Google Chrome

跳出 LOOP 後以 「stop」 停下 Zumi 作收結 , 並把相機關上。