王喆弘
去年寒假,我有幸參加了FRC機(jī)器人比賽。比賽中,我主要負(fù)責(zé)軟件編程。通過本次比賽,我不僅掌握了計(jì)算機(jī)語言LabVIEW的編程,還了解了機(jī)器人中軟件與硬件相互配合的原理。
以下是我學(xué)習(xí)和使用LabVIEW編程的過程,分享給大家。
第一步——學(xué)習(xí)LabVIEW的簡單操作
LabVIEW是圖形化編程語言,易于新手學(xué)習(xí)。打開LabVIEW,見圖1,選擇Blank VI創(chuàng)建一個(gè)新的面板進(jìn)行學(xué)習(xí)。首先看到的是前面板和后面板。前面板用來顯示程序運(yùn)行結(jié)果,后面板則是編寫程序的地方。兩個(gè)面板可通過Ctrl+E進(jìn)行快速切換,使編程更加高效。切換到后面板后,我們可以在這里盡情地創(chuàng)作。
單擊鼠標(biāo)右鍵,會(huì)出現(xiàn)許多菜單和選擇,比如結(jié)構(gòu)框、計(jì)時(shí)器、數(shù)組等。在菜單上選擇所需的元件,在后面板的空白處單擊鼠標(biāo)即可將此元件放置其中,然后將有關(guān)聯(lián)的元件連接,再到前面板上運(yùn)行,就能看到程序的運(yùn)行結(jié)果。
第二步——認(rèn)識機(jī)器人硬件
軟件編程是為了控制硬件運(yùn)動(dòng),所以我需要知道機(jī)器人上有哪些部件需要編程。通過討論與學(xué)習(xí),我最終確定編寫兩個(gè)手柄、四個(gè)驅(qū)動(dòng)電機(jī)、三個(gè)大功率電機(jī)的程序。
別看需要編程的硬件少,但要實(shí)現(xiàn)多種功能,編程量可不小。
第三步——機(jī)器人的初始化
將程序編寫在FRC官方所給的模板里,最終將整套程序?qū)霗C(jī)器人的主控板即可。
首先打開官方所給模板,進(jìn)入初始化模塊,在其中設(shè)置三個(gè)大功率電機(jī)和兩個(gè)手柄的初始化。由于驅(qū)動(dòng)電機(jī)負(fù)責(zé)驅(qū)動(dòng)機(jī)器人,所以將四個(gè)驅(qū)動(dòng)電機(jī)歸為一組,設(shè)置為一個(gè)Drive元件,再連接信號輸入和輸出元件即可。
其次拖出三個(gè)電機(jī)設(shè)置元件,分別連上信號輸入與信號輸出元件,再將電機(jī)分別命名為mty1,mty2,mty3。mty1大功率電機(jī)初始化程序如圖2所示。手柄初始化同理。
第四步——機(jī)器人的自動(dòng)與手動(dòng)控制
進(jìn)入自動(dòng)模塊,插入順序框,在第一個(gè)框內(nèi)設(shè)置驅(qū)動(dòng)電機(jī)的運(yùn)行,與初始化類似,不過拖入的是驅(qū)動(dòng)電機(jī)的運(yùn)行元件,連接信號輸入元件與信號傳回元件。第二個(gè)框內(nèi)設(shè)置大功率電機(jī)mty1,和第一個(gè)框類似。
進(jìn)入手動(dòng)模塊,手柄的信號分為模擬量與布爾量。通俗來說,模擬量可以連續(xù)變化,就是手柄上搖桿的輸出信號,而布爾量則只有true或false兩個(gè)選擇,就是手柄上按鈕的輸出信號。
手柄信號進(jìn)入手動(dòng)模塊后,模擬量直接控制機(jī)器人行動(dòng),而布爾量則連接判斷框。當(dāng)判斷框的選擇為true時(shí),對應(yīng)按下按鈕,將電機(jī)設(shè)置為運(yùn)行,也就是將電機(jī)的功率調(diào)到1。若判斷框的選擇為false,對應(yīng)松開按鈕,將電機(jī)設(shè)置為不運(yùn)行,也就是將電機(jī)功率設(shè)為0。布爾量控制mty1電機(jī)關(guān)閉程序,如圖3所示。這樣自動(dòng)和手動(dòng)控制都已編寫完成。
第五步——行動(dòng),機(jī)器人
將程序?qū)胫骺匕澹B接機(jī)器人無線信號,打開控制面板,連接手柄。通過手柄控制,機(jī)器人真的動(dòng)起來了。重新設(shè)置參數(shù)后,機(jī)器人行動(dòng)更加流暢了??吹竭@一幕,隊(duì)友們歡呼起來!參賽機(jī)器人如圖4所示。
我們通過計(jì)算機(jī)語言賦予了機(jī)器人靈活運(yùn)動(dòng)的能力,讓它幫助我們完成一些難以做到的事情,多么神奇!endprint
發(fā)明與創(chuàng)新·中學(xué)生2017年12期