楊豐秋
摘 ?要 深圳已普及機器人教學(xué)課堂,配備了專業(yè)教材和設(shè)備,形成常規(guī)教育教學(xué)。從教學(xué)中搜集部分知識亮點,結(jié)合學(xué)校教學(xué)模式,記錄將探究性學(xué)習(xí)融入課堂教學(xué)實踐過程。
關(guān)鍵詞 人工智能;機器人教學(xué);循環(huán)
中圖分類號:G633.67 ? ?文獻標識碼:B
文章編號:1671-489X(2015)01-0042-04
人工智能的出現(xiàn)是科學(xué)發(fā)展史上的一個必然。機器人教學(xué)是從認識生活中的智能機器人開始的,了解機器人的系統(tǒng),探秘機器人的工作原理,感受人工智能,學(xué)習(xí)程序算法設(shè)計,培養(yǎng)邏輯思維,同時引導(dǎo)學(xué)生養(yǎng)成細致全面思考問題的好習(xí)慣。
1 開啟學(xué)生探索人工智能的奧秘之門
現(xiàn)實生活中,人們處處可以感受到人工智能帶來的舒適和便捷。如:學(xué)習(xí)外語時用到的翻譯軟件,手機的手寫輸入功能,洗手時用到的自動感應(yīng)水龍頭,樓道里的自動感應(yīng)燈,汽車里的倒車雷達,等等[1]。這些設(shè)備是如何制作出來的?為什么這些設(shè)備具備了人類才有的智慧和能力呢?
機器人教學(xué)中首先引入了“人工智能”這個專業(yè)術(shù)語,是指由人類制造出來的“機器”所表現(xiàn)出來的智慧和能力,它具備人類智能具有的感知、思維和行為能力,具備這三種能力的機器就被稱為“智能機器人”,這個具有前瞻性的科技領(lǐng)域給學(xué)生帶來了莫大的興趣和探索熱情。課堂上,有學(xué)生首先分享了家里的掃地機器人,說掃地機器人很聰明,家人早上把門一關(guān),放心地去上班上學(xué)了,晚上回到家里,家里已變得干干凈凈了,那都是它的功勞。接著又有學(xué)生說在科技節(jié)展館門口看到一款機器人,見到有人進來了,就過來跟你握手,然后說:“你好!請進!”孩子們交流熱烈,急切地想尋求答案來解釋為什么機器人具有人類智慧,具備感應(yīng)和判斷行為的能力。
接下來,課堂里展開主題為“人工智能和機器人”的教育教學(xué)內(nèi)容,向他們講解機器人的大腦也如同人的大腦一樣的工作,先利用傳感器對外界接收信息(感覺),運用知識進行判斷(分析),然后輸出反應(yīng)(運動),這一工作過程就是機器人智能的體現(xiàn)。以避障機器人行動步驟流程圖(圖1)為例,流程圖分析:要讓避障機器人擁有躲避障礙物的判斷智能,首先必須讓它能聽懂語言——計算機程序,判斷前面是否有障礙物,并執(zhí)行它轉(zhuǎn)向或直行動作。目前,人工智能領(lǐng)域的研究方向有很多,突出表現(xiàn)在傳感器技術(shù)和人機交互等領(lǐng)域,相信隨著時代的進步和科技的發(fā)展,在未來社會里,人工智能的研究成果將能夠創(chuàng)造出更多更高級產(chǎn)品,人工智能將為發(fā)展經(jīng)濟和改善人類生活做出更大的貢獻。
2 理解并運用變量和賦值語句
在教學(xué)過程中,筆者發(fā)現(xiàn)同學(xué)們對變量和賦值語句的理解是有困難的,大部分學(xué)生不能深切理解到變量的作用,變量和賦值語句的關(guān)系。在課堂上,有學(xué)生就經(jīng)常舉手提問:“老師,變量究竟有什么作用?為什么要引出變量?什么叫賦值?兩者之間有什么聯(lián)系呢?”筆者以制作聲控?zé)魹槔?,詳細說明變量和賦值語句的作用和關(guān)系。
變量[2]
1)概念:變量是為程序中可能改變的數(shù)據(jù)提供的臨時存儲空間,通過對應(yīng)的變量名來使用其中存儲的數(shù)據(jù)。
2)變量包括兩個重要元素:變量名和存儲的數(shù)據(jù)。
賦值語句
1)功能:通過賦值語句可以給某個變量賦予一個具體的值。
2)舉例:a=1表示將數(shù)值1賦予給變量a。
3)格式:變量名=表達式,需強調(diào)的是:這里的“=”號稱為賦值號,而不能讀等號,表示將計算右邊表達式的值賦予給左邊的變量。
變量和賦值語句的關(guān)系 ?通過賦值語句給變量賦值,變量就不再是一個單純的符號了,而是有對應(yīng)的數(shù)值和意義,而不同的數(shù)值就可以記錄某個設(shè)備不同的狀態(tài)了。例:用數(shù)值“0”記錄燈滅的狀態(tài),用數(shù)值“1”記錄燈開狀態(tài)。
在圖形化編程中使用變量和賦值語句 ?以諾寶RC圖形化編程系統(tǒng)以例,每一種傳感器都相應(yīng)地有預(yù)設(shè)的變量供使用,如圖2所示。
條件表達式含義:表示將數(shù)值“0”賦予給光感變量,即光感傳感器檢測沒有光線的條件成立。
除了對應(yīng)傳感器的變量,圖形化編程系統(tǒng)中還內(nèi)置了10個通用變量,供編寫程序時靈活選用,如圖3所示。
通過數(shù)字化傳感器的“變量賦值”模塊來實現(xiàn)對通用變量的賦值。圖3表示將數(shù)值“1”賦予給“通用變量1”。
在編程中,經(jīng)常會同時需要給傳感器變量和通用變量賦予具體的數(shù)值。舉例:使用變量賦值制作聲控?zé)簦▓D4)。
程序算法分析:首先通過變量賦值給通用變量1賦予數(shù)值“0”來記錄燈滅的狀態(tài),然后通過聲音傳感器條件判斷外界是否有聲音傳過來,如果檢測有聲音,則馬上開燈,而這種燈開的狀態(tài)則恰好需要通用變量1被賦予“1”來記錄,所以在“發(fā)光”模塊下面增加一個變量賦值模塊來記錄燈已經(jīng)打開了。此程序就充分地把變量賦值的功能和價值體現(xiàn)出來了。
3 巧妙使用循環(huán)語句
通過編寫使用變量賦值制作聲控?zé)舻某绦?,在程序中?yīng)用了變量賦值,在算法分析時加深了學(xué)生對變量和賦值語句的理解。但很快又碰到新問題了,在平臺上仿真程序運行過程中,有學(xué)生發(fā)現(xiàn)機器人檢測到外界有聲音時,重復(fù)切換開關(guān)燈狀態(tài),在仿真平臺上不停地“眨眼睛”,根本不是算法分析時所得出的聽到聲音就開燈的狀態(tài),難道是我們的程序編寫錯了?怎么會出現(xiàn)這種結(jié)果呢?看來,新的問題又激發(fā)他們進一步探究新知識的興趣了,這樣又把學(xué)生帶入分析和思考中了。
我讓他們先自學(xué)了教材,大部分學(xué)生說知識點很抽象,不好理解,好像還缺個什么循環(huán),至于為什么要用到這個循環(huán),他們完全沒有建立清晰的算法思維,這時候就需要老師的引導(dǎo)和分析了。
我首先從機器人常用輸入設(shè)備聲音傳感器開始講,講它的工作原理和對聲音捕獲的特點。聲音傳感器對聲音的捕獲,是每隔一段規(guī)定的時間采集一次,而這個間隔時間非常短,人所聽到的“一次”聲音,被它卻“聽”成了“很多”次。例如:一次拍手掌的動作,人只聽到一次擊掌聲,而聲音傳感器卻聽到了很多次擊掌聲,于是它在一次普通的拍手掌聲音傳遞的過程中,完成了多次的開與關(guān)的動作,最后是停留在開上還是關(guān)上,就很難確定了,所以,就出現(xiàn)了頻繁“眨眼睛”的現(xiàn)象了。endprint
原來是“聲音傳感器”這個怪東西惹的禍!它的工作原理我們沒辦法改變了,那總得有辦法對付它吧?我們需要解決的就是讓聲音在傳感器首次聽到擊掌聲后不馬上傳遞開燈信息,而是繼續(xù)不斷地捕獲聲音,直到一次擊掌聲徹底停止后,再發(fā)出“現(xiàn)在可以開燈了”的信號。
這時,“直到型循環(huán)”就閃亮登場了!直到型循環(huán)又簡稱為“do條件循環(huán)”,學(xué)生們太想知道這個循環(huán)的執(zhí)行過程和關(guān)鍵作用了,它為什么在程序中能穩(wěn)住聲音傳感器對聲音的捕獲呢?
接著我來分析直到型循環(huán)在程序中執(zhí)行的重要任務(wù)。在這個任務(wù)中,我們設(shè)置了“do條件循環(huán)”的條件判斷語句為“聲音變量==1”,不斷地去采集聲音,直到條件不成立,即聲音停止了,才認為是聽完了“一次”聲音,然后才執(zhí)行程序后面的聽到聲音就開燈的條件判斷和指令,如圖5所示。
直到型循環(huán)的執(zhí)行過程是:首先執(zhí)行一次循環(huán)體內(nèi)的程序序列,執(zhí)行完畢后,再判斷條件選項,當(dāng)條件滿足要求,即條件表達式的結(jié)果為真時則回到前面,再次執(zhí)行循環(huán)體內(nèi)的程序序列,如此反復(fù),直到判斷條件選項不滿足要求時,即條件表達式的結(jié)果為假時才結(jié)束循環(huán),執(zhí)行循環(huán)體外后續(xù)的程序序列。
這樣,通過在程序中加入直到型循環(huán),就輕松解決了機器人聽到聲音不停地“眨眼睛”問題了。
編寫程序離不開流程控制模塊中的循環(huán)模塊。我發(fā)現(xiàn)學(xué)生容易接受條件判斷、條件循環(huán)、多次循環(huán)的概念和應(yīng)用,但對在程序中總要用到永久循環(huán)就不理解了,永久循環(huán)模塊中不能加入條件判斷,不能將循環(huán)的次數(shù)和要求體現(xiàn)出來,為什么在程序中首先要加入這個模塊呢?
這時,如果只是給他們講解永久循環(huán)模塊的功能,他們肯定是懂非懂的,不能完全理解這個循環(huán)的作用。這時不妨從修改程序入手,要學(xué)生把已做好的拍手聲控?zé)舫绦蛑械挠谰醚h(huán)去掉,再通過仿真平臺測試程序運行效果。結(jié)果,他們發(fā)現(xiàn)機器人聽到聲音也不亮燈了,缺了永久循環(huán)還真不行。
永久循環(huán)模塊的功能描述很簡單,只是強調(diào)循環(huán)體永遠在里面循環(huán),如圖6所示[3]。
我們需要把永久循環(huán)的理論與聲控?zé)舻膶嶋H運行過程結(jié)合起來講解,才能體現(xiàn)這個模塊的真正作用。如果在程序中增加了永久循環(huán)模塊,就相當(dāng)于給機器人加了一個實時檢測的“監(jiān)聽器”,它每時每刻都在監(jiān)測外界的狀態(tài),一旦接收到聲音信號,就馬上開燈,實際上就是在執(zhí)行循環(huán)體內(nèi)的程序序列。所以說,永久循環(huán)是沒有循環(huán)次數(shù)限制的,而是永遠保持實時監(jiān)測的狀態(tài),隨時為執(zhí)行循環(huán)體的程序序列做準備。
4 結(jié)語
機器人教育普及到課堂的時間不長,各級各類的拼裝設(shè)備和競賽形式層出不窮,這說明大家對新事物總是處于不斷地探索和發(fā)現(xiàn)中。問題是科學(xué)研究的出發(fā)點,是開啟學(xué)生思維大門的金鑰匙,引導(dǎo)學(xué)生發(fā)現(xiàn)問題和提出問題的研究和思考是我的教育出發(fā)點,孩子們在探索機器人領(lǐng)域的過程中,接受了教育,提高了綜合分析能力和實踐操作能力,體驗了過程中的快樂和愉悅。機器人教育還處在探索階段,期待同行的溝通交流與協(xié)作共進。
參考文獻
[1]吳良輝,楊青.人工智能與機器人[M].廣東:深圳市教育科學(xué)研究院,哈爾濱工業(yè)大學(xué)深圳研究院,2011:4.
[2]李文郁,要志東.信息技術(shù)[M].廣州:廣東高等教育出版社,2013:59.
[3]諾寶RC編程軟件使用手冊[M].廣東:哈工大(深圳)教育機器人研究中心,2010:17.endprint