国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

當(dāng)3D打印遇上人工智能

2019-01-06 03:42李上貴
中國(guó)信息技術(shù)教育 2019年24期
關(guān)鍵詞:船身船槳龍舟

李上貴

在國(guó)家大力提倡“大眾創(chuàng)業(yè),萬(wàn)眾創(chuàng)新”的環(huán)境下,創(chuàng)客運(yùn)動(dòng)猶如雨后春筍般涌現(xiàn),筆者所在學(xué)校也創(chuàng)建了創(chuàng)客社團(tuán),小創(chuàng)客們正以初生牛犢的探索精神為學(xué)校的多元發(fā)展注入更多新鮮的活力。下面,筆者以小創(chuàng)客們制作的智能龍舟為例,分享他們的探索創(chuàng)作過程。

● 案例背景

2019年5月,學(xué)校創(chuàng)客社團(tuán)的小創(chuàng)客們受邀組隊(duì)參加一個(gè)創(chuàng)客活動(dòng),活動(dòng)要求圍繞以下主題進(jìn)行人工智能作品創(chuàng)作。

作品主題:十九大報(bào)告中提到,要“堅(jiān)定文化自信,推動(dòng)社會(huì)主義文化繁榮興盛”,“深入挖掘中華優(yōu)秀傳統(tǒng)文化蘊(yùn)含的思想觀念、人文精神、道德規(guī)范,結(jié)合時(shí)代要求繼承創(chuàng)新,讓中華文化展現(xiàn)出永久魅力和時(shí)代風(fēng)采”。民間藝術(shù)是中華優(yōu)秀傳統(tǒng)文化的重要體現(xiàn),繼承和發(fā)揚(yáng)民間藝術(shù)是我們的歷史使命。你的家鄉(xiāng)有哪些民間藝術(shù)?它背后的文化是什么?在人工智能飛速發(fā)展的今天,想一想如何結(jié)合人工智能讓家鄉(xiāng)的民間藝術(shù)更具有時(shí)代的特征,從而被更多人了解,讓其更有生命力地傳承下去。

● 初步設(shè)想

在接到活動(dòng)的通知后,學(xué)生們開始自行組隊(duì)并提出自己的設(shè)想,結(jié)合學(xué)生現(xiàn)有的技術(shù)水平、各種可利用的資源和可行性分析,經(jīng)過篩選,最終確定了智能龍舟創(chuàng)作方向。端午節(jié)是我國(guó)的傳統(tǒng)節(jié)日,在這一傳統(tǒng)節(jié)日里很多地方都有賽龍舟的習(xí)俗,傳統(tǒng)意義上的龍舟都是通過人力進(jìn)行驅(qū)動(dòng)的,智能龍舟的設(shè)想是在保留傳統(tǒng)龍舟外形的基礎(chǔ)上進(jìn)行人工智能的升級(jí)改造,使其更加智能和更具時(shí)代氣息,與本次活動(dòng)的主題要求也極為匹配。

經(jīng)過研究討論,學(xué)生提出創(chuàng)作的智能龍舟作品應(yīng)具有以下功能:①通過聲音指令控制船槳的劃行快慢程度;②自動(dòng)檢測(cè)行進(jìn)的前方是否有障礙物,保障船的安全;③能自行檢測(cè)船身的震動(dòng),并反饋信息,確保船的平穩(wěn)行駛;④給龍舟增加聲控動(dòng)力助推器,使龍舟在賽道上更加如魚得水;⑤語(yǔ)音交互介紹播報(bào)。

● 項(xiàng)目分析

要實(shí)現(xiàn)以上的創(chuàng)作設(shè)想,必須有相關(guān)的硬件和軟件支持。硬件部分主要包括龍舟的船身和零部件,還有具有語(yǔ)音識(shí)別功能的主控板和各種探測(cè)傳感器等。其中,龍舟的船身和零部件沒有現(xiàn)成的模型可以使用,只能根據(jù)需求來制作,考慮到學(xué)??梢怨W(xué)生們使用的各種加工器械有限,于是決定選擇目前較為流行的3D打印技術(shù)來完成龍舟船體的制作。筆者所在學(xué)校在建設(shè)創(chuàng)客實(shí)驗(yàn)室時(shí)購(gòu)置了多臺(tái)3D打印機(jī),這次的龍舟船體制作正好可以利用3D打印機(jī)這一資源。

