Advanced Motor Controllers Block

WRO的機器人都相當「快、狠、準」,所以如何精準地控制機器人是重要的課題,明顯地,EV3-G內建的程序遠遠不夠我們使用。

所以我們這是推出了五大模塊,專給WRO競賽組使用,分別是「PD控制器」、「同步移動控制器」、「非線性緩加減速控制器」😍
也因為製作成Block的原因,所以機器人的反應會比使用myBlock或是原生方塊來的更精確。

使用方法

Example 1:單純PD控制器,將感測器值帶入就可以開始PD控制。

Example 2:單純緩加緩減速(ACC)控制器,在前方設置好參數與距離,即可自動化算出機器人的馬力,與停機條件。

這裡順便說明一下,我們的緩加減速(ACC)控制器,所使用的是非線性(non-linear)算式,實務上比較貼合二次函數曲線(quadratic function),也就是加速會是讓機器人稍微助跑後,再更快的加速到目標速度。實現快進快停的競速型機器人操縱。

Example 3:單純同步控制(SYNC)控制器,在前方設置好馬力與反轉設置,後面將Encoder帶入,即可實現同步控制移動

action asphalt auto racing automobile
競速示意圖

Example 4:緩加減速(ACC) + PD控制器,實現PD控制器運行時帶有緩加減速效果,讓機器人走的更穩定。

Example 5:緩加減速(ACC) + 同步控制(SYNC)控制器,實現機器人直走或轉彎時保證軌跡不變,且利用緩加減速來保證不翹頭、不急停。

OFDL Encoder Block and Raw Motor Block,由於是從選單選擇Port,所以可以節省運算時間,讓馬達反應更快,另外由於使用了特殊Encoder手法(軟重置),所以重設非常快,在高速狀態下才不會有延遲現象發生。

其他部分就請看我們YouTube影片吧~~

Update:

Version 1.4:

.Add Optimized Green Motor block (opOutputSpeed)

Download:

Download Link(GitHub):https://github.com/a10036gt/EV3-AdvMotorControllers-Block
Author:OFDL HSU
Ver:1.4

貼心提醒,切勿將設置方塊放置於迴圈內,這將導致程序性能低落。

9 comments

  1. K

    您好感謝分享,可以請教一下 SYNC的原理是什麼嗎

    我拿兩顆馬達的角度差 *KP 在加減到左右輪的馬力裡 可是這樣寫好像不太有效

    1. OFDL小編

      這樣的方式的確不太準確,我們是根據馬力的比例去決策的

  2. 大程老师

    请教ev3编辑器中的自动保存功能怎么做

    1. OFDL小編

      自動保存?

      1. 大程老师

        就是在编程时自动存档的功能

        1. OFDL小編

          用Au3或是C#做個後臺程序,定期按Ctrl+S,這樣比較簡單。

  3. KennyLee

    請問一下,kd和kp是甚麼,謝謝!

      1. KennyLee

        謝謝!

發佈回覆給「KennyLee」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *