趙錦芝,梁天喜
(中原工學(xué)院,鄭州450007)
多機器人數(shù)據(jù)庫管理系統(tǒng)的設(shè)計
趙錦芝,梁天喜
(中原工學(xué)院,鄭州450007)
研究了多機器人協(xié)作系統(tǒng)的體系結(jié)構(gòu),采用Visual C++6.0開發(fā)了多機器人數(shù)據(jù)庫管理系統(tǒng),介紹了該系統(tǒng)的功能及其實現(xiàn)過程.該系統(tǒng)能大幅度提高編程效率和安全性,有一定的實用價值.
多機器人;數(shù)據(jù)庫;VisualC++6.0
隨著工業(yè)機器人技術(shù)的發(fā)展,機器人應(yīng)用的領(lǐng)域和范圍不斷擴展.由于單個機器人不能完成某些復(fù)雜的任務(wù).這就需要考慮構(gòu)建多個機器人的系統(tǒng),通過多機器人之間的協(xié)調(diào)與協(xié)作來完成任務(wù)[1].
經(jīng)過幾十年的發(fā)展,多機器人系統(tǒng)的理論研究和實際應(yīng)用取得了重大進展.目前,國外關(guān)于多機器人系統(tǒng)的研究較多,國內(nèi)在這方面的研究還處于初級階段.多機器人系統(tǒng)的應(yīng)用領(lǐng)域正向工業(yè)、農(nóng)業(yè)、國防等邁進.
隨著機器人數(shù)量的增加,系統(tǒng)的復(fù)雜度會增大,一些不確定的的因素會增加,系統(tǒng)的安全性和穩(wěn)定性面臨挑戰(zhàn).另外,如何有效地分解和分配任務(wù)給機器人,如何有效地識別機器人之間的工作空間,這是迫切需要解決的問題.本文設(shè)計了一種智能化的多機器人數(shù)據(jù)庫管理系統(tǒng),該系統(tǒng)能較好地解決機器人數(shù)據(jù)的接收、回放、存儲問題,減小了多機器人系統(tǒng)資源的占用率,降低了系統(tǒng)的不確定性.
在單機器人反應(yīng)式控制結(jié)構(gòu)的基礎(chǔ)上,將多機器人協(xié)作行為建立在一種反應(yīng)模式上,設(shè)計了一種面向多機器人協(xié)作系統(tǒng)的控制體系結(jié)構(gòu).該控制體系結(jié)構(gòu)分為3層,分別是任務(wù)規(guī)劃層、協(xié)調(diào)規(guī)劃層及行為控制層[2],如圖1所示.
圖1 多機器人協(xié)作系統(tǒng)結(jié)構(gòu)
(1)任務(wù)規(guī)劃層.任務(wù)規(guī)劃層賦予機器人團隊協(xié)作能力和組織能力.
(2)協(xié)調(diào)規(guī)劃層.協(xié)作規(guī)劃層確定機器人各種任務(wù)與關(guān)系后,機器人會根據(jù)自身能力、當(dāng)前任務(wù)、當(dāng)前環(huán)境等信息,采用行為反應(yīng)控制的方法,規(guī)劃出具體的運動軌跡和運動方向.
(3)行為控制層.行為控制層可執(zhí)行協(xié)調(diào)規(guī)劃層產(chǎn)生的運動控制命令,實現(xiàn)具體的控制,加強系統(tǒng)的實時性和動態(tài)性.
行為控制層中的數(shù)據(jù)庫管理系統(tǒng),具有對機器人參數(shù)信息進行管理和維護的功能.本文設(shè)計的數(shù)據(jù)庫管理系統(tǒng),能實現(xiàn)多機器人信息管理的系統(tǒng)化、規(guī)范化.
多機器人數(shù)據(jù)庫管理系統(tǒng)主要由系統(tǒng)登錄模塊、基本信息查詢模塊、數(shù)據(jù)庫維護模塊構(gòu)成,如圖2所示.
圖2 數(shù)據(jù)庫管理系統(tǒng)結(jié)構(gòu)
系統(tǒng)啟動后,彈出系統(tǒng)登錄界面,系統(tǒng)消息框提示輸入合法的用戶名和密碼,對用戶名和密碼進行驗證.如果輸入的用戶名或者密碼錯誤,系統(tǒng)消息框提示“您輸入的用戶名或密碼錯誤,請重試!”;如果輸入的用戶名和密碼均正確,系統(tǒng)將進入到下一個界面.
該模塊可以瀏覽系統(tǒng)存儲的機器人信息,也可以選擇某些已知條件查詢,將查詢結(jié)果返回用戶端并顯示出來.
該模塊可以對機器人信息進行管理和維護,主要是對數(shù)據(jù)庫中的信息進行添加、刪除、修改.
2.3.1 信息的錄入
機器人信息的錄入是通過添加操作,將輸入端和對應(yīng)的參數(shù)信息錄入到相應(yīng)的數(shù)據(jù)庫里.該模塊通過相應(yīng)的數(shù)據(jù)庫接口實現(xiàn)了數(shù)據(jù)的處理、傳輸、存儲功能.
2.3.2 信息的修改
隨著多機器人工業(yè)技術(shù)的迅猛發(fā)展以及機器人的外部環(huán)境參數(shù)的改變,原有的參數(shù)值會被新的參數(shù)值取代.因此在用戶端輸入或選擇已知條件、輸入新的參數(shù)時,可以通過數(shù)據(jù)修改操作,將數(shù)據(jù)庫里原有的記錄進行修改.
采用VisualC++6.0編程工具開發(fā)多機器人數(shù)據(jù)庫管理系統(tǒng),系統(tǒng)使用的后臺數(shù)據(jù)庫服務(wù)器為Access 2003.
由于機器人信息參數(shù)表的數(shù)據(jù)模型與關(guān)系模型最為匹配,因此本系統(tǒng)選用關(guān)系模型來存儲數(shù)據(jù).
VisualC++6.0高級語言為應(yīng)用程序訪問數(shù)據(jù)庫提供了三種常用的方法:ODBC(開放數(shù)據(jù)庫連接)、DAO(數(shù)據(jù)訪問對象)和 ADO(活動數(shù)據(jù)訪問對象)[3].本系統(tǒng)采用ODBC數(shù)據(jù)源的連接方式.由于直接使用ODBC API編寫應(yīng)用程序要繪制大量代碼,因而在數(shù)據(jù)庫讀取數(shù)據(jù)之前,必須做一些復(fù)雜的初始化操作.而MFC ODBC類封裝了ODBC API,提供了簡化的調(diào)用接口.它主要包括三個類:CDatabase類、CRecordSet類、CRecord View類.本系統(tǒng)提供了一種簡單的C++與ODBC的接口連接方法,在快速生成簡單、一致的接口應(yīng)用程序方面,這些類非常有用.使用MFC ODBC方式,簡單靈活,易于開發(fā)[2].鑒于此,本文采用MFC ODBC數(shù)據(jù)庫技術(shù)開發(fā)多機器人數(shù)據(jù)庫管理系統(tǒng).
首先建立ODBC數(shù)據(jù)源,完成對數(shù)據(jù)源Robotdbs的添加;然后利用類向?qū)lasswizard創(chuàng)建CEnter Data-Set類,編寫登錄對話框程序代碼.多機器人數(shù)據(jù)庫管理系統(tǒng)運行后首先進入系統(tǒng)登錄界面,如圖3所示.
在登錄對話框界面輸入有效的用戶名和密碼.若輸入的用戶名和密碼均正確,即通過了身份驗證,系統(tǒng)會彈出友好消息框“歡迎進入多機器人數(shù)據(jù)庫管理系
圖3 系統(tǒng)登錄界面
統(tǒng)!”,系統(tǒng)轉(zhuǎn)入相應(yīng)的界面.登錄后,轉(zhuǎn)入系統(tǒng)主界面.如圖4所示.
圖4 系統(tǒng)主界面
在多機器人數(shù)據(jù)庫管理系統(tǒng)查詢模塊查詢區(qū)執(zhí)行查詢操作,先在下拉框選擇查詢條件(以選擇機器人型號為例,在查詢編輯框中輸入川崎機器人系列型號FS30L),點擊查詢按鈕,查詢模塊主界面出現(xiàn)記錄查詢信息.如圖5所示.
在菜單欄“數(shù)據(jù)庫維護”項選擇“數(shù)據(jù)庫管理”,進入數(shù)據(jù)庫管理主界面.該模塊主要實現(xiàn)機器人信息的添加、修改、刪除功能.如圖6所示.
在多機器人數(shù)據(jù)庫管理系統(tǒng)主界面操作區(qū)執(zhí)行添加操作,記錄對話框窗口彈出,在該窗口根據(jù)條件輸入相應(yīng)的新的記錄;點擊確定按鈕后,如果添加成功,則彈出友好消息框“添加機器人信息成功!”.系統(tǒng)會自動保存該記錄.如圖7所示.
在多機器人數(shù)據(jù)庫管理系統(tǒng)主界面操作區(qū)執(zhí)行修改操作,先選中要修改的記錄,記錄對話框窗口彈出,在該窗口根據(jù)條件輸入要修改的記錄;點擊確定按鈕后,如果修改成功,則彈出友好消息框“修改機器人信息成功!”.系統(tǒng)會自動刷新記錄.如圖8所示.
圖8 修改機器人信息界面
此外,在多機器人數(shù)據(jù)庫管理系統(tǒng)主界面操作區(qū)執(zhí)行刪除操作,先選中要刪除的記錄,點擊確定按鈕后,系統(tǒng)彈出友好消息框“是否要刪除該條機器人信息記錄!”.刪除成功后,系統(tǒng)會自動刷新記錄.
本文提出了一種多機器人協(xié)作體系結(jié)構(gòu),介紹了多機器人數(shù)據(jù)庫管理系統(tǒng)各模塊的功能及其實現(xiàn)過程,闡述了ODBC連接數(shù)據(jù)源接口與后臺數(shù)據(jù)庫Access2003之間的傳輸、接收方式,說明了系統(tǒng)的主要實現(xiàn)過程.該數(shù)據(jù)庫管理系統(tǒng)能有效地支撐多機器人協(xié)調(diào)與協(xié)作.
[1]高志軍,嚴國正,丁國濤,等.多機器人協(xié)調(diào)與合作系統(tǒng)的研究發(fā)展與現(xiàn)狀[J].光學(xué)精密工程,2001,9(2):99-103.
[2]趙志偉.多機器人協(xié)調(diào)作業(yè)策略研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006:3-8.
[3]姚明明.基于PSO神經(jīng)網(wǎng)絡(luò)鉆削數(shù)據(jù)庫系統(tǒng)的研究與開發(fā)[D].哈爾濱:哈爾濱理工大學(xué),2008:36-38.
[4]林青松,胡方霞,劉杰,等.VisualC++案例開發(fā)[M].北京:中國水利水電出版社,2005:78-88.
[5]侯俊杰.深入淺出MFC第二版[M].武漢:華中科技大學(xué)出版社,2001.
[6]楊小平.VC++項目實踐攻關(guān)[M].北京:科學(xué)出版社,2002.
Design of Multi-robots Database Management System
ZHAO Jin-zhi,LIANG Tian-xi
(Zhongyuan University of Technology,Zhengzhou 450007,China)
The architecture of cooperative system of multi-robots(MRS)has been studied in this article.The database management system of multi-robots are developed by Visual C++6.0.The function of system and implementation process has been introduced.The multi-robots system can greatly improve the programming efficiency and system security.To some extent,the multi-robots system has some practical values.
multi-robot;Database;VisualC++6.0
TP242.6
A
10.3969/j.issn.1671-6906.2011.05.003
1671-6906(2011)05-0012-04
2011-09-26
國家“863”項目(2005AA404290);河南省科技攻關(guān)重點項目(082102210084)
趙錦芝(1969-),女,黑龍江哈爾濱人,副教授.