軟件則需要能具備語(yǔ)音識(shí)別的程序編寫平臺(tái)。經(jīng)過對(duì)比和測(cè)試,這次智能龍舟案例的創(chuàng)作選擇了“創(chuàng)造栗”,“創(chuàng)造栗”是一款針對(duì)中小學(xué)人工智能科普教育解決方案的產(chǎn)品,包含有人工智能開源硬件和人工智能編程軟件平臺(tái),可實(shí)現(xiàn)人工智能的語(yǔ)音識(shí)別、圖形圖像識(shí)別和人機(jī)交互等功能,具有圖形化的編程界面,這非常有利于低年級(jí)學(xué)生的操作使用。

● 實(shí)踐創(chuàng)作

1.利用3D one軟件進(jìn)行船體的設(shè)計(jì)

(1)船身主體

在進(jìn)行智能龍舟的船體設(shè)計(jì)時(shí),需保留傳統(tǒng)的龍舟外形,同時(shí)也需在設(shè)計(jì)上預(yù)留出足夠的空間來裝載主控板和傳感器等元器件,還需要注意在船身的合適位置預(yù)留開口,用作帶動(dòng)軸等零部件的安裝。在船身主體的設(shè)計(jì)上,先是利用3D one軟件中的草圖繪制功能,根據(jù)尺寸大小按比例繪制出船身的輪廓,再利用特征造型模塊中的拉伸功能將船身的平面輪廓變?yōu)榱Ⅲw圖形,然后利用組合編輯命令中的減運(yùn)算,將船體中不需要保留的部分進(jìn)行掏空處理,經(jīng)過多次的掏空處理和調(diào)整后,龍舟的船體大致可以達(dá)到預(yù)期的效果,下一步的工作就是利用3D打印機(jī)進(jìn)行打印,輸出實(shí)體模型。

(2)船槳

船槳需足夠輕便,能被轉(zhuǎn)軸帶動(dòng),方便安裝和固定,基于以上考慮,在3D one軟件設(shè)計(jì)時(shí),船槳采用六面體和圓柱體組合而成。為了能與轉(zhuǎn)軸更好地連接,還在船槳的中間部位掏空一個(gè)三角形狀的缺口,同時(shí),將帶動(dòng)軸的兩端也設(shè)計(jì)成大小相當(dāng)?shù)娜切螤?,使其與船槳能完美連接,有效解決了后續(xù)的安裝和固定的問題。

(3)齒輪

在3D one軟件中,先用圓柱體繪制出尺寸大小合適的圓盤,再通過草圖繪制拉伸的方法制作出其中一個(gè)齒輪的凸角,通過基本編輯中的圓形陣列功能繪制出48個(gè)相同的凸角,再整合成一個(gè)完整的48齒的齒輪,最后用減運(yùn)算的方法將齒輪的中心位置預(yù)留出用于與轉(zhuǎn)軸銜接的開口。

模型制作好后,要用3D打印機(jī)配套的切片軟件對(duì)三維模型的數(shù)據(jù)進(jìn)行處理,因?yàn)?D打印機(jī)只能讀取和打印其配套的切片軟件打開的STL文件,因此學(xué)生將以上設(shè)計(jì)好的.Z1文件分別轉(zhuǎn)化為STL格式文件,再用3D打印機(jī)配套的切片軟件進(jìn)行實(shí)物打印輸出。

2.人工智能程序編寫

這次智能龍舟的程序是利用“創(chuàng)造栗”產(chǎn)品所配套的在線編程軟件進(jìn)行編寫的,需要使用到的核心功能是人工智能模塊中的語(yǔ)音識(shí)別。

(1)搭建具有語(yǔ)音識(shí)別的程序

