王淑平,杨 卫,侯 爽
(1.中北大学仪器科学与动态测试教育部重点实验室,太原030051;2.中北大学电子测试技术重点实验室,太原030051)
微小地面机器人监控系统设计
王淑平1,2*,杨卫1,2,侯爽1,2
(1.中北大学仪器科学与动态测试教育部重点实验室,太原030051;2.中北大学电子测试技术重点实验室,太原030051)
为实现微小地面机器人群体控制、状态监测及显示,设计一种微小地面机器人的监控系统。系统由上位机、ZigBee通信模块和下位机组成。上位机采用VB开发平台设计监控界面,利用MSComm控件实现串口通信,并通过调用Matlab的COM组件,实现粒子群优化算法预推目标运动轨迹;ZigBee芯片选用高度集成、低功耗、高灵敏度的784/868/915 MHz的Zig-Bit900,无线网络模块通过串口分别与上位机及下位机连接,实现下位机与上位机组网通信;下位机以DSPIC33F单片机为主处理器,完成主控系统与无线网络模块及其它数据采集模块之间的数据传输控制,实现监控系统对微小地面机器人群的监测和控制。通过实验表明,该监控系统稳定、实时、可靠。
微小地面机器人;ZigBee通信;MSComm控件;COM组件;DSPIC33F单片机
无线传感器网络 WSN(Wireless Sensor Networks)是一种分布式传感网络,这种网络通过降低数据吞吐量、增大消息延迟换取了比传统WPAN低的成本和功耗。无线传感器网络WSN(Wireless Sensor Networks),以其低功耗、低成本、分布式和自组织的特点带来了信息感知的一场变革。无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点,通过无线通信方式形成的一个多跳自组织网络[1]。微小地面机器人监控系统是以无线传感器网络节点为依托,实现微小地面机器人群指挥控制远程化、决策指挥智能化、监测过程协同化,能自主完成信息采集、传输、融合、决策、指令下达等,提高自主监测微系统的有效监控,进而提高整个使用区域的控制效果[2-3]。
本文设计的微小地面机器人监控系统,基于ZigBee无线网络模块和微小地面机器人系统组建无线传感器网络,完成对各微小地面机器人节点的执行任务情况以及各自位置状态的数据传输,在上位机采用图形化编程软件VB设计监控界面,实现对各微小地面机器人状态的监控。其系统结构图如图1所示。监控系统的主要功能是:(1)计算监控系统与微小地面机器人群的距离,根据安全距离画出安全区域;(2)能够对单个或多个微小地面机器人进行常规的运动控制;(3)能显示微小地面机器人的布撒情况,并能查看某个微小地面机器人在建立的相对坐标系下的坐标以及经纬度;(4)能根据微小地面机器人感知系统采集的数据计算目标的运动轨迹等。
图1 系统总体结构图
2.1ZigBee通信硬件
无线网络模块作为系统的通信部分,在其中起到桥梁的作用。本设计的Zigbee芯片选用Atmel公司的ZigBit900模块,ZigBit900是基于Atmel先进的混合信号硬件平台开发的高度集成、低功耗、高灵敏度的784/868/915 MHz ZigBee模块[4]。该模块有丰富的接口,符合802.15.4规范的无线收发机,超过6 km户外通讯距离;小于一平方英寸的封装,并且已经集成了相关外围电路的无源器件等。使用ZigBit900模块的设计方案可以节省大量的开发时间。它主要由 ATmega1281 V微控制器和AT86RF212无线收发机构成,并配有 128 kbyte Flash和8 kbit RAM。接口包括JTAG调试接口,2个UART通信接口,1个I2C接口和3个GPIO。同时提供3个LED指示灯,用于收发数据、组网状态的指示。节点通过UART接口连接到微型可移动单元的主控DSP,通过IO通道与小车动作控制器相连接。图2为无线网络模块的结构框图。IEEE802.15.4/ZigBee协议中定义了3种网络拓扑结构:星形结构、簇树结构和网状结构,根据各微小地面机器人布局选择使用合适的网络结构,在本设计中选择使用星形网络,各微小地面机器人网络节点均独立工作,上位机的无线网络模块是通过串口与计算机连接并供电,完成上位机的无线网络节点与各微小地面机器人网络节点的数据传输。
图2 网络模块的结构框图
2.2微小地面机器人系统硬件
微小地面机器人硬件系统主要实现与监控系统通信、对微小地面机器人的控制和数据采集处理等。其硬件组成结构如图3所示,每个微小地面机器人硬件组成都是一致的,主要由ZigBit900通信模块、单片机处理模块、GPS模块、传感器采集模块组成。其主控板的核心电路如图3所示。
单片机选择的是 DSPIC33F系列单片机,DSPIC33F系列器件采用强大的16 bit架构,此架构将数字信号处理器DSP(Digital Signal Processor)的计算能力与单片机(MCU)的控制特性无缝地集成在一起。这种集成的功能对于需要高速、重复计算和控制的应用非常理想。基于设计需要系统选用DSPIC33FJ256MC710,是一种高性能16 bit数字信号控制器,采用了改进型的哈佛架构、C编译器优化的指令集、流水线取指令方式,具有实用、低价、指令集小、功耗低、速度高、体积小、功能强、抗干扰能力强等特点[5]。DSPIC33FJ256MC710高性能16 bit数字信号控制器内含有12 bit的A/D转换器(500 ksample/ s)、直接存储器访问(DMA)、比较输出、捕捉输入、I2C接口、SPI接口、CAN接口、USART接口、Flash程序存储器自读写等强大的控制功能,内核又具有强大的数字信号处理能力[6]。主控部分与微小地面机器人移动部分是通过CAN总线通信,GPS模块、传感器模块和网络通信模块等外围电路都是通过串口与DSPIC33F系列单片机连接实现数据通信的。
数据采集模块硬件主要部分电路图如图4所示,采用热释电红外(PIR)传感器,采集系统主要由PIR传感器、信号调理模块、数据采集模块、电源模块组成[7]。传感器选取muRata IRA-E700型双元热释电传感器,其具有高灵敏度和极佳的信噪比,对外部噪声具有抗干扰能力。热释电输出的信号经信号调理模块进行放大、滤波等预处理经过A/D转换交给数据采集模块处理[8]。
图3 主控板电路图
图4 数据采集模块硬件的总体组成
3.1上位机软件设计
上位机软件的工作流程图如图5所示,上位机是采用VB可视化编程语言,主要是实现串口数据的提取及储存、监控界面控制指令的发送和对串口数据的处理及响应[9]。数据包括对下位机发送的微小地面机器人群的坐标、ZigBee网络节点编号、热释电传感器感知数据和GPS数据,上位机对这些数据存储后,并实现微小地面机器人群的坐标显示及布撒情况,并能通过鼠标事件随时查看坐标值及GPS[10]。
图5 上位机软件工作流程图
对热释电传感器采集回来的数据能通过调用Matlab生成的COM组件的方法来实现对目标的轨迹预推,并计算最佳围捕位置,完成机器人群对目标的围捕。该方法是指在Matlab环境下编写粒子群优化算法,利用MATLAB COM Builder编译器把该粒子群优化算法编译成COM组件,这样可以在其他计算中通过注册该组件,从而在其他应用程序中调用该组件,脱离Matlab环境运行组件中的函数,监控系统将热释电传感器采集回来的数据导入到调用的COM组件中的函数,实现对入侵目标的的轨迹预推,得出最佳围捕位置。本文主要是在VB环境下调用该COM组件[11]。主要过程就是把在Matlab下编译的COM组件利用kregsvr32的方法注册到当前使用的计算机中,然后在VB环境中应用该动态链接库,这样就可以直接调用了[12]。VB环境下调用该COM组件的核心部分如下:
其中pp是指的函数的输入参数,也就是传感器采集的数据。监控系统控制界面还能实现对监控系统控制界面还能实现输入一些控制参数。在控制界面选择要发送的机器人编号,打包指令发送。
3.2ZigBee通信软件设计
ZigBee通信模块与上位机和下位机都是通过串口连接的,ZigBee的串口程序设计的目的是能够对所定义的消息格式进行有效识别和处理,进行CRC校验消息完整性;增加消息缓冲区,避免消息量过大出现丢包情况。程序设计流程图如图6所示。
3.3下位机软件设计
下位机软件系统的工作流程如图7所示,主要是实现3个功能:ZigBee通信模块的数据收发,接收上位机的命令并解析,根据指令类型判断是上位机对机器人信息的获取还是对上位机对微小地面机器人的的控制指令;对上位机发送过来控制指令能解析并通过微小地面机器人系统主控的CAN通信发送给微小地面机器人的移动控制系统驱动机器人运动;对采集系统采集的数据能通过串口接收并处理后发送给上位机。
实验中使用了5个无线通信模块、4套微小地面机器人系统(编号为4、6、7、15)、装有监控系统上位机软件的计算机和其它一些辅助工具。实验过程:将4套微小地面机器人系统布撒成一个边长为15 m的正方形,每个顶点处放置一个微小地面机器人,监控系统发送建立坐标系指令通过微小地面机器人的声定位系统建立机器人全系统的相对坐标系,目标按照规定的路径进入微小地面机器人系统的感知区域,监控系统利用微小地面机器人的感知系统感知的数据预推目标轨迹。如图8是监控系统显示微小地面机器人布撒和预推轨迹的结果,从图中可以看出微小地面机器人的布撒和预推的轨迹情况,并通过鼠标事件可以查看其声定位坐标和GPS值。
图6 ZigBee串口程序设计流程图
图7 下位机工作流程图
图8 程序运行结果
如图9所示为上位机通过调用Matlab写的粒子群优化算法的COM组件对目标预推轨迹的实验结果,从图中可以看出其目标轨迹与实际试验中规定的目标轨迹相吻合,满足设计要求。通过对目标的轨迹预推,可以得出微小地面机器人群体围捕目标的最佳位置,完成机器人群体对目标的围捕任务。
图9 轨迹预推实验结果
本文基于图形化编程软件VB设计微小地面机器人群的监控系统,简要说明了系统的基本原理、系统硬件和软件的设计过程,并通过最后的实验验证了系统的可行性,结果表明系统不仅能实现对多个微小地面机器人的控制和状态显示,并能调用Matlab的COM组件,实现粒子群优化算法在上位机运行,预推入侵微小地面机器人监控区域的目标轨迹,得出围捕目标的最佳位置。该监控系统不仅实现对微小地面机器人系统的智能化控制功能、多样化显示;自身还作为系统的网络节点参与目标轨迹的预推,实现对目标的围捕控制。此设计对多个微小地面机器人的监控有一定的借鉴意义。
[1]Edgar H Callaway,Jr,王永斌,屈晓旭.无线传感器网络:体系结构与协议[M].北京:电子工业出版社,2007:82-87.
[2]张文梅.基于ZigBee的家居监控系统设计[J].计算机应用与软件,2015,32(3):313-316.
[3]高超群,杨卫,邵星灵.基于ARM9的可移动微系统遥控器设计[J].火力与指挥控制,2014,39(5):138-141.
[4]杨晗,段渭军,李明远.IEEE 802.15.4轻量级网络层路由设计及实现[J].电子设计工程,2013,21(10):81-83.
[5]李恒,徐小力,左云波.移动机器人超声波测距避障系统设计[J].现代电子技术,2014,37(3):157-162.
[6]刘宇洋,高尚勇.dsPIC33FJ256MC710疑难问题及解决方法[J].单片机与嵌入式系统应用,2009(7):73-75.
[7]刘前进,杨卫,刘云武.基于热释电红外传感器的多节点定位系统研究与设计[J].2014,22(9):2947-2956.
[8]侯爽,杨卫,刘前进.一种基于PIR的对瞄测距定位方法研究[J].激光与红外,2015,45(5):555-558.
[9]张辉,李荣利,王和平.Visual Basic串口通信及编程实例[M].北京:化学工业出版社,2011:99-103.
[10]范逸之,陈立元.Visual Basic与RS-232串行通信控制[M].北京:清华大学出版社,2002:132-142.
[11]岳玉芳,尤忠生,张玉双.基于COM的VB与Matlab混合编程[J].计算机工程与设计,2005,26(1):61-65.
[12]蒙冠杰,蔡益舟,柯年杭.VB与Matlab混合编程的实用方法[J].2014:11-12,24.
王淑平(1990-),男,汉族,江西吉安人,中北大学仪器与电子学院硕士,主要研究方向为测试计量技术,935924529@ qq.com;
杨卫(1957-),男,汉族,山西太原人,研高工,研究方向为微纳米器件、仪器与测试技术、微系统及集成技术、网域化微武器系统,yangwei@nuc.edu.cn。
Design of Monitoring System for the Small ground Robot
WANG Shuping1,2*,YANG Wei1,2,HOU Shuang1,2
(1.Key Laboratory of Instrumentation Science&Dynamic Measurement,Ministry of Education,North University of China,Taiyuan 030051,China;2.Science and Technology on Electronic Test&Measurement Laboratory,Taiyuan 030051,China)
In order to solve the problem of population control and state monitoring and display of the robot,a monitoring system for micro robot has been designed.The system is made up of the upper computer,the ZigBee communication module and the lower computer.Upper computer designs the monitoring interface using VB development platform,achieves serial communication using of the MSComm control.ZigBee chip selects the ZigBit900 of 784/ 868/915 MHz which is high integration,low power consumption,high sensitivity.The wireless network module connects to the upper computer and lower computer respectively through the serial port to realize the communication between the lower computer and the upper computer.The lower computer used the DSPIC33F single chip microcomputer as the main processor to complete the data transfer between the master control system and wireless network modules and other data acquisition module to realize of the monitoring system for monitoring and control the small ground robots group.Experiments showed that the monitoring system is stable,real-time and reliable.
small ground robots;ZigBee communication;MSComm control;COM Component;DSPIC33F SCM
TN993
A
1005-9490(2016)05-1155-06
2015-08-27修改日期:2015-12-24
EEACC:723010.3969/j.issn.1005-9490.2016.05.027