尚文,顏欽
(蘇州科技學院機械工程學院,江蘇蘇州215011)
基于Qt的多移動機器人協(xié)調仿真系統(tǒng)研究
尚文,顏欽
(蘇州科技學院機械工程學院,江蘇蘇州215011)
多機器人系統(tǒng)一直是機器人領域研究的熱點,針對多機器人的協(xié)調問題開發(fā)了一個基于Qt的仿真系統(tǒng)。該系統(tǒng)既能仿真機器人的各種典型運動行為,比如定點運動、漫游等,同時嵌入了多機器人的協(xié)調算法,從而可以更直觀地驗證和顯示多機器人系統(tǒng)的協(xié)調運動行為。
Qt;多機器人系統(tǒng);協(xié)調;仿真
多機器人系統(tǒng),與單個機器人相比具有許多明顯的優(yōu)點,例如,能通過彼此的合作完成某些單個機器人不能完成的任務;由于其內在的并行性,在完成任務時可能具有更高的效率;由于在功能上有互補,因而可以提高系統(tǒng)的魯棒性和容錯能力。正因為多機器人系統(tǒng)具有諸多優(yōu)點,使得其在軍事、工農業(yè)生產、空間探索、醫(yī)學、交通控制、服務行業(yè)等領域具有良好的應用前景并已經得到了一定的實際應用。多機器人系統(tǒng)協(xié)調是多機器人系統(tǒng)研究中的主要內容,其中尋求有效的協(xié)調機制是研究的重點,而要驗證協(xié)調機制的有效性則需要將協(xié)調控制算法作用于實際的機器人上,但對于有幾十甚至上百個機器人組成的多機器人系統(tǒng)而言,費用將是不得不考慮的一大問題,因此,許多研究機構通過搭建仿真系統(tǒng)來進行驗證。目前國內關于機器人系統(tǒng)的仿真有借助Microsoft Robotics Studio的運動仿真[1-3],基于OpenGL的機器人漫游系統(tǒng)仿真[4],以及自重構機器人的仿真[5],文獻[3,6]討論了雙工業(yè)機器人協(xié)調焊接的仿真,文獻[7]討論了多機器人任務級的協(xié)調仿真。筆者設計實現了一個簡單有效的用于多機器人系統(tǒng)協(xié)調的仿真平臺,與文獻[7]中的方法類似,但借助Qt這一強大的跨平臺圖形開發(fā)工具[8],實現了將多機器人協(xié)調控制機制進行直觀形象的驗證仿真。
文中內容安排如下,首先介紹仿真系統(tǒng)中關于機器人的各個功能模塊,包括運動模塊、聲納傳感模塊和環(huán)境建模形式,然后介紹以前提出的一種多機器人協(xié)調算法,在驗證仿真部分,介紹典型的機器人運動形式的仿真以及多機器人系統(tǒng)的協(xié)調運動仿真。
1.1運動模型
在仿真環(huán)境中,機器人采用多邊形表示機器人的本體,右邊三角形的頂點所示方向表示機器人的前進方向,中間方框里的圓點表示機器人的中心點位置,如圖1所示。
圖1 機器人本體模型
機器人的運動模型以具有兩個差分驅動的驅動輪和一個負責平衡的萬向輪組成的運動機構來建模,以機器人本體的中心點為中心將其虛擬化為一個具有方向的運動質點。在二維環(huán)境中機器人的運動參數有在時刻t時X和Y軸方向的位置坐標x(t)和y(t),X和Y軸方向的運動速度vx(t)和vy(t),角度θ(t)和旋轉角速度w(t),如圖2所示。在運動過程中運動參數的更新方程為
1.2環(huán)境模型
機器人工作的環(huán)境利用直線段來描述環(huán)境空間的分布布局,圖3為設計的環(huán)境模型格式,第一行為模型中的直線段的數目,以下每一行表示一條直線段,用直線段的起始點坐標和終點坐標表示。環(huán)境模型以文件形式存于本地,在仿真平臺上可以加載進行顯示。
1.3聲納傳感模型
聲納傳感器和蝙蝠辨別障礙物的原理類似,能夠利用超聲波的回聲來測得周圍障礙物的距離信息。在建模時,機器人前方裝配有10個聲納傳感器,其中左右兩邊各有2個,前方以20°的角度間隔有6個傳感器,實現全方位探測前方的障礙距離信息。每個聲納探測到的距離信息以灰色的直線段來表示,圖4(a)所示為周圍沒有障礙物的聲納距離信息,此時灰色線段表示了聲納所能檢測的最大距離,當機器人距離障礙物較近時,灰色直線段的長度顯示了實際的距離信息,如圖4(b)所示。
圖2 機器人運動參數示意圖
圖3 環(huán)境模型示例
圖4 聲納感知模型
文獻[9]提出了一種資源約束的多機器人協(xié)調調度方法,對于裝配有不同資源(比如視覺系統(tǒng)、抓手或者激光等傳感器)的多機器人系統(tǒng),通過集中的最優(yōu)任務分配優(yōu)化方法,規(guī)劃出每個機器人要完成的任務,實現多機器人系統(tǒng)的協(xié)調運行。該多機器人系統(tǒng)采用集劃分的建模方法,利用不同資源的多機器人系統(tǒng)之間的資源同步來計算最優(yōu)的任務分配方案。計算過程包括兩個階段:第一階段計算具有同步約束的任務分配方案;第二階段計算具體的時間調度。具體建模如下:
第一階段建模
最大化
其中,目標函數表示最大化完成任務的報酬減去付出的總的代價,在目標函數中,第一項表示完成任務的報酬,第二項表示每個機器人完成任務付出的代價之和,約束(3)表明每個機器人只能分配最多一個任務,約束(4)表示每個任務最多只能被一個機器人來完成,約束(5)表示完成任務計劃所需要的資源必須小于或等于每個機器人所擁有的資源,約束(6)表示完成任務計劃所需要的資源的功能值必須小于或等于每個機器人所擁有的資源功能值。
第二階段計算當存在資源同步的時候,如何調度每個機器人的執(zhí)行時間。某個任務的執(zhí)行需要不同的資源,而這些資源被不同的機器人所擁有,因此,其中一個機器人在到達任務執(zhí)行地點后,需要等待擁有其他資源的機器人都到達任務執(zhí)行地點才可一起執(zhí)行該任務。具體建模為:
最小化
其中目標函數最小化所有任務的執(zhí)行時間,約束(8)表示任務的執(zhí)行時間、機器人本應到達時間和延遲時間之間的關系,約束(9)表示機器人達到延遲時間和執(zhí)行任務延遲時間之間的關系,約束(10)表示任務和任務要求時間上同步,具體如圖5所示。
以上協(xié)調調度問題利用CPLEX的Branch-and-bound方法和LP方法可以求解,在仿真系統(tǒng)中,將該模塊作為仿真系統(tǒng)的協(xié)調控制模塊,當輸入模型的參數,計算出相關的任務調度方案之后,多機器人系統(tǒng)就開始自動執(zhí)行所分配的任務。
開發(fā)的仿真系統(tǒng)如圖6所示,主要功能有加載環(huán)境模型、典型運動,包括直線前進和后退,逆時和順時旋轉、定點運動、漫游和多機器人協(xié)調運動。
圖5 任務調度關系
圖6 仿真系統(tǒng)操作界面
3.1加載環(huán)境模型
在文件菜單中點擊加載地圖,選擇要加載的地圖模型文件,在視圖中即顯示出環(huán)境模型地圖。圖7(a)為加載的辦公室環(huán)境模型,圖7(b)為加載的迷宮環(huán)境模型。環(huán)境模型視圖可以進行平移、放大和縮小以觀察局部細節(jié)或擴大視野范圍。
3.2典型運動實例
以在辦公室環(huán)境中的兩個機器人作為實例,驗證機器人的典型運動,包括直線運動、旋轉運動、定點運動和漫游。圖8為兩個機器人在連續(xù)采樣時刻的直線運動序列,機器人身后直線段是機器人的運動軌跡。圖9為兩個機器人在連續(xù)采樣時刻的逆時針旋轉運動序列。圖10為機器人的定點運動序列。圖11是機器人在環(huán)境中漫游的運動序列。
圖7 加載環(huán)境模型
圖8 直線運動實例
圖9 旋轉運動實例
圖10 定點運動實例
圖11 漫游實例
3.3多機器人協(xié)調運動實例
以文獻[9]中的實例為例進行驗證,首先設置協(xié)調模型參數,包括機器人和任務的數目和位置,第一和第二階段的模型參數,在協(xié)調控制模塊計算出結果后開始執(zhí)行協(xié)調運動,如圖12所示。圖13是協(xié)調運動的運動序列。當機器人行進過程中存在障礙物時,機器人會繞過障礙物,再運動到執(zhí)行任務的位置處。如圖14所示,機器人2運動過程中遇到障礙物,機器人2開始避障,當確定遠離障礙物后,繼續(xù)運動到任務3處,再進行后續(xù)的任務。
圖13 協(xié)調運動序列
圖14 有障礙物時的協(xié)調運動實例
筆者設計開發(fā)了基于Qt的多機器人協(xié)調系統(tǒng)的仿真平臺,該平臺能夠驗證各種機器人控制算法,并集成了多機器人協(xié)調控制,從而能夠更方便直觀地測試各種多機器人系統(tǒng)的控制。
[1]黃立,葉益斌,張輝.基于Microsoft Robotics Studio的機器人運動仿真研究[J].機電工程,2010,27(8):122-126.
[2]麥曉春,張新征,楊厚強,等.基于微軟機器人控制仿真平臺的路徑規(guī)劃仿真[J].計算機應用,2013,33(S1):55-58,101.
[3]譚定,李亮玉,王天琪.基于RobotStudio的雙機器人協(xié)調仿真[J].焊接技術,2011,40(6):45-48.
[4]樊雅萍,黃生學,溫佩芝,等.基于OpenGL的機器人虛擬漫游系統(tǒng)開發(fā)[J].系統(tǒng)仿真學報,2005,17(10):2426-2428,2441.
[5]田華英,吳秋軒,曹廣益.基于Java 3D的自重構機器人仿真平臺的構建[J].計算機仿真,2006,23(11):271-274.
[6]張鐵,歐陽帆.雙機器人協(xié)調焊接任務規(guī)劃及仿真[J].焊接學報,2012,33(12):9-12.
[7]張浩水,曹志強,周超,等.集成任務級與運動級協(xié)調的多機器人仿真系統(tǒng)[J].系統(tǒng)仿真學報,2009,21(6):1579-1582.
[8]BLANCHETTE J,SUMMERFIELD M.C++GUI Qt4編程[M].2版.北京:電子工業(yè)出版社,2008.
[9]WEN Shang,JUN Zhong,QIN Yan.Resource constrained multirobot task allocation with an optimal solution[C]//Chengdu:IEEE.Interntational Conference on Mechatronics and Automation,2012:2389-2394.
Research on Qt-based multi-robot coordination simulation system
SHANG Wen,YAN Qin
(School of Mechanical Engineering,SUST,Suzhou 215011,China)
Multi-robot system is a hot topic in the robotic field.We have developed a new Qt-based simulation system for multi-robot coordination which can simulate all kinds of typical robotic motions,such as fixed-point motion,wandering,etc.Multi-robot coordination mechanism and algorithm have been embedded in the simulation system.Thus the coordination can be intuitively verified and displayed.
Qt;multi-robot system;coordination;simulation
TP24
A
1672-0687(2016)01-0065-05
責任編輯:艾淑艷
2015-11-09
國家青年科學基金資助項目(51305287);江蘇省自然科學基金資助項目(BK20130624;13KJB510034);校科研基金資助項目(XKZ201312)
尚文(1978-),女,山東菏澤人,講師,博士,研究方向:多機器人系統(tǒng),自動化。