摘 要:本文設計了一個基于Lab VIEW平臺的LEGO Mind storms輪式機器人運動軌跡實時繪制系統(tǒng),本系統(tǒng)采用上下位機結構,使用Lab VIEW的圖形化編程功能,設計了簡單易用的上位機人機界面,并通過相關的函數(shù)模塊化實現(xiàn)了對輪式機器人的控制和運動軌跡實時繪制功能。本文重點探討了基于機器人移動方向的角度值和移動距離值,對繪制運動軌跡所需的平面坐標值的計算和機器人運動軌跡的繪制。
關鍵詞:Lab VIEW;運動軌跡;實時繪制;LEGO Mind storms;輪式機器人
中圖分類號:TP242 文獻標識碼:A 文章編號:1007-9599 (2013) 09-0000-04
機器人運動軌跡的跟蹤繪制是機器人學的一個非常重要的問題,是移動機器人所需具備的一種重要功能,利用機器人運動軌跡的跟蹤繪制功能可以使機器人能夠完成對一些未確定的行走路徑進行初步探索和規(guī)劃。在完成機器人運動軌跡的跟蹤和繪制后,可以將其應用到機器人的全局路徑規(guī)劃中,使機器人能夠更容易和更準確的沿規(guī)劃的路徑運動,達到指定的目的地和完成給定的任務。
Lab VIEW (laboratory virtual instrument engineering work-bench)是美國NI公司開發(fā)的優(yōu)秀的圖形化編程軟件,是一個虛擬儀器工程平臺,具有編程直觀、快捷、高效等特點[1]。對于使用虛擬儀器技術應用于機器人數(shù)據采集和運動控制方面的研究,目前已有很多的學者進行了大量的研究[2]-[5],并發(fā)表了相關的文章或論文,但對于如何使用Lab VIEW實時跟蹤繪制機器人的運動軌跡的探討卻不是很多。
本文針對輪式機器人運動軌跡的跟蹤繪制問題,通過角度傳感器獲取伺服電機的旋轉角度和驅動輪的周長計算出機器人的移動距離,再利用電子羅盤傳感器上獲取的機器人運動方向角度,實現(xiàn)了對輪式機器人的運動軌跡進行跟蹤和繪制。
1 系統(tǒng)構成
本實驗平臺總體上包含上位機和下位機兩部分:上位機的硬件部分主要由帶藍牙通訊模塊的PC機構成,軟件部分采用Lab VIEW編寫完成;下位機硬件部分主要采用LEGO Mind storms機器人套件,利用它只需要進行簡單的硬件連接就可以快速的搭建出實驗用輪式機器人硬件平臺,而且還可以使用內置的藍牙通訊模塊與上位機進行通訊。系統(tǒng)的整體框架,如圖1所示。
圖1 系統(tǒng)整體框架圖
2 系統(tǒng)硬件結構
本研究的系統(tǒng)硬件由PC機(帶藍牙通訊模塊)、LEGO Mind storms機器人套件等構成。PC機作為上位機,可以向下位機傳送指令完成機器人運動控制、實時傳感器值顯示、實時繪制運動軌跡、實驗參數(shù)設置等任務。下位機采用由LEGO NXT 9797搭建的雙驅輪式移動機器人,由NXT32位中央控制器、帶旋轉角度傳感器的伺服電機、電子羅盤傳感器和超聲波傳感器等組成。機器人的運動方式,通過控制左右輪速差的方式來完成前進、后退、左轉、右轉等基本運動動作。NXT 32位中央控制器采集機器人上的伺服電機旋轉角度、機器人行進方向(角度)、超聲波傳感器等數(shù)據信息,使用內置的藍牙通訊模塊(從機)將數(shù)據發(fā)送出去,與之配對上位機上的藍牙通訊模塊(主機)接收數(shù)據后,由Lab VIEW對接收到的數(shù)據進行處理顯示,實現(xiàn)實時繪制機器人的運動軌跡。
3 系統(tǒng)軟件設計
本系統(tǒng)軟件設計以Lab VIEW 2012作為開發(fā)平臺,完成輪式機器人運動軌跡的實時繪制功能。在Lab VIEW平臺上,可以方便而快速的利用模塊化函數(shù)建立上位機與LEGO NXT主控制器之間的通信,并可以指定USB或藍牙等通信方式。同時對LEGO Mind storms機器人的控制和常用傳感器值的獲取,也同樣可以直接調用模塊化的函數(shù),從而使機器人的運動控制和調用相關傳感器值變的非常簡單,因此本文重點對實驗項目中的機器人運動軌跡實時繪制部分的設計進行探討。
在Lab VIEW中,利用圖形控制可以快捷的建立直觀的操控界面,本系統(tǒng)軟件的上位機操控界面包括機器人運動控制區(qū)、前方障礙物雷達圖示區(qū)、機器人方位顯示羅盤和運動軌跡繪制區(qū)及參數(shù)設置顯示區(qū)等部分組成,如圖2所示。其中機器人運動控制區(qū),用于對機器人的運動進行控制,包括前進、后退、左轉、右轉和功率的設置顯示;前方障礙物雷達圖示區(qū),用于顯示前方超聲波傳感器測到障礙物的距離并以雷達圖示的方式顯示,以方便對機器人運動的操控;機器人方位顯示羅盤,用于顯示當前機器人行進的方向及角度值;運動軌跡繪制區(qū),用于實時繪制機器人的運動軌跡;參數(shù)設置顯示區(qū),用于設置軌跡繪制比例和機器人輪胎直徑等參數(shù),并顯示繪制坐標等一些常用的實時參數(shù)。
圖2 輪式機器人運動軌跡繪制系統(tǒng)上位機操控界面
本文提出的機器人運動軌跡是指操控輪式機器人在前進或后退移動時的運動路徑,該運動路徑是由一系列的具有起點和終點的線段組成,每條線段是指機器人移動時的距離。線段的起點和終點,用一個平面坐標(X,Y)來表示,其中(XS,YS)和(XT,YT)分別代表起點坐標和終點坐標。在機器人移動時根據當前的起點和終點坐標值繪制出運動軌跡線段。機器人運動軌跡實時繪制的基本工作流程,如圖3所示。
圖3 運動軌跡實時繪制的基本工作流程示意
在上位機系統(tǒng)軟件中,是使用Lab VIEW的二維圖片控件來實現(xiàn)運動軌跡的繪制。由于Lab VIEW的二維圖片控件的默認坐標基點(0,0)是位于圖形繪制區(qū)的左上角,因此為了便于機器人運動軌跡的繪制,把二維圖片控件的中心坐標點,作為每次啟動繪制機器人運動軌跡的基點(如圖4所示),即在初始狀態(tài)下,運動軌跡的當前坐標值為(XS=X/2,YS=Y/2)。
圖4 二維圖片控件圖形繪制區(qū)中運動軌跡初始繪制基點示意
機器人實際移動距離是實時運動軌跡繪制的基礎,只有獲取正確的移動距離才能夠計算出需要繪制軌跡的長度。機器人在前進或后退時,利用伺服電機上內置的角度傳感器獲取當前伺服電機的旋轉度數(shù)值和設置的輪胎直徑參數(shù)(以毫米為單位),就可以計算出機器人當前的移動距離。
在二維圖片控件上繪制機器人的運動軌跡是需要以像素為單位進行繪制的,因此在程序中需要根據當前所設置的比例參數(shù),計算出以像素為單位的需要繪制的運動軌跡的長度,程序框圖如圖5所示。
圖5 機器人實際移動距離和繪制運動軌跡長度的程序框圖
在啟動機器人后,上位機通過機器人上的電子羅盤傳感器,可以實時的獲取當前機器人移動方向的角度值。利用當前的起點坐標值、運動軌跡的長度值和機器人移動方向的角度值,在繪圖區(qū)域中構建出對應的直角三角形計算模型,如圖6所示。在圖6的繪圖區(qū)域中,A表示為機器人移動方向角度值;D表示為繪制軌跡的長度值,也是直角三角形的斜邊;a表示為直角三角形的夾角;E表示為直角三角形的夾角對邊;F表示為直角三角形的夾角對邊;(XS,YS)表示為起點坐標;(XT,YT)表示為終點坐標。
圖6 利用起點坐標值、運動軌跡的長度值和機器人移動方向的角度值構建的直角三角形計算模型示意
根據圖6的計算模型就可以計算出繪制線段的終點坐標(Lab VIEW程序框圖,如圖7所示),具體的計算步驟如下:
(1)根據機器人移動方向角度值A,計算出直角三角形的夾角a的值:
a=A-(90*「(A/90)」
(2)根據直角三角形的夾角a的值和斜邊D的值,計算出直角三角形夾角a對邊E的長度值:
E=sinα*D
(3)根據直角三角形的夾角a的值和斜邊D的值,計算出直角三角形夾角a鄰邊F的長度值:
F=cosα*D
(4)根據直角三角形直角邊E和F的長度值,通過起點坐標(XS,YS)和機器人移動方向角度值,就可以計算出終點坐標(XT,YT):
1)當符合0>A<90且機器人處于前進移動狀態(tài)和180>A<270且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=Xs+E,YT=Ys-F
2)當符合90>A<180且機器人處于前進移動狀態(tài)和270>A<360且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS+F,YT=YS+E
3)當符合180>A<270且機器人處于前進移動狀態(tài)和0>A<90且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS-E,YT=YS+F
4)當符合270>A<360且機器人處于前進移動狀態(tài)和90>A<180且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS-F,YT=YS-E
圖7 直角三角形夾角a的值不等于0時計算終點坐標的程序框圖示意
在步驟(1)中,如果計算出直角三角形夾角a的值為0,那么表示當前機器人的移動方向角度值A可能等于0、90、180或360,如圖8所示。
圖8 直角三角形夾角a的值為0時機器人移動方向示意
當出現(xiàn)圖8所示的情況,就不需要步驟(2)~步驟(4)的計算,而是直接依據當前起點坐標(XS,YS)的值、機器人移動方向角度值A和繪制軌跡的長度值D,計算終點坐標(XT,YT)的值(Lab VIEW的程序框圖,如圖9所示):
1)當符合A=0或A=360且機器人處于前進移動狀態(tài)和A=180且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS,YT=YS-D
2)當符合A=90且機器人處于前進移動狀態(tài)和A=270且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS+D,YT=YS
3)當符合A=180且機器人處于前進移動狀態(tài)和A=0或A=360且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS,YT=YS+D
4)當符合A=270且機器人處于前進移動狀態(tài)和A=90且機器人處于后退移動狀態(tài)條件時,終點坐標(XT,YT)為:
XT=XS-D,YT=YS
圖9 直角三角形夾角a的值等于0時計算終點坐標的程序框圖示意
在Lab VIEW的中,使用移動畫筆函數(shù)先將畫筆移動到起點坐標(XS,YS)位置,然后通過繪制直線函數(shù)在二維圖片控件的圖形繪制區(qū)域中繪出到結束點坐標(XT,YT)的直線,即可實時的繪制出當前機器人的運動軌跡,程序框圖如圖10所示。
圖10 機器人運動軌跡繪制程序框圖
4 結束語
本設計主要研究的是基于圖形化編程平臺Lab VIEW,對LEGO Mind storms輪式機器人在移動時運動軌跡的實時繪制功能,以擴展機器人在未知環(huán)境下對路徑的探索和規(guī)劃,從而進一步拓展移動機器人的基礎應用。所設計的系統(tǒng)按照目標要求,使用LEGO NXT作為硬件的基礎平臺,搭載了電子羅盤、超聲波、角度等傳感器,通過Lab VIEW的圖形控件和強大的模塊化函數(shù)快速構建上位機的人機界面和程序。經實驗表明,系統(tǒng)利用當前輪式機器人的移動距離和移動方向角度值就可以實現(xiàn)實時、快速、準確地繪制機器人運動軌跡功能,并具有工作穩(wěn)定、操控方便、顯示直觀等特點。
參考文獻:
[1]雷振山.Lab VIEW 基礎教程[M].北京:中國鐵道出版社,2008.
[2]向科鋒.基于Lab VIEW的數(shù)據采集系統(tǒng)設計與實現(xiàn)[J].機械管理開發(fā),2011(4).
[3]梁全貴,武麗,李長春.基于Lab VIEW的智能車數(shù)據采集與處理研究[J].工業(yè)控制機算機,2010,23:31-32.
[4]張衛(wèi)星,趙峰.基于Lab VIEW 的運動控制系統(tǒng)的研究[J].工業(yè)控制計算機,2008,21(11):26-28.
[5]余軍.基于虛擬儀器的智能車無線實時數(shù)據采集系統(tǒng)[J].工業(yè)控制計算機,2010(2).
[作者簡介]陳洪亮(1974-),男,浙江廣播電視大學縉云分校,講師,研究方向:計算機科學技術的開發(fā)與應用。