侯保民 冯健翔 杜 芳 王俊锋 郭小强 侯海英
摘 要:针对移动机器人的远程操作问题,基于C++ Builder软件环境,设计和实现了一种移动机器人的遥操作接口系统,可利用方向盘、键盘和鼠标来操作机器人的移动。基于此接口系统建立了遥操作系统原型,并且进行了室内试验。室内试验表明,此遥操作接口系统具有简便、界面友好等特点。
关键词:遥操作;人机接口;移动机器人;软件环境
中图分类号:TP311文献标识码:A
文章编号:1004-373X(2009)10-034-02
Design and Implement of Teleoperation Interface System for Mobile Robot
HOU Baomin,FENG Jianxiang,DU Fang,WANG Junfeng,GUO Xiaoqiang,HOU Haiying
(Academy of Equipment Command & Technology,Beijing,101416,China)
Abstract:To resolve the teleoperation problem for a mobile robot,a kind of human-machine interface systembased on the C++ Builder software environment is designed.It can operate movement of the robot in three operation modes:steering wheels,keyboard and mouse.Based on it,a teleoperation system prototype is constructed and implemented.and it is tested in the laboratory.The experimentation in doors indicates that the teleoperation interface system is simple,convenient,friendly and so on.
Keywords:teleoperation;human-machine interface;mobile robot;software environment
0 引 言
遥操作就是远距离操作,是在远方人的行为动作远距离作用下,使事物产生运动变化。遥操作是一种基础技术,应用领域相当广泛,如机器人领域、航空航天领域、基础科学试验、核工程、海底与远洋作业等。遥操作技术使移动机器人到达艰险的环境,通过机器人完成特定的任务,从而可以使人远离艰险的工作环境。因此,研究遥操作技术意义深远。
机器人在物理空间上,可以实现人类感知能力和行为能力的延伸;在信息层次上将远端的移动机器人与操作人员无形连接在一个闭环回路里,实时地控制远端移动机器人的运动,以最大限度地利用远近端设备、资源和遥操作者的智力、经验,从而实现资源的最佳配置,完成特定的任务。人机接口系统就是通过什么样的方式来发送控制指令和进行状态数据的反馈,是移动机器人中一项重要的技术。
基于遥操作平台,设计了一种针对“喀吗哆”机器人的人机接口系统。采用该人机接口系统进行了机器人室内行走实验。实验表明,该人机接口系统方便灵活、可靠、人机接口系统显示丰富生动,提供多种操作模式,可实现数据的存储和实时显示。
1 机器人人机接口系统
一种柔性结构的四轮式移动机器人,其信息传送示意图如图1所示。
基于遥操作平台和通信系统,远方操作员通过人机接口将指令序列发送到机器人,机器人接收并编译指令,并且把编译之后的指令发送到相应的执行机构,再由执行装置来控制机器人的移动。同时机器人通过通信系统将其各种状态和相关信息传到遥操作平台中,远方操作员可以通过人机接口看到与机器人相关的信息。该设计实现的是与遥操作平台相嵌的人机接口系统部分,即图1中椭圆表示的部分。
2 设计与实现
该系统用到相关硬件设备如下:计算机(P4 1.8 G、512 MB内存、USB端口、Windows XP操作系统、DirectX 9.0版本)1台、标准键盘1个、鼠标1个、SG-USB006E型赛诺方向盘一个。软件有Borland C++ Builder编译环境。
人机接口系统操作过程见图2。首先,开始之后系统初始化,检测是否连接了方向盘。若检测到方向盘,下面可有方向盘、键盘和鼠标模式可供选择;若没有检测到方向盘,只可选择键盘和鼠标模式。接着,判断机器人状态是否正常。若异常,则显示异常警报,返回到开始;若正常,根据是否检测到方向盘,则可在可选的操作模式中选择一种或几种操作模式。接着,可以通过已选模式操作机器人,同时接口系统将相应速度和角度等数据写入缓冲区,根据缓冲区的数据,机器人最终可以完成各种相应的动作。同时接口系统还可以实现机器人相应信息的屏幕显示和速度角度等信息的保存等。
该遥操作平台提供的人机接口系统界面如图3所示。若检测到方向盘,并且在界面的控制菜单下选择方向盘操作,则可以通过方向盘来操作机器人的移动。如果在界面的控制菜单下选用鼠标控制,可以点击图3“键盘操作面板”中的加速、前进、减速、左转等按钮来操作机器人。如果在界面的控制菜单下选用选择键盘控制,则可以通过键盘上的快捷键来操作机器人。图4中4个圆盘形控件相应地显示4个主动轮转动的角度,圆盘形控件左边的柱状控件相应地显示了4个主动轮的速度,并将指令通过通信系统传给机器人。左上角的区域还可以显示机器人的仿真影像等。右上角的“操作设备输入数据显示”面板中可直接输入机器人的速度和角度信息,可以使机器人快速准确地进入到预定的速度和角度上。
实现此人机接口系统的全部程序代码由一个总结构和4个类组成,下面简要地介绍一下它们的代码和功能。
2.1 总结构中的主要函数
(1) __fastcall TMainForm::TMainForm(TComponent* Owner):
此函数主要完成机器人部分初始化和状态选择。
(2) void __fastcall TMainForm::Event(TObject *Sender):
此函数主要响应方向盘、键盘和鼠标操作的事件,从而可实现对机器人移动的操作。
(3) void __fastcall TMainForm::KeyCtrl(TObject *Sender,char &Key;):
此函数主要完成对键盘操作的初步响应。
(4) void __fastcall TMainForm::Timer(TObject *Sender):
此函数主要完成对机器人实时状态和方向盘、键盘和鼠标的操作的实时刷新,其刷新频率可以在一定的范围内进行选择。
2.2 四个类及其功能
(1) class CComPort。
此类主要完成对数据存储缓冲区的初始化、释放和对缓冲区的读和写等。
(2) class CJoyStick。
此类主要完成对方向盘数据的读取,USB端口设备连接状态,方向盘初始化,设置数据格式,清除数据,释放空间等操作。
(3) class CKamado。
此类主要完成在键盘或鼠标操作模式下,机器人自主完成一系列基本动作(前进、后退、左转、右转、停止、加速、减速等)和几个自定义动作(转直角、原地自旋等)。
(4) class CWheel。
此类主要实现自主模式下轮子的旋转动作,包括每个轮的旋转的具体速度和度数。
3 室内行走实试验
基于上述遥操作接口系统,进行了多次机器人室内行走试验。人机接口系统能够实现以下功能:用3种操
作模式操作机器人的移动,对机器人的速度角度进行预置,对机器人进行状态显示和数据存储。机器人可以根据遥操作接口发送的指令,安全稳定、可靠地实现前进、后退、速度角度预置、原地旋转、爬坡等运动。
4 结 语
在此设计与实现了一种机器人的遥操作接口系统,操作员可以通过此接口系统成功地操作机器人。实验结果证明,此遥操作接口系统具有以下优点:操作简便,界面友好,安全性和可靠性强等。但是仍存在不足,如操作的实时性较差,还有待改进。
参考文献
[1]Feng Jianxiang.Kamaduo:A Lunar Robot and Its Operations[A].3rd International RCL/VNIITRANSMASH Workshop on Planetary Rovers,Space Robotics and Earth-based robots-2005.St.Petersburg,Russia,2005.
[2]冯健翔.广义人工智能基础研究[M].北京:中国宇航出版社,1999.
[3]杜芳,冯健翔,陈俊.一种移动机器人遥操作平台的设计与实现[J].科学技术与工程,2007,7(22):5 098-5 111.
[4]彭一准,原魁,王辉.具有友好界面遥操作移动机器人的合作控制[J].计算机工程与应用,2006(8):216-218,223.
[5]高龙琴,许志峰,黄惟一,等.交互式遥操作机器人实验平台设计及其应用[J].东南大学学报:自然科学版,2004,34(6):64-68.
[6]王志峰,王占林,付永领,等.基于虚拟现实Stewart平台遥操作系统[J].北京航空航天大学学报,2007,33(4):60-64.
[7]岳宏.基于虚拟现实触觉感知接口技术的研究与进展[J].机器人,2003,25(5):475-480.
[8]王晓亨,陆宇平.机器人无线远程控制系统的人机接口[J].信息技术,2007(1):1-3.
[9]宁祎,韩莉莉.人与机器人实现动态耦合的重要接口[J].中国机械工程,2000,11(3):50-52,55.
[10]任昊星,翁海华,杨杨,等.基于Web的机器人遥操作的研究与实现.计算机工程,1999,25(5):64-65.