周穎怡
(嶺南師范學院,廣東 湛江 524048)
由于人口結(jié)構、家庭、社會結(jié)構的變化,空巢青年、老年群體人數(shù)正在逐漸增多,為了尋求精神的寄托,人們開始需要更豐富的精神生活,電子寵物應運而生[1]。電子寵物可以實現(xiàn)陪伴、緩解壓力等功能,具有巨大的發(fā)展?jié)摿2]。
本課題采用EV3機器人作為搭載電子寵物的基本套件,EV3機器人擁有獨立開放的編程程序,它的功能強大,通過機械部件與編程的組合,能夠完成多種機械動作[3];配備編程軟件以及使用手冊,讓廣大用戶能夠根據(jù)自身的需要來改變程序,以實現(xiàn)更多功能,親身體驗編程的樂趣,培養(yǎng)用戶的科學素養(yǎng)[4]。
本課題設計的EV3寵物機器人是指以EV3機器人為搭建主體的電子寵物狗“小白”,寵物的身體由各類積木、電動機、傳感器以及主控制器組成,在編程軟件上完成程序編寫并導入到主控制器,則可實現(xiàn)預設功能[5]。該電子寵物的主要功能包括:能夠完成基本動作,如發(fā)聲、揮手等,并且能夠?qū)崿F(xiàn)人寵互動,對使用者的指令實現(xiàn)實時響應。
EV3機器人核心套件如下:
1)“智能磚頭”——EV3程序塊。EV3機器人的特點之一就是它擁有一個“大腦”一般的主控制器[6]。以往使用者在編程完成后,往往需要將程序從計算機下載到機器人,而在配備了主控制器之后,使用者不僅可以將程序儲存在上面,還可以直接通過主控制器完成編程,從而快速檢驗程序有效性。
2)各類傳感器,包括超聲波傳感器、紅外傳感器、陀螺儀傳感器、顏色傳感器、聲音傳感器以及觸動傳感器等等。如果說主控制器是EV3機器人的“大腦”,那么這些傳感器就相當于機器人的“五官”,高精度的傳感器能夠幫助機器人感受周圍的環(huán)境,并根據(jù)預設做出響應[7]。
3)各類積木和電機,即EV3機器人的“軀干”和“四肢”。通過改變不同積木之間的搭配,能夠組合出多種多樣的機器人模型,電機為機器人的行動提供動力[8]。
4)配備了搭建手冊和編程軟件EST。EV3機器人采用圖形化編程,將不同的模塊進行合理組合,則可以實現(xiàn)指定動作,如前進、后退、轉(zhuǎn)彎等,配合不同傳感器能接收不同的信號,實現(xiàn)更高級的動作[9]。
電子寵物“小白”的頭部由主程序塊構成,主屏幕能夠顯示它的表情,兩只“耳朵”讓它看起來更加生動形象,超聲波傳感器、顏色傳感器位于“下巴”處。“小白”的軀干部分由中型電機、聲音傳感器、觸碰傳感器以及各種積木構成,尾部用金屬圓球模擬小狗的“尾巴”。電子寵物“小白”的正視圖如圖1所示,側(cè)視圖如圖2所示。
圖1 “小白”正視圖
圖2 “小白”側(cè)視圖
“小白”的軀干有一個中型電機,連接的是主程序塊的A端口。中型電機帶動蝸輪轉(zhuǎn)動,通過蝸輪蝸桿傳動,可以實現(xiàn)上下點頭的動作。
“小白”的后肢有兩個大型電機,連接的分別是主程序塊的B端口和D端口。大型電機帶動齒輪轉(zhuǎn)動,通過齒輪之間相互嚙合傳動,使得輪胎轉(zhuǎn)動,實現(xiàn)移動。
“小白”身上有4個傳感器,分別是超聲波傳感器、聲音傳感器、顏色傳感器及觸動傳感器。聲音傳感器連接的是主程序塊的1端口,超聲波傳感器連接的是主程序塊的2端口,顏色傳感器連接的是主程序塊的3端口,觸動傳感器連接的是主程序塊的4端口。
當聲音傳感器檢測環(huán)境聲音達到50 dB以上時,主程序塊屏幕將會出現(xiàn)“EST”字樣;當超聲波傳感器感應到前方20 cm以內(nèi)有物體時,主程序塊屏幕將會出現(xiàn)“EST”字樣;當顏色傳感器感應到物體顏色為紅色時,主程序屏幕塊將會出現(xiàn)“EST”字樣;當觸碰傳感器受到擠壓時,主程序屏幕塊將會出現(xiàn)“EST”字樣。
“小白”能夠?qū)κ褂谜叩拿钭龀龇磻斒褂谜吆俺觥靶“住钡拿只蛘吲恼坪魡尽靶“住睍r,它會緩緩向使用者走來,同時抬起頭“看著”使用者。利用切換模塊,將模式設置為聲音傳感器。設定閾值,當聲音傳感器檢測到周圍環(huán)境聲音達到40 dB以上時,中型電機以20%的功率逆時針轉(zhuǎn)動3 600°,通過蝸輪蝸桿傳動,“小白”做出抬頭的動作;兩個大型電機同時以20%的功率轉(zhuǎn)動一圈,“小白”向使用者走來;同時,主程序塊屏幕顯示表情“仰視”。當周圍環(huán)境聲音低于或等于40 dB時,“小白”無動作。最后使用一個無限制循環(huán)模塊將該程序包含在內(nèi),讓該程序能夠在“小白”啟動時一直運行。
“小白”在不同的情境下會顯示不同的表情,配合發(fā)聲功能,可以表現(xiàn)出“小白”的情緒狀態(tài)。當“小白”閑置時,每5 s會轉(zhuǎn)換一次表情并顯示在主程序塊屏幕上。程序如圖3所示。
圖3 顯示預設表情程序
“小白”能夠通過超聲波傳感器感應到前方物體的存在,當探測到該物體的存在時,“小白”能夠隨著物體的運動而運動,并與物體保持一定的距離。利用切換模塊,將模式設置為超聲波傳感器。設定閾值,當超聲波傳感器探測到物體距離“小白”大于15 cm時,將此時探測到的距離的值設為a,利用數(shù)學模塊將a與15的差值乘以10,并將結(jié)果輸入為電機的功率值,使電機以該功率順時針運轉(zhuǎn),達到跟隨的效果;當物體距離“小白”大于10 cm、小于15 cm時,電機關閉,“小白”保持靜止;當物體距離“小白”小于10 cm時,將此時探測到的距離的值設為b,利用數(shù)學模塊將10與b的差值乘以-10,并將結(jié)果輸入為電機的功率值,使電機以該功率逆時針運轉(zhuǎn)。程序如圖4所示。
圖4 距離感應程序
使用者可以通過按壓程序塊按鈕,手動調(diào)節(jié)“小白”頭部的角度。利用切換模塊,將輸入模式設為“程序塊按鈕——比較”,將動作狀態(tài)設為擠壓,當程序塊上按鈕受到擠壓時,中型電機會以-100%的功率運轉(zhuǎn),“小白”做出抬頭的動作;當程序塊下按鈕受到擠壓時,中型電機會以100%的功率運轉(zhuǎn),“小白”做出低頭的動作。使用者可以根據(jù)需要手動調(diào)節(jié)“小白”頭部的角度。程序如圖5所示。
圖5 手動調(diào)節(jié)頭部
“小白”配備了顏色傳感器,通過辨別物體的顏色,能夠分辨該物體是否為食物,并做出反應。利用切換模塊,將模式設置為“顏色傳感器——比較”。若顏色傳感器探測物體顏色為紅色時,即該物體為“食物”,此時主程序塊顯示表情“熱愛的”,發(fā)出聲音“嘎吱”,同時,以50%的功率前后移動;若顏色傳感器探測到物體顏色不為紅色時,即物體不為“食物”,此時主程序塊顯示表情“傷心的”。
使用者擠壓“小白”身上的觸動傳感器時,“小白”會抬頭“望向”使用者,做出“瞇眼”的表情,并發(fā)出可愛的叫聲。利用切換模塊,將模式設置為觸動傳感器,并將動作狀態(tài)設為“擠壓”。當觸動傳感器的按鈕受到擠壓時,主程序塊會顯示表情“瞇眼著”,發(fā)出聲音“啵嚶”,并且中型電機會以20%的功率逆時針旋轉(zhuǎn)3 600°。如果一段時間沒有進行操作,“小白”會進入睡眠狀態(tài)。
使用者通過擠壓“小白”身上的兩個觸動傳感器,通過不同的動作組合來遙控“小白”前進、后退、左轉(zhuǎn)及右轉(zhuǎn)。利用切換模塊,將模式設置為觸動傳感器(端口為1,即1號觸動傳感器),并將動作狀態(tài)設為“擠壓”。同時嵌套兩個切換模塊,將模式設置為觸動傳感器(端口為2,即2號觸動傳感器)。當1號觸動傳感器和2號觸動傳感器同時“松開”時,“小白”前進;當1號觸動傳感器和2號觸動傳感器同時“擠壓”時,“小白”后退;當1號觸動傳感器“擠壓”,同時2號觸動傳感器“松開”時,“小白”左轉(zhuǎn);當1號觸動傳感器“松開”,同時2號觸動傳感器“擠壓”時,“小白”右轉(zhuǎn)。
使用者能夠用聲音讓“小白”前進,并且能夠通過改變聲音分貝的大小來改變“小白”前進的速度[10]。利用切換模塊,將模式設置為聲音傳感器。當檢測到聲音分貝大于20 dB時,利用聲音傳感器模塊測量出當前聲音分貝值的大小,將聲音分貝測量值作為電機功率,從而達到聲控調(diào)速的效果[11]。考慮到直接將聲音分貝值作為電機功率,可能會導致電機功率過高、速度過快,所以在程序中加入了一個數(shù)學模塊,在讀取測量結(jié)果之后,將其設為數(shù)學模塊的a值,用a除以固定值2,再將結(jié)果作為電機功率。改良后的程序既避免了電機速度過快,又避免了輸出值為負數(shù)而導致電機反轉(zhuǎn)。程序如圖6所示。
圖6 聲控調(diào)速
使用者通過擠壓“小白”身上的觸動傳感器來控制“小白”前進,隨著使用者擠壓觸動傳感器次數(shù)的增多,電機功率隨之增高。程序說明:使用常量模塊,設置常量值為20,并將其導入變量模塊,作為變量1初始值。利用等待模塊,將模式設置為觸動傳感器,當使用者擠壓一次觸動傳感器,變量模塊將變量1的值導入數(shù)學模塊中作為a值,加上固定值10,然后利用變量模塊讀取結(jié)果,并將結(jié)果導入電機功率。使用者每擠壓一次觸動傳感器,電機功率就會增加10%,最終電機功率達到100%,“小白”全速前進。程序如圖7所示。
圖7 觸動調(diào)速
EV3機器人是一款教育機器人,越來越多的學校、教育機構開始使用它作為教學工具,越來越多人看到了它的優(yōu)勢和潛力。本課題中的“小白”是基于EV3機器人的電子寵物,是對EV3機器人應用的一次嘗試。雖然現(xiàn)今為止寵物狗“小白”的表現(xiàn)與人們的預期還無法相提并論,但在日后的研究中定會不斷發(fā)展進步。