掌控板+麥輪,Mixly + Blynk,讓你的麥輪戰甲嗨炸全場!

掌控板+麥輪,Mixly + Blynk,讓你的麥輪戰甲嗨炸全場!

微信封面
原文首發於“鐵熊玩創客”公衆號,鏈接:https://mp.weixin.qq.com/s/BbKvrtddJMv4vyldfYR2ww

話不多說,先上演示視頻:https://www.bilibili.com/video/av67246057

隨着大疆 RoboMaster S1 麥克納姆輪(下文簡稱"麥輪")戰車的推出,在創客教育圈掀起了一股麥克納姆輪戰車 DIY 飆車的浪潮。在這之前我也 DIY 設計過的一輛萌寵版的麥輪小車麥熊戰車,也得到了比較高的閱讀量,可以點擊下方圖片,查看製作教程。

麥熊戰車

麥熊雖萌,可惜沒有戰鬥力,對於麥輪戰車來說好像缺了點什麼。幸好這次有創客朋友的公司推出了一輛火力全開的"狄仁傑"麥輪戰車,而且價格也很公道,相比大疆 S1 動輒快 3500 元的價格,簡直良心多了。於是趁着手癢勁,趕緊入手一輛來試玩。爲避免廣告嫌疑,就不放購買鏈接和價格了,感興趣的可以私戳或者留言。

跟大疆 S1 一樣,"狄仁傑"戰車也是需要你自己動手組裝的,而且擴展性更高,可以說是相當硬核了!這篇文章主要記錄我初次上手的組裝和試玩的過程,並編寫了一個簡單的控制程序試玩一下。後面如果有時間,我會給大家分享更多的玩法。

這篇文章主要分爲組裝、電路、原理、控制四個部分,如果已經玩過的朋友,可以直接跳到自己感興趣的章節,下面開始正式介紹。

圖片1

組裝篇

在玩麥輪戰車之前,肯定要組裝起來,因此首先是組裝篇。

這裏介紹的主要是我根據自己的摸索寫的安裝過程,與官方安裝視頻上介紹的教程稍有差異,大家以官方教程爲準,然後可以適當參考我這邊的圖文教程。主要差異體現在電池的安裝位置,其他結構的安裝,雖然順序不一樣(爲了寫文章有一個關係邏輯),但是最終裝完後結果是一樣的。

這裏放上官方安裝視頻供大家查閱。

https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_978099775776145408

組裝車架

先來組裝機身。包裝裏材料很多,基本已經給大家分好類了,不要搞混。首先取出包裝裏的如下材料,這些材料主要是用來製作車身的。注意車架分上下兩片,這兩片車架外形結構上是完全一樣並且對稱的。如下圖所示,由於車架是亞克力激光切割製作的,所以外面的保護膜還沒有撕掉。黑色那個車架我已經撕掉了保護膜,另一片車架上的保護膜也需要撕掉,圖中只撕了一片是爲了方便各位對照。當然你也可以不撕,但是黑色的亞克力鏡面車架會不會更帥呢?撕了膜是帥氣的 Tony,不撕可能就是土根了~

IMG_9412

首先將 4 個 L 形電機支架用 M3×10mm 的螺絲和螺母固定到下層車架上,每個 L 形支架至少需要 2 顆螺絲固定在對角線上,如下圖所示。當然爲了更加牢固,也可以固定 4 顆螺絲。

安裝電機支架

然後在 L 形支架上安裝電機,我們使用 M3×25mm 的螺絲與螺母將電機擰緊在 L 形支架上即可,注意電機安裝的方向,有轉軸的一邊朝外,如下圖所示。

安裝電機

然後在下層車架上安裝支撐銅柱,我們使用 M3×27mm 規格雙通銅柱配合 M3×10mm 螺絲安裝,安裝位置如下圖所示,注意找好孔位,前後對稱的位置共 4 根銅柱。

IMG_9424

接着在上層板上安裝盤古斧(掌控板擴展板)支撐銅柱,我們使用 M3×24mm 規格雙通銅柱配合 M3×10mm 螺絲安裝,安裝位置如下圖所示,共 4 根銅柱。同樣需要注意找好孔位,不然跟盤古斧安裝孔位會不匹配。

IMG_9425

