2014-03-29

Danny EV3新書的暴王龍機器人(T-R3X)

      Danny (Daniele Benedettelli)在去年底(2013)出了一本教導以Lego Mindstorms EV3市售版(L31313)製作五個機器人專案的書:The Lego Mindstorms EV3 Laboratory
      Danny的書一向內容紮實、言之有物,這本書也不例外,無論是對EV3硬體、軟體的導引說明,亦或是機器人專案中的機構設計與程式技術,詳讀研究必定能獲益良多,作為工具書也非常合適。
   本書所採用的EV3市售版(L31313)相較於教育版(L45544),雖然少了陀螺儀(Gyro)超音波感應器(Ultrasonic sensor),不過多了IR SensorIR Beacon發射器,這兩者的組合可以提供EV3具有遙控障礙迴避以及偵測IR信號源方位(Heading)與迫近程度(Proximity)等功能,而這些功能在本書的各個專案中都有相關的應用範例,這也是值得一提的內容特色。
在封面上的威猛機器暴龍(T-R3X)正是本書的五個專案之一,這是一種利用重心移位方式邁步的雙足步行機器人(Weight-shifting biped walker)

下面的影片是它完成後的運作情形:


  從影片的00:40開始,可以觀察到控制T-R3X邁步的方式為:
(1)
身體向右傾斜,
(2)
以著地的右腳為支點抬起左腳向前
(3)再將身體向左傾斜,
(4)
以著地的左腳為支點抬起右腳向前。
  01:30處開始,當T-R3XIR Sensor偵測到前方有障礙物時,先以Sound Block撥放恐龍吼叫的聲音檔案,同時張合上下顎作出嘶吼的動作,接下來以IR Sensor判斷應該轉彎的方向,由影片可以看到T-R3X開始往它的左側轉彎。
  01:40起到01:59可以看到T-R3X如何進行向左轉彎的動作,這裡需要一點想像力,據Danny在書中說明的原理和方法是這樣的:
(1)
將身體向右傾斜,讓重心支點落在右腳,
(2)
當正在移動左腳的同時突然再向右傾斜,這時基於角動量守恆定律,下半部的足部因重量較輕,所以會往左偏轉。


T-R3X的機構設計:
(一)軀幹機構,包含使用L-Motor作為驅動的兩個機構:
(1)
向左/右傾斜身體的重量位移機構。


(2)/ 雙足的機構。



(二)頭部機構,包含使用M-Motor驅動頭部上下顎張合的機構,以及上方的IR Sensor作為遙控、偵測障礙物與捕捉獵物等功能


(三)尾巴機構,連接在身體的重量位移機構,會隨著身體左/右傾斜時而擺動


完成後的威猛外觀:


T-R3X的程式設計:
Danny對於本書五個專案的程式設計強調了一個重要的觀念:
(1)   機構的設計應盡可能完善,以減輕或簡化程式所需要的檢查與控制功能。
(2)   將基本的運作功能封裝成My Block,以一方面簡化主程式的複雜性,另一方面可以重複利用這些My Block組合出不同的應用功能。
T-R3X充分落實了上面所提到的原則,將邁步、轉彎、嘶吼、咀嚼獵物、迴避障礙等功能製作成My Block

並以這些My Block組合出三種應用:
(1)   漫步模式,就如同前面影片所展示的運作模式。
(2)   遙控模式,以IR Beacon遙控T-R3X執行對應動作。
(3)   自主意識模式,使用Finite State MachineT-R3X具有簡易的自主行為模式,可以對一些預設的事件作回應。

沒有留言:

張貼留言