機械手臂與程式實作

發佈日期:2021-11-28

謝程宇

理工學院

數位學習科技學系

在這堂課程當中,透過講師們仔細的講解,我們成功組裝了機械手臂,並且使用了 mBlock 慧編程等程式語言來讓機械手臂進行基礎移動與基本動作,譬如前後移動、左右轉動、讓手指比出剪刀、石頭、布等手勢。

在課程當中,花費最多心力與時間的地方在於組裝手臂,從組裝手指、將釣魚線串入機械當中、鎖好各部位螺絲、安裝好馬達、安裝排線等等,總共花了超過2小時左右。其中裝設釣魚線非常考驗手指的靈活度,並且也必須想清楚哪一條釣魚線是哪一隻手指、穿過哪一個洞,對我而言是最大的挑戰,但透過講師非常清楚的講解與指示,我們很順利地安裝好釣魚線。另一方面,安裝排線的風險是最大的也最有壓力,因為只要接錯線就很有可能會燒掉馬達、電路板甚至是讓整台機械手臂報廢掉,因此必須要很清楚知道接地線、電壓線、訊號線的位置與互相對應的排線腳位,之後也要清楚每一個按鍵及搖桿的腳位對應到電路板的特定位置,才可以順利透過搖桿、按鍵來操作機械手臂。儘管組裝的過程道阻且長,但透過同學們間的互相幫助以及講師不厭其煩的悉心指導,我們可以順利組裝好機械手臂,而且當看到機械手臂動起來的瞬間,內心也湧現非常大的成就感與喜悅之情。

而課程中的另一大重點則是使用 mBlock 慧編程 來用程式語言設定讓機械手臂按照操作者的輸入來順利比出手勢,其中堆疊式的方塊程式語言比起較為複雜的高階語言,更加容易操作與理解,但仍要有一定的程式語言邏輯思考,譬如 for 迴圈、 if ... else ... 條件判斷、大於小於等於等等基礎邏輯判斷,此外,也必須理解變數常數概念以及封裝的自定義積木概念,對於抽象的思維設計而言並沒有比高階語言更簡單,除此之外,熟悉每個方塊的位置並挑選放置在正確的插槽也需要時間來習慣與學習磨練,不過透過講師們的講解,我們得以非常快速的進入到程式設計當中,讓成功設計出一套有用的程式碼這項作業事半功倍。除此之外,講師們也傳授一些機器人設計的基礎常識,譬如需要設計出初始化的自定義積木,來讓機械手臂在每一次迴圈當中都可以先行初始化,避免造成零件故障也讓我們可以更順利操作機械手臂;又譬如釣魚線的緊度只需要設計到一定的值就好,例如這台手臂手指只需要設計到最多110 度就好,以避免馬達燒壞等等。

在程式語言教學過程中,最好玩也最有挑戰的點在於 if then 條件判斷,因為很容易發生意想之外的錯誤,譬如設定錯參數或者判斷寫錯等等,會讓手臂無法轉動或者比錯姿勢,不過,條件判斷也讓我們可以進行許多更精細的操作,譬如在特定角度當中可以旋轉或者放下手臂,又或者可以透過操控某個按鍵或搖桿來完成特定手勢。當機械手臂可以順利操縱按鍵、搖桿的那一瞬間,也是成就感最大的瞬間。

最後,透過這次課程,我更加理解程式語言的設計與邏輯,也成功的製作出有一定功能的機械手臂。未來如果還有機會,很想繼續朝機器人領域來發展,看看機器人領域是否可以結合到日常生活以及上課所學當中,為社會及科技發展盡一份心力。也很感謝講師們的教學與同學們的幫助,讓我順利完成這次課程。