Coding and STEMThymioThymio ActivityAlphAI | Thymio 官方資源Don't Stay Here - supervised learning (將障礙物推出場外)

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’s mission | Thymio 的任務 :

● Thymio 將把圓圈內的所有物件推出場外 , 如上圖般。

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

你應得到類似的 dashboard :

你下載 parameters 然後在 software上導入 :

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 活動一樣)

訓練內容 :

● 一共 10 個動作。

● 標記 :

X : 有物件 / 數值貼近 1

- : 看不見 / 數值貼近 0

注意1 : Ground IR Sensor 在黑線時數值是接近 0 的 , 因為應為 O [看不見]

同時 Thymio 在黑線上時應該轉向避免駛出圓圈

注意2 : Right / Left IR 在黑線時是 X 是因為只有把障礙物推出圓圈時 , Thymio 才會行到黑線上

● 左右的 IR Sensor 很少使用 , 因此你也能不選用它們。