Quantcast
Channel: CAVEDU教育團隊技術部落格
Viewing all 678 articles
Browse latest View live

第十二屆RBL機器人格鬥賽——澳門選手軍容壯盛,奪得冠軍非偶然;台灣選手屢有佳作 實力更需再提升!

$
0
0
【各!位!觀!眾!】

全台最大、最強鋼鐵擂台RBL,真是一屆比一屆緊張刺激!

第十二屆在進入八強賽後,竟然有三場比賽殺入到延長驟死賽,

當中兩場更是進入二度加時賽,真是殺得昏天黑地、難分難解!

四強賽亦不遑多讓,更需運用到影像輔助判決。

最後,雖由澳門選手技高一籌,奪下冠軍,

然而,台灣選手在當中仍然有非常優秀的表現!

一起來看看第十二屆RBL機器人格鬥賽的精彩賽況吧!

 

全台最大機器人格鬥賽——第十二屆RBL機器人格鬥賽,經歷一整天鋼鐵擂台之熱鬥後,比賽結果於3月10日(六)下午五點出爐,由來自澳門的選手何輝同獲得冠軍,國二學生朱柏憲獲得亞軍,季軍則由「Sunday Cup 機器人假日格鬥賽」三冠王及種子講師蔡昇恩獲得。

 

圖1 冠軍何輝同與他的機器人「SECOND」

 

何輝同目前在台灣海洋大學機械系就讀大二,為這屆比賽準備約大半年,他的機器人有幾項特點:首先是機身全由碳纖維構成,不僅輕且強度夠;兩隻手臂最下緣由兩塊類似塑膠長板的構造物組成,使「SECOND」在比賽中多次使用此部分,以正撈方式攻擊對手膝蓋部分成功得分,而手臂下緣這個構造是綜合參考日本的機器人製作而成;另外,SECOND在腳底加裝兩塊大鋁板,他實測給小編看時,把SECOND往後一推,機器人不會摔倒,反而是有防跌倒的功能。何同學認為,這三大特點是他能在冠軍賽一舉擊敗對手的關鍵!

圖2 何輝同同學獲頒比賽冠軍獎金

圖3 冠軍機器人SECOND以正撈方式攻擊對手

 

然而,在這次比賽過程中,有一特別的現象,就是在八強賽全部結束後,確定由兩位澳門選手、兩位台灣選手晉級,形成澳門內戰、台灣互打的情形。此外,若非第三場八強戰,台灣選手在延長驟死賽中驚險晉級,否則四強戰將可能形成三位澳門選手、一位台灣選手的局面。

圖4 四強戰一景

對此,RBL主辦人、瞻營全電子機器人事業部經理盧聰勇認為,來自澳門的選手實力有所提升,台灣選手的實力則持平。至於,為什麼澳門選手的實力會進步呢?或許可以從這次有多位選手參賽的澳門慈幼中學一窺其中緣由。

圖5 澳門慈幼中學的指導老師、選手及機器人

 

這次澳門慈幼中學由戴皓賢老師與馮毅老師領軍,戴皓賢老師接受小編訪問時指出,澳門政府相當重視學生的科研教育,所以每年都會撥下一筆經費,專門給有興趣的學生研究機器人,但這並非只有特定的學校才有,而是只要學校向政府申請,經費多半能批准。另外,澳門每年會舉辦一年一度的大型機器人比賽,然而,因為澳門比賽一年只有一場,所以重視機器人教育的學校多半會去各國找比賽參加,以慈幼中學為例,他們就去過中國、紐西蘭、美國、西班牙等地參加比賽,RBL更是年年都來。

 

在澳門政府積極推展下,近二、三年,在澳門中學生之間,玩機器人的風氣日益盛行。而戴皓賢老師雖然積極帶領學生至各國參加比賽,但成績對他而言並非那麼重要,更重要的是,「透過比賽讓學生學到知識,因為唯有這些知識才真正是自己的」戴老師強調。

圖6 澳門慈幼中學師生,戴皓賢老師(右一)、馮毅老師(左二)。

 

在上午的預賽之後,下午賽事由機器人大亂鬥揭開序幕。機器人大亂鬥分成兩組進行,每一組約有五至六隻機器人在場上拚鬥廝殺,一較高下。而面向舞台左邊的那一組是由澳門慈幼中學的陳澤豪同學獲勝,而面向舞台右邊是由一位相當年幼的小男生獲勝,也算是一個相當奇特的記錄。

圖7 敵雖四伏,我亦不懼(大亂鬥一景)

圖8 驚奇!小小孩獲得機器人大亂鬥優勝!!

 

陳澤濠同學的機器人名叫「泰坦」,泰坦的伺服馬達是裝在手臂上而非一般機器人的肩膀上,優點是手臂比較長,缺點則是力量比較不夠,所以陳同學多利用拉打的方式攻擊,以充分發揮泰坦的優點。

圖9 陳澤濠同學與他的機器人「泰坦」

圖10 泰坦的伺服馬達裝在手臂上

直線競賽部分是由第11屆RBL冠軍戴雍的機器人「見朕騎姬」以最短時間通過獲得優勝。直線競賽主要困難點在於場地上設有好幾排膠帶,所以參賽者的機器人在過膠帶時,要特別花費一番工夫,也有不少參賽機器人正因膠帶的障礙而翻倒至場外,導致無法順利通過直線競賽

圖11 哈哈!我是機器人中的最速男(設計對白)。

 

障礙賽亦是本次賽會的亮點之一。因為場地設置有上橋、連上好幾層階梯的關卡,對於每位參賽者的機器人而言都是考驗。然而,東海高中創意機器人社的機器人卻在障礙賽中有相當亮眼的表現。社員洪長立同學的機器人「RQ」一路闖關,雖然下坡時是以「翻滾」的方式,但仍然成功闖過障礙賽的各項障礙抵達終點。對於這隻機器人身型較小、重心較低的設計,洪同學表示,這隻機器人原本是用來跳舞的機器人,在障礙賽前有特別針對場地進行訓練,或許正是因此能有不錯成績的原因。

圖12 RQ一路穿山越嶺,成功達陣!

 

經過一整天的鏖戰,第十二屆RBL在眾人連連的驚呼聲中落幕。主辦單位亦在賽事尾聲時宣布,第十三屆RBL將於今年九月份舉行。這也不禁令人引頸企盼,台灣選手該如何記取教訓、充分準備,以面對來自澳門甚至各國選手的來勢洶洶?!

圖13 喝!吃我一拳!

l   [LattePanda] 使用LattePanda打造Line機器人

l   [LattePanda] 使用Weather API、Google 雲服務打造氣象預報機器人

l   [教學投影片] LINE bot 聊天機器人結合 LinkIt 7697

l   [ DIY人型機器人 ] DeAGOSTINI-Robi機器人組裝分享

[ 報導 ] 2018.2.9-中科智慧機器人自造基地 新創公司、Maker的應許之地

 

 


[ 報導 ] 2018.04.17-「盼望人人都學得起機器人教育」 熱血教師劉俊民守護偏鄉 化身孩子的「金剛」戰士

$
0
0
紀錄撰寫 宗諭 紀錄攝影 照片皆由劉俊民老師提供
受訪者 劉俊民老師 訪問地點 劉俊民老師上課教室
訪問時間

4月11日下午2:30至3:30

「如果孩子家裡經濟有點狀況,只要有心、認真,就算暫時沒有交學費,還是可以來上課!」

這是訪談中,綽號「金剛」的劉俊民老師親口對小編說的話,在今日偏向功利的社會中,真的是十分難能可貴!

為什麼金剛老師願意無怨無悔投入偏鄉的機器人教育?

金剛老師如何運用方法和技巧教導小朋友?

金剛老師又是如何教導「程式教育」?

一起來看一看這篇文章吧!

歡迎轉載、分享。


「我期望有一天,台灣人人都學得起機器人相關教育。」被學生、朋友稱為「金剛老師」的劉俊民,娓娓道出心中對於機器人教育的熱忱及願景。

劉俊民(左)、劉俊金川兄弟同心投入機器人教育。

圖1 劉俊民(左)、劉俊金川兄弟同心投入機器人教育。

在尚未投入教學前,劉俊民的工作是販售教具的業務,但因爲業務也要會教導客戶如何使用教具,於是,他就從教客戶開始,一頭栽進機器人教育的教學,而這一栽就是15個年頭。

家教老師 影響深遠

投入教學或許因著一些契機,但其實在金剛老師的內心深處,老早、老早就懷抱著一股對於教育的熱忱。「國中時期的家教老師對我影響很大!他常陪著我寫功課到很晚。」國中階段的金剛老師很努力、認真,學校老師分派的作業,他每題皆完成且從未遲交,然而在班上的名次卻總是倒數,使他挫折感非常大。幸好,這位家教老師以熱忱把金剛老師拉起來,讓他並未因課業不佳而失去自信、迷失自我。

在屏東的偏鄉,教導孩子們龍舟機器人。

圖2 在屏東的偏鄉,教導孩子們龍舟機器人。

偏鄉孩子 需要舞台

正因對那位家教老師的感念,金剛老師除了在都會區教機器人,更願意前往不少人視之畏途的偏鄉,指導那裡的小朋友。他認為,居住在偏鄉的小朋友其實能力並不會輸給在台北的學童,「他們需要的是舞台,所以我很樂意出錢出力幫助他們,擔任他們的技術指導。」

偏鄉小朋友需要的是舞台

圖3 偏鄉小朋友需要的是舞台

所以,金剛老師時常帶著偏鄉的學童,四處參加比賽、科展及活動。在參賽過程中,不只金剛老師付出心血,他亦深刻感受到學童對於他所付出的時間與資源的珍惜。因為,參加機器人比賽,多半需要參賽者自己設計電子電路和機器人結構,而這些孩子大多沒有相關的學習背景,所以就必須要排出有限的時間進行練習。「我們往往只有3到4天的時間可以練習,但我實際感受到的是,這些孩子往往把這麼短的時間當成好像是3到4個月來用,甚至熬夜練習也願意!」金剛老師感動地訴說。

小朋友們分外珍惜老師的付出圖4 小朋友們分外珍惜老師的付出

國際競賽 鍛鍊能力

  帶領學童參加過許多活動、科展及比賽,金剛老師印象最深的是「RCJ國際賽(RobotCup Junior)」。因為在比賽前,每位參賽者都需要進行面試,與面試官討論自己的作品,以及製作機器人的種種過程。而在RCJ的比賽中,每位參賽者的機器人皆必須獨立設計完成,機器人的程式需要自行編寫,不會有以改造現成機器人成品參賽的情形發生。所以,學童製作機器人的能力,可以在此得到非常好的鍛鍊。

除了訓練製作機器人的能力外,RCJ國際賽中還存在一個Super team的競賽制度,也就是由不同國家的參賽者組隊互相PK。「在參加Super team的過程中,他們要學習公關與談判的能力,不然有可能會被不同國籍的同隊隊友派去當犧牲打的角色。」金剛老師指出。也正是在這樣的機會中,台灣孩子較不擅長的與人斡旋、協調、簡報等能力,得到很好地學習。

