動手做中學

無論身處課堂或工作室中,自己的專題都是最好的老師
自從做為一種運動和表達自我定義的「動手做( Making )」復興後,現今已發展成為全球社會中的潮流。動手做觸及了所有領域,從業餘愛好者到大型企業都參與其中。或許這是最顯著的例子:現今的學習與教育領域也能看見動手做的身影。各大洲的學校都將Maker 教育( Maker Ed )納入課綱,同時結合校內的Makerspace,不僅為學生提供能夠親身接觸新科技的管道,也指引了他們將這些科技融入研究和作品。然而當動手做改變一切,我們也切記莫忘初衷。

在「動手做是事業與玩樂的完美融合」( Making Is Where Work and Play Are in Perfect Harmony )( 暫譯)( makezine.com/go/measurablyuseful-work )一文中,荷蘭藝術家兼作家艾絲翠.珀特( Astrid Poot )為玩樂一詞打抱不平,因為動手做已轉變成了學術和工作環境的嚴肅議題了。於是珀特提供了以下的指導與建議:

教育創業家們, 如果你鼓勵孩子動手做,就請尊重它的美。別用程序、方法和標準扼殺它。請對這些Maker 有信念,無論他們多年輕。不要短視近利,請將眼光放在學生的(長期)成長。請給予教師們鼓勵,讓他們能以自己的方式進行教學。每種教學自有其效用。另外,許多二十一世紀的技能已經是教育的一大核心,欣然接受吧。

我們也同意。
同樣地,學習不應侷限於教室,更不受年齡限制。這是動手做心態的一大重點。學習成效最好的方式,就是透過實作、運用我們的雙手以及追隨創造的熱情,無論專題是實用還是娛樂性質(或兩者),我們 都能學到新技能。這些技能會延續下去,讓下個專題更好、更快、成本更低,或甚至是從初學者變身專業達人。從程式、設計到製造,動手做都能帶來無限的價值。

我們鼓勵你投入這些興趣, 成為領域中的翹楚。花點時間理解自己專題的原理,並思考如何在別的領域中加入專題。成為專家,並將專業知識分享給他人。只要付諸行動,就能為你自己、你的社群和Maker 運動帶來美好改變。

DIY全技巧速成班

通往動手做專家的必經之路

在今日的經濟型態中,學習新的技能比以往任何時刻都要容易。有線上社群和資源可以指導我們,加速新技術的發展,並幫助我們拓展視野。也有許多方法可以讓我們培養DIY 興趣,不過要成為達人或甚至是專業人士,負擔是有點重。然而,如果把事物細分成多個小目標,學習之路就會變得更清晰。

為此,我們請來不同領域的專家從經典的手工藝到機器人技術和角色扮演,瞭解他們如何在各自的領域中尋找方向,並分享一些等待自造者開發的機會。

──卡里布‧ 卡夫特
伊凡‧艾克曼Evan Ackerman
住在華盛頓特區,是科學寫作方面的自由作家。自2007 年以來,他已撰寫了超過6,500 篇關於機器人和新興科技的文章。

21 世紀機器人
如果你向五個不同的專家詢問機器人是什麼,你可能會得到10 個不同的答案。普遍最接受的定義可能就像「能夠感測周圍環境,並根據感測結果,自主採取行動影響其環境。」

無論他們的結構是基本還是複雜,任何機器人都是軟體和硬體的結合。「機器人與眾不同的其中一個原因是它的系統性,」iRobot 共同創辦人兼執行長科林‧ 安傑羅( Colin Angle )說。「這不只與軟體、感測器有關,而是整個系統。」這可能會讓機器人科學聽起來有點嚇人,因為你似乎需要同時學習機械工程和軟體工程才能做點有用的事。

