该遥操作平台提供的人机接口系统界面如图3所示。若检测到方向盘,并且在界面的控制菜单下选择方向盘操作,则可以通过方向盘来操作机器人的移动。如果在界面的控制菜单下选用鼠标控制,可以点击图3“键盘操作面板”中的加速、前进、减速、左转等按钮来操作机器人。如果在界面的控制菜单下选用选择键盘控制,则可以通过键盘上的快捷键来操作机器人。图4中4个圆盘形控件相应地显示4个主动轮转动的角度,圆盘形控件左边的柱状控件相应地显示了4个主动轮的速度,并将指令通过通信系统传给机器人。左上角的区域还可以显示机器人的仿真影像等。右上角的“操作设备输入数据显示”面板中可直接输入机器人的速度和角度信息,可以使机器人快速准确地进入到预定的速度和角度上。
实现此人机接口系统的全部程序代码由一个总结构和4个类组成,下面简要地介绍一下它们的代码和功能。
2.1 总结构中的主要函数
(1)_fast call TMainForm::TMainForm(TCom-ponent*Ownetr):此函数主要完成机器人部分初始化和状态选择。
(2)void_ _fastcall TMainForm::Event(TObject*Sender):此函数主要响应方向盘、键盘和鼠标操作的事件,从而可实现对机器人移动的操作。
(3)void_ _fastcall TMainForm::KeyCtrl(TOb-ject*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 结 语
在此设计与实现了一种机器人的遥操作接口系统,操作员可以通过此接口系统成功地操作机器人。实验结果证明,此遥操作接口系统具有以下优点:操作简便,界面友好,安全性和可靠性强等。但是仍存在不足,如操作的实时性较差,还有待改进。