最後將上下兩層車架對接安裝到一起,使用 M3×10mm 螺絲在銅柱上擰緊即可,如下圖所示。

IMG_9428

安裝麥輪

安裝完車架之後,開始安裝麥輪。這裏需要注意的是,麥輪是不能隨意安裝的,它們的位置是有對應關係的的。最常見的安裝方式爲 X 形 或者 O 形,本文以 O 形 爲例(X 型在 yaw 方向不具有主動移動的能力)。我們只需按照下圖所示位置,將車架與麥輪擺放好,然後分別用聯軸器和自攻螺釘將麥輪固定到 4 個電機上即可。

安裝麥輪

這裏稍微介紹一下麥輪安裝的位置關係。麥克納姆輪由輪轂和輥子組成,輪轂是整個輪子的主體支架,輥子則是安裝在輪轂上的鼓狀物。麥輪的輪轂軸與輥子轉軸呈 45° 角。理論上,這個夾角可以是任意值,但最常用的還是 45° 角。

麥克納姆輪

麥輪一般是四個一組使用,兩個左旋輪,兩個右旋輪。左旋輪和右旋輪呈手性對稱(意思是說像手一樣,左右對稱)。安裝方式有多種,主要分爲:X-正方形(X-square)、X-長方形(X-rectangle)、O-正方形(O-square)、O-長方形(O-rectangle)。正方形與長方形指的是四個輪子與地面接觸點所圍成的形狀。這裏要注意的是:

X 和 O 表示的是與 4 個輪子與地面接觸的輥子所形成的圖形,並不是從正上方看到的棍子形成的圖形的形狀!

X 和 O 表示的是與 4 個輪子與地面接觸的輥子所形成的圖形,並不是從正上方看到的棍子形成的圖形的形狀!

X 和 O 表示的是與 4 個輪子與地面接觸的輥子所形成的圖形,並不是從正上方看到的棍子形成的圖形的形狀!

  • X-正方形:輪子轉動產生的力矩會經過同一個點,所以 yaw 軸無法主動旋轉,也無法主動保持 yaw 軸的角度。一般幾乎不會使用這種安裝方式。
  • X-長方形:輪子轉動可以產生 yaw 軸轉動力矩,但轉動力矩的力臂一般會比較短。這種安裝方式也不多見。
  • O-正方形:四個輪子位於正方形的四個頂點,平移和旋轉都沒有任何問題。受限於機器人底盤的形狀、尺寸等因素,這種安裝方式雖然理想,但可遇而不可求。
  • O-長方形:輪子轉動可以產生 yaw 軸轉動力矩,而且轉動力矩的力臂也比較長。是最常見的安裝方式

不管是 O-square 還是 O-rectangle,都屬於 O 形,如下圖所示即爲 O 形,對這裏沒有寫錯,下圖是 O 形。雖然從正上方來看,可以看到 4 個麥輪輥子的轉軸朝向呈一個 X 形狀,但是由於對稱關係,實際上與地面接觸的棍子所形成的的圖形是 O 形

o形

組裝完車架和麥輪之後,就可以裝上主控掌控板和擴展板盤古斧了,完成後效果如下圖所示。

安裝主控

安裝水彈槍

組裝完車架與麥輪之後,我們就可以開始安裝它的武器系統(水彈槍)了。

首先將舵機固定在舵機支架上,使用舵機包裝袋內含的自攻螺絲擰緊在支架上即可完成安裝,接着將舵機舵盤與齒輪安裝到如下位置,使用舵機包裝袋內 M2×5mm 螺絲擰緊,如下圖所示。

固定舵機

然後在彈夾上安裝固定器和齒臂,兩個側面均需要安裝齒臂,安裝位置如圖所示。

3

固定支架與齒臂安裝時,需要加入 2 片墊圈以減少摩擦力,使用 M3×14mm 螺絲安裝,安裝後以固定支架可以旋轉活動爲標準。兩個側面均需要安裝固定支架,但只需要安裝一個舵機即可,如下圖所示。

連接支架與水彈槍

然後在車架上安裝水彈槍連接底座,注意調整好位置,避免水彈槍與後面的盤古斧碰到一起。

安裝水彈槍固定底座

