工控网首页
>

应用设计

>

便携式移动机器人手持监控系统

便携式移动机器人手持监控系统

2013/11/7 11:47:41
目前,便携式移动机器人全自主控制方式尚不成熟,其监控系统普遍采用人在环半自主控制方式设计。为满足携带、系统小型化、嵌入式的结构特点,故设计便携式移动机器人手持监控系统,并将其用于履带结构便携式移动机器人实验平台。  

功能设计  
手持监控系统对便携式移动机器人起到监视与控制的全局性作用。手持监控系统可划分为视频图像监视模块、状态信息监测模块、遥控指令模块、无线通信模块、数字地图交互模块、全局路径规划模块六大功能模块(见图1)。  


  
  
视频图像监视模块对便携式移动机器人所处环境进行视频监视;状态信息监测模块对机器人自身状态信息的监测;遥控指令模块实现基本的运动指令编码以及发送;无线通信模块实现运动指令、状态信息、视频信号等数据的无线传输;数字地图交互模块实现环境地理信息的数字化显示及人机交互功能;全局路径规划模块实现点到点的最优路径搜索功能。  

硬件系统  

手持监控系统的硬件系统可划分为若干模块,各个模块实现自身相对独立的功能。  

硬件结构与接口  

手持监控系统硬件系统采用基于嵌入式系统的PCI 总线的PC/104plus 总线结构,分为无线通信、嵌入式图像采集、中央处理、遥控器、液晶显示等五大模块。无线通信模块又划分为无线数据传输和无线视频传输模块。无线数据传输模块实现运动指令、状态信息等窄带数据无线传输;无线视频传输模块实现视频图像信号等宽带数据无线传输。  

硬件系统各模块通过接口实现信息交换与数据共享。中央处理模块通过PC/104plus 总线与嵌入式图像采集模块接口,实现模块之间视频图像数据的传输。中央处理模块与无线数据传输模块及遥控器模块通过串口连接。中央处理模块通过TTL 接口与液晶显示模块连接。嵌入式图像采集模块与无线视频传输模块通过RCA 接口实现复合视频信号的传输(见图2)。   


  
硬件模块实现  

无线数据传输模块采用微功率无线数据传送单元实现。嵌入式图像采集模块采用PC/104plus总线结构的嵌入式图像采集卡实现。中央处理模块采用PC/104plus 总线结构的单板机实现。遥控器模块通过自行设计电路板实现按键扫描、指令编码以及串口发送等功能。液晶显示模块采用小型彩色液晶屏实现。以上各硬件模块实现符合手持设备小型化、便携式的硬件要求。  

软件系统  

手持监控系统的软件系统选用Windows CE(WinCE)作为嵌入式操作系统平台,监控系统软件包括:操作系统定制、设备驱动程序开发、应用程序。应用程序又分为:键盘扫描模块、串口通信模块、视频处理模块、数字地图模块、路径规划模块五大模块(见图3)。  


  
操作系统定制  

操作系统定制主要根据系统需要建立操作系统平台并对其进行相应的配置。通过平台裁剪工具Platform Builder(简称PB)完成。  

设备驱动程序开发  

WinCE的驱动程序分为:本机设备驱动程序和流接口驱动程序[5]。本机设备是指集成到目标平台的设备,其驱动程序由原设备制造商(OEM)提供。流接口驱动程序是指连接到WinCE平台的外部设备驱动程序,由用户自行开发。流接口驱动程序把外部设备看作文件系统的特殊文件,通过文件读取函数间接地访问外部设备。  

嵌入式图像采集卡驱动程序分为三部分:  

(1) 内核部分  
实现中断服务例程(ISR)。内核函数实现了物理中断号与逻辑中断标识之间的映射关系,并调用中断服务例程,中断服务例程在中断发生后向内核返回中断逻辑标识。  

(2) 驱动程序部分  
实现WinCE 流接口驱动模型所需要的文件操作接口函数,包括:采集卡初始化、数据读取和采集卡句柄关闭。  

(3) 应用程序部分  
通过调用设备注册函数将嵌入式图像采集卡中断驱动程序加载到系统内存,并根据采集卡初始化参数设置修改WinCE 系统注册表文件。  

应用程序设计  

键盘扫描模块及串口通信模块单片机程序在单片机集成开发环境uVision2 下用C 语言开发外,其余模块均在EVC(Windows CE Embedded VisualC++)下开发。  

(1) 键盘扫描模块  
键盘扫描模块主要实现单片机对薄膜键盘的按键识别及键值显示功能。薄膜键盘属于行列式非编码键盘,按键的识别通常采用逐行扫描查询法实现。程序采用软件延时的方法处理抖动。键值显示则通过单片机对液晶屏串行数据口编程实现。  