「我不把贏得比賽放在第一位,而是要訓練孩子們解決問題的能力!」例如,在RCJ國際賽中,因手邊不會有備用零件,如果機器人在比賽過程中故障了,就需要學童充分發揮解決問題的能力,排除故障,繼續參賽。「不只是解決問題,更是學習如何過生活。」金剛老師強調。

RCJ機器人比賽,台灣選手奮力一搏。

圖5 RCJ機器人比賽,台灣選手奮力一搏。

富有熱忱 更需方法

富有教學熱忱的金剛老師,亦非常重視教學的方法與技巧。例如,如果要教幼兒機械結構,不易理解的術語完全派不上用場。這時候,就需要用到好玩又實用的教具輔助,像是戰鬥陀螺;又比方,用橡皮筋跟小朋友講動力,就可以教他們自己製做竹筷子槍,不僅好玩而且容易學會艱澀的理論。「跟小朋友講東西,真的是要用日常生活中的例子或方法才行。」金剛老師分享切身經驗。

金剛老師兄弟自己開發的教具

圖6 金剛老師兄弟自己開發的教具

程式教育 運算思維

近年來很夯的「程式教育」、「運算思維」,在金剛老師的教室中亦有教授。小學三年級前,主要是運用樂高積木教具、「慧魚工程積木(Fischertechnik)」來教小朋友;小學三、四年級的孩子,主要就是用「Scratch」——這個由美國麻省理工學院媒體實驗室終身幼稚園組開發的電腦程式開發平台——進行教導;而小五、小六的學童就更進階了,運用美國微軟公司開發的VB(Visual Basic)語言,教他們學習寫程式。

兄弟兩人設計的格鬥機器人

圖7 兄弟兩人設計的格鬥機器人

一路走來 始終用心

15年來,劉俊民秉持初衷,用心帶領每一位他教導的孩子。他甚至在訪談中表示:「如果孩子家裡經濟有點狀況,只要有心、認真,就算暫時沒有交學費,還是可以來上課!」正如同綽號一般,劉俊民透過他的熱忱、用心及專業知識,幫助孩童學習製作機器人,甚至走出更寬廣的人生路。他,可說是名符其實、守護孩子的「金剛」戰士!

備註:本文照片皆由劉俊民老師提供。

[Movidius神經運算棒]在Intel® Movidius™ NCS上部署客製化Caffe模型來進行影像分類

$
0
0
作者/攝影 曾吉弘
文章分類 教學(翻譯)
時間 3小時
成本
難度 ******   (1~10)
材料表
  • Raspberry Pi 3單板電腦
  • Intel Movidius神經計算棒

為什麼需要客製化模型?

    Neural Compute Application Zoo (NCAppZoo) 會下載數個預先訓練好的神經網路,例如GoogLeNet、AlexNet、SqueezeNet與MobileNets⋯⋯等等。這些網路多數是根據ImageNet的資料集進行訓練,其中包含了上千個影像類別(class,也稱為category)。這些範例網路與程式,使開發者很容易評估所採用的平台,並以此建立簡易專題。不過,如果您打算對邊緣產品進行概念驗證,例如智慧型數位相機、能以手勢控制的無人機,或工業用的智慧攝影機的話,就應該需要客製化的神經網路才行。

    如果今天要做的是一台放在住家門口的智慧監控攝影機,應該就不需要用到ImageNetLet上那上千個已經定義好的類別,比如「zebra」、「armadillo」或 「lionfish」。反之,您應該只需要大約15至20個類別,例如「person」、「dog」、「mailman」、「person wearing hoody」這樣就好。把資料集的類別從上千個降至20個的話,同時也大大降低所需要提取的特徵。這與您網路的複雜度直接相關,影響到其大小、訓練時間及推論時間⋯⋯等等。換言之,神經網路最佳化有以下好處:

  1. 資料集變小了,訓練網路的時間自然縮短。

    • 節省硬體的運行與訓練成本。

    • 縮短開發時間。

  2. 節省所需記憶體,進而降低硬體成本。

  3. 由於網路複雜度降低,藉此提高推論結果的向前傳遞(forward pass)速度,這樣就能讓邊緣裝置以更快速度處理攝影機影像。

    本文將依序介紹如何使用客製化的資料集訓練一個預先定義好的神經網路,使用Intel® Movidius™ Neural Compute SDK (NCSDK)來剖析、修改網路,以改善執行時間,最後則是將客製化模型部署至Intel® Movidius™ 神經運算棒(NCS)上。

讓我們邊做邊學!

您會製作:

    可以辨識狗與貓兩種類別的客製化GoogLeNet 深度神經網路。

您會學到:

  • 使用NCSDK中的mvNCProfile工具軟體來剖析神經網路

您會需要:

讓我們開始吧!

為了簡化,我將本文分成四大段:

  1. 訓練(Train) -選用神經網路、準備資料集及訓練。

  2. 剖析(Profile) -分析所採用神經網路的頻寬、複雜度與執行時間。

  3. 微調(Fine tune)-修改神經網路拓樸來改善執行時間

  4. 部署(Deploy)-將客製化完成的神經網路部署至可運行NCS的邊緣裝置上。

註:如果您的訓練機器與安裝NCSDK的系統並非同一台的話,請在您的訓練硬體上執行Step 1至3,並在安裝好NCSDK的系統上執行Step 2與4。

    首先,請由NCAppZoo下載原始碼與說明文件。

mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/movidius/ncappzoo


1. 訓練

選用神經網路

    除非您打算從頭打造一套深度神經網路,不然選用何種神經網路對於您裝置的執行效能是最關鍵的事情。以這個鮭魚種類分類器來說,您只要選擇足以處理少數幾種類別的網路拓樸即可(這樣要檢查的特徵就少多了),但系統的速度還是要夠快才能成功分類不停游來游去的魚兒。另一方面,如果是倉儲物流的存貨掃描機器人的話,這時可能需要犧牲一點速度來提高分類超大量庫存商品的正確性。

    一旦選好網路之後,您就得不斷微調它直到在正確性、執行時間與功耗方面達到平衡為止。GoogLeNet是針對ImageNet 2014比賽所設計的,具備超過1000個類別,顯然用它來分類貓狗是小題大作了,但為了讓本範例盡量簡單,我們還是採用它,但會清楚說明神經網路在客製化之後對於正確性與執行時間的影響。

準備資料集

  • 從Kaggle下載zip and train1.zip,放到 ~/workspace/ncappzoo/apps/dogsvscats/data路徑下。

  • 準備資料集所需的步驟都包在Makefile中了,包括:

    • 影像預處理、調整大小、裁切與直方圖均化(histogram equalization)等等

    • 影像洗牌(shuffling)

    • 將所有影像分成訓練用與驗證用兩組

    • 對這些影像建立一個lmdb資料庫

    • 計算影像均值 – 這是資料正規化的常用深度學習技術

# The helper scripts use $CAFFE_PATH to navigate into your caffe installation directory.
export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats
make

註:請把畫面上的均值(mean)記下來,後續推論時會用到。

一切順利的話,會看到以下目錄架構:

(bash)

tree ~/workspace/ncappzoo/apps/dogsvscats/data

data
├── dogsvscats-mean.binaryproto
├── dogsvscats_train_lmdb
│   ├── data.mdb
│   └── lock.mdb
├── dogsvscats_val_lmdb
│   ├── data.mdb
│   └── lock.mdb
├── test1
│   ├── cat.92.jpg
│   ├── cat.245.jpg
│   └── …
├── test1.zip
├── train
│   ├── cat.2388.jpg
│   ├── cat.465.jpg
│   └── …
└── train.zip

 

訓練

    如果硬體效能夠強的話,要從頭開始訓練我們的「」資料集(25000張影像)應該不會太久,但在此要運用遷移學習(transfer learning)技術來節省開發的力氣。由於GoogLeNet是根據ImageNet資料集(包含了各種貓與狗的影像)所訓練,我們當然可以好好運用預先訓練好的GoogLeNet模型中的各個權重值。

    Caffe讓我們只要在訓練指令後加入–weights 旗標就能輕鬆應用遷移學習。另外還要根據我們所採用的遷移學習類型來修改 training & solver prototxt (模型定義) 這兩個檔案。本範例選用最簡單的fixed feature extractor。

    本文的dogsvscats專題github也一併提供了修改好的prototxt檔。想深入了解我改了哪些地方的話,請實際執行Caffe的範例網路檔與本專題所用網路來比較看看。

(bash)

export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats
diff -u $CAFFE_PATH/models/bvlc_googlenet bvlc_googlenet/org

 

請用以下指令開始訓練。根據您採用的硬體,所需時間可能從喝杯飲料到睡個午覺都有可能。

(bash)

# The helper scripts use $CAFFE_PATH to navigate into your Caffe installation directory.
export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats

# Download pre-trained GoogLeNet model
$CAFFE_PATH/scripts/download_model_binary.py $CAFFE_PATH/models/bvlc_googlenet

# Start training session
$CAFFE_PATH/build/tools/caffe train –solver bvlc_googlenet/org/solver.prototxt –weights $CAFFE_PATH/models/bvlc_googlenet/bvlc_googlenet.caffemodel 2>&1 | tee bvlc_googlenet/org/train.log

 

一切順利的話,會在dogsvscats/bvlc_googlenet/org資料夾中看到一大堆.caffemodel 與 .solverstate 檔。

註:我的模型在測試過程中收斂得不太理想,所以後來就不再從頭訓練,結果也好多了。如果您也遇到相同問題的話,只要拿掉 –weights 再重新跑一次訓練就好。如果想知道為什麼我的模型不會收斂的話,請到 Intel Movidius 開發者論壇 留言。

2. Profile

    bvlc_googlenet_iter_xxxx.caffemodel包含了方才訓練好模型的各個權重。現在要看看它在Intel Movidius神經運算棒的執行效果如何。NCSDK ships with a 神經網路 profiler tool called mvNCProfile, ,它專門用來分析神經網路,並可對執行在某硬體平台上的神經網路提供逐層說明。

    請在已安裝NCSDK的系統上執行以下指令,並確保NCS已經正確接上系統:

(bash)

cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/org
mvNCProfile -s 12 deploy.prototxt -w bvlc_googlenet_iter_40000.caffemodel

ls -l graph
-rw-rw-r– 1 ashwin ashwin 11972912 Dec 24 17:24 graph

 

    您應該會看到各層關於頻寬、複雜度與執行時間的相關資訊。或者可透過output.gv.svg與output_report.html將這些資訊以圖形介面來呈現。

 

3. 微調

    請注意Inception 4a, 4b, 4c  4d是最複雜的層,並且它們用了相當長的時間來向前傳遞。理論上來說,把這些層刪掉可以讓效能提升20~30ms,但這會影響到正確性嗎?重新用custom/deploy.prototxt 來訓練看看就知道了。

以下是我對bvlc_googlenet/org/train_val.prototxt 所作修改之圖形畫呈現。

CAFFE_PATH/python/draw_net.py 這個python程式是用於繪製網路。Netscope是另一個不錯的線上Caffe網路繪製工具。

(bash)

cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/org
python $CAFFE_PATH/python/draw_net.py train_val.prototxt train_val_plot.png

cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/custom
python $CAFFE_PATH/python/draw_net.py train_val.prototxt train_val_plot.png

 

 

(bash)

# The helper scripts use $CAFFE_PATH to navigate into your caffe installation directory.
export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats

