李真
摘要:當(dāng)前的編程教育實(shí)踐過程中,編程語言較為枯燥,多數(shù)學(xué)生對(duì)編程語言的學(xué)習(xí)興趣和自信心不足。針對(duì)教學(xué)需求,設(shè)計(jì)了一套“低碳環(huán)?!睓C(jī)器人實(shí)驗(yàn)教學(xué)平臺(tái),該平臺(tái)以WER(世界教育機(jī)器人大賽)比賽為基礎(chǔ),將圖形化編程技術(shù)引入到學(xué)生編程教育,使得學(xué)生更加直觀地掌握代碼編程技能,該平臺(tái)包含各種電子模塊的底層驅(qū)動(dòng)支持,以便學(xué)生在其基礎(chǔ)上控制各類硬件外圍設(shè)備,開展創(chuàng)新創(chuàng)意項(xiàng)目實(shí)踐。實(shí)踐證明該平臺(tái)具有良好的直觀性、綜合性和擴(kuò)展性,不僅滿足了學(xué)生對(duì)軟硬件開發(fā)系統(tǒng)的學(xué)習(xí)需求,而且對(duì)大學(xué)生科技創(chuàng)新活動(dòng)具有良好的促進(jìn)作用。
關(guān)鍵詞:圖形化編程;機(jī)器人;實(shí)踐教學(xué)
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)27-0116-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
近些年來不斷倡導(dǎo)的STEAM教育理念,鼓勵(lì)孩子在科學(xué)(Science)、技術(shù)(Technology)、工程(Engineering)、藝術(shù)(Arts)、數(shù)學(xué)(Mathematics)領(lǐng)域的發(fā)展與提高,培養(yǎng)孩子的綜合素養(yǎng),從而提高其全球競(jìng)爭力[1]。STEAM教育明確培養(yǎng)學(xué)生的三類技能,包括認(rèn)知技能、溝通合作技能和創(chuàng)新技能[2]。其中,創(chuàng)新技能是將創(chuàng)新思維轉(zhuǎn)變?yōu)閯?chuàng)新成果的中介,包含設(shè)計(jì)、構(gòu)圖、表演、展示、建模等[3],需要為學(xué)生提供豐富的探索和實(shí)踐機(jī)會(huì),并在問題解決情景中提供概念、工具、經(jīng)驗(yàn)等,從而培養(yǎng)學(xué)生的創(chuàng)新技能。
在STEAM教育中,編程也作為思維訓(xùn)練的一項(xiàng)重要內(nèi)容被各界所廣泛認(rèn)可。學(xué)習(xí)編程能培養(yǎng)抽象思維、邏輯思考、專注細(xì)心、創(chuàng)造力等能力,還能提高孩子的學(xué)習(xí)習(xí)慣和綜合素養(yǎng)[4]。隨著機(jī)器人、人工智能技術(shù)的發(fā)展,編程將成為時(shí)代的基本需求。編程教育不是為了培養(yǎng)程序員,而是培養(yǎng)未來一種基本的生存能力。
目前大多數(shù)高校都開展了C語言等程序設(shè)計(jì)類課程,但長期的教學(xué)實(shí)踐過程表明,學(xué)生學(xué)習(xí)編程語言的興趣和動(dòng)力不足,解決實(shí)際問題的能力沒有明顯提高,動(dòng)手能力和創(chuàng)新能力也不強(qiáng)[5-6]。近些年來圖形化編程逐步走進(jìn)大眾的視線。實(shí)踐證明,圖形化編程的引入有利于學(xué)生快速掌握基礎(chǔ)的編程思想,獲得編程的興趣,并在此基礎(chǔ)上逐漸掌握代碼編程技能?;诖吮疚脑O(shè)計(jì)了一套“低碳環(huán)?!睓C(jī)器人實(shí)驗(yàn)教學(xué)平臺(tái),不僅可以滿足純軟件類的編程學(xué)習(xí),而且能夠與硬件結(jié)合,滿足電氣自動(dòng)化類大學(xué)生對(duì)軟硬件一體化系統(tǒng)的學(xué)習(xí)需求。
2 平臺(tái)整體設(shè)計(jì)
2.1 圖形化編程軟件
在圖形化編程中,構(gòu)成程序的命令和參數(shù)通過積木形狀的模塊來實(shí)現(xiàn),直觀明了,簡單易學(xué)。編程采用的是AbilixChart3.0圖形化編程軟件,如圖1所示。按照任務(wù)的需求編程主要分為巡線、圖像識(shí)別、運(yùn)動(dòng)控制等。其中巡線的穩(wěn)定性是任務(wù)完成的最關(guān)鍵保證,決定著小車能不能順利達(dá)到任務(wù)點(diǎn);圖像識(shí)別主要用來通過攝像頭完成物體的識(shí)別;運(yùn)動(dòng)控制主要是控制電機(jī)帶動(dòng)機(jī)械臂來完成推拉、旋轉(zhuǎn)等動(dòng)作。在此基礎(chǔ)上對(duì)任務(wù)從易到難一個(gè)一個(gè)進(jìn)行挑戰(zhàn),最后將所有程序進(jìn)行相連,進(jìn)行整體的調(diào)試。在編寫的過程中,發(fā)現(xiàn)程序較長,可以將重復(fù)的動(dòng)作進(jìn)行整理和打包編寫為子程序,用過主程序調(diào)用的方式,讓編程更加簡潔,也可以在后期調(diào)試過程中更容易地發(fā)現(xiàn)問題所在[7]。
2.2 硬件設(shè)計(jì)
本平臺(tái)設(shè)計(jì)使用的主控是SKCON9,如圖2所示, 它是能力風(fēng)暴推出的新一代教育機(jī)器人積木系列人工智能控制器,硬件方面延續(xù)積木系列設(shè)計(jì)風(fēng)格的同時(shí),外殼提供更多結(jié)構(gòu)孔,支持六面搭接,充分實(shí)現(xiàn)空間擴(kuò)展;軟件方面,支持流程圖編程、條形圖編程、 C 語言編程等,有著豐富的學(xué)習(xí)和應(yīng)用方式。
主控搭配各類傳感器、電機(jī)、機(jī)器臂等部件就可以完成機(jī)器人的搭建。本平臺(tái)搭建的低碳環(huán)保機(jī)器人屬于兩輪差速驅(qū)動(dòng)機(jī)器人,使相比于四輪驅(qū)動(dòng)機(jī)器人,該類機(jī)器人僅使用兩個(gè)電機(jī)驅(qū)動(dòng),運(yùn)動(dòng)控制模型簡潔,速度空間范圍更大,適合于通過狹窄區(qū)域。該機(jī)器人底盤布局采用兩驅(qū)動(dòng)輪的同軸式布局,后置驅(qū)動(dòng)輪采用大直徑驅(qū)動(dòng)輪對(duì)稱分布在底盤兩側(cè),使機(jī)器人旋轉(zhuǎn)中心與重心重合,保障了控制精確性與運(yùn)動(dòng)穩(wěn)定性。前置從動(dòng)輪選用小直徑萬向輪作為支撐輪,增強(qiáng)運(yùn)動(dòng)靈活性,在上述機(jī)器人底盤基礎(chǔ)上完成機(jī)器人主體的搭建,搭建所得的樣機(jī)實(shí)物如圖3所示。機(jī)器人的主題搭配不同機(jī)械臂設(shè)計(jì)就可以完成指定任務(wù)。
機(jī)器人運(yùn)行場(chǎng)地分上下兩層,如圖4所示, 支架為金屬材質(zhì),兩層之間通過斜坡相連, 斜坡與一層場(chǎng)地夾角約為30度, 二層場(chǎng)地護(hù)欄為木板(高度10cm, 厚度1-2cm)。 在一層場(chǎng)地、 二層場(chǎng)地、斜坡上各鋪有場(chǎng)地膜。
場(chǎng)地上共有2個(gè)基地, 一層基地大小為30×30cm(長×寬);二層基地位于斜坡頂端,大小為64×40cm(長×寬)。在一層和二層平臺(tái)上一共有17個(gè)可變位置,根據(jù)不同的訓(xùn)練要求,可以在17個(gè)位置上放置不同的任務(wù)對(duì)象,讓機(jī)器人小車通過尋跡到達(dá)指定地點(diǎn)完成任務(wù)。例如:在二層平臺(tái)上放置風(fēng)力發(fā)電模型,則機(jī)器人小車需從一層基地通過斜坡到達(dá)二層基地,然后運(yùn)行到風(fēng)力發(fā)電模型的位置,再通過機(jī)械臂旋轉(zhuǎn)使發(fā)電風(fēng)扇轉(zhuǎn)至 2 秒以上,視為發(fā)電成功,完成該任務(wù)后可以繼續(xù)完成其他位置的任務(wù)或者返回基地。
3 實(shí)踐教學(xué)任務(wù)設(shè)計(jì)
下面針對(duì)幾個(gè)經(jīng)典的實(shí)驗(yàn)案例來進(jìn)行介紹:
(1)圖像識(shí)別,綠色購物、能量研究院任務(wù)機(jī)械臂搭建
圖像識(shí)別和綠色購物的任務(wù)是指機(jī)器人首先將識(shí)別樣本的信息準(zhǔn)確地記錄下來,然后小車運(yùn)行到綠色購物的位置,將與剛才識(shí)別的樣本信息同樣的物品取下。能量研究院則是小車運(yùn)行到指定任務(wù)位置識(shí)別位置上的二維碼并顯示二維碼所代表的的文字信息。圖像識(shí)別、綠色購物、能量研究院這三個(gè)任務(wù)的共同點(diǎn)是利用攝像頭采集任務(wù)點(diǎn)的圖像信息。
如圖 5 所示,將兩塊2×4一號(hào)板結(jié)合在一起,利用緊配銷將4根長度最長的11孔直梁固定在板上,盡可能墊高中電機(jī)高度,使攝像頭距離待識(shí)別物塊一定距離,實(shí)現(xiàn)精準(zhǔn)識(shí)別。利用U型梁和錐直齒輪結(jié)構(gòu)相結(jié)合帶動(dòng)機(jī)械臂轉(zhuǎn)動(dòng)。將50軸插入中電機(jī),中電機(jī)工作時(shí)將帶動(dòng)50軸及以其為軸的12半高錐齒輪轉(zhuǎn)動(dòng),從而帶動(dòng)U型梁上與其嚙合的20半高錐齒輪轉(zhuǎn)動(dòng),該齒輪能帶動(dòng)其左右連接的兩個(gè)90 度梁運(yùn)動(dòng),最終使機(jī)械臂能夠上下轉(zhuǎn)動(dòng),完成任務(wù)。此外,為保證能量塊在小車前進(jìn)和轉(zhuǎn)向過程中不滑落,將5×7 方形梁結(jié)合在兩根90 度梁后端,90度梁高于機(jī)械臂上端的其他梁結(jié)構(gòu),能夠防止能量塊從左右兩側(cè)掉落。5×7方形梁能夠防止能量塊在小車加速時(shí)由于慣性從后掉落。在機(jī)械臂前端插入兩根長度較短的軸,并在軸前端連接90度聯(lián)軸器,這樣的鉤狀結(jié)構(gòu)能夠有效地增長機(jī)械臂的長度,保證物塊能夠被機(jī)械臂撥離平面,同時(shí)機(jī)械臂不撥下旁邊的其他物塊。
(2)放置能量堆芯,植樹造林任務(wù)機(jī)械臂
利用緊配銷將2×4一號(hào)板以垂直于中電機(jī)平面的方式與電機(jī)孔位結(jié)合,適當(dāng)增高電機(jī)所在高度,保證能量球能夠被精準(zhǔn)投入框內(nèi)。如圖 6 所示,用緊配銷和梁結(jié)構(gòu)將126度4×6梁固定在電機(jī)頂部,這樣的結(jié)構(gòu)設(shè)計(jì)較為巧妙,能讓小車在巡線過程中順帶完成任務(wù)。當(dāng)小車到達(dá)能量堆芯附近時(shí),電機(jī)差速轉(zhuǎn)動(dòng)驅(qū)使小車加速左轉(zhuǎn),進(jìn)而使電機(jī)上方的梁向左撞擊密鑰手桿,能量堆芯掉入目標(biāo)區(qū)域。利用兩個(gè)3×5 90度梁與3倍緊配銷結(jié)合,組成收納能量球的框架,并在框架左右兩邊用3孔梁進(jìn)行加固,防止運(yùn)動(dòng)過程中小球掉落。采取與圖像識(shí)別機(jī)械臂相同的方式帶動(dòng)機(jī)械臂擺動(dòng),即利用U型梁和錐直齒輪結(jié)構(gòu)相結(jié)合進(jìn)行傳動(dòng)。20半高錐齒輪轉(zhuǎn)動(dòng)時(shí),能夠帶動(dòng)穿過其軸心的50軸轉(zhuǎn)動(dòng),進(jìn)而使得裝載小球的框架下擺,完成放置小球的任務(wù)。
(3)巧取能源與采取能量塊任務(wù)機(jī)械臂搭建。
由于完成這兩個(gè)任務(wù)不需要機(jī)械臂進(jìn)行較為復(fù)雜的擺動(dòng)或旋轉(zhuǎn)操作,此機(jī)械臂設(shè)計(jì)并不復(fù)雜,主要分為上部和下部兩個(gè)部分,如圖 7所示,機(jī)械臂上部,兩根長度最長的直梁分別通過兩塊3×5 90度梁結(jié)合在一塊5×7方形梁的兩端。兩塊5×7方形梁后端通過緊配銷左右對(duì)稱地結(jié)合在與直梁結(jié)合的方形梁兩端,前端結(jié)合由兩根11孔直梁和3孔 直梁構(gòu)成的簡單梁結(jié)構(gòu)。兩塊方形梁可在小車前行時(shí)推動(dòng)活動(dòng)推桿,完成采集能量塊任務(wù)。較長直梁用于在巧取能源任務(wù)中打開下部解鎖裝置,而較短梁則能解決了能量塊下落時(shí)被卡住無法落入機(jī)械臂的問題。機(jī)械臂下部結(jié)構(gòu)全部采用梁搭建,由直梁和兩根126度梁構(gòu)成裝載能量塊的平面,有效防止了小車轉(zhuǎn)彎時(shí)能量塊從旁側(cè)滑出的問題。
(4)收集能量球任務(wù)機(jī)械臂
該機(jī)械臂結(jié)構(gòu)如圖8 所示,采用20聯(lián)軸器將80軸固定在方形梁前端中間位置,利用90度聯(lián)軸器連接該軸與50軸,在50軸的另一端插入1個(gè)90度聯(lián)軸器,形成鉤狀結(jié)構(gòu)。采用大電機(jī)驅(qū)動(dòng)機(jī)械臂轉(zhuǎn)動(dòng),將兩個(gè)3×5的90度直角梁固定在大電機(jī)左右兩側(cè),用緊配銷將方形梁與兩個(gè)直角梁結(jié)合,小車行駛到任務(wù)地點(diǎn)附近時(shí),方形梁對(duì)齊小球所在平臺(tái),在小車前行的過程中推動(dòng)平臺(tái)后移。待小球下落后,電機(jī)轉(zhuǎn)動(dòng)便可帶動(dòng)方形梁上方的鉤型結(jié)構(gòu)轉(zhuǎn)動(dòng),從而鉤住能量框,將其帶回基地[8]。
4 實(shí)踐平臺(tái)對(duì)大學(xué)生科技創(chuàng)新活動(dòng)的促進(jìn)作用
大學(xué)生學(xué)科競(jìng)賽、科技立項(xiàng)等各類科技創(chuàng)新活動(dòng),對(duì)學(xué)生的綜合應(yīng)用能力培養(yǎng)具有極其重要的作用,且大多數(shù)競(jìng)賽中都包含了程序設(shè)計(jì)這一環(huán)節(jié),并且占比有越來越大的趨勢(shì)。除了培養(yǎng)學(xué)生的編程技能之外,編程教育還可以培養(yǎng)學(xué)生的綜合能力,促進(jìn)其溝通合作和創(chuàng)新技能的發(fā)展。
該創(chuàng)新教育平臺(tái)不僅使得有創(chuàng)新和實(shí)踐想法的學(xué)生有地可去、有事可做,而且為我院的大學(xué)生科研創(chuàng)新基地開放注入了新的內(nèi)容和活力。2017年以來,該創(chuàng)新教育平臺(tái)培育了一批學(xué)生,在智能汽車競(jìng)賽、機(jī)器人創(chuàng)意大賽、電子設(shè)計(jì)競(jìng)賽等各類省部級(jí)科技創(chuàng)新競(jìng)賽中獲獎(jiǎng)50余項(xiàng),并且學(xué)生們積極申報(bào)各類科技項(xiàng)目。該創(chuàng)新教育平臺(tái)不但可以降低同學(xué)們的學(xué)習(xí)門檻,提升學(xué)習(xí)效率,而且對(duì)各類學(xué)科競(jìng)賽、科技立項(xiàng)等有較好的支撐作用,大大提高同學(xué)們參與科技創(chuàng)新實(shí)踐活動(dòng)的積極性,氛圍日漸濃厚,整體創(chuàng)新能力得到了顯著提升[9]。
參考文獻(xiàn):
[1] 彭敏,郭夢(mèng)嬌.STEAM教育的基本內(nèi)涵與發(fā)展路徑研究[J].教育理論與實(shí)踐,2018,38(25):14-18.
[2] 馮博琴.對(duì)于計(jì)算思維能力培養(yǎng)“落地”問題的探討[J].中國大學(xué)教學(xué),2012(9):6-9.
[3] 李瑞生,王秋云,安德智,等.計(jì)算機(jī)程序設(shè)計(jì)類課程實(shí)踐教學(xué)的改革與創(chuàng)新[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(4):183-185,198.
[4] 陳昕,王興芬,焦健,等.注重編程能力培養(yǎng)的C語言過程化考核教學(xué)改革[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(9):155-158.
[5] 劉明,陳講清,聶銀鑫.基于云端一體的實(shí)驗(yàn)室監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2018,35(10):68-72.
[6] 朱軼,曹清華,單田華,等.基于Android、樹莓派、Arduino、機(jī)器人的創(chuàng)客技能教育探索與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2016,33(6):172-176,206.
[7] 商新娜,張寶森,孫連英,等.基于自研硬件設(shè)備編程的程序設(shè)計(jì)基礎(chǔ)課程教學(xué)改革探索[J].實(shí)驗(yàn)技術(shù)與管理,2014,31(7):182-185.
[8] 陶虹平,張小青.促進(jìn)計(jì)算思維落地——計(jì)算機(jī)編程上機(jī)實(shí)踐教學(xué)改革[J].教育教學(xué)論壇,2018(48):78-79.
[9] 楊力.基于WebKit的圖形化編程軟件[D].長春:吉林大學(xué),2015.
【通聯(lián)編輯:李雅琪】