大疆機甲大師 S1 編程體驗:這張卡讓小學(xué)生也能學(xué)會寫代碼(大疆機甲大師s1編程教程)
畫具、樂器、臺式電腦,當(dāng)讀小學(xué)初中時,父母總是會選擇其中一兩件,用來培養(yǎng)孩子的興趣愛好。
近年來,隨著人工智能的發(fā)展,機器人從少數(shù)人的專屬玩物進(jìn)入到了主流消費市場,教育機器人也逐漸成為了「家用教具老三樣」以外的一種新選擇。
但就像你所了解的那樣,現(xiàn)在的教育機器人往往都噱頭大于實際,或許還不如 Siri。不過,這樣的想法在真正了解機甲大師 S1(即大疆小車)后,是時候發(fā)生變化了。
去年 6 月,我們已經(jīng)對大疆小車做了全方位評測,而今天,我們將借著大疆在教育方面新增不少舉措的機會,圍繞小車的「編程教育」屬性進(jìn)行更加深入的體驗。
入門:30 張編程卡
依舊從拼裝開始。即便集成度相當(dāng)高,說明書內(nèi)對 74 個步驟也有詳細(xì)圖解,這一過程還是稱不上「輕松」。
各種專業(yè)的機械組件,甚至一顆螺絲釘都不容馬虎。但正因如此,就算只是完成一個麥克納姆輪,也極易獲得成就感。
大概 4 個小時,組裝就完成了,一切就緒后,大疆小車便能在電腦軟件或手機 App《RoboMaster》的控制下開始「單機駕駛」,以 FPV(第一人稱視角)操作實現(xiàn)移動、瞄準(zhǔn)發(fā)射、拍照錄像、鎖定行人跟蹤等功能。
▲ 單機駕駛演示
當(dāng)然,僅有駕駛操作,大疆小車只是款制作精良的「遙控坦克」,還稱不上「機器人」,而支持 Python、Scratch 編程實現(xiàn)指令才是最大驚喜。
為此大疆準(zhǔn)備了全面生動的編程指導(dǎo),包括配套編程環(huán)境與近期發(fā)布的編程卡。
編程卡即一套全新的游戲化闖關(guān)編程卡片,由 1 張編程引導(dǎo)卡和 30 張編程挑戰(zhàn)卡組成,每一張編程卡都是一個簡單、有趣的小項目,包括環(huán)繞掃射、十連拍、彈鋼琴等,用戶可以通過顏色、形狀、文字、前后代碼等信息引導(dǎo)思考。
將物理、數(shù)學(xué)知識緊密結(jié)合,把書本上的知識融入觸手可及的機器人中,即便是對編程一竅不通的人,也能在《RoboMaster》App 中的「實驗室 > 我的程序」中通過「搭積木」的方式輕松入門。
以最基礎(chǔ)的「走個正方形」為例,其中就涉及了正方形、方向、角度等數(shù)學(xué)知識,以及底盤控制、順序結(jié)構(gòu)等編程知識。10 分鐘之內(nèi),小學(xué)生也能完成一個簡單任務(wù),在挑戰(zhàn)過程中浸潤知識。
▲ 走個正方形
再比如第 9 招「回馬槍」,這個卡片任務(wù)需要大疆小車實現(xiàn)底盤向前平移,同時云臺向底盤后方射擊。按照編程挑戰(zhàn)卡,在《RoboMaster》App 中先尋找每一個積木塊同色的類別,再拖動相應(yīng)的模塊到腳本區(qū)域,依次排列吸附即可。
因為各項技術(shù)已經(jīng)被包裝成了方便使用的編程 API,因此在編程過程中,隨時能夠運行程序,讓大疆小車完成現(xiàn)有指令下的動作,便于及時查看效果。
▲ 在「實驗室」中,依照「回馬槍」編程卡完成腳本
有意思的是,每張編程卡底部,大疆還加上了「小思考」環(huán)節(jié),以幫助用戶擴(kuò)展思路,創(chuàng)造更多玩法,學(xué)習(xí)編程知識的同時快速獲得快樂與成就。
在「回馬槍」編程挑戰(zhàn)卡中,留有一個問號積木塊,結(jié)合「小思考」中「如何讓發(fā)射器連續(xù)發(fā)射水彈」的問題,可以想出 2 種解決方案:
1. 抓住「發(fā)射器」關(guān)鍵詞,在對應(yīng)的類別下,將「連續(xù)發(fā)射水彈」替換原本的「單次發(fā)射水彈」;
2. 抓住「連續(xù)」關(guān)鍵詞,在「控制語句」類別下,往「單次發(fā)射水彈」外套一個「一直」循環(huán)模塊,同樣實現(xiàn)「一直單次發(fā)射水彈」的效果。
跟隨編程卡在 Scratch 腳本區(qū)實現(xiàn)拍手點頭、S 形倒退等幾個簡單操作后,我的文科生同事就已經(jīng)能夠舉一反三進(jìn)行動作混搭了,還編排了一段「加速前進(jìn)時突然回頭唱歌」的才藝展示。
目前這套卡片可以在大疆官網(wǎng)上免費下載,新購機用戶還將免費獲贈實體卡包。
不僅模塊多樣,要知道,大疆小車包含了 31 個傳感器,6 個人工智能模塊,46 個可編程部件,和云臺、圖傳等 DJI 領(lǐng)先技術(shù),每一個輪子的馬達(dá)、每一塊裝甲下的擊打檢測傳感器等都是獨立安裝的,可控部件的數(shù)量之多,這意味著只要你愿意,可以創(chuàng)造出無數(shù)種組合。
傳統(tǒng)教育是一件非常延時滿足的事情,你可能小時候常聽說「板凳要坐十年冷」,總是今天在學(xué)習(xí)上付出的努力,得等到幾月甚至幾年之后才能給予正向反饋。對于學(xué)生來說,他們的忍耐力和自我控制力,天生不如成人,讓孩子在書桌前枯坐讀書,多多少少與天性有所不符。
而「編程挑戰(zhàn)卡」這種 PBL(項目式學(xué)習(xí))的概念,正是傳統(tǒng)教育所缺少的,它的一大特點就是短和快。學(xué)生在十分鐘之內(nèi)就可以快速學(xué)習(xí),將自己的成果向家長或老師展示出來,獲得即時反饋。
上個世紀(jì)五十年代起,西方開始探索 PBL 的概念。它以驅(qū)動問題(driving question)為基礎(chǔ),學(xué)生在一個真實的情境中對驅(qū)動問題展開探究,而在探究過程學(xué)習(xí)及應(yīng)用學(xué)科思想,教師與學(xué)生需以合作的形式尋找解決方法,從而學(xué)習(xí)隱藏在問題背后的知識并提升能力,最后,學(xué)生要創(chuàng)造出一套能解決問題的可行產(chǎn)品(products)。
這種教育方式,曾經(jīng)造就過科學(xué)史上的黃金一代,即科學(xué)史上曾經(jīng)一群非常特殊的群體,外號 Martians(火星人)。他們在匈牙利接受了中小學(xué)教育,然后去世界各地接受了大學(xué)教育,最后很多人移居到了美國。
其中包括諾貝爾經(jīng)濟(jì)學(xué)獎的 John Harsanyi、曼哈頓計劃的最早推動者者 Leo Szilard、氫彈之父 Teller、建造漫游火星的勇氣號和好奇號火星車的噴氣動力實驗室 JPL 創(chuàng)始人 Von Karman 等,以至于有人開玩笑說匈牙利是火星人在地球的前線,讓這些人得到了外星科技。
▲ 噴氣動力實驗室 JPL 創(chuàng)始人 Von Karman
什么樣的教育取得了如此碩果?Von Karman 對自己父親的評價原話是:
我父親相信教育是應(yīng)該和日常生活融為一體,不管教的是拉丁文還是數(shù)學(xué)或歷史。開始學(xué)習(xí)拉丁文的時候,學(xué)生要在城市里游走觀察,抄寫博物館和雕塑里出現(xiàn)的拉丁碑文;研習(xí)數(shù)學(xué)的時候,學(xué)生們需要去收集匈牙利當(dāng)?shù)氐男←湲a(chǎn)量、做計算、畫圖表。所以我們根本沒有浪費時間去死記硬背公式,而是自己研究推導(dǎo)出了他們。還有比這更好的方式來培養(yǎng)科學(xué)家么?
大疆小車當(dāng)然不可能代替?zhèn)鹘y(tǒng)的課堂和老師,讓孩子自學(xué)成才。但是這種問題導(dǎo)向、鼓勵主動獲取知識和快速激勵的思路,提供了教育的更多可能。不必苦讀教材,甚至無需從編程語言基礎(chǔ)語法學(xué)起,「技術(shù)」被弱化了,從而帶來更有條理的「思維方式」。
進(jìn)階:實驗室中的「大師之路」
初學(xué)乍道后,就可以進(jìn)入「實驗室 > 大師之路」這個新天地,開啟闖關(guān)訓(xùn)練了。
如果說編程卡帶來的是對基礎(chǔ)單一拳法的理解,大師之路則是教授一套套「組合拳」,且大多都出自 RoboMaster 機甲大師賽五個賽季積累的實戰(zhàn)招式。
過了新手引導(dǎo),之后的漂移甩尾、視覺標(biāo)簽跟隨、巡線出擊等,每一個項目式教程都涉及了多類知識點,難度遞增,帶你漸入佳境,完善知識網(wǎng)絡(luò)和技能體系。
編程卡是「知其然」,大師之路更講究「知其所以然」。不同于死記硬背、填鴨式的課程,大疆小車「實驗室」的課程更具有開放性和創(chuàng)造性。通過對應(yīng)用場景、任務(wù)流程、知識點的剖析,循序漸進(jìn),將一個項目分成了不同環(huán)節(jié)。
以大師之路中的「扭腰反擊」為例,這套動作以 2016 年 RoboMaster 機甲大師賽中華南理工大學(xué)「華南虎戰(zhàn)隊」的「戰(zhàn)術(shù)扭腰躲避敵方彈道」技術(shù)為原型,目的是將機器人的底盤和云臺分別向反方向旋轉(zhuǎn),從而降低機器人受到攻擊的概率。
▲「扭腰反擊」示意圖
看似復(fù)雜,實際在大師之路中已經(jīng)被分解為了「底盤運動」、「扭腰運動」兩個環(huán)節(jié),每個環(huán)節(jié)同樣對目標(biāo)、步驟、所需知識點、編程引導(dǎo)、注意要點、實現(xiàn)效果等多方面進(jìn)行了翔實描述,其中不乏生動形象的抽象結(jié)構(gòu)示意圖、流程圖、動圖等。
如同每張編程卡有「小思考」,大師之路的每一課同樣有「獎勵關(guān)卡」作為課后拓展,將引導(dǎo)把學(xué)會的「組合拳」融入到實際對戰(zhàn)場景,而非局限于代碼片段的執(zhí)行。
值得一提的是,隨著課程的深入,覆蓋知識面更廣,你或許還能將在大學(xué)四年都沒搞明白的知識融會貫通。
比如「使用 PID 控制實現(xiàn)自動跟隨」,對于自動化和電子等專業(yè)的大學(xué)生來說,這個概念不陌生,但真正掌握且應(yīng)用并不容易。
▲ 視覺標(biāo)簽跟隨演示,卡片 1 即「視覺標(biāo)簽」
大疆小車就是一個很好的教具。
在「視覺標(biāo)簽跟隨」項目中,你能通過圖示來學(xué)習(xí) P 控制、PI 控制、PD 控制、PID 控制分別是什么,也能通過提高云臺瞄準(zhǔn)精度和優(yōu)化跟隨效果直接調(diào)試反饋控制。
寓教于樂,鼓勵學(xué)生脫離教材、課本的限制,主動去獲取更多科學(xué)知識,無疑是更高效的學(xué)習(xí)方式。
高級:實戰(zhàn)與擴(kuò)展
只會 Scratch 當(dāng)然是不夠的,事實上《RoboMaster》App 中還能夠進(jìn)行 Python 編譯,實現(xiàn)更多復(fù)雜操作。
Python 是一種易上手的腳本語言,語法簡潔清晰,擁有豐富且強大的類庫,應(yīng)用范圍廣,既適合新手學(xué)習(xí),也適合其他編程語言的學(xué)習(xí)者快速上手。
在「實驗室 > 我的程序」中,Scratch 與 Python 可隨時點擊右上角 <|> 符號切換,便于對照著每個模塊的效果理解代碼;也可以通過 Python 編輯器直接寫入。不過,Python 學(xué)習(xí)難度遠(yuǎn)大于 Scratch,語言的學(xué)習(xí)更多需要自行摸索。
▲ 兩種 Python 學(xué)習(xí)方式
除了自己敲代碼,分享或使用他人的程序也是大疆小車的擴(kuò)展玩法之一。
大疆社區(qū)機甲大師討論區(qū)中,擁有豐富的開源例程可供學(xué)習(xí),包括讓大疆小車打地鼠、成為鬧鐘、識別于謙郭德綱等。
▲ 大疆社區(qū)用戶 bakedkids 設(shè)計的「打地鼠」. 大疆小車共有 6 個擊打檢測傳感器,當(dāng)傳感器上亮燈時敲打相應(yīng)裝甲,若敲打正確云臺將「點頭示意」
車尾部分預(yù)留的幾個空接口,還能進(jìn)行配件擴(kuò)展。
比如,搭個機械爪,加個寫字機械臂,用羅技無線鍵鼠連接手機控制大疆小車,改造成消毒機器人等。
▲ 大疆社區(qū)用戶 灰灰機呦 為大疆小車安上了機械爪來抓取物體
單機駕駛不夠玩,與朋友進(jìn)行多人競技更有樂趣。
大疆小車有個特殊的「設(shè)定」,能在物理世界中根據(jù)傷害來結(jié)算系統(tǒng)計算攻擊值,并實時顯示生命值,由此奠定了「對戰(zhàn)」的基礎(chǔ),這可能也是唯一一款將電子競技的樂趣與理論知識學(xué)習(xí)合二為一的機器人。
在多人競技之上,就是機器人大賽。大疆的「RoboMaster 大學(xué)生機器人大賽」連續(xù)舉辦 5 年,現(xiàn)已成為全球規(guī)模最大的機器人賽事之一。但年齡不符合條件,沒有合適的隊友組團(tuán)往往會成為一道坎,讓不少機器人愛好者無緣參與。
而就在前幾天,我們獲知了一個消息:大疆又為普通用戶開辟了一片土壤,將舉辦「機甲大師全民挑戰(zhàn)賽」。不限制報名年齡、專業(yè)背景,任何希望體驗機器人賽事的用戶都能參加。既可以拉上 2 位好友或家人,組成一個戰(zhàn)隊參賽,也可以讓大疆為你匹配合適的隊友。
門檻低,規(guī)則也很簡單,與王者榮耀類似,全民挑戰(zhàn)賽直接采用了大疆小車的征服模式:選手將在一個 6 米 × 9 米的場地中,操作機器人掃描「視覺標(biāo)簽」,占領(lǐng)據(jù)點。率先占領(lǐng) 4 個據(jù)點的隊伍,將獲得比賽勝利。
在這樣一場比賽中,選手需要互相配合、掩護(hù)、設(shè)計戰(zhàn)術(shù)和自定義技能。如果選手腦洞夠大,他們就可以把小車變成「間諜」,釋放程序技能,將自己的車燈顏色通過編程偽裝成對方戰(zhàn)隊,從而偷偷拿下?lián)c。
▲ 圖中的 D 標(biāo)簽代表一個據(jù)點
大疆透露,這一全新的機器人賽事將在 2020 年在北京、上海、廣州、深圳率先落地,再推廣到南京、杭州、成都等眾多城市。
和賽事相結(jié)合的,是一項「機甲大師俱樂部」計劃。大疆官方授權(quán)的「機甲大師俱樂部」也將在近期落地上海和深圳。這一俱樂部將提供「積分賽」、「賽事培訓(xùn)」和「預(yù)選賽」服務(wù)。只要是對機器人和無人機感興趣的用戶,就可以在俱樂部中體驗大疆小車,接受培訓(xùn),最終參與到賽事中去。
對各種創(chuàng)新玩法的支持,貫徹著機甲大師團(tuán)隊對科技教育深刻理解:自由、開放、在實踐中學(xué)習(xí)與檢驗。
總結(jié)
教育是一個慢行業(yè),大疆深諳這個道理。
從 2013 年起每年舉行大學(xué)生機器人主題夏令營,2015 年起每年舉辦 RoboMaster 機甲大師賽,再到 2016 年起每年的高中生夏令營、2017 年起每年的高中生冬令營,大疆一直在直接面向一線學(xué)生教學(xué),積累起足夠的教學(xué)經(jīng)驗。
事實上,就在 2017 年,機甲大師 S1 項目已經(jīng)開始孵化,卻耐心打磨了兩年半,直到 2019 年才正式發(fā)布。
包括為了大疆小車特別推出的編程卡,以及將要舉辦的全民挑戰(zhàn)賽、俱樂部,這些舉措都表明了大疆要在教育領(lǐng)域深耕的決心。令我很受觸動的是機甲大師 S1 團(tuán)隊去年寫給首批用戶的信,從中你能感受到他們對這件事的敬畏,以及對大疆小車寄予的熱切希望:
它首先應(yīng)該是一臺真正的「機器人」,擁有機器人所應(yīng)有的硬件和功能;
其次,它應(yīng)該有深度和可擴(kuò)展的空間,從而讓用戶能孜孜不倦的「搗鼓」和鉆研;
它應(yīng)當(dāng)是傳遞知識的載體,能用深入淺出的方式,教授物理、數(shù)學(xué)和機器人知識;
最后,它足夠酷,足夠好玩,能夠在抓人眼球的虛擬世界面前,對現(xiàn)代人依舊有足夠的吸引力,把他們拉回現(xiàn)實世界。
我覺得它完成得很好。