赵锦芝,梁天喜
(中原工学院,郑州450007)
多机器人数据库管理系统的设计
赵锦芝,梁天喜
(中原工学院,郑州450007)
研究了多机器人协作系统的体系结构,采用Visual C++6.0开发了多机器人数据库管理系统,介绍了该系统的功能及其实现过程.该系统能大幅度提高编程效率和安全性,有一定的实用价值.
多机器人;数据库;VisualC++6.0
随着工业机器人技术的发展,机器人应用的领域和范围不断扩展.由于单个机器人不能完成某些复杂的任务.这就需要考虑构建多个机器人的系统,通过多机器人之间的协调与协作来完成任务[1].
经过几十年的发展,多机器人系统的理论研究和实际应用取得了重大进展.目前,国外关于多机器人系统的研究较多,国内在这方面的研究还处于初级阶段.多机器人系统的应用领域正向工业、农业、国防等迈进.
随着机器人数量的增加,系统的复杂度会增大,一些不确定的的因素会增加,系统的安全性和稳定性面临挑战.另外,如何有效地分解和分配任务给机器人,如何有效地识别机器人之间的工作空间,这是迫切需要解决的问题.本文设计了一种智能化的多机器人数据库管理系统,该系统能较好地解决机器人数据的接收、回放、存储问题,减小了多机器人系统资源的占用率,降低了系统的不确定性.
在单机器人反应式控制结构的基础上,将多机器人协作行为建立在一种反应模式上,设计了一种面向多机器人协作系统的控制体系结构.该控制体系结构分为3层,分别是任务规划层、协调规划层及行为控制层[2],如图1所示.
图1 多机器人协作系统结构
(1)任务规划层.任务规划层赋予机器人团队协作能力和组织能力.
(2)协调规划层.协作规划层确定机器人各种任务与关系后,机器人会根据自身能力、当前任务、当前环境等信息,采用行为反应控制的方法,规划出具体的运动轨迹和运动方向.
(3)行为控制层.行为控制层可执行协调规划层产生的运动控制命令,实现具体的控制,加强系统的实时性和动态性.
行为控制层中的数据库管理系统,具有对机器人参数信息进行管理和维护的功能.本文设计的数据库管理系统,能实现多机器人信息管理的系统化、规范化.
多机器人数据库管理系统主要由系统登录模块、基本信息查询模块、数据库维护模块构成,如图2所示.
图2 数据库管理系统结构
系统启动后,弹出系统登录界面,系统消息框提示输入合法的用户名和密码,对用户名和密码进行验证.如果输入的用户名或者密码错误,系统消息框提示“您输入的用户名或密码错误,请重试!”;如果输入的用户名和密码均正确,系统将进入到下一个界面.
该模块可以浏览系统存储的机器人信息,也可以选择某些已知条件查询,将查询结果返回用户端并显示出来.
该模块可以对机器人信息进行管理和维护,主要是对数据库中的信息进行添加、删除、修改.
2.3.1 信息的录入
机器人信息的录入是通过添加操作,将输入端和对应的参数信息录入到相应的数据库里.该模块通过相应的数据库接口实现了数据的处理、传输、存储功能.
2.3.2 信息的修改
随着多机器人工业技术的迅猛发展以及机器人的外部环境参数的改变,原有的参数值会被新的参数值取代.因此在用户端输入或选择已知条件、输入新的参数时,可以通过数据修改操作,将数据库里原有的记录进行修改.
采用VisualC++6.0编程工具开发多机器人数据库管理系统,系统使用的后台数据库服务器为Access 2003.
由于机器人信息参数表的数据模型与关系模型最为匹配,因此本系统选用关系模型来存储数据.
VisualC++6.0高级语言为应用程序访问数据库提供了三种常用的方法:ODBC(开放数据库连接)、DAO(数据访问对象)和 ADO(活动数据访问对象)[3].本系统采用ODBC数据源的连接方式.由于直接使用ODBC API编写应用程序要绘制大量代码,因而在数据库读取数据之前,必须做一些复杂的初始化操作.而MFC ODBC类封装了ODBC API,提供了简化的调用接口.它主要包括三个类:CDatabase类、CRecordSet类、CRecord View类.本系统提供了一种简单的C++与ODBC的接口连接方法,在快速生成简单、一致的接口应用程序方面,这些类非常有用.使用MFC ODBC方式,简单灵活,易于开发[2].鉴于此,本文采用MFC ODBC数据库技术开发多机器人数据库管理系统.
首先建立ODBC数据源,完成对数据源Robotdbs的添加;然后利用类向导Classwizard创建CEnter Data-Set类,编写登录对话框程序代码.多机器人数据库管理系统运行后首先进入系统登录界面,如图3所示.
在登录对话框界面输入有效的用户名和密码.若输入的用户名和密码均正确,即通过了身份验证,系统会弹出友好消息框“欢迎进入多机器人数据库管理系
图3 系统登录界面
统!”,系统转入相应的界面.登录后,转入系统主界面.如图4所示.
图4 系统主界面
在多机器人数据库管理系统查询模块查询区执行查询操作,先在下拉框选择查询条件(以选择机器人型号为例,在查询编辑框中输入川崎机器人系列型号FS30L),点击查询按钮,查询模块主界面出现记录查询信息.如图5所示.
在菜单栏“数据库维护”项选择“数据库管理”,进入数据库管理主界面.该模块主要实现机器人信息的添加、修改、删除功能.如图6所示.
在多机器人数据库管理系统主界面操作区执行添加操作,记录对话框窗口弹出,在该窗口根据条件输入相应的新的记录;点击确定按钮后,如果添加成功,则弹出友好消息框“添加机器人信息成功!”.系统会自动保存该记录.如图7所示.
在多机器人数据库管理系统主界面操作区执行修改操作,先选中要修改的记录,记录对话框窗口弹出,在该窗口根据条件输入要修改的记录;点击确定按钮后,如果修改成功,则弹出友好消息框“修改机器人信息成功!”.系统会自动刷新记录.如图8所示.
图8 修改机器人信息界面
此外,在多机器人数据库管理系统主界面操作区执行删除操作,先选中要删除的记录,点击确定按钮后,系统弹出友好消息框“是否要删除该条机器人信息记录!”.删除成功后,系统会自动刷新记录.
本文提出了一种多机器人协作体系结构,介绍了多机器人数据库管理系统各模块的功能及其实现过程,阐述了ODBC连接数据源接口与后台数据库Access2003之间的传输、接收方式,说明了系统的主要实现过程.该数据库管理系统能有效地支撑多机器人协调与协作.
[1]高志军,严国正,丁国涛,等.多机器人协调与合作系统的研究发展与现状[J].光学精密工程,2001,9(2):99-103.
[2]赵志伟.多机器人协调作业策略研究[D].哈尔滨:哈尔滨工业大学,2006:3-8.
[3]姚明明.基于PSO神经网络钻削数据库系统的研究与开发[D].哈尔滨:哈尔滨理工大学,2008:36-38.
[4]林青松,胡方霞,刘杰,等.VisualC++案例开发[M].北京:中国水利水电出版社,2005:78-88.
[5]侯俊杰.深入浅出MFC第二版[M].武汉:华中科技大学出版社,2001.
[6]杨小平.VC++项目实践攻关[M].北京:科学出版社,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);河南省科技攻关重点项目(082102210084)
赵锦芝(1969-),女,黑龙江哈尔滨人,副教授.