林勇男 王小華
【摘 要】無人機全稱“無人駕駛飛行器”(Unmanned Aerial Vehicle),英文縮寫為“UAV”,是利用無線電遙控設備和自備的程序控制裝置的不載人飛機。近年來,隨著無人機研發技術逐漸成熟,制造成本大幅降低,無人機在各個領域得到了廣泛應用。文章介紹了基于Swift Playground軟件的無人機編程實踐,通過課例展開論述;其中在探索過程中遇到的軟硬件、課程設置等問題及解決的辦法;最后總結完善課程的體系構建,讓學生在校園中體驗前沿科技的魅力。無人機編程正悄然進入學生們的學習,并成為學生們喜愛的學習方式之一。
【關鍵詞】編程;無人機;小學;課程案例;教學應用
【中圖分類號】G434? 【文獻標識碼】A
【論文編號】1671-7384(2020)04-065-03
我校在2017年引入iPad與無人機教學。蘋果公司Swfit Playground編程軟件與其周邊產品Parrot無人機達到較好的匹配,可較好地用于教學。我校是區域內最早開設無人機編程課程的小學。自社團開設至今,現已經將無人機編程課程發展為常規課程普及?!白寣W生走向世界,讓世界走進學校”,讓孩子們在校園中能體驗到前沿科技的魅力,無人機編程正悄然進入孩子們的學習,并成為孩子們喜愛的學習方式之一。
初識Swfit Playround,尋找切合深度
作為一名計算機教師,筆者把新科技應用于自己的教學中,沒有標準的教材可以參考,一切都是摸著石頭過河。從使用軟件的認識,到利用無人機完成復雜任務,筆者在教學中探索,和學生一起進步,從而積累更多的無人機教學經驗。
1.編程軟件和無人機
編程是這門課的核心,也是鍛煉學生思維的起點與落腳點。因此選用合適的編程軟件是首要問題。市面上的編程軟件難度層次不一。在編程教學中,適合學生的優秀編程軟件就有Scratch、App Inventor等,蘋果公司一直在推動 Everyone Can Code 的行動,結合 Swift 編程語言,利用 Xcode和Swfit Playground App,讓編程教育覆蓋從小學到大學直到職業生涯的全過程。作為入門級的Swift 編程軟件,其更接近真實的代碼編程,適合小學生進階級的編程學習,因此Swift 成為學校高年級的編程學習軟件。又因Parrot無人機飛行穩定、結構牢固、飛行時間較長,同時與Swift 深度切合等優勢,成為課程首選的設備。
2.無人機飛行影響因素與場地選擇
環境因素包括:(1)空域,保護良好且人口和設施少的場地和空域;(2)天氣,天氣對無人機飛行很重要,特別是風向、風速等;(3)可用通信頻率,使用正確的可用通信頻率也是無人機飛行的重要因素。
得益于iPad的便攜性,我們的課程不局限于教室內??紤]到Parrot本身重量較輕,受風速與風向的影響較大以及其他因素,為了能通過編程較為準確地完成制定的任務,我們選擇學校的體育館作為課程開展的場所。
3.課程的設置
作為編程教學,無人機只是載體和形式,教學的設計才是核心。因此,我們要確定適合小學生的學習內容,以及怎樣教授更符合小學生的思維邏輯,最后把握適合小學生的難度。
首先,我們要教Swfit Playground編程軟件,這是小學生自由創作的基礎。在軟件中編程最能鍛煉學生邏輯思維能力,因此是重點。我們還要讓學生學習無人機的基本常識,了解空氣動力以及無人機是如何飛行的;讓學生掌握無人機的無線連接與程序導入試飛;開放課堂,讓學生自主思考,發展孩子的創新性思維。
其次,為了讓課程更加適應小學生的思維模式,教師以任務驅動教學,而不是技能單獨學習。在一年的學習中,學生掌握了簡單而常用的功能。結合我校的實際情況,教學課程內容設計如下:(1)初識Swfit Playground——了解Swfit編程語言的歷史;(2)學習編程——命令、函數;(3)學習編程——循環;(4)學習編程——邏輯運算;(5)無人機飛行基本原理;(6)初級飛行員課程——起飛與降落,升降與橫滾;(7)初級飛行員考核——垂直方形;(8)初級飛行員課程——俯仰與偏航;(9)初級飛行員考核——水平方形;(10)高級飛行員課程——盤旋;(11)高級飛行員課程——有條件限制飛行;(12)高級飛行員課程——抓鉤的利用;(13)高級飛行員課程——攝像頭使用;(14)高級飛行員進階考核——快遞配送;(15)皇牌飛行員進階考核——山洪救援。
這些課程主要依據學生的年齡和心理特點設計,學生學習這些課程鍛煉思維,促進創新意識的萌發。這門課的目的是培養有創造力的人才,提高學生STEM素養。在保證基本知識技能的基礎上,更需要注意的是學生創造力和實踐能力的培養。
“山洪救援行動”項目探索與實施
課程設計思路:在項目驅動和設計思維教學模式下,學生合作探究運用Swfit Playground編程,通過有效整合各類函數實現山洪救援中會遇到的災情偵測與物資投放。通過播放山洪爆發、村落被困的視頻,激發設計救援偵測的任務,分析無人機編程所需要的程序模塊,更深入地掌握程序模塊中參數的意義,掌握無人機飛行模式程序模塊,學會無人機抓取程序模塊。
團隊合作組織:學生三人一組,承擔不同角色,分別為機長,副機長,領航員。機長負責全隊協調觀察并給出指導性意見,副機長負責程序的編寫,領航員負責現場無人機的初始化與測試以及討論的記錄。
1.引導分析路線,引出技術解決方案
學生需要用Mind Vector軟件進行頭腦風暴,記錄思路,畫出無人機需要飛行的路線。飛行線路一:從起點出發,從側邊繞過山峰到達受災點。飛行線路二:起點出發,越過山頂直接到達受災點。根據路線圖,提出實現無人機飛行路線,需要解決哪些技術問題。教師適時參與學生小組的討論,引導孩子們自行得出需要解決問題的辦法,并引出技術函數,指導學生用Mind Vector記錄內容。
引出move函數,其中move函數可以實現無人機的升降、橫滾和俯仰三種飛行狀態。
2.任務提升之一—— 拍照
了解一線救援實際情況,就能取得更好的救援效果。如何讓無人機帶回最真實的現場,引出拍照。takePicture()可以觸發函數觸發攝像頭,同時使用Parrot FreeFlight-Mini應用程序來查看拍攝圖片。
3.任務提升之二—— 攜帶物資
偵測任務完成,攜帶物資成為無人機最重要的任務,“如何讓無人機實現攜帶物資,并在正確的地點實現物資投放?同學們想想需要解決哪些技術問題。”教師適時參與每個組討論,引導孩子們自行得出需要解決問題的辦法,并引出技術函數,指導學生用Mind Vector記錄內容。
認識grab函數,首先將抓鉤安裝到無人機上,無人機的軟件顯示畫面有變化。然后可以使用openGrabber()打開抓鉤和closeGrabber()關閉抓鉤,使用無人機抓鉤配件,完成物資的運輸與投放。
4.試飛與調試
掌握了move、takePicture、grab函數,就需要程序編制和調試飛行,利用三人團隊方案能比較好地解決試飛過程中出現的問題。
學生基于討論的飛行路線,通過小組合作,進行編程嘗試災情地的拍攝,同時記錄下飛行數據。在已知路線下,完成物資的投放。
教師在此階段中,需要特別關注每個組的活動情況,引導孩子做好問題記錄,和學生一起分析解決試飛過程中的問題。在飛行過程中,經常會出現以下問題,比如在飛行過程中,藍牙通信中斷,導致無人機飛行失控,這時會出現一些緊急情況,需要及時停止設備,防止發生危險。同時學生看到危險情況,會在一定程度上對無人機心生抗拒,教師需要對這一部分學生做心理疏導。由于無人機本身抗風性等相對較差,在飛行過程中偏差較大,整個調試過程需要耐心與細心,因此教師在與學生溝通解決方式的同時,要積極鼓勵學生保持耐心。
實踐反思
課堂中,鼓勵學生了解無人機工作原理并依據此設計方案,嘗試解決生活中實際問題,不僅有利于鍛煉學生的動手能力、創造力、問題解決和團隊協作能力等,而且能有效激發學生對智能科技和航空科技的興趣,加深學生對物理、數學、計算機等學科知識的理解。我們深知,課程實施是一個繁復的過程,一堂完美的課需要教師縝密的思考和巧妙的設計。編程能力,它不僅是智能時代用于表達和交流的語言,更能培養學生的邏輯思辨、計算思維和創造力。
參考文獻
[1]吳立巍. 無人機飛行試驗要素分析[J]. 電子技術與軟件工程,2015(24).
作者單位:浙江杭州上海世界外國語小學? 浙江杭州市明德小學