APP下载

基于北斗定位的两栖机器人监测系统设计与实现

2016-11-07吴子岳高亢高亚东王董测

全球定位系统 2016年4期
关键词:绘制北斗河流

吴子岳,高亢,高亚东,王董测

(上海海洋大学工程学院,上海 201306)



基于北斗定位的两栖机器人监测系统设计与实现

吴子岳,高亢,高亚东,王董测

(上海海洋大学工程学院,上海 201306)

本文介绍了一种用于远程测量绘制河流地图的两栖机器人,通过搭载大功率WIFI模块可以远距离遥控机器人围绕河岸线在水中行驶。同时通过北斗模块采集实时定位信息后使用短报文传输服务传输到远程服务器,远程服务器接收后自动根据定位信息绘制河流地图。实验表明,该系统能准确测量和绘制河流地图,并且定位信息误差达到米级,对于地图绘制系统的更新具有重大意义。

河流测绘;两栖机器;北斗模块;短报文传输

0 引 言

由于自然变化或者人为原因,河流形状每隔一定周期都会产生变化,因此需要定期在地图系统中更新河流信息。在地图上更新河流信息传统的测量绘制方法是通过人工围绕各河流走一圈绘制大体河流形状,然后把图形更新到系统中。这种方法测量操作起来十分不便,往往耗费大量人力和时间资源,同时由于个人因素人工绘制的河流图形也不准确[1-3]。为了解决这个问题,本文设计了一款可以远程遥控其行走测量河流地图数据的基于北斗系统的河流绘制两栖机器人,通过Android手机或者平板连接上机器人所发射的大范围WIFI网络后,使用专门的Android APP接收机器人回传实时视频数据,并控制机器人围绕河岸行驶,行驶过程中机器人通过北斗模块采集实时定位信息使用短报文远程发送到服务器绘制准确的河流地图。

1 机器人系统组成

基于北斗系统的河流绘制两栖机器人系统组成如图1所示,首先通过锂电池电源结合电源管理模块给整套硬件系统提供电源。Android系统终端设备通过WIFI模块连接上两栖机器人向外部发射的远距离WIFI网络,WIFI模块运行Linux系统驱动USB摄像头采集实时视频流数据压缩回传到Android系统终端设备的遥控APP中。Android系统终端设备通过实时现场视频向单片机最小系统传达控制命令,单片机识别控制命令通过电机驱动模块控制直流电机运转[4],从而远程遥控两栖机器人围绕河岸在水中或者陆地行走。两栖机器人在整个围绕河岸行驶的过程中,北斗模块中定位模块将实时经纬度数据传输给单片机系统,单片机系统处理后再通过北斗模块的短报文服务发送到远程监测服务器,最后远程监测服务器根据两栖机器人的定位数据绘制准确的河流地图。

图1 两栖机器人系统硬件组成

2 系统硬件设计

2.1两栖机器人结构设计

稳定的行进结构是两栖机器人行走的基本保障,本文借鉴了行星齿轮的原理和动蹼明轮的工作机制[5],并结合了船舶设计的相关理论,将两栖机器人动蹼明轮和行星齿轮有机结合起来,并以船的结构特点使其实现了水面运动的功能,从而实现水陆两栖环境的运动功能[6]。两栖机器人的行走机构如图2所示。

图2 两栖机器人行走机构

2.2实时WIFI传输电路设计

WIFI模块运行Linux系统,通过mjpg-streamer视频服务器程序驱动与其连接的USB摄像头采集实时视频流数据,并进行压缩后通过Http协议向Android系统终端设备运行的遥控APP回传实时视频数据[7]。同时WIFI模块中Linux系统运行TCP服务器,Android APP通过建立TCP客户端向WIFI模块传达的机器人控制指令通过WIFI模块的串口透明的传输到单片机。因此WIFI模块的实际电路设计中需要将USB摄像头与WIFI模块通过USB进行连接,将WIFI模块的TXD和RXD串行数据接口接到单片机中的串行数据接口,同时完成与Android APP和单片机之间的通信,Wifi传输电路图如图3所示。

图3 Wifi传输电路设计

2.3北斗模块电路设计

北斗模块在基于北斗系统的河流绘制两栖机器人监测系统中起着关键性作用,实现了经纬度定位数据获取以及短报文的远程传输,具体通过单片机对其进行驱动从而实现不同功能需求[8]。本文选用的北斗模块型号为VK2217M3M5,核心芯片为MT3333.VK2217M3M5北斗模块采用低功耗设计,并且热启动时间仅需1 s,定位精度在2.5 m内,能准确采集两栖机器人的实时经纬度数据。VK2217M3M5北斗模块与单片机之间的通信和WIFI模块相同,均是使用串行通信的方式。由于WIFI模块占用了单片机的串口1,因此VK2217M3M5北斗模块与单片机连接为串口2,具体电路如图4所示。

图4 北斗模块电路图

3 系统软件设计

3.1单片机下位机软件设计