幸運的是,現今許多有趣和創意的機器人科學發展都發生在程式設計之中,工具也不像以前那麼難了。「現在科學最大的進步在於軟體方面,其中大部分都是因為硬體方面的突破而能實現,」機器人專家卡羅‧ 萊禮( Carol Reiley )說。「許多產業正在轉型為軟體驅動,即人工智慧。在這個實體世界中,我們有更多讓軟體成長及瞭解這些資料的機會。」
學習寫程式
如果你已經會寫任何一種程式, 恭喜你,因為幫機器人寫程式和幫其他東西寫程式非常相似。Open Robotics 執行長布萊恩‧ 傑爾奇( Brian Gerkey )表示,要學哪種語言取決於你想要開發何種機器人技術。「如果你要開發應用於機器人的自動控制軟體,C++ 和Python是最常用的語言。但是現實世界中運作的機器人也需要適合工程師以外的人操作的介面,這些介面通常以網路或行動科技為基礎,所以JavaScript、Java 和Swift 都很實用。」

如果你不會撰寫任何程式,那也很棒。因為機器人科學是最令人興奮的學習方式。不用寫程式的入門方法有很多種,像是用視覺化程式語言來拖放互動式方塊來寫程式。最知名的系統大概就是MIT 媒體實驗室開發的Scratch。而使用Google的Blockly 有額外的優點:它可以展示各種不同程式語言的即時翻譯,包括Python和JavaScript。Scratch、Blockly 這類的視覺化程式語言是大多數入門的機器人套件的首選界面。能幫助你快速上手,更能無痛地進入複雜編程的領域。
不過還是要記得,機器人除了軟體還包括硬體。要學會如何讓機器人有效運作,兩者的經驗缺一不可。「重要的是一旦開始學習,就要去認識所有互相結合運作的事物,」安傑羅說,「捲起袖子動手打造專題,或者去找些東西來拆解,並試著理解運作原理直到你能將它重組好。你需要邊做邊學,日後方可抉擇最適合你的專業領域。」

入門
最複雜的機器人是由許多個感測器、致動器和自主邏輯組成。簡單的機器人上每種元件不用太多也能達到類似的功能,而最簡單的機器人每種只有一個。有一種簡單的入門方法就是使用Arduino 入門套件,只要找到有感測器和致動器的套件即可。只要透過教學,了解如何控制伺服馬達以及讀取溫度感測器,你就能知道機器人偵測溫度而自動開啟風扇的基礎原理了。 了。
1. Ozobot Evo 、2. Finch 、3. Root。
Ozobot, Finch, Root. Holden Johnson, Lego, Vex, iRobot, Misty Robotics, TurtleBot

然而,人們喜歡會移動的東西。對於機器人和程式設計的初學者,我們建議你從既有的平臺開始,以訓練你撰寫程式的能力。你需要一個包含幾個不同級別的程式介面,這樣當你上手後就能由淺至深。

Ozobot Evo 特別適合年輕的初學者,因為你可以透過機器人在讀取的紙張上移動時用不同顏色畫出圖案來「編寫程式」。它完全不需要任何軟體界面,而且能讓你熟悉以Blockly 為基礎的視覺化程式設計語言。Finch是卡內基梅隆大學開發的一種教育機器人,功能更加多樣化,包括光感測器、溫度感測器和基本的障礙物偵測。想玩Finch,必須先從Snap! 開始。它是一種以Scratch為基礎的視覺化程式設計語言, 並經由修改變成適合小學低年級生使用。Snap! 介面會變得愈來愈複雜, 直到你終於學會Python、Java 或其他語言。Root 是由哈佛大學開發的機器人, 它可以在壁掛的白板上行走( 它會吸附磁鐵), 而且配備零件數量驚人, 它有超過50 個感測器、致動器和觸摸感測表面和LED等互動元件。Root 可從視覺化程式語言介面開始, 之後再轉換為Python、JavaScript 和Swift等文字程式語言。
如果你喜歡多功能、多種硬體選擇以及動手製作的過程,Lego Mindstorms EV3 和Vex IQ Super Kit 都很適合。兩者都可以在類似Scratch的圖形環境中寫程式,你也可以繼續在Lego 中用LabVIEW撰寫,而Vex 和Lego 都可以用C(也就是ROBOTC程式語言)。Lego 和Vex 還整合了世界各地的機器人競賽,不僅是挑戰自我的絕佳管道,還能認識其他熱愛機器人的同好。

