论文部分内容阅读
摘要:本文立足于人机交互(Human–Computer Interaction,简称HCI)的应用,在实验室条件下对基于笔记本计算机平台(文中简称为“子平台”)的移动机器人的交互式控制系统进行了设计与实验。
关键词:移动机器人;人机交互;计算机子平台;通信技术
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
一、概述
随着社会的发展,社会分工越来越细。尤其在现代化的大生产中,人们感到自己在不断异化,各种职业病开始产生,人们强烈希望用某种机器代替自己完成一成不变的工作。于是人们研制出机器人,以代替人完成那些枯燥、单调、危险的工作。目前,机器人技术得到迅速的发展,其应用领域越来越广泛,性能越来越先进,机器人模块化、平台统一化的趋势亦越来越明显[1]。这种先进机器设备的出现提高了劳动生产率和产品质量,创造出更多的社会财富。机器人是一种高集成度自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器[2-3]。人机交互、人机互动(英文:Human–Computer Interaction或Human–Machine Interaction,简称HCI或HMI),是门研究系统与用户之间的互动关系的学问[4]。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作[5]。本论文以项目“无线网络机器人视觉采集”为背景,项目描述如下:构建一个以红外线传感器为节点的无线局域网,监测特定的环境。
二、移动控制系统设计
“移动控制系统”主要由PDA客户端、笔记本计算机子平台、移动机器人以及通讯四个部分组成。其总体设计方框如图1所示。
上图中的数字标号表示系统的数据交互:
①人的意识;
②PDA控制指令(即①意识的具体化);
③机器人指令(来自②,经过笔记本计算机子平台解析);
④、⑤机器人传感器信息数据;
⑥经PDA客户端整理的可视化传感器信息数据。
上面对“移动控制系统”总体设计方框和软件体系作了简单的介绍,接下来我们将先了解系统的集成开发环境以及关键技术,然后在第三章会详细介绍移动机器人的特性,第四章则侧重具体阐述“子平台系统”在实验室条件下的实现过程。
三、子平台系统的实现
笔记本计算机子平台,作为“移动控制系统”的传输枢纽,一方面通过串口与机器人进行通讯,另一方面要与PDA客户端进行无线通讯,另外还要求提供良好的人机界面供管理人员操作。可以说,它的功能要求比较高。在Visual Studio.Net下,使用Visual C++语言环境,创建基于MFC——Dialog based的工程“Subplatform”。创建相应的功能模块类和对象,添加控件并编写代码实现对话框功能。其程序类视图如图2所示:
(一)无线通讯模块
此模块选用上文介绍的UDP协议作为传输机制,将设置相关的参数,包括笔记本计算机子平台的IP地址、远程端口和本地端口。另外,这部分还提供“打开端口”和“关闭端口”两个功能按钮,如图3所示。
运行软件后,在“端口”框输入本地地址端口(如5001),然后按下“打开端口”,成功打开端口后按钮变为“不可见”。在这里我们创建CUDPServer类,封装了Windows Socket API函数。
(二)机器人管理模块
此模块是子平台系统的核心功能部分,用于对移动机器人进行控制操作和传感器的状态转换,主要是通过检测机器人的状态,并根据需要切换其各个传感器的状态,确保其处于正常工作状态,进而使得PDA客户端向子平台请求控制机器人命令顺利实现。
有一点值得注意,当PDA客户端经请求成功获取对机器人的控制后,笔记本计算机子平台提供的软件系统将不能再对机器人进行操作,以确保其指令的同一性。为此,需要对NB子平台软件界面上的有关控制按钮进行“不可见”处理,可以使用对话框中具体控件的Control(CWnd:public CCmdTarget)类型的成员变量提供的成员函数“BOOL EnableWindow(BOOL bEnable=TRUE);”来实现“不可见”处理。
至于动作控制操作,则要为对话框上的控制按钮添加相应的映射函数(即事件处理程序),然后在其函数体内添加具体的控制指令代码。
(三)信息显示模块
此模块既显示PDA客户端指令信息,检验是否正确接收并解析指令;又显示采集自移动机器人传感器的信息数据,以检验移动机器人的状态是否正常。
在列表框中按时间顺序显示PDA客户端发送过来的“人”的指令的具体意义,即PDA客户端希望机器人执行的动作,并显示相应的操作动作时间。对话框选用了“List Box”控件,利用对应控件类CListBox的成员函数AddString()来实现数据的显示。如图4所示。
将机器人传感器的信息数据(包括“声纳”和“红外”)显示在软件界面上,方便笔记本计算机子平台的操作人员监测传感器的工作情况。对话框选用了“ListCtrl”控件,利用对应控件类CListCtrl的成员函数来实现数据的显示。程序设计、编写完成后,在笔记本计算机子平台上调试,其软件界面如图5所示:
四、结论
本文首先分析了“移动控制系统”整体架构的可行性,并在此基础上引入相应的开发平台和关键技术,然后详细介绍了博创UP-Voyager ⅡA机器人的机械和软件特性,最后重点阐述了笔记本计算机子平台软件的实现过程。子平台作为整个系统的枢纽,一方面成功与PDA客户端进行基于UDP协议的通讯,另一方面能控制机器人的运动。笔记本计算机子平台软件提供了一个良好的人机互动界面,操作简单,实用性较好。
参考文献:
[1]王亚辉,何耀文.机器人的应用现状及发展趨势[J].经济师,2005,8:246-247
[2]刘志雄.基于嵌入式系统的室内移动机器人的应用研究[D].昆明理工大学硕士学位论文,2007
[3]方建军,何广平.智能机器人[M].化学工业出版社,2004
[4]朱世交.基于PDA的移动通信数据采集、分析信息系统的构架与实现[D].华东师范大学硕士学位论文,2005
[作者简介]席朝琼(1980-),女,广东广州人,广东省食品药品学校,本科学士学位,主要研究方向:计算机技术。
关键词:移动机器人;人机交互;计算机子平台;通信技术
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
一、概述
随着社会的发展,社会分工越来越细。尤其在现代化的大生产中,人们感到自己在不断异化,各种职业病开始产生,人们强烈希望用某种机器代替自己完成一成不变的工作。于是人们研制出机器人,以代替人完成那些枯燥、单调、危险的工作。目前,机器人技术得到迅速的发展,其应用领域越来越广泛,性能越来越先进,机器人模块化、平台统一化的趋势亦越来越明显[1]。这种先进机器设备的出现提高了劳动生产率和产品质量,创造出更多的社会财富。机器人是一种高集成度自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器[2-3]。人机交互、人机互动(英文:Human–Computer Interaction或Human–Machine Interaction,简称HCI或HMI),是门研究系统与用户之间的互动关系的学问[4]。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作[5]。本论文以项目“无线网络机器人视觉采集”为背景,项目描述如下:构建一个以红外线传感器为节点的无线局域网,监测特定的环境。
二、移动控制系统设计
“移动控制系统”主要由PDA客户端、笔记本计算机子平台、移动机器人以及通讯四个部分组成。其总体设计方框如图1所示。
上图中的数字标号表示系统的数据交互:
①人的意识;
②PDA控制指令(即①意识的具体化);
③机器人指令(来自②,经过笔记本计算机子平台解析);
④、⑤机器人传感器信息数据;
⑥经PDA客户端整理的可视化传感器信息数据。
上面对“移动控制系统”总体设计方框和软件体系作了简单的介绍,接下来我们将先了解系统的集成开发环境以及关键技术,然后在第三章会详细介绍移动机器人的特性,第四章则侧重具体阐述“子平台系统”在实验室条件下的实现过程。
三、子平台系统的实现
笔记本计算机子平台,作为“移动控制系统”的传输枢纽,一方面通过串口与机器人进行通讯,另一方面要与PDA客户端进行无线通讯,另外还要求提供良好的人机界面供管理人员操作。可以说,它的功能要求比较高。在Visual Studio.Net下,使用Visual C++语言环境,创建基于MFC——Dialog based的工程“Subplatform”。创建相应的功能模块类和对象,添加控件并编写代码实现对话框功能。其程序类视图如图2所示:
(一)无线通讯模块
此模块选用上文介绍的UDP协议作为传输机制,将设置相关的参数,包括笔记本计算机子平台的IP地址、远程端口和本地端口。另外,这部分还提供“打开端口”和“关闭端口”两个功能按钮,如图3所示。
运行软件后,在“端口”框输入本地地址端口(如5001),然后按下“打开端口”,成功打开端口后按钮变为“不可见”。在这里我们创建CUDPServer类,封装了Windows Socket API函数。
(二)机器人管理模块
此模块是子平台系统的核心功能部分,用于对移动机器人进行控制操作和传感器的状态转换,主要是通过检测机器人的状态,并根据需要切换其各个传感器的状态,确保其处于正常工作状态,进而使得PDA客户端向子平台请求控制机器人命令顺利实现。
有一点值得注意,当PDA客户端经请求成功获取对机器人的控制后,笔记本计算机子平台提供的软件系统将不能再对机器人进行操作,以确保其指令的同一性。为此,需要对NB子平台软件界面上的有关控制按钮进行“不可见”处理,可以使用对话框中具体控件的Control(CWnd:public CCmdTarget)类型的成员变量提供的成员函数“BOOL EnableWindow(BOOL bEnable=TRUE);”来实现“不可见”处理。
至于动作控制操作,则要为对话框上的控制按钮添加相应的映射函数(即事件处理程序),然后在其函数体内添加具体的控制指令代码。
(三)信息显示模块
此模块既显示PDA客户端指令信息,检验是否正确接收并解析指令;又显示采集自移动机器人传感器的信息数据,以检验移动机器人的状态是否正常。
在列表框中按时间顺序显示PDA客户端发送过来的“人”的指令的具体意义,即PDA客户端希望机器人执行的动作,并显示相应的操作动作时间。对话框选用了“List Box”控件,利用对应控件类CListBox的成员函数AddString()来实现数据的显示。如图4所示。
将机器人传感器的信息数据(包括“声纳”和“红外”)显示在软件界面上,方便笔记本计算机子平台的操作人员监测传感器的工作情况。对话框选用了“ListCtrl”控件,利用对应控件类CListCtrl的成员函数来实现数据的显示。程序设计、编写完成后,在笔记本计算机子平台上调试,其软件界面如图5所示:
四、结论
本文首先分析了“移动控制系统”整体架构的可行性,并在此基础上引入相应的开发平台和关键技术,然后详细介绍了博创UP-Voyager ⅡA机器人的机械和软件特性,最后重点阐述了笔记本计算机子平台软件的实现过程。子平台作为整个系统的枢纽,一方面成功与PDA客户端进行基于UDP协议的通讯,另一方面能控制机器人的运动。笔记本计算机子平台软件提供了一个良好的人机互动界面,操作简单,实用性较好。
参考文献:
[1]王亚辉,何耀文.机器人的应用现状及发展趨势[J].经济师,2005,8:246-247
[2]刘志雄.基于嵌入式系统的室内移动机器人的应用研究[D].昆明理工大学硕士学位论文,2007
[3]方建军,何广平.智能机器人[M].化学工业出版社,2004
[4]朱世交.基于PDA的移动通信数据采集、分析信息系统的构架与实现[D].华东师范大学硕士学位论文,2005
[作者简介]席朝琼(1980-),女,广东广州人,广东省食品药品学校,本科学士学位,主要研究方向:计算机技术。