基于北斗系统的河流绘制两栖机器人中单片机下位机软件主要完成Android APP控制命令解析以及机器人行驶控制,定位数据采集以及短报文传输,下位机软件流程如图5所示。单片机上电后首先完成整个系统的初始化操作,其中初始化包括WIFI模块的初始化和北斗模块的初始化,两者均是串口初始。由于WIFI模块和北斗模块的通信波特率均是9 600 bps,因此串口初始化中将单片机的串口1和串口2初始化成9 600 bps的通信波特率,并且单片机的两个串口数据位与停止位等参数都按WIFI模块与北斗模块进行设置。

初始化完成后检测Android APP是否连接,如果已连接则通过单片机的串口2驱动北斗模块启动定位服务获取当前机器人所在位置的经纬度定位数据,获取成功后同样通过串口2驱动北斗模块启动短报文传输服务向远程服务器发送经纬度定位数据。因此,任何时刻机器人的经纬度数据都没有经过WIFI模块传输至Android APP中。完成机器人定位数据的采集以及传输后判断是否有Android APP传达过来的机器人控制命令,如有则通过电机驱动模块驱动直流电机运转,从而使机器人按Android APP控制命令朝特定方向行驶。响应操作完成后重新返回主循环的第一步采集定位数据上传开始下一轮循环[9]。

图5 下机位软件流程图

3.2Android APP上位机软件设计

基于北斗系统的河流绘制两栖机器人中Android AP上位机软件主要完成机器人中摄像头采集到的实时视频回传的显示以及遥控机器人在水中行驶,上位机软件流程如图6所示。

Android APP运行后首先连接机器人发射的WIFI网络,然后建立专门的TCP客户端再次连接WIFI模块运行TCP服务器。由于TCP采用面向连接的方式,因此需要保证连接与被连接的双方均在线才能实现数据互传。同时面向连接的方式也使得数据在传输过程中具有不易丢失的特性。机器人连接服务器成功后开始通过Http协议获取WIFI模块中mjpg-streamer视频服务器回传的视频流数据[10],并将每一帧数据显示在Android APP的背景中。接着进入APP的控制模式,检测用户是否按下机器人控制按钮,如按下则通过TCP通道向WIFI模块传达控制命令,WIFI模块中的TCP服务器接收后并不进行任何识别处理,而是直接通过串口透明到单片机中,由单片机进行具体的识别并控制机器人行进。

图6 上机位软件流程图

3.3视频服务器软件设计

机器人主控板中的视频采集传输并不是通过单片机来实现,因为本文选用的单片机只是一款8位的单片机,无法处理视频数据,因此本设计通过WIFI模块烧写的openwrt开源linux操作系统后,使用mipg-streamer程序完成视频数据的采集、压缩和传输功能。mjpg-streamer视频服务器程序在linux操作系统上通过与WIFI模块连接的USB摄像头软件采集实时视频流数据,进行视频压缩后再通过http协议共享实时的视频图像数据,因此该部分不需要在主控板程序中进行软件编程,而是通过开源系统openwrt完成。具体为:将USB摄像头接入WIFI模块后,WIFI模块发射一个WIFI网络,安卓手机APP客户端连接上该WIFI网络后通过视频流的IP地址和视频服务器端口进行查看,实现实时视频监控功能[11]。

4 系统测试

4.1机器人系统运行测试

基于北斗系统的河流绘制两栖机器人实物模型如图7所示,本文设计的两栖机器人采用轮桨一体结构,因此既可在陆地行走,也可以在水中行驶,实现整个测量过程中无须人工帮助直接下水,实用性能强。整个两栖机器人的电路结构部分通过防水材料包裹,能在水中无虑的自由行驶。经过大量的测试,得出本文设计的两栖机器人搭载大功率发射天线后遥控距离长达几百米,能应付部分河流的测绘。操作人员进行适当位置调整能实现更远距离的遥控测绘操作。

图7 两栖机器人模型图

4.2Android APP遥控性能测试

本文研究的基于北斗系统的河流绘制两栖机器人,其视频传输作为衡量系统实用性的一个重要指标,首要进行大量测试以及数据分析的是视频监控功能。在不同距离下对系统中的Android APP的视频传输功能得出测试数据如表1所示,主要测试机器人与安装Android APP手机在不同的通信距离下控制机器人行驶命令的正确性以及实时视频帧率的变化。对表1进行分析得出在500 m的通信距离以内摄像头的控制命令百分百正确,采集到的实时视频的帧率也达到最高的25帧/s,而在500 m以后随着通信距离的不断增加,正确的命令数越来越少以及视频帧率也越来越低,特别是在通信距离800 m以后两者大幅度下降。这说明本课题设计的基于北斗系统的河流绘制两栖机器人Android APP遥控的使用距离在500 m左右。

表1 Android APP视频监控测试数据

4.3北斗定位系统精度测试

