2018年10月28日 星期日

AI 深度學習體感自走車

好久沒寫文了(咳)

mBlock5 認知服務以及深度學習功能出來一陣子了,
有興趣的朋友請看 這裡

目前試玩過微軟認知服務(人臉辨識、語音辨識、人臉年齡、文字辨識),
深度學習也嘗試過簡易無人商店專案、猜拳遊戲

試著能夠結合硬體,看看能有甚麼發揮之處
mBlock 本身就結合很多 MakeBlock 自家的硬體
之前試用過用語音(微軟認知服務)控制 Rnger 上的燈環
(例如我口語說"黃色",燈環就亮黃色)
但感覺應該還可以有更多發揮

對了,深度學習建好的模型,辨識好的結果要怎麼讓硬體(Ranger, mBot)知道呢
沒錯,你猜對了,就是用變數,因為機器學習和認知功能都只藏在軟體(角色),
硬體是沒有的喔
所以我們會將辨識結果存在一個變數,然後再用硬體讀取這個變數,
再根據變數內容下判斷進而決策

之前偶然看到一個範例,是透過深度學習結合體感,
來玩小精靈 https://storage.googleapis.com/tfjs-examples/webcam-transfer-learning/dist/index.html

今天突然靈光一閃
若是能夠結合深度學習來控制實體自走車
應該蠻有趣
但是目前離線方式都是類似 Arduino,是離線燒錄的自走車,
燒錄完就與電腦無關
倘若需要深度學習模型"辨識",還有需要使用攝影機,車子得跟電腦連線不可,
但若使用USB連線,車子不能到處走也很瞎 

後來有一招,就是類似連線模式,但不要用到線,用藍芽嗎?  
是的,但是筆電 mBlock5 無法使用內建藍牙去跟mBot連線,
(mBlock3 還支援用筆電藍芽藍線連接硬體說,嘆......)
需要買他們自家官方的藍芽 adapter 才行
噴了我快600大洋

















買來後,只要先將 mBot 開機,然後再按藍芽adapter,
等到快閃燈完畢,就連上去了,
當然軟體還要再執行一次連線,連線詳細步驟看 這裡

接下來就是深度學習建模和編程啦

首先,先想好五個動作,分別代表讓車子前進、後退、左轉、右轉、停車
五個動作差異越大越好,而且要讓機器學習
(此時考驗你的恥度)















例如這個動作就是代表"前進",要反覆取樣,拍照多一點,
樣本建議最好超過50張,
樣本多樣化一點,例如身體可調整些微角度,或者是手的高度,



接下來就是編程,先來做深度學習模型判斷
(舉例,像是辨識結果為"前進"這個動作,就將forward 這個值放到變數direction)





接者在硬體這邊,根據direction變數的值,
來控制車體行進方向





















然後就可以開始玩了,耶~~
不清楚的就看影片吧,看完你會更不清楚(咦?)
這個也會列入社團 AI 課程,
也希望未來能研發更多 AI 結合硬體有趣的專案。



親子天下MakerParty今年新北創客小學堂有獲邀擺攤,
到時候會讓學生帶著大家體驗這個 AI體感車,
有空來玩喔~

https://makerparty.parenting.com.tw/2018?tomorrow