# Start training session
$CAFFE_PATH/build/tools/caffe train –solver bvlc_googlenet/custom/solver.prototxt 2>&1 | tee bvlc_googlenet/custom/train.log

註:請注意,在此沒有看到 –weights旗標,代表我沒有用到遷移學習。那為什麼您會期待我這麼做呢?預先訓練好的網路,其權重會與該網路架構直接相關。由於本範例刪除了inception層,因此遷移學習的效果不會太好。

    這次的訓練過程顯然會比喝杯飲料的時間久一點,耐心等一下吧。訓練好 之後,請再次執行mvNCProfile來分析客製化之後的神經網路。

(bash)

cd ~/workspace/ncappzoo/apps/dogsvscats/model
mvNCProfile -s 12 dogsvscats-custom-deploy.prototxt -w dogsvscats-custom.caffemodel

ls -l graph
-rw-rw-r– 1 ashwin ashwin 8819152 Dec 24 17:26 graph

 

 

    看起來我們的模型與原本的GoogLeNet相比,速度快了21.26 ms,網路也小了3 MB。不過網路正確性又如何呢?現在我們要把客製化前後的訓練學習曲線畫出來。

(bash)

# The helper scripts use $CAFFE_PATH to navigate into your Caffe installation directory.
export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/org

# Plot learning curve
python $CAFFE_PATH/tools/extra/plot_training_log.py 2 bvlc_googlenet_train.png train.log

    接著在另一個終端機中把客製化網路的學習曲線畫出來:

(bash)

# The helper scripts use $CAFFE_PATH to navigate into your Caffe installation directory.
export CAFFE_PATH=/PATH/TO/CAFFE/INSTALL_DIR
cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/custom

# Plot learning curve
python $CAFFE_PATH/tools/extra/plot_training_log.py 2 bvlc_googlenet_train.png train.log

註:graph的標籤不太好懂,因為我們期待“Test Loss”會在執行多次之後下降,不過它反而上升。這個graph實際上繪製的是loss3/top-1, 這就是您網路的正確性。更多細節請參考位於train_val.prototxt中的loss3/top-1定義。

    在執行訓練過程時,我發現兩個網路在正確性差異非常小。我認為原因是來自類別數量很少導致特徵也變少的關係。類別數量增加的話應該就能看到更明顯的差異。

 

4. 部署

    對於這個神經網路的效能滿意了嗎?可以準備將網路部署到像是Raspberry Pi或是MinnowBoard這樣的邊緣裝置上了。在此採用image-classifier來載入graph並對指定影像進行推論。原本的程式碼要修改一下才能運用正確的均值與比例因數(scaling factor),接著將程式碼搭配正確的graph檔之後才能測試影像。

(python codes)

— a/apps/image-classifier/image-classifier.py
+++ b/apps/image-classifier/image-classifier.py
@@ -16,10 +16,10 @@ import sys

# User modifiable input parameters
NCAPPZOO_PATH           = ‘../..’
-GRAPH_PATH              = NCAPPZOO_PATH + ‘/caffe/GoogLeNet/graph’
-IMAGE_PATH              = NCAPPZOO_PATH + ‘/data/images/cat.jpg’
-CATEGORIES_PATH         = NCAPPZOO_PATH + ‘/data/ilsvrc12/synset_words.txt’
-IMAGE_MEAN              = numpy.float16( [104.00698793, 116.66876762, 122.67891434] )
+GRAPH_PATH              = NCAPPZOO_PATH + ‘/apps/dogsvscats/bvlc_googlenet/custom/graph’
+IMAGE_PATH              = NCAPPZOO_PATH + ‘/apps/dogsvscats/data/test1/173.jpg’
+CATEGORIES_PATH         = NCAPPZOO_PATH + ‘/apps/dogsvscats/data/categories.txt’
+IMAGE_MEAN              = numpy.float16( [106.202, 115.912, 124.449] )
IMAGE_STDDEV            = ( 1 )
IMAGE_DIM               = ( 224, 224 )

@@ -77,7 +77,7 @@ order = output.argsort()[::-1][:6]

# Get execution time
inference_time = graph.GetGraphOption( mvnc.GraphOption.TIME_TAKEN )