(2) 串口通信模块  
串口通信模块主要实现单板机与单片机之间的串行数据通信功能。该模块包括单板机串口通信程序、单片机串口通信程序、串口通信协议三部分。  

① 单板机串口通信程序。由于WinCE 不支持串口通信控件的使用,所以EVC 下的单板机串口通信程序开发只能通过调用文件操作函数实现。  
② 单片机串口通信程序。单片机串口通信程序设计必须根据通信双方约定设置串口工作方式及串口通信波特率。  
③ 串口通信协议。串口数据包括:双向通信测试数据、下行指令数据、上行传感数据,而传感数据又划分为:速度、加速度、位置、倾角等状态信息。为了在串口通信中正确分离和识别各种数据,通过对各种数据添加相应标志字节的方法编制串口通信协议。  

(3) 视频处理模块  

视频处理模块通过在EVC 下调用嵌入式图像采集卡驱动函数实现视频显示与视频控制功能。视频显示作为监控系统子窗口嵌入到软件系统用户界面。视频显示主要实现便携式移动机器人平台所处环境信息的实时视频显示与更新。视频控制主要实现对视频采集过程的控制,其中包括:视频采集窗口尺寸设置、视频源制式设置、视频数据格式选择及视频数据存储等。  

WinCE 不支持任何视频加速驱动程序和底层函数,所以无法直接调用DirectX 函数,则WinCE设备上动态视频的显示与回放,必须开发新的设备无关位图(DIB)快速显示函数。采用从DGdiObject类派生的方法,使用CreateDIBSection 函数创建DIB 位图,可以直接使用图形设备接口(GDI)函数来操作DIB 位图,以有效提高位图显示速度。  

(4) 数字地图模块  

数字地图是地理信息系统(GIS)中的概念。数字地图模块实现便携式移动机器人平台所处地理环境信息的数字化显示,并在此基础上实现对数字地图放大、缩小、漫游、查找等交互操作功能。  

数字地图模块通过在EVC 下嵌入MapXMobile 组件实现,并最终作为监控系统子窗口集成到软件系统用户界面。MapX Mobile 是基于对象链接嵌入(OLE)技术的ActiveX 控件,在EVC 下设置该控件的属性、方法及响应事件即可实现地图显示与操作功能。  

应用程序通过MapX Mobile 组件实现地图显示与操作,同时管理地图数据文件。并可以单独在嵌入式设备上运行,也能和WinCE 操作系统兼容。MapX Mobile 允许用户把地图数据带到自身所在的任何位置,实现了移动的GIS 组件。  

(5) 路径规划模块  

路径规划模块实现基于数字地图的点到点全局路径规划功能。该模块是在数字地图模块查找交互操作功能的基础上运用迪杰斯特拉(Dijkstra)算法实现最优路径搜索。操作者在数字地图上选取起始点和目标点,程序通过Dijkstra 算法搜索得出两点之间可以通行的最优路径,并在数字地图上标识该最优路径。  

Dijkstra 算法是解决最短路径问题的理论基础。该算法适合于计算带权有向图中两节点之间的最短路径。将数字地图上的道路和地点抽象为有向图的边与节点,道路的长度作为有向图边的权值,从而实现数字地图到带权有向图的抽象(见图4)。   


  
Dijkstra 算法步骤:  

Step1:设集合S存放已求出最短路径的终节点,初始状态时,S集合只有源节点v0,即S={v0}。  
Step2:令k=1,对于节点vk,计算v0到vk的距离  

代价函数:   


  
Length(k)是v0和vk之间可达连接权值之和,如果v0和vk之间不可达,则距离代价函数值无穷大。  
Step3:取dist[k]值最小的节点序列保存在path[k]中,并添加vk到集合S中,即S={v0,vk}。且令k=k+1。  
Step4:若vk即为目标节点,则算法结束;否则,跳转至Step2。  
则path[k]中即为源节点与目标节之间的最短路径序列,最小dist[k]值即为源节点与目标节点之间的最短路径距离。  

设计实例  


  
该手持监控系统已应用到履带结构便携式移动机器人实验平台。在室外实验场地测试取得较好的效果,测试过程中软件系统用户界面如图5。用户界面分为三部分:机器人自身状态信息显示、视频图像数据显示、数字地图显示。  

结论  

便携式移动机器人手持监控系统在履带结构便携式移动机器人实验平台上通过测试。嵌入式硬件结构和嵌入式操作系统的引入符合移动智能终端设备体积小、重量轻、实时性强、可靠性高的设计要求。
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机