EV3 Tutorial(16)不磕頭機器人雙馬達版


顧名思義,這是〈不磕頭機器人〉的雙馬達版(廢話嘛!)

總之,就是實現了〈不磕頭機器人〉最後談到的「可以用一個馬達控制一側的兩條腿,另一個馬達控制另一側的兩條腿,這樣的話,就能有轉彎的動作」:

不磕頭機器人雙馬達版

同樣地,你可以下載 Crab2.lxf 並使用 LDD 來觀看,或 線上觀看 組裝機器人的過程:

不磕頭機器人雙馬達版

實際上組裝的過程並不難,因為大部份的結構與〈不磕頭機器人〉類似,用 LDD 記錄時,也是從〈不磕頭機器人〉的 LDD 檔複製一些組好的元件來裝一裝就可以了,不用特別喬角度。

前進或後退的時候,與〈不磕頭機器人〉中談到的一樣,當一邊黑齒輪(Double Conical wheel)上兩個組裝點(Bush for cross axle)都是在內側同一線上時:

不磕頭機器人雙馬達版

另一邊的黑齒輪上兩個組裝點都是在外側同一線上:

不磕頭機器人雙馬達版

至於轉彎呢?上兩張圖的馬達,同方向各轉 90 度之後,此時黑齒輪接點會一上一下,另一側也是一上一下,不過,兩邊剛好是相反的,接著一個正轉一個逆轉,就會產生坦克式的轉彎方式了。

只是說,在一個馬達的情況下,只要一開始組裝角度喬好,馬達只要正反轉就可以前進、後退了,兩個馬達的情況下,若要自行控制兩個馬達的角度,操作難度就比較高了,因此,角度的決定,最好由程式來控制,搖控器上,只要管前進、後退、左轉、右轉,這樣會比較方便!

因此,一開始只要先喬好上兩張圖的狀態,然後啟動程式時,重置馬達角度:

不磕頭機器人雙馬達版

在不斷重複的感應紅外線訊號的迴圈中,分別是前進、後退、右轉、左轉與停止分支,給定的值是功率,第一與第二個分支是同一個處理直線行進的自訂方塊,第三與第四個分支是同一個處理轉彎的自訂方塊,因為是坦克式轉彎,轉彎時給的功率要比較高一些,這樣比較能克服摩擦力。

處理直線行進的自訂方塊是這樣的:

不磕頭機器人雙馬達版

處理直線行進的自訂方塊中還有個自訂方塊,這是計算指定的馬達自上次重置角度之後,又轉了多少度,這是為了讓兩邊馬達能回復至最適合前進或後退的角度:

不磕頭機器人雙馬達版

因此,當馬達轉至適合角度時,再同時正轉或反轉馬達,就可以前進、後退了。

至於處理轉彎的自訂方塊是這樣的:

不磕頭機器人雙馬達版

當中的紅色方塊用來將輸入的功率值乘上負號,這樣就可以用單一功率值來指定馬達正反轉。至於上圖中還有個馬達角度定位的自訂方塊是:

不磕頭機器人雙馬達版

其實就是嘗試回復至程式剛啟動時的馬達角度,然後加上 90 度,這樣就會是最適合轉彎的馬達角度。

什麼?你說為什麼紅外線感應器裝在腳上?我本來只是隨便裝上去想先遙控測試一下,不過後來覺得裝在那還蠻酷的,有種說不出來的詭異感啊! … XD