將水彈槍用 M3×8mm 螺絲與水彈槍底座連接,固定到車架上,如下圖所示。

固定水彈槍

在水彈槍上安裝儲彈箱,注意安裝的方向,使儲彈箱下方的出彈口與水彈槍上的進彈口位置對準,如下圖所示。

安裝儲彈箱

安裝電池盒

在電池盒背面貼上魔術貼。

在電池盒上固定魔術貼

然後將電池盒推入盤古斧擴展板與上層車架支架的空間。有了魔術貼之後,就可以依靠摩擦力將電池盒固定緊了。

固定電池盒

成品欣賞

最後我們來欣賞一下狄仁傑戰車組裝完成的霸氣帥照!

IMG_9503

IMG_9510

圖片2

電路篇

狄仁傑麥輪戰車的主控採用了大家所熟知的掌控板,以及特別爲掌控板和狄仁傑戰車設計的盤古斧擴展板。盤古斧擴展板分 A、B 兩板。A 板含內置鋰電池、掌控板插槽。掌控板可直接插在盤古斧 A 板上,可以採用主板的 USB 電源口或者內置的鋰電池進行供電。盤古斧 B 板含外接電源接口、電機接口。B 板需與 A 板結合才能使用,使用外接 6-18V 電壓供電,此時最大電流可達 3A,最大電機驅動電流達 800mA,可同時接入 6 個 9g 舵機或 4 個直流電機。

盤古斧

由於盤古斧上專門設計了 4 個電機和水彈槍的接口,而且還用了 PH2.0 防呆接口,所以接線特別簡單,只要按照安裝位置關係進行對應接線即可,這裏不再贅述。

圖片3

原理篇

麥輪車的運動方式千變萬化,以 O 形結構爲例,最常見的運動方式就至少包括以下 18 種。而以下 18 種運動方式中,又以第一排的 6 種方式最爲常見。

麥輪車運動方式

