No Code AI(肉寇)AI自動化兩日精通|實體6小時+線上6小時
|

【機電整合之運算思維訓練】以 Open Roberta Lab 開發平台為例

   

作者:Ted Lee

Arduino-like 的自走車教具要訓練學生學習什麼?硬體?軟體?STEM/STEAM?
如果說是學習硬體(機構、電控),那車輪幾輪才好?車的外形要設計成休旅車款嗎?
如果說是學習軟體(電控程式設計),那軟體學習需要綁一款硬體不可嗎?

科技的本質在於軟硬體知識的整合(integration)。硬體知識的核心在設計思考(design thinking)。另一方面,軟體知識的核心在運算思維(computational thinking)。

本 Open Roberta Lab 開發平台系列文將著眼在以運算思維培養解決問題(problem solving)的能力:先詳述問題的內含,再甞試將對應的解決過程描繪成流程圖(flowchart),最後,以純軟體模擬(simulation)的方式來實現(implement)之。

機電整合學習法

廠商會因為教育市場的利基不斷地設計出各種軟硬體套件,而現今的這些套件多半是將昔日專業機電技術相互結合的最終產物。

在學習上,先以套件成品來吸引初學者的學習興趣後,再將之逐一拆解為基礎的原子知識以利後續相關應用的整合,我們將之稱為「拼圖法」(最終的作品是各部件的組合)。

以前述提及的自走車為例,我們在《廢材車之廢等級》一文中,已呈現了從套件拆解至原子知識的方法了,讀者們可細細推敲這其中的意涵。

另外,將需要的原子知識逐步整合成為一個專案亦為實務上常見的一種問題解決方法,我們將之稱為「積木法」(以眾小積木堆積成最終的作品)。

如圖 1,至於拼圖法或積木法的學習選擇,仍應端賴學習者的特質而選定之,前者的要義在拆解;後者則著重在整合的層面上,這是學習時所需要特別留意的要項。

圖 1:機電整合之套件與專案學習法

問題描述:開車經過經斑馬線

小羅開車來到了十字路口(圖 2),請設計一科技架駛方式(車上裝有顏色感測器color sensor),在「禮讓行人,行車安全」的前提下順利通過。

註:圖 2 的街道圖為 Scratch 內建的背景圖,老婆婆圖示「cartoon grandma with crutches」,組合的完整圖檔「Urban+grandma.jpg」可由此處下載。

圖 2:十字路口場景

解題流程

使用運算思維的方法,詳列其四步驟如下:

1. 拆解(decomposition):將上述的「開車經過經斑馬線」問題拆解為:前進、處理斑馬線識別、前進、左轉、前進、處理老婆婆過斑馬線、前進(圖 3)。

圖 3:問題拆解

2. 模式識別(pattern recognition):觀察 1 的拆解內容,可以看出有前進控制、斑馬線處理、左轉三種模式。
3. 抽象化(abstraction):開車經過經斑馬線時的處理方式:慢行、停車再開。
4. 演算法(algorithm):以圖 4 的流程圖來詳述此問題的解決步驟。

圖 4:行經斑馬線問題的流程圖

原子操作(atomic operations)

Open Roberta 的程式積木中,是控制前進/後退的積木,速度從 0~100%,移動距離以公分為單位。

是控制左/右轉的積木,以角度值來轉動。

是顏色感測器的讀值積木。

透過這三個原子操作及結構化程式設計(structural programming)的循序(sequential)與選擇(selective)結構就能撰寫出本問題的完整程式了。

積木組合

為了簡化感測器感測南北向的白色斑馬線,我們將圖 2 的背景圖加上白色的長方形色塊,並將之放在圖 3 中的適當位置(完整的設定檔 TrafficSafty.json 可以從此下載)。

其中,車子的初始位置亦已設定完畢。

最後,完整的控制程式 TrafficSafty.xml 如圖 5 所示,讀者們可以從此下載。而程式的執行動畫如圖 6。

註,需要反覆測試程式時,請按按鈕歸位。

圖 5:完整程式碼

圖 6:執行結果動畫

註:一開始使用 Open Roberta 時可以先註冊個人帳號,這樣我們寫過的專案都會自動存在自己的帳號之內。此外,Open Roberta 是一個支援多款機器人主機的開發平台,本文使用的是樂高 EV3 的模擬器,請依照圖 7 的方式先行選定。

圖 7:機器人主機設定

教學小幫手

為了將本文的 Open Roberta 專案融入「交通安全」教育以期能達到「禮讓行人,行車安全」的教學願景(vision),我們也設計了教案和(圖 8)和學習單(圖 9)供讀者們參考。

圖 8:教案

圖 9:學習單

筆者針對本文的教學翦影如圖 10 所示。

圖 10:教學翦影

後敘

喜歡動手做的讀者們可以先以設計思考(design thinking)的方法設計出自己的實體自走車後,再運用本文介紹的運算思維設計出自走車的機電整合控制程式試試。

[1] 感謝林汶忠老師提供協助。
[2] 六種授權條款。

(作者為本刊專欄作家,本文同步表於作者部落格,原文連結;責任編輯:謝涵如)

Ted Lee

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On
468 ad

Submit a Comment

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