大疆創新在 3 月 9 號釋出了機甲大師系列的新品 RoboMaster EP。
很幸運,第二天我就拿到了一台已經組裝好的 EP 步兵。
新玩具到手,趕緊在周末玩了起來。
大疆官方介紹 RoboMaster EP 是面向編程教育新出的編程機器人。
相比於上一代的 RoboMaster S1 版本,這個版本更有更多的可拓展性。
多了一系列的配件,可以組裝成各種機器人。
其中包括帶有機械臂的工程機器人。
帶有炮台的步兵機器人。
還有高達形態的機器人
由於這是面向教育的編程機器人,機甲大師 EP 留了足夠的拓展空間和傳感介面。
結合 3D 打印。極客們可以打造任意形態的機甲大師 EP 。
但是最讓我覺得有意思的,是 EP 終於可以開放了 SDK 編程逗貓。
相當於我們有了機甲大師 EP 的 Root 許可權。
給一個極客 Root 許可權,比讓極客和美女關一個房間刺激多了。
多說無益,寫程式碼才是正經事!
既然底層 SDK 開放,那可就好玩了。
趕緊跑一波 Hello World 試試。
找了一番機甲大師開發者的入門文件,按照指引執行程式碼後。
我們成功透過 WIFI 連線到了這台機器人上。
(使用 python3 的 socket 模組連線機甲大師 EP)
來,我們先試點簡單的。
輸入命令:
blaster fire
控制台顯示命令發送成功,機甲大師 EP 也成功發送了一顆水晶彈。
好玩,再來個刺激的,根據官網文件介紹,使用 chassis speed命令可以進行雲台速度設定,那麽我們來玩個愛的魔力轉圈圈好了:
chassis speed x 0 y 0 z 60
這個命令執行會讓雲台固定原地,以每秒 60 度速度自身旋轉。
既然 EP 開放了編程SDK,那麽我們限制搞事情的只有我們的想象力了。
鋼鐵俠有一個智慧管家 Jarvis。我們是不是也可以搞一個聲控版的機甲大師 EP ?
答案是可以的!
把一個大象放進冰箱分四步,做一個智慧機甲只需要分三步。
框架有了,我們接下來要去做具體的實作。
首先是錄音部份,這個簡單,直接使用現成的 pyaudio 模組就可以解決。
然後到語音辨識部份,我們要去 Keras 訓練一個語音辨識模型(大霧)直接在百度大腦的 AI 開放平台上建立一個套用,即可薅一個每日免費使用 5w 次的語音辨識服務。
最後就是行為處理部份,這個就是一堆對上個步驟辨識到的文本做 if else 的處理。
從確定編程思路,到申請許可權,調通機器人與語音辨識服務,最終耗時大概一個下午。
程式碼寫好了,跑起來試試?
使用 Python 編程,語音控制機甲 https://www.zhihu.com/video/1227282517789081600WOW !That's Pretty Cool~
半天完成開發並偵錯語音控制小車的功能,這 SDK 易用性確實還不錯。
另外,根據文件所說,機甲大師 EP 開放了視訊流推播的功能。
那意味著我們可以利用機甲大師 EP 視訊流做影像辨識。
也意味著,我們可以結合深度學習完成機甲大師 EP 辨識貓臉的目的。
廢話少說,開始寫程式碼。
首先試下視訊流是否能夠正常傳輸。
根據機甲大師開發者文件。我們需要連線到 SDK 模式控制,並輸入命令:
stream on
開啟機甲大師推流到 TCP 埠 40921。
然後我們在 OpenCV 中使用函式:
cv2.VideoCapture("tcp://10.0.0.16:40921")
獲取到這個地址的的視訊流。最後把影像以幀的形式顯示在程式執行端,就是這個效果:
(機甲大師 EP 視訊流推播到 OpenCV)
編程環境有了,視訊流有了,我們還缺個貓臉辨識模型。
總不能自己去拍一萬張貓的照片去訓練模型吧。
我把辨識貓的希望寄托在了全球最大的同性社群網站 Github。
然後我找到了一個叫 cat-detector 的計畫,這是一位叫 fdalvi 的網友訓練的野外貓咪檢測計畫,他把這個神經網路叫 CatNet 。
看了下 True Positive 的檢測效果:
看起來很不錯,但是再看 False Positive 的樣本:
emmmmmmm,這效果有點差強人意啊。
看起來效果和 OpenCV 內建的貓臉辨識工具效果也好不了多少,不如直接用 CV 內建的辨識方法好了。
cv2.Cascade classifier('haarcascade_frontalcatface.xml')
借助這個貓臉辨識模型,成功辨識到了川普 的大臉。
根據大疆官網所說,機甲大師 EP 除了步兵形態還有工程車形態。
工程車版機甲大師更適合做物品獲取,物品互動等任務的編程。
相信結合機甲大師 EP 開放的 SDK 能力和 Python 編程,自動給貓咪鏟屎不再是一個難事。
除了人工智慧逗貓以外,還可以基於編程實作自動獲取快遞、基於傳感器實作下雨自動關窗關門、基於人臉辨識做家庭守護衛士,當檢測到陌生人發射水晶彈攻擊等,可玩性非常高。
最後發一張機甲大師 EP 與川普的合照:
註:
1. 本文謹代表個人觀點,不代表大疆官方。
2. 川普是我家貓咪的名字,如有雷同,不勝榮幸。
3. 開放 SDK 許可權不意味著擁有 Root 許可權,此處只是一個比喻。
參考文件:
https://www. pyimagesearch.com/2016/ 06/20/detecting-cats-in-images-with-opencv/
https:// robomaster-dev.readthedocs.io /zh_CN/latest/index.html
https://www. dji.com/cn/robomaster-e p