基于北斗系统的河流绘制两栖机器人最重要的功能是河流地图的绘制,因此北斗模块采集到的经纬度定位数据在系统中举足轻重。为了验证系统的精确性,本文在机器人上同时放置一个市场上成熟的GPS模块,并通过专门上位机软件实时查看GPS模块的经纬度数据,然后把机器人处于不同地点时刻北斗模块采集到的经纬度数据与同时刻GPS模块采集到的经纬度数据进行对比和记录[12],因为所记录到的平均数值比较大,所以剔除了部分过高和过低的数值,部分误差数据如表2所示。经过对比发现本文设计的两栖机器人通过北斗模块采集到的定位数据与市场上成熟的GPS产品采集到的数据误差在1~2 m之间,可以满足河流地图测绘需求。

表2 北斗定位模块与成熟GPS模块定位误差对比

5 结束语

本文结合短报文传输、TCP传输以及Http传输控制协议,详细论述了基于北斗定位的两栖机器人监测系统在河流地图测绘的应用,设计一款基于北斗系统的河流绘制两栖机器人。并给出了整个设计所涉及到的关键硬件、软件的设计。经过测试基于北斗系统的河流绘制两栖机器人能远距离的遥控行驶,并且采集到的视频数据在Android终端设备的APP上显示流畅,采集到的实时经纬度定位数据经过服务器处理成功绘制出准确的河流形状。若加以完善,通过4G通信技术提高遥控距离,该机器人设置能实现不限距离的超远程遥控以及测绘。

[1] 于海燕. 河流水下地形测量中水位的图上处理[J]. 测绘与空间地理信息, 2009, 32(5):179-181.

[2] 吴小梅. 测绘自动化技术在地形测量中的应用[J]. 建筑工程技术与设计, 2015(13):247.

[3] 方竹兵,秦晓刚. 数字化成图技术在河流大型穿跨越地形图测绘中的应用[J]. 城市建设理论研究, 2013(16):39.

[4] 邱纯鑫. 基于地形特征的移动机器人定位[D]. 哈尔滨:哈尔滨工业大学, 2009.

[5] 王睿豪,李庆浩,王洪跃,等. 一种船用高效明轮推动器[J]. 科技经济市场, 2015(8):18-18.

[6] 程龙. 轮桨一体式两栖机器人的研制[D].哈尔滨: 哈尔滨工业大学, 2013.

[7] 马捷,鄂金龙. 基于近场通信的WiFi传输连接方案[J]. 计算机工程, 2013(6):1-6.

[8] 潘未庄,陈石平. 采用北斗模块的车载监控终端设计与实现[J]. 电子测试, 2013(16):45-47.

[9] 汪永松. 安卓手机APP开发套路之信息处理[J]. 电脑编程技巧与维护, 2014(20):57-62.

[10]汪永松. 安卓手机APP开发套路之HTTP通信[J]. 电脑编程技巧与维护, 2014(19):41-47.

[11]潘宇清. 网络视频服务器技术浅析[J]. China Public Security, 2009(5):18-20.

[12]唐旭,何秀凤. 北斗卫星导航系统高精度相对定位性能分析[J]. 导航定位学报, 2013(3).:28-30,42

[13]黄开胜.学做智能车:挑战“飞思卡尔”杯[M].北京:人民邮电出版社,2007.

[14]陈丁跃.现代汽车控制及其智能化[M].西安:西安交通大学出版社,2011.

[15]雷楚奇. 对安卓开发相关技术的研究[J]. 电子技术与软件工程, 2015(24):74-74.

[16]DARCEY L.Android移动开发一本就够[M].北京:人民邮电出版社,2011.

吴子岳 (1963-), 男, 工学博士、博士后,副教授,硕士生导师,主要从事机械及工程装备研究。

高亢(1989-),男,硕士生,主要研究方向为机电一体化。

高亚东(1990-),男,硕士生,主要从事机电及机构学研究。

王董测(1992-),男,硕士生,主要从事机电及机构学研究。

Design and Implementation of an Amphibious Robot Monitoring System Based on Beidou Positioning

WU Ziyue,GAO Kang,GAO Yadong,WANG Dongce

(CollegeofEngineeringScienceandTechnology,ShanghaiOceanUniversity,Shanghai201306,China)

This paper introduces a remote measurement for amphibious robot drawing River map, with high power WIFI module can remotely control the robot around the shoreline in the water running. At the same time through the acquisition of real-time Beidou module positioning information using short message transmission service,transmit to the remote server, the remote server receives location information automatically according to the drawing of the river map. In practice, this system can accurately measure and draw the river map, and the positioning error information reach meter level high-precision, it is great meaningful to the map rendering system update.

River surveying and mapping; amphibious machine; Beidou module; short message transmission

10.13442/j.gnss.1008-9268.2016.04.018

2016-03-29

TP249

A

1008-9268(2016)04-0085-05

联系人: 高亢 E-mail: gaokang2015@qq.com

猜你喜欢

绘制北斗河流
北斗时钟盘
绘制童话
作品赏析
全球首张人类细胞蓝图绘制成功
“北斗”离我们有多远
河流
流放自己的河流
首个北斗全球“厘米级”定位系统开建
中国的北斗 世界的北斗
当河流遇见海