Don't Stay Here - supervised learning (將障礙物推出場外)
準備物料 :
● 準備一張邊長約為 70cm的正方形紙。在紙上繪畫出一個直徑約 60cm 的黑色圓圈。圓圈的線應為 4-5 cm 粗。
● 將 Thymio 及 4-5個小型障礙物擺至圓圈內。
Characteristics of the objects | 障礙物的需求 :
● 障礙物需輕至能讓 Thymio 推動 , 可以是任何形狀但外表應為淺色從而讓 Thymio 的 IR Sensor 能有效偵測到。
● 物件的闊度應為 2 - 9 cm
● 例如 : 杯 , LEGO , 細木頭等等
Thymio 要做什麼 ?
● 跟上個活動「Keep the track」一樣 , 我們會使用 supervised learning (監督式學習) 來教 Thymio 該做什麼動作。
● 在上個活動的監督式學習中 , 我們透過 Sensor 的數值來告知 Thymio 要執行那個動作。
● 我們/Thymio只學習過某幾個重要的情況 , 但多虧了神經網絡,Thymio 學會了在從未遇到過的情況下該怎麼做。
設定 Parameters :
Sensors :
打開「Sensors」Tab ,
- 選取 Proximity IR , 然後選擇 use values , all sensors ;
- 選取 Ground IR sensors ; 然後選擇 use values
Actions :
打開「Actions」Tab ,
- 選擇「forward」以及「turn 30」
- duration , pause between actions , max speed 保留預設數值無需改變
AI :
打開「AI」Tab ,
- learning type 選取「supervised learning」
- algorithm 選 「neural network」
- learning rate 0.02
- hidden neuron layers 「10 20」 , 在 「10」「20」中間但輸入「空白鍵」代表有2習 hidden layers
Visualization :
打開「Visualization」Tab :
- 選擇 「input / output value」 , 其他隨意
- 勾選 「keep space between neurons」, 這樣才能分間開每個 IR Sensor 的 input value
A first hand-simulation | 第一身模擬 :
● 將 Thymio 及障礙物隨意放到圓圈內 。
你必須手動模擬 Thymio 需要做什麼才能把障礙物推出圓圈。但要小心 , 你必須遵守一些規則 , 否則我們的想法無法在程式上使用。
● 執行的動作取決於 sensor 的 value , 因此需想像 sensor 探測到什麼。
要注意的是 , 對於特定的 sensor state (感應該狀態) , 不要給予幾個不同的動作拍令(action)。例如 : 當中間的IR Sensor 偵測到物件 , 你指令 Thymio 向前行 , 同下一次中間的 IR Sensor 偵查到物件的時候就千萬不要給予向前以外的指令 , 例如 : 向右轉。
因為只要教學習有出錯 , 機械人(AI) 就會執行錯誤的動作
▶ 用手拿起 Thymio , 放置空曠位置(前方沒障礙物)
▶ 第一個動作是將 Thymio 以直線向前行駛一小段距離 , 即 3-4cm。
▶ 將一個障礙物推出圓圈 , 你可考慮下圖描述的情況 , Thymio 從側面撞到紫色障礙物
根據 sensor value 決定要執行的動作
● 分析該情況後, 嘗試讓 Thymio 重現它。
● 需要的話可加入更多「Action」
● 利用「self-drive」及「learning」進行訓練 (如同 keep the track 活動一樣)