(圖片來自安卓機器人的文章"麥輪走法初探":https://makelog.dfrobot.com.cn/m_article-1705.html)

既然運動方式有那麼多種,難道每種方式我們都要單獨編寫一個控制程序麼?這樣當然可以,我們需要對每一種運動方式都編寫相應的程序,然後每種運動方式都要對應一個按鍵去控制,那麼就至少需要 18 個按鍵。或者簡化一些,我們只編寫最常見的 6 種運動方式,那麼至少也需要 6 個按鍵。但是這種編程方式在麥輪戰車不同運動形式之間進行切換時,我們都要先鬆開之前的按鍵,在去按下後面運動方式對應的按鍵,在操作上就會有卡頓感,變化不夠流暢,而且很容易記混按鍵的位置。

那麼有沒有其他方式進行控制呢?

當然有!我們只要理解麥輪運動之間的關係,推導出相應的計算公式,就可以將這些運動統統搞定了!

等等,還要推導公式?還能不能愉快的玩耍了!由於麥輪具體的運動計算公式推導稍微有點複雜,限於篇幅,所以這裏就不展開了,這裏只放結論。

O 形結構爲例的,首先我們規定一下運動方向的座標定義,我們規定麥輪戰車運動時的座標原點 O 爲 4 個輪子圍成圖案的軸心,正前方方向爲 y 軸正方向,向左爲 x 軸正方向,轉動方向規定逆時針方向轉動爲正方向,如下圖所示。

狄仁傑運動方向規定

根據這個座標規定,可以分別將 4 個麥輪的運動進行分解,分解成沿輥子軸向的速度分量和垂直輥子軸向的速度分量,其中垂直輥子軸向的速度分量是可以忽略的,如下圖所示。下圖中的 ab 分別代表每個輪子到車架軸心的 x 軸方向和 y 軸方向的長度。

麥輪運動圖解-狄仁傑版

根據這些規定,當麥輪戰車想要沿任一方向運動和轉動時,我們可以得出 4 個麥輪控制速度的計算公式如下:

麥輪運動公式-狄仁傑版

上面的計算公式,分別對應狄仁傑麥輪戰車 M1、M2、M3、M4 這 4 個輪子的速度。這個公式中,既包含了平行移動,也包含了轉動,只要設置參數合理,理論上可以實現麥輪戰車所有的運動方式。

公式中每個參數的意義如下圖所示:

公式參數說明

有了這個公式以後,我們就可以控制麥輪戰車沿着任意方向移動了。

具體公式推導可以參考知乎上的這篇文章:麥克納姆輪淺談:https://zhuanlan.zhihu.com/p/20282234

麥輪的原理也可以看一下 RoboMaster 機甲大師官方推出的這個視頻:https://www.bilibili.com/video/av17229132/

圖片4

控制篇

有了運動公式以後,就可以進行控制了。控制主要分爲兩個部分,一個是麥輪戰車底層的運動控制,一個是遙控端的程序編寫。

根據上面的公式,我們可以知道,每輛戰車組裝好造型之後,ab 都是固定不變的,因此要想控制一輛麥輪戰車瘋狂漂移,我們需要知道 3 個參數,分別是控制移動的 x 軸方向的速度分量 vx、y 軸方向的速度分量 vy控制轉動的速度 w,所以我們只需要兩個搖桿就夠了,一個搖桿用來控制移動,一個搖桿用來控制轉動。是不是比一堆按鈕要簡化多了?

等等,還要加兩個搖桿?好像狄仁傑戰車也沒配遙控器啊?

還記得狄仁傑戰車的主控板是什麼?對,掌控板!掌控板是不是具備藍牙和 Wi-Fi 連接功能?那是不是可以用手機藍牙連接控制了呢?那難道還要做個手機遙控的 App?也不是不可以啦,但是這裏呢,我們用更簡單的方法,我們可以用 Blynk 快速設計一個 App,來實現對狄仁傑戰甲的控制。

Blynk 遙控器設計

首先來看看下圖,這是我用 Blynk 設計的狄仁傑戰甲的控制器。你沒有看錯,圖片沒有反,我是故意設計成橫屏的,這樣可以用一隻手來控制移動(右邊的遙控),用另一隻手控制轉動(左邊的遙控)和武器(按鈕)。手機與狄仁傑戰甲之間通過 BLE 藍牙連接。

手機控制端界面

接下來就講一下如何設計這個 Blynk 控制器。首先在手機上打開 Blynk 軟件 ,選擇新建項目,項目名字隨你喜歡,設備選擇 ESP32 Dev Board,連接方式選擇 BLE 藍牙,如下圖所示。

新建blynk項目

然後分別拖出一個 BLE 模塊、一個 Button 模塊和兩個 Joystick 模塊,擺放位置如下圖所示,當然你也可以根據自己的喜歡隨意擺放。

blynk界面設計

然後分別對這幾個模塊進行設置,如下圖所示,具體的數值範圍,實際上也是需要計算的,但是呢這裏也不展開了,你可以自己隨意調試,我這邊也是隨意設了幾個參數作爲示例,如下圖所示。

組件設置

設置完以後,當你想要控制狄仁傑戰甲的時候,只需要點擊藍牙標誌,連接藍牙後,就可以運行遙控程序了。注意這裏的藍牙名稱,是下文中程序自定義的,我這邊設置的藍牙名稱爲 Blynk

連接藍牙

底層運動控制

設計完 Blynk 控制器之後,開始編寫底層運動控制程序。

底層控制程序我採用 Mixly 進行編寫,原因是目前支持掌控板的軟件中,只有 Mixly 支持掌控板的藍牙,而且 Mixly 中 Blynk 功能更豐富。爲什麼用本地藍牙而不用 Wi-Fi 呢?因爲 Wi-Fi 控制會有延遲,而本地藍牙幾乎沒有延遲。

打開 Mixly 軟件,在主控板中選擇 Arduino HandBit,即掌控板,就可以開始編程了。

Mixly中選擇掌控板

首先在初始化裏面定義幾個參數,maxNumber 是用來存儲 4 個電機中速度的最大值,後面會用到;alength 代表速度分析圖中 a 的長度,blength 代表 b 的長度;m1speedm2speedm3speedm4speed 分別代表 4 個麥輪(電機)的速度。注意,爲了後面計算時不被取整影響,所以這裏所有的變量參數都設置成了小數,後面其他函數中用到的參數也都是小數。

初始化速度參數

然後編寫 4 個麥輪單獨控制的函數,規定速度參數 speed 爲正時,表示向前進方向運動;speed 爲負時,表示向後退方向運動。4 個麥輪單獨控制的函數如下圖所示:

單輪基礎運動控制函數

然後在定義一個取最大值函數 maxNumberAbs(),它是作用是獲取 4 個值中的最大值,後面會用來比較 4 個速度值,並將最大的速度值存儲在 maxNumber 變量中。

maxNumberAbs

接着就可以根據上面的計算公式,編寫整車運動控制函數了。定義這個函數的名稱爲 move(),這個函數裏面有 3 個變量:vx 代表 x 軸方向的運動速度;vy 代表 y 軸方向的運動速度;w 代表轉動速度。這幾個速度值都可正可負。這個函數中還有兩個常量:alengthblength,這兩個數值的意義上文已經說明。另外由於每個電機轉動速度最大爲 255,而在 Blynk 中我是隨意設置的數值(最好計算一下,其實我也是懶得計算想快點玩了),所以這裏要將每個輪子計算後的速度值歸一化,並約束到 -255~255 之間。這裏就用到了上面定義 maxNumberAbs() 的函數。

四輪複合控制函數

有了這幾個函數以後,我們只要在 Blynk 上給它傳輸 vxvyw 這 3 個變量就可以控制每個輪子的運動了。首先初始化 Blynk BLE 藍牙連接,其中 Blynk 授權碼填寫你自己手機端產生的授權碼,BLE 名稱隨意,取一個你自己喜歡的名字即可,這裏我保持了默認的 Blynk 沒改。

初始化blynk-ble

然後用從App獲取數據模塊分別從兩個搖桿獲取速度參數,其中控制移動的搖桿,連接在 Blynk 的V0 虛擬管腳,控制轉動的搖桿,連接在 Blynk 的 V1 虛擬管腳 ,獲取相應速度後,直接用 move 函數控制移動即可。

blynk運動控制

然後再編寫水彈槍武器控制程序,如下圖所示

武器控制函數 blynk武器控制

至此,狄仁傑戰甲的基本控制程序就編寫好了,當然你也可以添加更多功能,比如武器角度控制,燈光控制系統等,由於這篇文章只是簡單的試玩,就暫時不展開了。完整的程序如下圖所示。

完整程序

上傳程序,連接藍牙,開始戰鬥吧!

圖片5

總結

體驗篇就到這裏啦,這篇文章只是簡單分享了一種麥輪控制的玩法,實際上基於麥輪戰車,我們還能拓展出更多玩法,比如漂移巡線、目標識別、圖傳跟蹤、擊打競技等,後面有時間再慢慢跟大家分享。

最後來簡單總結一下,麥輪戰車的運動方式雖然比一般的小車要複雜一些,但是它的玩法也更多,硬核指數也更高,絕對是玩創客的朋友必玩的一個項目,而且 DIY 會更好玩哦。

這篇文章用到的狄仁傑麥輪戰車不僅可以 DIY,還配備了掌控板做控制,加裝了武器系統,後期更是可以加上圖像識別、人工智能等更多酷炫狂拽的技能,不僅僅適合入門麥輪戰車,更是後期玩進階改裝的絕佳選擇!如果再配備 Blynk 控制系統,控制的靈活性就更高了,遙控端幾乎可以不受硬件的限制,而且還不用增加任何材料成本,通過簡單的拖拽,就能搞定一個複雜的 App,甚至還能加上類似大疆的圖傳系統,有空的朋友可以先去試試看哦。

最後再提醒一下:

提醒1

提醒2

(這兩句話,上一句出自汝州一中朱現偉老師,下一句出自窮玩貓牛老師)

全文完!

對了,Mixly 程序請到知識星球創客教育能量站下載:https://t.zsxq.com/yrFeAIm

Mixly1.0_Win_Beta(9.10)教師節特別版下載地址鏈接: https://pan.baidu.com/s/198c7eg-OGFKhSoEudkDbrw 提取碼: cwc5

知識星球創客教育能量站

激活課程製作分享,實現知識變現!能量站是一個付費知識社羣,聚集了一大批優秀的老師,幾乎每天都有優質的創客教育內容分享。可以掃描下方二維碼付費加入,這是我的推薦碼,你可以獲得一定的優惠,當然我也會有一定的回報。

知識星球推薦碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章