資訊內容
Geek專欄:在 Scratch 中玩轉機器人:Python、Deep Learning、Posenet and Robot!
樂聚Geek專欄已正式開通,本專欄將不定期發布專業的技術貼,為熱愛機器人技術的發燒友們提供干貨哦!歡迎大家踴躍投稿。
今天Geek專欄為大家帶來
樂聚機器人王松博士的
“在 Scratch 中玩轉機器人:
Python、Deep Learning、Posenet and Robot!?”
在 Scratch 中玩轉機器人:Python、Deep Learning、Posenet and Robot!
所有的邊界都被打破了?--《Mindstorms》
開場視頻:先打個響指
打響指控制機器人
Codelab-Scratch3 與 Python
Scratch 是一門編程語言,上榜過編程語言 Top 20,實際它是一門少兒編程語言(如果你成年了請先不要急著走)。Scratch 基于圖形化的編程,通過拖拉搭積木的方式進行編程,整個過程就像是在玩樂高積木,其實 Scratch 項目受到樂高的贊助,樂高與 Scratch 之間可以說是互相影響。
一個正經的程序員,在看到 Scratch 的卡通界面和圖形化編程風格時,可能會嗤之以鼻,認為它看上去不像是嚴肅的編程語言,低齡化或者太簡單了。剛開始我對 Scratch 的認知亦是如此。
@wwj718 在 Scratch3 上做了大量出色的工作,Scratch3 原本不支持運行 Python,利用 Scratch3 原生的插件拓展機制,采用 Websocket 來傳遞消息,這就像一個間諜,負責 Scratch 內部與外部的通信。消息源源不斷地以話題/訂閱的方式在網絡中傳播,這就讓 Scratch 不再受限于瀏覽器網頁中。我終于意識到,Scratch 可以做任何事!
從上圖看出,整個系統可以看做是三個部分:
·?Scratch3:負責 Block 代碼生成與運行,通過 websocket 傳輸消息;
·?Codelab-Adapter:響應 Scratch 消息,Python 插件管理;
·?Python 插件集合:負責連接萬物!
按照這樣的設計,Scratch 獲得了 Python 的能力,可以將 Python 豐富的生態和庫統統接入 Scratch,比如 TensorFlow、ML、DL,甚至可以是樹莓派、燈泡、門鎖、空調、機器人、游戲 ...
Bret Victor 在《Kill Math》中說道
理解并預測量化世界的能力不應該只屬于那些能夠熟練運用抽象數學符號的人。
而現在編程的能力也不應該只掌握在程序員的手上,不是所有人都要去學編程,在 Codelab-Scratch 中,用戶可以快速和輕松地使用這些能力。
為了向你證明這一切,下面是我在 Scratch3 中做的一個演示。
人體姿態估計:Posenet
Javascript 版 PoseNet 是 TensorFlow 與谷歌創意實驗室合作一款機器學習模型,可以在瀏覽器中實時估計人體姿態。只要電腦或手機有攝像頭,就可以直接在網頁瀏覽器中體驗這一有趣的技術。Scratch3 也是純網頁端的,所以將 PoseNet 做成插件的話,Scratch 積木塊就具有視覺的能力!
對PoseNet,@wwj718 已經在 Codelab-Scratch3 中接入了,智能硬件接口開放的話,接入 Scratch 中,就可以讓原本功能單一的產品很容易地獲得視覺能力。我相信這就是為我今天的演示所準備的,做一個 Scratch 版本的機甲獵人!
接入機器人到 Scratch3
首先硬件設備需要有開放的接口,比如開放的藍牙協議、串口協議或者 Wi-Fi 協議等,Python 有非常成熟的庫可以對這些接口進行調用(不開放也沒關系,可以 Hack)。
我已提交 Aelos 機器人 Adapter 插件,感興趣的可以參考我的 PR
·codelab_adapter_extensions/pull/13
·codelab_adapter_extensions/pull/14
手勢控制演示
手勢控制機器人前后左右翻滾
翻跟斗演示視頻
姿態模仿演示
下面是姿態模仿演示,請大家忽略我羞恥又沙雕的動作,和不協調的肢體
姿態模仿演示視頻
最后
如果你也對這一塊感興趣,歡迎加入社區一起折騰。
https://www.codelab.club
相關鏈接
Kill-Math
Aelos Edu Robot
scratch3.codelab.club
codelab-adapter-docs.codelab.club
Pose Detection in the Browser
codelab_adapter_extensions/pull/13
codelab_adapter_extensions/pull/14
?
鳴謝
@jinbo 的 OSMO;
@yucong 的手抖式拍攝;
@jianhong 的專業動作調試;
@dongming 的無線 Dongle;
@carlos 的響指(我打不響,囧);
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