升級學習力
大部分在機器人領域很酷、超酷的東西,需要更複雜的硬體才做得出來,包括更好的感測器、致動器和電腦。當你對寫程式愈來愈有自信,你可能會發現教育機器人和大多數機器人套件的硬體根本不夠用。 在過去,跨越這個門檻的方法就是自己打造機器人,或是在iRobot’s Create 2 行動平臺上加東西。想要用硬體做些實驗的話,這個方式還是不錯。
4. Lego Mindstorms EV3、5. Vex IQ Super Kit、6. iRobot Create 2、7. Misty II、8. TurtleBot

過去幾年開始出現了一些新的機器人。專門設計給學生和經驗豐富的業餘愛好者使用,它有強大的硬體和可編輯的軟體。這些機器人可能不適合初學者,但如果你想要專心寫程式,它能給你最多的選擇。 Misty II 專為有一定程式設計基礎但不一定熟悉機器人的人士而設計。它配備各種感測器,機器人背面的擴充埠可直接插入Arduino 或Raspberry Pi, 輕鬆混合使用自己的硬體配件。TurtleBot 是為機器人作業系統( ROS )設計的開發平臺。ROS使用通用軟體( C++ 和Python ),可以驅動任何類型的機器人, 它需要專家協作和擴充強大支援的開源核心。

TurtleBot 旨在提供一個經濟實惠的ROS程式設計學習的方式,而它也非常成功。因此,TurtleBots 經常出現在機器人課程中,因效能足夠且具有可擴充性,故經常用於商業化成品之前的早期原形設計之 用。

下一步呢?
將機器人當作業餘愛好可以做很多事,但如果你正在尋找進一步發展的方法,社群(如當地的機器人俱樂部)可以提供靈感和支援。如果你附近沒什麼人對機器人技術感興趣, 那麼線上社群也是一種選擇,遇到特定難題時還能幫你一把。

學生的話選擇更多。Vex 和Lego( 由FIRST 組織舉辦)有以套件為基礎的機器人競賽,參賽隊伍年齡最小為6 歲。對於高中生來說,比賽可以是很嚴肅的事,因為世界各地數千個團隊都會來參賽,撰寫程式、打造複雜的機器人,以克服每年不同的挑戰。

FIRST 和Vex 都是軟硬體的實務經驗的完美結合,但成為機器人競賽團隊一份子比打造機器人更有價值。身為團隊的一員,並共同為一個大專題付出努力,本身就是一種挑戰和收穫。「你要累積實作經驗,還要有團隊合作經驗,」波士頓動力創辦人兼執行長馬克‧ 萊伯特( Marc Raibert )說,「與團隊合作的能力就和你的專業技能一樣重要。」安傑羅也認同:「我們尋找人才時,最重要的條件是能在團隊中有效率地完成工作。機器人很困難, 它結合許多學科的知識,iRobot中所有的機器人都不是靠一個人就能完成 的。」

高中之後,許多大學設立專門的機器人學程,甚至還有一些學校特別提供機器人科學的學位(而不再是機械工程或軟體工程)。機器人競賽也持續推動機器人教育,從機器人世界盃的自動足球賽,到DJI 和 亞馬遜等企業贊助的家用機器人和搜救機器人競賽,都在尋找新技術和新人才。

對想要將機器人興趣發展成職業的人來說,最好的建議就是「立刻開始」,傑爾奇說。「產業對機器人領域的專業人才需求正快速上升,而人才也愈來愈多。我們看過高中畢業前就有數年程式設計和機器人開發經驗的學生。這就是你要面對的競爭,所以請好好準備。」想要在波士頓動力這類企業從事機器人相關工作嗎?很簡單,萊伯特說:「做你想做的事就對了。」
──伊凡‧ 艾克曼

閱讀完整內容
Make: 國際中文版40

本文摘錄自‎

DIY全技巧速成班

Make: 國際中文版

2019/第40期