設(shè)置程序初始化,從人工智能模塊庫(kù)中依次調(diào)出人工智能初始化和所需使用的語(yǔ)言,目前該編程平臺(tái)支持中文和英文兩種語(yǔ)言,為了讓安裝在龍舟上的主控板能學(xué)習(xí)和識(shí)別某項(xiàng)語(yǔ)音指令,需添加對(duì)應(yīng)的語(yǔ)句和識(shí)別號(hào),按照對(duì)應(yīng)的識(shí)別號(hào)1~8,分別輸入“qi dong”“kuai dian”“fei su”“guan bi”等語(yǔ)音指令。接著添加“創(chuàng)建聲學(xué)模型”“創(chuàng)建發(fā)音字典”“創(chuàng)建語(yǔ)言模型”和“創(chuàng)建解碼器”四個(gè)模塊的程序,“創(chuàng)建聲學(xué)模型”的作用是協(xié)助解碼器分析聲波特征,將聲音識(shí)別為連續(xù)的音素;“創(chuàng)建發(fā)音字典”模塊能將音素生成最大概率的文字;“創(chuàng)建語(yǔ)言模型”則是將最大概率的文字生成詞組或句子;“創(chuàng)建解碼器”這個(gè)模塊是語(yǔ)音識(shí)別的引擎,作用是將聲波解碼成語(yǔ)句,但需要匯入聲學(xué)模型、發(fā)音字典和語(yǔ)言模型。最后加上設(shè)置靈敏度大小、揚(yáng)聲器音量和麥克風(fēng)音量三個(gè)模塊語(yǔ)句,這三個(gè)模塊的取值范圍均為0~255。通過實(shí)際測(cè)試發(fā)現(xiàn),設(shè)置靈敏度的值越高,主控板對(duì)聲音的反應(yīng)就越靈敏,但這樣極容易受到周圍環(huán)境的影響,會(huì)影響到具體指令的接收,為了避免這種情況的發(fā)生,將本次程序的靈敏度的值設(shè)置為100。

以上語(yǔ)音識(shí)別的初始化程序基本搭建完成,但為了能更清楚地知道語(yǔ)音初始化程序執(zhí)行的情況,學(xué)生還在初始化的程序后面加入了語(yǔ)音播放文本的語(yǔ)句:“您好!歡迎來到中國(guó)智能龍舟邀請(qǐng)賽現(xiàn)場(chǎng),精彩比賽馬上開始。”這樣,初始化是否完成了,就會(huì)心中有數(shù)。

(2)搭建語(yǔ)音指令的執(zhí)行程序

通過if語(yǔ)句與“偵測(cè)到聲音”模塊的組合,檢測(cè)是否有人說話的聲音,執(zhí)行“聲波分幀并提取特征向量”和“解碼器{聲學(xué)模型、發(fā)音字典、語(yǔ)言模型}”模塊,目的是把偵測(cè)到的聲波進(jìn)行分幀處理,然后提取特征向量,再把特征向量導(dǎo)入到解碼器中,通過聲學(xué)模型、發(fā)音字典和語(yǔ)言模型進(jìn)行解碼,比對(duì)出與發(fā)音最為接近的字音。

在初始化程序中定義一個(gè)名為“result”的整數(shù)變量,并在語(yǔ)音執(zhí)行程序中將“讀取識(shí)別號(hào)”賦值為“result”,在其后加入switch語(yǔ)句將“result”的值與case中的數(shù)值進(jìn)行比對(duì),符合即可執(zhí)行相應(yīng)部分的程序。根據(jù)智能龍舟的最初設(shè)想,將執(zhí)行的程序編寫如下:

①當(dāng)說出“qi dong”時(shí),執(zhí)行播報(bào)語(yǔ)音“說”這一模塊,播報(bào)文本“智能龍舟系統(tǒng)已準(zhǔn)備就緒”,同時(shí)增加“寫入數(shù)字管腳2狀態(tài)高”,使船身的LED燈同時(shí)亮起來。

②當(dāng)說出“jie shao long zhou”時(shí),通過“說”模塊播報(bào)智能龍舟的介紹語(yǔ)音,需要提前在“說”程序中輸入相關(guān)的介紹文本。

③當(dāng)說出“kai shi bi sai”時(shí),需要讓船槳按一定的節(jié)奏擺動(dòng)起來,這一動(dòng)作需要借助舵機(jī)進(jìn)行旋轉(zhuǎn)角度來帶動(dòng)。為了使整體程序更加簡(jiǎn)化和有條理,在處理舵機(jī)的程序上,專門針對(duì)舵機(jī)的擺動(dòng)角度創(chuàng)建了一個(gè)函數(shù),并將這個(gè)函數(shù)命名為“duo ji”,在“duo ji”里分別加入“轉(zhuǎn)動(dòng)舵機(jī)管腳7角度為0”和“轉(zhuǎn)動(dòng)舵機(jī)管腳7角度為20”的程序模塊,在這兩個(gè)模塊之間增加延時(shí)模塊控制舵機(jī)轉(zhuǎn)角停留的時(shí)間,從而達(dá)到控制舵機(jī)帶動(dòng)船槳擺動(dòng)快慢的目的。最后,只需將“duo ji”這個(gè)函數(shù)的簡(jiǎn)化模塊加到執(zhí)行程序里即可,極大地簡(jiǎn)化了程序的編寫篇幅。