-for i in range( 0, 4 ):
+for i in range( 0, 2 ):
print( “Prediction for ”
+ “: ” + categories[order[i]] + ” with %3.1f%% confidence”

    修改完成之後執行image-classifier:

(bash)

cd ~/workspace/ncappzoo/apps/image-classifier
python3 image-classifier.py

    應該會看到以下類似訊息:

——- predictions ——–
Prediction for : Dog with 98.4% confidence in 90.46 ms
Prediction for : Cat with 1.7% confidence in 90.46 ms

 

    rapid-image-classifier是一個用於測試影像分類效果的實用工具軟體,它會讀取某個資料夾(包含子資料夾)中的所有影像,並顯示推論結果。請把剛剛對image-classifier做的再做一次,最後執行程式。

(bash)

cd ~/workspace/ncappzoo/apps/rapid-image-classifier
python3 rapid-image-classifier.py

應該會在terminal看到以下訊息:

Pre-processing images…
Prediction for 6325.jpg: Cat with 100.0% confidence in 90.00 ms
Prediction for 7204.jpg: Cat with 100.0% confidence in 73.67 ms
Prediction for 3384.jpg: Dog with 100.0% confidence in 73.72 ms
Prediction for 5487.jpg: Dog with 100.0% confidence in 73.27 ms
Prediction for 1185.jpg: Cat with 100.0% confidence in 73.60 ms
Prediction for 3845.jpg: Dog with 68.5% confidence in 73.29 ms

    讚!您已經成功將以Caffe為基礎的客製化深度神經網路部署在邊緣裝置上了。

註:有注意到第一個與第二個推論嗎?兩者之間的差異超過20ms。這是由於要先開啟裝置與載入graph才能首次呼叫loadTensor,因此耗時較長。

    上述image-classifier與rapid-image-classifier這兩個範例使用了來自mvNCProfile的預設graph檔,但您可以改用自定義的graph檔。

cd ~/workspace/ncappzoo/apps/dogsvscats/bvlc_googlenet/org
mvNCCompile -s 12 deploy.prototxt -w bvlc_googlenet_iter_40000.caffemodel -o dogsvscats-org.graph

還可以試試

  • 運用資料增強(data augmentation)技術來提高您所用模型的正確度。.

  • GoogLeNet (本範例的客製版也算) 對於分類貓狗來說真的是小題大作;換成像是VGG 16、Resnet-18或 LeNet這類型的簡易網路試試看吧

    • 在NCSDK的release note可以找到一系列已驗證的可用網路

延伸閱讀

(原文經Intel授權,翻譯自:https://movidius.github.io/blog/deploying-custom-caffe-models/ )

 

相關文章

 

[新品介紹]MIT App Inventor Codi Bot物聯網教學互動機器人

$
0
0
作者/攝影 曾吉弘
文章分類 產品介紹
時間
成本
難度 *  (1~10)
材料表

    對於會寫程式的人來說,Python/C/Java是完全不同的程式語言。但對於沒接觸過的人來說,通通都是一樣的:很可怕。因此程式語言需要一個圖騰來代表,例如,Scratch的那隻小貓、 Linux的企鵝、Java的咖啡,以及Android的小機器人⋯⋯等等,在相關場合中,我們都可以看見這樣的代表符號。

 

    MIT App Inventor去年發起了一項募資計畫,目標是加速App Inventor 的 iOS版本。贊助$1500美金以上者可以收到一套實體的物聯網教育套件,但這時大家對於內容還不是很清楚應該如何規劃。Hal Abelson教授就問是否可以幫忙?

 

當然可以啦,不就是為了幫忙才去MIT的嗎?

 

    輪型或多足型機器人設計相關課程算是CAVEDU教育團體的專長,但MIT App Inventor小組盼望能結合它們的新logo,因為之前的logo太Android了,所以他們於去年推出了新的小蜜蜂logo,與Android 3.0 honeycomb 相當神似。

 

    經過一番努力之後,MIT App Inventor Codi Bot 誕生了!

圖1

 

    MIT App Inventor Codi Bot在設計上有幾項重點:

可愛、易用、教育、可擴充

特色:

    為了讓使用者更易入手,我們開發了 LinkIt 7697 的 App Inventor extension,(個人覺得比Arduino 101的好用多了)。LinkIt 7697端只要上傳一次程式就可以順利與App Inventor溝通,也就是使用者只要專心寫App Inventor程式即可。如果在辦短期營隊或是體驗活動的時候,可以先把LinkIt 7697準備好,這樣可以省去現場上傳程式的各種麻煩事。

 

    核心使用 LinkIt 7697Robot Shield V2.0,這樣使得整理電線變得很輕鬆,國內也有許多團隊使用兩者開發出許多有趣的專題。

 

    當然,Codi Bot能做的不只是如此,7697 可以結合 MediaTek Cloud Sandbox等雲端服務結合LINE、IFTTT等通訊軟體

 

教學文件 (陸續公開):

  • 單機執行:直接執行 (影片)

  • LED:使用按鈕、滑桿來控制翅膀與底座的LED (影片)

  • 翅膀:使用按鈕、滑桿來控制翅膀(伺服機) (影片)

  • 聲音:控制蜂鳴器發出各種音符或自訂義頻率與時間長度 (影片)

  • 完整app:整合上述功能 (影片)

 

    來看實體照片吧,LED亮起的時候真的很漂亮,影片中可以看到翅膀拍動以及發出聲音的效果。

 

圖2

 

圖3 背面

 

圖4側面

    開發過程中,非常感謝聯發科技實驗室MiniPlan,CAVEDU同仁的超強後勤。

    7697 extension感謝林祥瑞袁佑緣兩位小超人。

    以及MIT App Inventor Codi Bot的設計者:游允赫老師。

    比較一下 MIT App Inventor的logo 與 Android 3.0 honeycomb:

圖5 App Inventor的logo

 

圖6 Android3.0 honeycomb

 

相關文章:

[ 新品介紹 ] 2018.5.11-108課綱將上路 編程教育成趨勢 學校、教師、家長如何幫孩子?SAM LABS STEAM套組助學童發揮無限創意!

$
0
0
紀錄撰寫 宗諭
紀錄攝影  宗諭/影片由廣天國際提供
受訪者 廣天國際有限公司
訪問地點 廣天國際有限公司
訪問時間

5月11日下午2:30至4:30

    當108課綱即將上路,培養孩子的「運算思維(Computational Thinking)」,讓他們從小學習邏輯、編程的STEAM教育,成為一大趨勢。在此大趨勢下,「廣天國際有限公司」自英國引進「SAM LABS STEAM套組」,正是為因應學校、教師、家長的廣大需求。

 

SAM LABS STEAM套組是什麼?

    看了上面的影片後,您可能對SAM LABS STEAM套組是什麼,有一些概念。簡而言之,「SAM LABS STEAM套組」是一個教導五歲以上孩子邏輯、編程的教學器材。它由大約20個模塊組成,這些模塊包含Input(輸入)、Output(輸出)及一些感應器。孩子只要把這些模塊組裝起來,便可以藉由SAM LABS設計好的App,內建有許多程式指令,創造出許多有趣應用。

 

圖1 SAM LABS STEAM套組外觀

 

圖2 STEAM套組的內部

 

圖3

 

圖4

 

圖5 STEAM套組由許多模塊組成(圖3、4、5)。

 

SAM LABS STEAM套組的應用

    您一定感到好奇,我們可以用STEAM套組做出什麼樣有趣的應用呢?最基本、簡單的就是透過模塊組裝,控制App內建的小遊戲。

 

圖6 運用模塊控制App內建的小遊戲

 

    因為STEAM套組可以控制馬達、結合樂高積木和紙模型,所以能做出小車、動力機械及紙吉他⋯⋯等等應用。當然,應用可以千變萬化,正等待小朋友們發揮無限創意!廣天國際執行長楊天鐸也表示,引進硬體只是第一步,未來還將持續開發許多幼教教案。

 

圖7 遙控小車

 

圖8 結合樂高積木組成動力機械

 

圖9 結合紙模型製作吉他,讓您搖身一變成為吉他手!

 

SAM LABS STEAM套組的特色

    那這款STEAM套件最大特點是什麼?小編觀察,是它的每塊模塊都是一個藍牙模組,所以完全不用實體接線,只需透過App就可彼此連接,而透過iPad、Android手機、Windows PC或Mac電腦皆連接、控制模塊;此外,STEAM套組也支援Blockly圖形化程式語言介面,只要用Google Chrome瀏覽器,便可在瀏覽器上以SAM LABS開發的SAM Blockly拉積木寫程式。

 

自由探索 錯誤也是種學習

    可能不少教師朋友想了解:「若使用這個套組,在教室或其他教育現場,我應該教些什麼呢?」楊天鐸指出,只要教導小朋友一些程式語法的基本概念即可,剩下就是讓他們自行探索、發揮創意了。

 

    小編現場動手玩STEAM套組,覺得十分有趣。我使用的是一個陀螺儀的模塊,然後透過App,使手中的模塊和小車上的模塊連線,就可以用搖晃的方式遙控小車。雖然在小編操控下,小車一直不斷撞門、撞牆(搞破壞嗎?),但真是見識到STEAM套組的魅力!

 

結語

    小編相信,藉由這個套組能創作出的應用還非常多,最重要就是讓小朋友透過遊戲發揮創意。或許正如廣天國際楊天鐸執行長所言:「只要給他們幾個模塊,小朋友們就能玩得不亦樂乎!」更多訊息,請上網:www.calculator.com.tw

 

相關文章

[Micro:bit] Micro:bit Blockly PBL教材──主題1-1:左右手慢動作

$
0
0
作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類 教學
時間
成本
難度 ** (1~10)
材料表
  • Micro:bit*1

 

任務

  千呼萬喚始出來,男孩團體TFBOYS終於要來台灣開演唱會了!

 

  各位忠實的粉絲們,請使用「Basic積木抽屜」中的7塊積木,來設計要在會場盡情吶喊的燈光秀吧!

圖1

 

我們先來介紹Basic積木抽屜中的7塊積木:

1.show number:顯示數字,例如:5487、9487。

2.show leds:自繪圖案,例:大、火。

3.show icon:圖庫區(按右上角的倒三角形展開)。

圖2 show icon積木

 

4.show string:顯示字串(英文文字、數字串一串)。

5.pause:暫停。

 

還有更多:

圖3 更多Basic程式積木

 

1.clear screen:清除畫面。

2.show arrow:顯示東、西、南、北、東南、西南、東北、西北的八方位箭頭。

 

解說

1.使用Google Chrome或Firefox瀏覽器(不要使用Microsoft Internet Explorer(IE)),在網址列上輸入關鍵字「lets code」後,按下鍵盤上的Enter鍵。然後用滑鼠點按搜尋排名第一名的連結。

圖4 在網址列上輸入關鍵字「lets code」

 

圖5 用滑鼠點按搜尋排名第一名的連結

 

2.連入Micro:bit官網。

圖6 Micro:bit官網

 

3.再用滑鼠點擊按鈕,進入由微軟公司所維護的視覺化積木式線上開發程式網站「Make Code」。(為了教學與學習方便記憶,請大家記住關鍵字let’s code的台語發音:拉死狗(let’s code念快一點,而且要拉二次))。

圖7 點擊「Let’s Code」按鈕

圖8 Make Code網站

 

4.運用前面所提示的7塊積木,並配合TFBOYS的成名曲《青春修煉手冊》來設計您的彼特看板燈光秀。

 

延伸挑戰

1.與美術整合:製作您專屬的妖怪手錶,並設計錶上顯示您精心設計的燈光圖案。

2.與音樂整合:如同第1題,除了燈光外,嘗試使用Music積木抽屜裡的積木(例如:單音Tone⋯⋯等等),讓您的手錶能自己唱歌。

 

相關文章

[Micro:bit]Micro:bit Blockly PBL教材──主題2-1:健康計步器(Pedometer)

$
0
0
作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類 教學
時間
成本
難度 ***(1~10)
材料表
  • Micro:bit*1

 

從蔣勲的萬步復健醫囑談起

  美學大師蔣勲在2010年因心肌梗塞緊急送醫手術後,從鬼門關前撿回一條命。從此,他便遵從醫囑,不管刮風下雨、風吹雨打,為了有健康的生活,每日就必需走一萬步復健。

 

  親愛的朋友們,請幫幫蔣先生設計一個可以讓他身體更健康的計步器,以提醒他每日要完成的萬步功課吧!

 

與生活經驗結合

  Micro:bit最迷人的硬體之一,就是板載用來偵測空間運動量變化的3軸(3 axles)加速度感測器(Gyro sensor或Accelerometer)!三軸加速度感測器於日常生活中有許多方面的應用,茲舉數例如下:

 

實例1:App

  現今的智慧型手機內其實暗藏著不少感測器(sensors),您可以藉由Sensors Test app測看看。所以,大家應該猜到了,一定也有app版的健康計步器吧?
沒錯,有一卡車那麼多哩!

 

實例2:手機直/橫向顯示

  它傻瓜,也聰明,就是知道您把手轉一下就把手機畫面打橫,這樣追劇才過癮吧!智慧型手機就是利用一顆加速度感測晶片,以感知螢幕是要直顯還是橫顯的喔!

 

實例3:念佛器

  阮阿嬤生前是佛教徒,所以每天要做的功課就是要念一萬聲佛號。但您也了解年紀大了記性不好,老是記不住念過了五千遍是八千遍,這時要是有念佛神器,那就真的是太帥了!(注意觀察此器的使用:念一遍佛號,按一下,數字+1⋯⋯。這不就是和一般計數器的功能一模一樣嗎?)

 

實例4:人頭計數器

  有去過動物園或遊樂場校外教學的經驗吧?帶隊老師買完團體票後,同學們一個接著一個陸續入場。在入口處,您一定見過會有一個工作人員拿著一個計數器在數人頭。

 

實例5:叫號機

  我們到診所看病時,會先至櫃檯掛號,取得一個號碼後在一旁等候叫號機顯示看診序號後,進入診間就診。

 

任務

  當蔣勲先生換好運動服裝,拿起此小彼特計步器並按下「啟動鈕(Start Button)」,開始在他淡水河畔的八里住處散步。當他達到設定好的萬步目標後,這個小機器會嗶嗶嗶地提醒他,今日功課完成了喔。

 

解說

  不管您能否了解題意,玩一下這個Micro:bit版的東東,先建立直覺(intuition)再說。好玩嗎?來,自己做一個更有fu喔!

  整個問題的核心(core),在用一個變數(variable)「steps」來記錄目前走了幾步。變數,就是指會改變之數,每走一步就累進一。So,只要能精緻處理計數變數(counting variable)的變化,我們就能控制計步的過程。其中,在程式語言(programming languages)裡,變數的使用方式有以下三個步驟:

 

1.宣告(declaration):指定變數名稱(variable name)型別(type)。所謂型別是指該變數屬於哪一類(catalog),例如:整數(integers)、實數(real numbers)⋯⋯等等。

 

2.賦予初始值(initial value):指定變數的起始內容。例如:設定steps從0起跳。

圖1 設定steps從0起跳

 

3.使用(use):變數的累計或計算。例如:走一步觸發(trigger)一次加速度感測器的shake(搖動)事件,並將steps的計數值加1。

圖2

 

  最後,再讓Micro:bit不斷顯示(只要steps之值沒有變化,雖然Micro:bit的5×5 LED點矩陣(dot matrix)反覆刷新,但視覺上並未看到計數值顯示有改變。您也可以把圖3的積木塊移到事件積木(event block)中試試!)steps的值就大功告成了。

圖3

 

圖4 計步器的完整程式碼

 

  1. let steps = 0
  2. onGesture(Gesture.Shake, () => {
  3.   steps += 1
  4. playTone(659, music.beat(BeatFraction.Whole))
  5. })
  6. steps = 0
  7. forever(() => {
  8. showNumber(steps)
  9. })

 

與108課綱的對照

  • 學習表現:

    1. 資t-III-2 能使用資訊科技解決生活中簡單的問題。

    2. 生c-IV-2 能在實作活動中展現創新思考的能力。

  • 學習內容:

    1. 資A-III-1 程序性的問題解決方法簡介。

    2. 生P-IV-2 設計圖的繪製。

 

延伸挑戰:

也可試著改成用加速度感測器的Y軸,改變Y軸的量來玩喔!

 

相關文章

[Boson電子積木好好玩] 動手玩創意音樂盒及閃亮亮皇冠_初階篇

$
0
0

有沒有想送個禮物給最親愛的爸媽,或是好朋友呢?通常要送禮物的時候,大家都是到外面的商店去買一個,而這次,我們要用Boson電子積木自己動手做禮物!如果想多了解一點Boson電子積木的話,可以先看一下這篇文章:[ 起步學習電子實作新選擇 ] 模組化電子積木BOSON開箱。準備好了嗎?那就讓我們開始做禮物吧!

 

作者/攝影

陳怡璇

文章分類
時間

1小時內

成本
難度 *(1~10)
材料表

 

這次做的有兩個成品,音樂盒跟皇冠,都是使用Boson模組。

 

首先,先簡單介紹Boson。

裡面的模組分成四種顏色:紅色、綠色、黃色、藍色。

  • 紅色是電源。

  • 綠色是輸出。

  • 黃色是處理。

  • 藍色是輸入。

 

 

更詳細的部分可以看裡面附的圖卡,可以先照著圖卡做些簡單的應用,熟悉使用方法。再來就可以開始今天的主題了。

 

我們先做音樂盒。

 

我們將使用到的模組有:

  • 電池座(Batteries)

  • 主控板(Main Board)

  • 錄音機模組(Voice Recorder Module)

  • 喇叭(Speaker)

  • 分配模組(Splitter Module)

  • 馬達模組(Motor Module)

  • 藍色無段按鈕(Blue Push Button)

  • 計時模組(Timeout Module)

  • 馬達(Motor)

  • 傾斜感測器(Tilt Sensor)

 

Step1:首先,我們先組裝電源的部分,將電池座(Batteries)跟主控板(Main Board)接在一起。

圖1

 

Step2:接上代表輸入的藍色無段按鈕(Blue Push Button),在這裡要注意他的箭頭方向,箭頭由左到右,左邊接的是輸入,右邊接的是輸出。

圖2

 

Step3:接上輸出,因為我們需要計時,所以我們要先接上計時模組(Timeout Module),一樣要注意箭頭方向。

圖3

 

Step4:接上計時模組以後,因為要同時控制馬達模組跟錄音機模組,所以中間要使用分配模組(Splitter Module)。

圖4

 

Step5:接上圖片中圈起來的部分,上方是馬達模組(Motor Module)跟馬達(Motor);下方是錄音機模組(Voice Recorder Module)跟喇叭(Speaker)。

圖5

 

這樣音樂盒就完成了,按下錄音機模組的按鈕,對著上面的麥克風講話,可以錄下10秒的聲音。

 

再來是音樂盒的外觀製作。

 

Step6:先找到一個自己喜歡而且能裝下所有零件的盒子。

圖6

 

圈起來的那個洞是給主控板的,這樣方便音樂盒的開關。上方的洞是給喇叭的,這樣子聲音才不會都被擋住。

圖7

 

Step7:然後就可以把東西置入了,我把藍色無段按鈕跟錄音機模組在盒子外面,方面使用。馬達的上面記得戳一個洞(圈起來的地方)讓馬達可以在盒子外面旋轉,盒子旁邊我也打了洞,把馬達鎖住,這樣它在轉的時候才不會調到外面。

圖8

 

都處理好之後盒子就可以封起來了。

圖9

 

盒子的外觀可以依照自己喜好做裝飾。我把給喇叭的洞也貼起來了,因為紙對聲音比較不影響。

圖10

 

最後,在馬達上面裝上喜歡的裝飾就完成了。可以按下錄音機模組的按鈕,看看能否錄10秒的聲音。

圖11

 

音樂盒完成之後,再來就是皇冠了。

 

我們將使用到的模組有:

  • 電池座(Batteries)

  • 主控板(Main Board)

  • 傾斜感測器(Tilt Sensor)

  • 燈條(Multicolor LED String Lights)

 

Step1:一樣先組裝電源的部分,將電池座跟主控板接在一起。

圖12

 

Step2:在主控板輸入的地方接上傾斜感測器,傾斜感測器的功能是如果沒保持水平它就會有輸出。

圖13

 

Step3:將彩色LED燈條模組接上輸出(圖14右上角綠色的模組),再接上燈條,如下圖右上角圈起來的地方。

圖14

 

Step4:接著組裝紙皇冠的模型,並把它固定住。

圖15

 

Step5:皇冠裝好以後,把燈條纏繞在上面,可以用透明膠帶固定會比較好操作。

圖16

 

最後完成品。(YA!轉圈撒花~~)

圖17

 

把傾斜感測器拿起來搖晃看看,燈條是不是就會跟著亮起來了呢?

 

相關文章


[Scratch]Scratch Day 2018

$
0
0

 

作者/攝影

曾吉弘

文章分類

活動紀錄

時間
成本
難度
材料表

 

  5/12對於全球的Scratch使用者來說是個大日子,今天就是2018的Scratch Day!自2006年發佈以來,已經是第十三年了。來自世界各地的大小朋友齊聚一堂,一齊歡慶Scratch帶給大家的各種樂趣。阿吉老師(就是我)人在MIT當然也不能錯過啦,對於Lifelong Kindergarten(本文後簡稱LK)團隊,把兩個小時規劃得毫無冷場熱鬧非凡,令我非常佩服。

 

  另一方面,許多攤位乍看之下都是一個亂字,但這符合Mitchel Resnick在LCL課程中提到的 tinkering(修補式學習)精神,雖可能在一定程度上看起來亂糟糟,其實所獲得的遠比「完成這件事」來得更多。失敗的經驗也是很可貴的呢。

 

  當天活動從10:00開始至11:40左右結束,雖然不到兩個小時,但感覺得出每個攤位皆精心規畫過,不管年齡、身分皆可找到一個位子同樂喔!平常很安靜很學術的Media Lab,搖身一變成了遊樂場,熱鬧非凡!Media Lab一樓變成報告處,大廳也掛起了超大的Scratch小貓海報:

 

 

  先來回顧一下,在2017年,全世界共舉辦了500場左右的Scratch day(只要你願意,三個人在一起也算喔!)

 

  穿著藍色T-shirt的LK團隊,逐一上台介紹今天各自負責的攤位,也有不少青少年志工。不知道該如何可以擔任志工,被選上應該會很開心吧!

 

  這個背影就是Mitchel Resnick教授。他的身高應該有190公分,在現場是很好認的。此外,他也受邀參加了5月18至20日,在加州 San Mateo舉辦的Maker Faire Bay Area 進行分享。

 

 

  當天的活動使用了Media Lab的六樓及部分的五樓,分成諸多主題,包括音樂、互動、繪畫、機器人、說故事分享、大型裝置(big things)及烤餅乾(Computational cookies & Codeable cupcakes),詳細如下圖:

 

  活動即將展開,布置得很華麗。

 

  整桌的勞作材料,看了就讓人開心!

 

  這個桌子在示範顏色偵測,有注意到畫面右上角的webcam嗎?小朋友使用樂高積木排在紙上,就可以做出牆壁或水溝,讓角色在遊戲裡跳來跳去。

 

  樂高桌一擺出來,小朋友就不想走啦!

 

  你可以把自己的Scartch專案,在這個大螢幕秀出來給眾人看,也可以接大按鈕來玩。

 

  這個就是大按鈕,可以看到裡面是一個開關接到makey makey板子,再以USB線接上電腦,Scratch便可以知道按鈕有沒有被按下。

 

  另一個使用makey makey的作品,既是翹翹板又可以當成飛機的操縱桿來使用,鋁箔接觸到盤子就會觸發,概念十分簡單。

 

Light play:小朋友使用Scratch,搭配簡易的感測器控制馬達、燈光。

 

  登記Share & Tell 的時間表。每人只有三分鐘,一下就額滿囉。

 

  每個人皆有機會與來自世界各地的玩家碰面。

 

Art bot:Scratch + Wedo,在畫布上畫出簡單的樣式。

 

  看到畫成這樣,就知道有多受歡迎啦!

 

 

  這是傳說中的 Computational cookies 和 Codeable cupcake。現場選好Scratch角色後,做出簡單的樣式(當然也是用Scratch),直接用印表機搭配可食用顏料印出來後,放上餅乾就可以吃了,真的很捨不得吃啊!

 

  這是大頭貼機。有許多道具讓大家拍照,並拿貼紙回家。

 

  現場有看到LK團隊自行設計的Scratchbit,預計明年上kickstarter募資。使用藍牙與電腦連線,有光感測器、加速度計(XY軸)、陀螺儀(Z軸)與指示LED,看來是下一代主推的互動體感核心元件。目前外殼皆是用3DP製造。MIT人員表示,是新設計的電路,所以應該與Micro:bit無關。

 

  從影片可看到操作效果相當靈敏,雜訊處理後的效果也很不錯。現場的3D列印配件,讓Scratchbit可以裝在球拍、呼拉圈、鏟子或帽子上,好想趕快入手啊!

ScratchBit影片

 

  裝在呼拉圈或是桌球拍上都是不錯的應用喔!

 

  這是玩具屋,擺滿了各式各樣Scratch結合硬體的應用,樂高的EV3與Wedo都在這邊。

 

現場拍攝的影片集錦:

 

更多照片請看這:

 

相關文章

[ 教學文 ] 迷你無人機Tello的飛行筆記(一):在教學現場使用的5個實際問題

$
0
0

 

作者/攝影

主辦:Smile科學教育中心;

主講者:明湖國小退休電腦老師洪雅慧;

文字整理:CAVEDU教育團隊 ;

圖片:邁克兄弟科技、pixabay、洪雅慧老師;

文章分類 教學文
時間

成本
難度
材料表

 

  由大疆DJI出品的迷你空拍機Tello,因為價格超親民,不到台幣四千摳摳便可入手,在玩具空拍機市場引發一股風潮!目前,這股風潮也吹向學校,不少學校教師想要嘗試使用Tello,教導學生科技、程式教育。只是往往將Tello實際運用於教學現場時,老師們還是有些疑問存在。

圖1 Tello的各項材料(由邁克兄弟科技提供)

 

  針對Tello的風潮,以及一些使用上的問題和方法,「Smile科學教育中心」特別邀請經常以四軸飛行器為主題授課的明湖國小退休教師洪雅慧,進行專題講座。洪雅慧老師同時也是Facebook社團「四軸飛行器教學研究與分享」的管理員。本文及接下來幾篇文章皆改編自洪雅慧老師此次的專題講座。在此特別感謝「Smile科學教育中心」,以及洪雅慧老師願意授權CAVEDU教育團隊,將她主講的內容改編成文字,特此致上謝意。

 

5個大哉問

第一問:Tello的飛行時間只有13分鐘,兩節課後社團課總計90分鐘,該如何使用Tello進行教學呢?

 

  四軸飛行器的教學應從宏觀設計。Tello通常有幾種教學面向:(1)學校老師可以在不變更韌體的情況下,教導學生飛行控制,例如用ScratchApp Inventor、Python⋯⋯等等;(2)遙控空拍技術,空拍取景,再進行影像剪輯、後製。因政府相關單位對四軸飛行器有法規上的限制,若教學場地的位置在禁航區內,為避免違法,應於室內進行教學;(3)可以教授飛行知識、歷史、新知、倫理學⋯⋯等等知識上的內容,並透過搜尋YouTube上的相關影片,取得教學素材;(4)可以結合藝術或勞作,例如,製作竹蜻蜓、紙飛機、模型飛機、彈力飛機、手擲滑行機、飛機停機坪⋯⋯等等。

 

第二問:如何安排四軸飛行器教學課程的順序?

 

  (1)告知學生今天的課程要做些什麼;(2)讓學生實作,例如編輯程式、實際飛行⋯⋯等等;(3)集合學生,替四軸飛行器充電;(4)開始講解今日主題課程內容;(5)展開充電後的第二趟飛行(視實際教學情況而定);(6)總結今日的課程內容。

圖2 四軸飛行器(非Tello,圖片下載自Pixabay)

 

第三問:如果只有一架Tello該如何上課呢?

 

  一架Tello也可以上課,主要就是讓學生有更多的共同討論時間。或請幾位同學上台編輯程式,在編輯過程中一起研討。研討完畢後,讓學生執行,執行結束後,可以讓學生討論一下剛剛執行程式的結果⋯⋯等等。當然,若是可行,讓學生分成小組,每個小組皆有一架Tello,在教學上會更便利。

 

第四問:如果讓學生操控四軸飛行器,撞到東西或發生意外,該怎麼辦?

 

  為避免這樣的情形發生,所以,課程管理與規範務必要落實。如何做到安全第一,就是要落實遙控安全守則,包括:

  1. 請勿在講師未說起飛時起飛。

  2. 請勿在飛行區域外練習。

  3. 請勿在人員附近飛行。

  4. 請緊盯自己的飛機,危急時,務必提醒夥伴注意。

  5. 在講師指示降落時,務必要降落。

  6. 請務必要設定起飛與降落的程式積木。

  7. 確認好自己的程式後,交由講師再次確認後,才可以飛行。

或許有老師會進一步詢問,若是學生不聽從指示或違規該怎麼辦?因為學生通常會很樂於操控四軸飛行器,如果有學生不遵守規範,那就施以停飛處罰,使學生務必遵守課程管理規範。另外,很重要的一點是,在教學場地內務必使飛行區和程式控制編輯區分隔適當距離,避免意外發生。

圖3 國外青少年操控四軸飛行器(非Tello,圖片下載自Pixabay)

 

第五問:要如何辨識四軸飛行器的正反槳呢?

 

  一般而言,四軸飛行器的槳葉上有記號的就是正槳。但萬一槳葉上皆沒有記號,我們可以正面對著四軸飛行器,然後對槳葉吹氣,正槳會順時針旋轉,反槳則會逆時針旋轉,請參考下圖。

圖4 分辨正反槳(圖片由洪雅慧老師提供)

 

相關文章

[Boson電子積木好好玩] 製作屬於自己的留聲機

$
0
0

 

作者/攝影

怡婷

文章分類 教學文
時間

成本
難度 *(1~10)
材料表

 

  自從上次我們製作了「創意音樂盒和閃亮亮皇冠」後,CAVEDU教育團隊一直努力構思應該繼續推出什麼樣好玩的Boson專題。所以,這一次我們製作了留聲機,並且邀請到最萌、最可愛的菜菜,擔綱影片的主角。一起來看看製作留聲機的影片吧:

 

  接下來,CAVEDU教育團隊還會針對Boson電子積木推出許多有趣的專題,並且透過影片的方式呈現。請大家多給我們支持與鼓勵喔,謝謝大家!

 

相關文章

[Micro:bit]Micro:bit Blockly PBL教材──主題1-2:小綠人好客動畫

$
0
0

 

作者/攝影

Ted Lee(本文轉載自Ted Lee的部落格「泰布布」,圖文版權均屬於作者Ted Lee,特此致謝。)

文章分類 教學
時間
成本
難度 **(1~10)
材料表

 

任務

  巷口小綠人紅綠燈被颱風吹倒成人綠小了,而且快掉下來了。身為Maker發明王的您,快拿出口袋的Micro:bit,設計一款專屬的小紅人,協助指揮行人過馬路吧!

 

大家來找碴(問題庫)

  請大家觀察下面兩部影片,推測一下要多大的尺寸,才能讓Micro:bit畫出完整的小綠人?

影片1

 

影片2

 

解說

  因為Micro:bit的版面太小,我們以自訂內容的方式解說小綠人好客動畫的製作過程。

 

Step1:在草稿紙上先畫出動畫的分鏡表(慢動作、分解動作),至少4動。

 

Step2:使用Basic積木抽屜(block drawer)中的積木。

圖1

 

請記得還有「More」喔!

圖2

 

Step3:一起來完成您的設計稿,例如下圖:

圖3

 

Step4:請在Make Code頁面左手邊的線上同步模擬器(simulator),觀看一下播放動畫的結果。

圖4

 

Step5:如果閃動太快的話,也可以在適當地方加入暫停積木

圖5 暫停積木

 

Step6:按下左下角按鈕,將程式儲存至Micro:bit磁碟機(disk drive)上,進行實機測試

圖6

 

與108課綱對照

  • 學習表現:資a-III-1 能了解資訊科技於日常生活之重要性。

  • 學習內容:資P-III-2 能使用資訊科技與他人建立良好的互動關係。

 

教學活動設計

  建議大家使用Google表單(Google Forms)的「檔案上傳」功能,收集學員的作品。以下是一些在教學上,可以應用、延伸的活動:

  • 活動1:動畫線上習作

    以線上動畫製作軟體「Flip Anim」畫出小綠人過馬路動畫片。

  • 活動2:好客接力過馬路

    Micro:bit A播完動畫後傳給Micro:bit B,Micro:bit B播完後傳給Micro:bit C⋯⋯。

  • 活動3:秀秀說(Show and Tell)

每位學員拍攝一分鐘的作品介紹短片,並上傳至YouTube公開分享。

  • 活動4:生活中的LED看板

    拍攝日常生活中常見到的LED點矩陣(Dot Matrix)看板三種。註明拍攝地點、日期,並將照片排版後繳交。可將之整理至網路平台上(例如:IG、FB⋯⋯等等),並設定公開後繳交連結網址。

延伸挑戰

  • 挑戰1:大LED點矩陣

    Micro:bit的5×5點矩陣太小,容不下彼特小綠人,有沒有辦法外接一個8×8大小以上的板板來玩呢?

  • 挑戰2:流星雨

    請參考這版The Matrix Rain,來下一場屬於您自己的天空流星雨吧。

  • 挑戰3:求婚小紅人

    小綠人的變化存乎一心,這樣可以試著設計求婚小紅人喔!

 

相關文章

 

[ 課程紀錄文 ] 2018.6-前進蘆洲開設「樂高機器人」課程 歡迎報名!

$
0
0

 

紀錄撰寫 宗諭
紀錄攝影 台北全真一對一補習班蘆洲分校余峻霆主任提供
課程時間 107年6月2日開始
課程講師 林韋儒
上課地點 台北全真一對一補習班蘆洲分校(新北市蘆洲區長樂路106-1號4樓)

 

  這一次,CAVEDU教育團隊又有新創舉。究竟是什麼樣的新創舉呢?在台北全真一對一補習班蘆洲分校余峻霆主任協助下,我們與該分校合作,首次前往蘆洲地區開設「樂高機器人」課程,真是非常感謝余主任!

 

  5月19日下午,一位CAVEDU的同仁,帶著這次「樂高機器人」課程的講師林韋儒,首次挺進蘆洲分校。當天現場吸引了不少家長帶著孩子前來聽課程說明會。

圖1

 

  有了家長捧場,講師當然不能漏氣。他精心預備了有趣的「投石機課程」,讓家長與孩子透過實作,製作投石機。孩子們也依照韋儒老師的教導,再加上實際操作產生的想法與創意,自行改造出足以投得最遠的投石機。

圖2

 

圖3

 

  對於「樂高機器人」這門課程,CAVEDU教育團隊有非常豐富的教學經驗。過去曾前往台北市的萬大國小、新北市的新北高工和淡水商工、高雄高工⋯⋯等學校,開設樂高機器人研習,也多次舉辦針對國小學童的樂高機器人夏令營,更曾出版數本相關書籍及多篇文章。而每位參與課程的CAVEDU講師,課前皆需經過充分預備、演練、試講,課後更會充實相關新知,務必使自己能勝任各種教學場域與學生。

圖4

 

  對於這門課程的期許,韋儒老師盼望幫小朋友們打好扎實基礎,更了解相關的物理原理。同時透過組裝樂高積木,充分認識機械結構,以及如何讓機械有韌性而穩定。

 

  總而言之,蘆洲地區的家長與學童們,我們CAVEDU教育團隊來了!藉由這門「樂高機器人」課程,孩子們將能以有趣、活潑的方式,學習製作機器人,同時增強信心、耐心及面對挫折的能力。

 

  「樂高機器人」課程熱烈開課中,歡迎大家洽詢、試聽。請洽:(02)2282-5621台北全真一對一補習班蘆洲分校余峻霆主任。

圖5 台北全真一對一補習班蘆洲分校的地理位置

 

相關文章

[ 密技 ] 如何製做出可挑戰「創意皂飛車競賽」動力組的作品

$
0
0

2018年6月9日在淡江大學要舉辦全台第一場,可能也是亞洲第一場,使用無動力小車(Nerdy Derby)軌道的動力攀登競賽。在比賽之前,分享一些製作心得,以及創作時的注意事項。

作者/攝影

腦波弱老闆包辦大部分,感謝允赫、琮琮提供作品,還有紅聲數位的阿凱幫忙畫圖。

文章分類 教學文
時間

10分鐘起跳

成本 O元起
難度 中等
材料表
  • 田宮大腳車*1

  • Linkit 7697 + RoboShield (選購連結),或是 LEGO EV3。

 

  2018年6月9日在淡江大學要舉辦全台第一場,可能也是亞洲第一場,使用無動力小車(Nerdy Derby)軌道的動力攀登競賽。這個比賽還是由科技部指導,南科AI_ROBOT自造基地贊助的喔!

 

  整個活動包括了上午的無動力組工作坊,將由「Maker一哥」鄭鴻旗主持。下午就都是比賽時間了,分成無動力組和動力組,動力組又分成競速攀登組與動力折返挑戰組。比賽詳情可以看這裡:創意皂飛車競賽

 

報名不但不用錢,還有獎金可以領喔!

不過,這篇文章的重點是,如何打造一台可以完成挑戰的車子

 

  首先分析一下軌道,軌道是由四片木板組合而成,中間兩片較高,寬約34mm,高低落差約為6mm,軌道全寬約68mm。

圖1

 

  由此可知,車體設計時,輪胎接地點至車底高度需大於6mm,輪胎內距需大於34mm。

 

  重點在於車體的「重心」位置,四個輪子的接地點所圍起來的區域為支撐區,當坡度改變,不論是上坡或下坡,只要車體重心不要落在支撐區外,就不會翻車了。

 

  重心位置愈低愈好,所以車體零件中比較重的零件,如電池、馬達、EV3主機皆盡量裝在較低的位置。而支撐區愈大愈好,而輪胎的左右距離受限於軌道寬度,只能從增長前後輪距著手,但車體太長,可能會卡在軌道坡度變換的區域,請謹慎選擇。

 

軌道側視全圖:

圖2 (修改自Nerdy Derby所提供的設計圖)

 

  不過,這次車子是沿著軌道跑,軌道除了上下起伏之外,沒有左右轉彎的需求。所以,輪子的轉向、差速機構皆可以不用準備,只要注意車體左右配重,以及左右輪胎受力狀況一致就可以。

 

  由設計圖得知,坡道斜約30度,除了夠力的馬達,你還需要抓地力夠強的輪胎。輪胎斷面較寬、較高的會比較適合。

 

圖3

 

  我們情商了創作者,先把他們的作品分享給大家參考。這是使用LEGO EV3:

圖4

 

競速攀登影片:

 

動力折返影片:

 

  或許你會發現,上述許多條件都是互斥的,例如重心要低但輪胎又要大,然而,創作的樂趣就是在諸多限制中,找到最佳平衡點。

  比賽規則與比賽道具,還是要以主辦單位公告與現場陳列的為準喔。

 

相關文章

[ 教學文 ] 迷你無人機Tello的飛行筆記(二):使用DroneBlocks控制Tello

$
0
0
作者/攝影

主辦:Smile科學教育中心;

主講者:明湖國小退休電腦老師洪雅慧;

文字整理:CAVEDU教育團隊 ;

圖片:邁克兄弟科技、pixabay;

文章分類 教學文
時間

成本
難度 * *  (1~10)
材料表

  針對近期Tello的熱潮,以及一些使用上的問題和方法,「Smile科學教育中心」特別邀請經常以四軸飛行器為主題授課的明湖國小退休教師洪雅慧,進行專題講座。洪雅慧老師同時也是Facebook社團「四軸飛行器教學研究與分享」的管理員。本文及接下來幾篇文章皆改編自洪雅慧老師此次的專題講座。在此特別感謝「Smile科學教育中心」,以及洪雅慧老師願意授權CAVEDU教育團隊,將她主講的內容改編成文字,特此致上謝意。

 

  使用行動裝置控制Tello,其實有好幾種不同的方式。這一篇文章,我們將介紹如何運用DroneBlocks這個App,控制Tello。

 

DroneBlocks是什麼?

  DroneBlocks是一個可以透過App Store(iOS系統)或Play商店(Android系統)下載的行動裝置App。藉由這個App,使用者可以透過拖拉程式積木的方式(類似App Inventor或Scratch),操控Tello,或是其它大疆DJI出品的四軸飛行器。

 

  根據筆者上網搜尋,開發DroneBlocks的,是一個集合了教育工作者、程式設計師及四軸飛行器使用者的團隊。他們開發DroneBlocks的目的,是為了教導下一代學童使用四軸飛行器,所以DroneBlocks提供免費下載。而在DroneBlocks官網上(http://www.droneblocks.io/),還有一些免費或需要付費的資源,有興趣的讀者可以前去看一看。

圖1 DroneBlocks官網上關於該團隊的簡單介紹

 

為什麼我們要用DroneBlocks?

  因為DroneBlocks讓我們可以先把Tello的飛行程式設計好,然後上傳至Tello然後再實際飛行。這樣的操控程序讓指導老師較容易教學,並掌握好學生的飛行狀況,同時飛行的安全性也比較高。等到學生對四軸飛行器的掌握度提升之後,可試著改用其他的操控方式,讓他們體驗即時操控的樂趣。

圖2 飛行中的四軸飛行器(非Tello,圖片下載來源:pixabay)

 

如何使用DroneBlocks?

Step1:從App Store(iOS系統)或Play商店(Android系統)下載DroneBlocks。

圖3 Android版本的DroneBlocks

 

Step2:開啟DroneBlocks,進入主畫面。

圖4 DroneBlocks主畫面

 

Step3:了解各種程式積木。

圖5 「起飛」程式積木

 

圖6 「降落」程式積木

 

圖7

 

圖8

 

圖9

 

圖10 「重複」程式積木,觸碰數字可改變重複的次數。

 

圖11 「邏輯」程式積木

 

圖12 「數學」程式積木

 

圖13 「變數」程式積木

 

Step4:利用上面的程式積木,拼出簡易的飛行程式。

圖14 簡易飛行程式

 

Step5:實測飛行。先將手機Wi-Fi連上Tello。

Step6:點選右上角的「Connect to Tello」,畫面上出現英文訊息,再點一次訊息下方的「CONNECT TO TELLO」。

圖15

 

Step7:用手觸碰右上角「Untitled Mission」旁的三條藍線,之後觸碰「Launch Mission」,接著Tello就起飛了,然後按照程式指令飛行,最後降落。大功告成!

圖16

 

  若是讀者手邊有Tello,趕快自己試試看!


[Micro:bit]小彼特的創意應用──投籃動作提醒器

$
0
0
作者/攝影

原作、設計者:楊喻丞(感謝作者的授權)

指導老師:楊昌珣、李俊德

文字整理:CAVEDU宗諭

文章分類 教學文
時間

1.5小時內

成本
難度 * *  (1~10)
材料表

挑戰

  不少喜歡打籃球的國小學童的偶像,都是美國職籃NBA金州勇士隊的三分神射手柯瑞(Stephen Curry),盼望自己的投籃能像他一樣準,然而,往往因臂力不足而採用雙手投籃。讀國中之後想練習用單手投籃,但練習投籃時手臂經常歪了而不自知。究竟該怎麼辦呢?

圖1

解決妙方

  所以,作者楊喻丞便想製作一個投籃提醒器,提醒自己在投籃出手前,手保持垂直。而他運用了Micro:bit中的加速度感測器(Gyro sensor或Accelerometer),以確認投籃姿勢正不正確。當投籃出手的手臂沒有保持垂直時,Micro:bit上的5×5 LED點矩陣就會亮起,形成一個X的形狀;當投籃出手的手臂保持垂直時,Micro:bit上的5×5 LED點矩陣就會熄滅。

 

程式設計說明

Step1:拉出邏輯積木抽屜中的積木:1.「如果⋯⋯否則」、2.「且」、3.「大於小於」。

圖2

 

Step2:拉出輸入積木抽屜的「加速度感測值」積木。

圖3

 

Step3:現在,讓我們把積木組合起來!先將「加速度感測值」積木與「大於小於」積木組合起來,然後把組合起來的積木改成「<10」。

圖4

 

Step4:在剛剛組合好的積木上按滑鼠右鍵(請記得是在外面那個積木,不是裡面的「加速度感測值」積木),點選「複製」,就會產生一個一模一樣的積木,然後把積木內容改成「>-10」。

圖5

 

Step5:接下來,把兩個組合好的積木與「且」積木組合起來。

圖6

 

Step6:將剛剛組合好的積木,與「如果⋯⋯否則」積木「如果」的部分組合起來。

圖7

 

Step7:剛剛我們製作的是水平X軸的程式積木,現在要製作垂直Y軸。首先,我們先複製兩個剛剛製作好的積木,然後把X軸改成Y軸。

圖8

 

Step8:先把剛剛兩塊積木當中的值,改成<-170和>170。然後,拉出邏輯積木抽屜中的「或」積木,把剛剛改過值的兩塊積木組裝上去。

圖9

 

Step9:接下來,從邏輯積木抽屜再拉一個「且」積木。先拉著「且」跟「如果」組合起來,然後把X軸和Y軸的積木,組合進「且」積木。這樣,我們就把投籃動作提醒器的感測值設定完成。

圖10

 

Step10:接著,從基本積木抽屜拉出兩個「顯示LEDs」積木,然後分別組合至「那麼」和「否則」,然後,將接在「否則」上的「顯示LEDs」積木,用滑鼠在積木上畫出一個X。這樣投籃動作提醒器的程式就完成了。

圖11

 

程式說明:

  不斷重複執行:如果X軸小於10且大於-10,而且Y軸大於170或小於-170,那麼就熄燈,否則LED燈就顯示X。

 

Step11:按下左下角按鈕,將程式儲存至Micro:bit磁碟機(disk drive)上,進行實機測試。

 

示範操作影片:

 

想一想

  還有什麼運動,可以透過Micro:bit的幫助,讓運動的技術更進步呢?

 

相關文章

[ 人物採訪 ] 2018.06.03-終極追緝:機器生物兵團與首領機甲人形師——林益成

$
0
0
紀錄撰寫 宗諭 紀錄攝影 照片、影片全部由機甲人形師林益成提供
受訪者 林益成 訪問地點 三重堤外河濱公園
訪問時間

2018年6月3日09:45 – 10:30

江湖上近來有傳言,人稱「機甲人形師」的林益成,正傾力打造機器生物兵團,準備透過機器生物兵團的力量,一统江湖,勢必又有番腥風血雨⋯⋯。

 

  以上純屬虛構。但「機甲人形師」林益成與它的機器生物兵團可是真人真事,每週日上午,他都在三重河堤外的河濱公園,與一群同好固定在此玩遙控飛機或飛行器。至於機器生物兵團,林益成除了親手製作之外,還時常帶著它們四處參加活動、展覽呢!

圖1 機甲人形師林益成

 

 

圖2 林益成親手製作的機器生物

 

圖3 在活動中,林益成積極推廣他的機甲生物。

 

鋼彈模型 成就「機甲人形師」稱號

  也許讀者們感到好奇,為什麼林益成被稱為「機甲人形師」?原來,鋼彈系列一直是他最喜歡的機器人動畫劇集,其中最喜愛的駕駛員是「紅色彗星」夏亞,在夏亞的一系列座機中,林益成最喜歡的是沙薩比,而他也終於在2007年時入手,並花了一個月的時間塗裝。也正是在這過程中,「機甲人形師」這個名字首度出現在林益成腦海中,他也相當喜愛這個名稱,慢慢地,「機甲人形師」就成了他獨特的代號。

圖4 鋼彈沙薩比

 

耳濡目染 動手自造嗜好受父親影響

  除了鋼彈模型外,中國結、摺紙、串珠、遙控航模⋯⋯等等都是林益成的興趣。讀者們看出這些興趣背後的共通點了嗎?就是都跟動手做、自造有些關聯。「我小的時候,爸爸從事水電的工作,常常自己動手做一些事物,我還蠻崇拜他的。」或許,正是在這樣耳濡目染之下,林益成也充滿著動手自造的熱忱。

 

  現在,除了本身的工作外,林益成花費相當多時間和心力,打造專屬於他的機器生物兵團。為什麼他會想製作機器生物呢?因為林益成對於製作機器人有很濃厚興趣,但由於製作機器人需要更高的技術能力,目前他仍在學習的過程中,所以便先製作機器生物,滿足自己動手做的癮。

圖5  林益成目前已快要製作20隻機器生物

 

機器生物 打造起來有許多獨家技術

  打造一個機器生物需要哪些步驟、過程呢?林益成表示,首先要清楚知道自己要做什麼生物,例如螳螂或甲蟲;接下來相當重要的是進行特徵描述,也就是了解要製作的生物,在外型上有何特徵,讓人一眼即可辨識;開始製作時,先完成機器生物的架構,然後藉3D列印、雷射切割或一些塑膠瓶罐,打造機器生物的外殼。

圖6 利用雷射切割,製作機器生物的外殼。

 

  至於機器生物內部的開發板,林益成目前多半使用Arduino Nano,主要原因是它的體積比較小,足以符合機器生物的尺寸。但他也有用過聯發科技的LinkIt 7697開發板,搭配馬達驅動板Robot Shield

 

相關影片:

 

  機器生物也具備遙控的功能。這部分,林益成採用的是家用電玩遊戲機PS2的搖桿。為何不透過手機遙控?「因為我比喜歡實體搖桿的手感。」林益成強調,也不經意流露出他身為玩家的堅持。另一個問題是,手機跟機器生物內的開發板,主要是透過藍牙裝置溝通,那PS2搖桿是用何種方式遙控機器生物呢?林益成說:「其實,針對PS2搖桿,已經有資深玩家們開發出通訊協定,可透過通訊協定讓PS2搖桿與機器生物內的開發板連通。」

圖7 小朋友運用PS2搖桿,控制機器甲蟲。

 

  接下來,將會有更多的機器昆蟲、機器妖怪從林益成手中誕生。下次參觀Maker Faire時,若在現場看到機器生物,記得去跟它們的Master——機甲人形師打聲招呼喔!

圖8 軍容壯盛的機器甲蟲大軍

 

相關文章

[LinkIt 7697] 認識LinkIt 7697,你會需要這一篇!

$
0
0
作者/攝影

熊大

文章分類 介紹文
時間

成本
難度 * *  (1~10)
材料表

  隨著物聯網蓬勃發展,各家廠商皆推出物聯網開發平台,使開發者更容易發揮創意,做出各種物聯網應用。而國內科技大廠聯發科技於這幾年開始,相繼推出幾塊物聯網開發板,包含全功能聯網 (GSM/GPRS/Wi-Fi/Bluetooth/GNSS) 的 LinkIt ONE;可使用 OpenWrt (Linux) 開發較高端應用的 LinkIt Smart 7688/7688 Duo;於2017年6月又偕同Seeed Studio 推出了最新的物聯網開發板 LinkIt 7697。

 

  LinkIt 7697使用 MT7697 作為主控制器,該晶片核心為主流的 ARM Cortex-M4(含浮點運算器),運行時脈為192MHz,同時提供 Wi-Fi 和 BLE(低功耗藍芽)兩種通訊最主要的通訊功能。軟體部分採用最為廣泛地FreeRTOS為作業系統,同時也提供 Arduino 開發環境,為目前學習開發物聯網應用的最佳開發平台之一。

圖1 LinkIt 7697

 

LinkIt 系列開發板比較

  LinkIt ONE 於 2014 年推出,為市面上少見具備 GSM/GPRS/Wi-Fi/BT/GNSS 多功能通訊的 Arduino 相容開發板,但隨著台灣電信商2G系統的關台,缺少了GSM/GPRS 的支持,LinkIt ONE 就缺少最主要的特點了。

 

  目前LinkIt系列開發板針對物聯網應用,主要是提供兩個系列開發板:LinkIt Smart 7688/7688 Duo 用於較高階IoT節點或Gateway使用,可使用高階語言(Python/JS)與眾多Linux套件進行開發。而LinkIt 7697 則定位成較輕量的結點。

LinkIt Smart 7688
LinkIt Smart 7688 Duo
LinkIt 7697
定位 較高端 IoT 節點
Gateway
較輕量 IoT 節點
微控制器 MT7688 (MIPS) MT7697 (ARM Cortex-M4F)
主頻 580Mhz 196Mhz
RAM 128MB 352KB
Flash 32MB 4MB
開發環境 OpenWrt (一種Linux)
Arduino (Duo only)
FreeRTOS + Arduino
開發語言 C/C++/Python/JS C/C++/Blockly
Wi-Fi 802.11 b/g/n 802.11 b/g/n
Bluetooth BLE 4.2
Ethernet 10/100 PHY
USB Host
SD Card MicroSD

表一

 

LinkIt 7697 的優點

  對一位想學習物聯網者的開發者而言,如果需要一個Arduino相容開發板,而且又有連網需求,那麼LinkIt 7697可說是相當好的選擇,因為LinkIt 7697包含以下幾項優點:

  • 使用Arduino開發環境

  • 內建 Wi-Fi / BLE,並包裝成好用的函式庫,能輕鬆連結雲端和手機。

  • 足夠的內存(352K RAM /4MB Flash),可運行更複雜的應用。

  • 官網內容相當豐富,聯發科技的工程師也會在粉絲頁提供技術問題解答。

 

外觀功能介紹

  LinkIt 7697的大小,特別設計成能置入於麵包板上,並留有排針腳位可插杜邦線。開發板包含TX/RX LED,會於燒錄軟體或是透過序列埠有在傳送資料時閃爍,PWR LED會於有外部供電時點亮,USR LED則接至PIN 6可透過軟體控制。RST按鈕會重新開機,USR 按鈕可供使用者當作基本的輸入使用。LinkIt 7697開出了18 根可用腳位,可設置成GPIO (18),UART(2),I2C(1),SPI(1),PWM(18),EINT(4),ADC(4),IrDA(1)和I2S(1),除了ADC是 0至2.5V外,其他功能的工作電壓皆為3.3V。板子上有一個 MicroUSB 接頭,用於連接PC以燒錄軟體和供電(5V)。

圖2 麵包版上留有兩排排針腳位可插

 

多樣的開發環境

  LinkIt 7697針對不同族群的開發者,提供了三種開發環境:

  1. GCC/KEIL/IAR : 提供給專業物聯網產品開發者的開發除錯環境,直接使用SDK進行開發,擁有最佳開發彈性且能優化出最佳效能。

  2. Arduino IDE:提供給Maker/教育教學者的開發環境,完全相容於Arduino的程式語法,並包含LinkIt 7697獨家功能,例如LWIFI、LBLE、MCS(MediaTek Cloud Sandbox)、LFlash、LRTC及LRemote 等好用函式庫,大幅降低各種物聯網應用的開發門檻。

  3. BlocklyDuino : 提供物聯網入門開發者的視覺化積木開發環境,透過簡單的積木拖拉就可組合出各種邏輯應用。BlocklyDuino 會將積木轉換成 Arduino 程式,也可作為從視覺化積木轉換至Arduino程式語言的學習工具。

 

GCC/KEIL/IAR

Arduino

BlocklyDuino

C/C++ Wiring(C/C++) Blockly(視覺化方塊)
專業開發者 Maker/教育工作者 教育工作者
最高彈性
最高效能
開發複雜度較高
豐富的軟硬周邊資源

封裝過好用的函式庫

簡易使用

 

表二

 

相關文章

 

[ 活動紀錄 ] 2018.06.09-創意皂飛車競賽:雙北學校大串連 南科計畫活絡自造氛圍

$
0
0
文字撰寫 淡江大學達文西樂創基地 紀錄攝影 CAVEDU教育團隊
受訪者 訪問地點 淡江大學同舟廣場
訪問時間

2018年6月9日10:00-17:00

 

  由科技部指導、南部科學工業園區管理局、南科「AI_ROBOT自造基地」與淡江大學共同主辦的全台首辦軌道皂飛車競賽,於6月9日在淡江大學精彩落幕,成功聚集了23隊大小朋友前來秀創意比速度。其中大部分來自雙北各地的小中高、大學師生組隊參加。

圖1 大小朋友一起在淡江大學秀創意、比速度。

 

體驗創新樂趣

  「其實學生自己很難單獨參與到這樣的機會,所以大部分都會是與學校和社團一起。參賽其實也是一個鼓勵孩子表現的舞台,希望這樣的競賽可以幫助引領學生一起體驗自造的樂趣。」 淡江大學研發長王伯昌表示。

 

  經過一番激烈廝殺,淡江大學學生許芝菡隊伍在無動力組脫穎而出抱回冠軍;動力組折返挑戰項目則由雙溪國小創客自造社李英俊老師獨占鳌頭;動力組競速攀登組則由淡江研究生鄭宇均隊伍奪冠。

 

將創意行動化

  「機器組裝是最近在電機系課上才學到的。老師一直鼓勵我們參賽,最後決定與隊友們一起試試看研究,沒想到會得到冠軍,過程中真的學到很多。」許芝菡受訪時指出。

圖2 參賽選手許芝菡(左)

 

  「這次競賽是一個很好的機會,讓學生將自己的想像力付諸實現。只有手作,才能創造更多。觀摩別人的作品,也更能刺激自己的想法,紮根科學基礎。」其中一位帶隊老師游允赫助教盼望這次競賽能持續每年舉辦,使學生可以拓展視野。

圖3 游允赫助教(左)的動力車亦脫穎而出、獲頒殊榮。

 

刺激不同思考

  除了帶孩子參與競賽,雙溪國小創客自造社李英俊老師自己也報名了比賽,更分別在動力組折返挑戰項目奪得第一名以及競速攀登組第三名。組裝的車子速度遠超其他選手,使得現場驚呼連連。

圖4 雙溪國小創客自造社李英俊老師

 

圖5 李英俊老師的動力飛車

 

  「我的車子完全是根據這次競賽的軌道而設計的。」與其他動力組選手不同,李英俊的車子並未裝上馬達,只是巧妙運用了車子本身的動力及螺旋槳,其速度就非常驚人。

圖6 李老師的車子速度飛快

 

  評審李世安表示,這次的競賽競爭激烈,雖然成品材料都是隨手可得並不昂貴,卻也可以做出厲害的作品。這次競賽除了讓雙北地區的大小朋友訓練腦力與想像力,更透過動手做的機會活絡自造教育的文化。

圖7 無動力組的參賽作品

 

圖8 動力組的參賽作品

 

相關文章

[教學文]MIT Codi Bot 設計發想

$
0
0
作者/攝影 曾吉弘
文章分類 教學
時間
成本
難度
材料表

 

  對於會寫程式的人來說,不同程式語言有著極大不同,但對於不會的人來說:

 

都一樣啊!哪有什麼不同,看起來都像咒語⋯⋯

 

  因此需要一個符號或吉祥物來與這種語言產生連結,例如Linux的小企鵝、Arduino的無限符號,或Scratch的小貓⋯⋯等等,在各式場合都能看到代表各自的logo。App Inventor 以往的logo太像Android,為搭配即將推出的App Inventor iOS版,MIT App Inventor小組推出了新的logo,CAVEDU也很高興能設計 MIT App Inventor Codi bot(選購連結)

圖1

 

  之前已經寫過一篇介紹Codi Bot的各類功能教學文件也都出來了:

  • 單機執行:直接執行 (影片)

  • LED:使用按鈕、滑桿來控制翅膀與底座的LED (影片)

  • 翅膀:使用按鈕、滑桿來控制翅膀(伺服機) (影片)

  • 聲音:控制蜂鳴器發出各種音符或自訂義頻率與時間長度 (影片)

  • 完整app:整合上述功能 (影片)

 

  本篇要與大家分享 Codi Bot的設計發想,分成核心、外觀及燈光⋯⋯等等(感謝設計師:游允赫大大):

 

一、核心:

 

  MIT App Inventor在阿吉老師去MIT擔任訪問學者前,藍牙BLE支援的板子只有Arduino 101,但大家知道的⋯⋯Arduino 101已停產,所以自然要有一款平價好用的控制板補上,那便是LinkIt 7697。為方便腳位和電源管理,我們再搭配 Robot Shield for LinkIt 7697 V2.0 好放進Codi bot的肚子裡。

 

  Robot Shield 背面有兩個電容,並且是專門為機器人應用所設計,所以把許多腳位都用 3 pin 的方式接出來,也有兩個直流馬達的螺絲接口。兩者只要疊在一起就好了,並且可用 Robot Shield 來為 7697供電。另一個很棒的地方是 Robot Shield上就有一個蜂鳴器,可讓機器人發出簡易音效。

圖2

 

圖3

 

  把超音波感測器、LED、servo接上後,Robot shield的腳位都快用完了呢⋯⋯,再以螺絲固定即可。

圖4

 

所有內部的線路走法大致如此,要準備組合了。

圖5

 

是不是塞得很滿呢?

圖6

 

二、外觀

超音波感測器裝在Codi bot頭部,線路走脖子接到擴充板上。

圖7

 

就是眼睛啦,很可愛吧!深度是有測試過的,不會影響距離偵測的效果。

圖8

 

我們設計了一個背包,驅動翅膀的兩顆servo 就放在裡面。

圖9

 

Codi bot 底部,很容易就能撥動開關來開機。

圖10

 

組合身體前後兩片零件的螺絲會被條紋(牛皮)遮起來。

圖11

三、燈光

  為了順利呈現MIT App Inventor logo 兩個翅膀的紫色與綠色,又要有互動效果,我們選用LED燈條,從servo的背包孔位拉出線來。

圖12

 

把LED燈條放入翅膀零件的溝槽,這一步難度比較高,小心不要壓到線。

圖13

 

  Codi Bot背包上有一個孔,可以讓壓克力支撐架扣入以固定。底部的RGB LED 則是安裝在壓克力底座的孔,伸進去一點有很不錯的燈光效果喔!

圖14

 

圖15

 

相關文章

Viewing all 678 articles
Browse latest View live