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