④當(dāng)說出“kuai dian”時(shí),需要讓船槳?jiǎng)潉?dòng)的速度加快,這一功能就可以參照前面“duo ji”中的程序,只需將“duo ji”函數(shù)中的延時(shí)模塊時(shí)間間隔縮短即可,在這里延時(shí)設(shè)置為300毫秒。

⑤當(dāng)說出“fei su”時(shí),需要將安裝在船身尾部位置的助推器打開,學(xué)生選擇了減速電機(jī)作為船的助推器,在程序編寫時(shí),加入了“說”模塊,讓主控板在接收到指令后,播放語(yǔ)音“好的,明白,馬上開啟飛速模式”,同時(shí)增加“寫入脈沖寬度調(diào)制管腳~3賦值為255”,讓輸出的電頻信號(hào)為最大值,使電機(jī)的轉(zhuǎn)速達(dá)到最快。同理,如果想要關(guān)閉助推器,說出“guan bi”時(shí),在對(duì)應(yīng)的執(zhí)行程序加上“寫入脈沖寬度調(diào)制管腳~3賦值為0”即可使電機(jī)停止轉(zhuǎn)動(dòng),也就是關(guān)閉了助推器。

⑥當(dāng)檢測(cè)到船的前方有障礙物時(shí),需要發(fā)出提示聲,程序中需用到“如果…執(zhí)行…”的模塊,在如果后加入條件判斷模塊“紅外線動(dòng)作感測(cè)器管腳5觸發(fā)條件有動(dòng)作”,執(zhí)行“說:注意,注意,前方有障礙物”模塊。

⑦當(dāng)船身下沉幅度過大,說明此時(shí)船的承載重量較大,需發(fā)出提示聲,通過與滑桿配件的結(jié)合,在程序中繼續(xù)使用“如果…執(zhí)行…”模塊,如果后面加入“讀取模擬管腳A0>500”語(yǔ)句,執(zhí)行后面加入“說:注意!注意!船載超重!”。

⑧當(dāng)風(fēng)浪過大,影響船身顛簸震動(dòng)時(shí),需發(fā)出提示聲,為了解決這一問題,學(xué)生用傾斜開關(guān)來處理,在程序上使用“如果+‘讀取數(shù)字管腳11=真,執(zhí)行+說‘注意!注意!當(dāng)前風(fēng)浪較大船體容易震動(dòng),小心行駛”。

3.整體拼裝及測(cè)試

龍舟的船體、零部件和程序準(zhǔn)備好之后,就可以進(jìn)行作品的整體拼裝和測(cè)試了。學(xué)生先將各元器件逐一固定在船體相應(yīng)的位置上,再參考編寫的程序腳本,用杜邦線分別將各元器件與主控板上的數(shù)字接口、模擬接口連接起來。由于這次智能龍舟作品所用到的元器件比較多,而創(chuàng)造栗主控板上可供使用的接口明顯不夠,所以借助了面包板的辦法來解決接線的問題。元器件安裝好后,再將3D打印機(jī)打印出來的齒輪、帶動(dòng)軸、船槳逐個(gè)安裝到預(yù)留的位置上。

經(jīng)過學(xué)生的努力,智能龍舟的作品制作完成,通過后期的測(cè)試,基本達(dá)到了預(yù)期目標(biāo)。這次智能龍舟的制作,是筆者所在學(xué)校小創(chuàng)客們一次成功的創(chuàng)作實(shí)踐,今后會(huì)有越來越多的新技術(shù)、新產(chǎn)品出現(xiàn),希望小創(chuàng)客們能緊跟時(shí)代的步伐,積極進(jìn)取、勇于探索,用自己的聰明才智帶來更多的創(chuàng)意和驚喜。

猜你喜歡
船身船槳龍舟
風(fēng)帆與船槳
為什么帆船逆風(fēng)也能航行?
龍舟
觀云
一種可掛起的船槳
完型突破
端午節(jié),看龍舟
智力游戲三則