面向安防的移动机器人控制系统设计
2019-01-14颜颐欣张洋
颜颐欣 张洋
摘 要:针对目前安防机器人控制系统中,功能扩展受主控机负荷能力限制、监控平台不支持地图加载,或地图更新实时性较差等问题,设计了一种安防机器人控制系统。该系统采用分散式模块化方案来设计机器人本体硬件结构,增强了主控机的负荷能力,同时,基于对Lidar-SLAM技术的研究,提出了地图坐标匹配算法,然后,综合运用web开发技术,搭建了移动机器人监控平台,并在该平台验证了地图加载方法的有效性和地图更新的实时性。本系统有效地解决了目前存在于安防机器人控制系统中的不足之处,降低了系统的维护成本,为安防机器人控制系统的设计提供了参考。
关键词:安防机器人;控制系统;web开发技术 ;Lidar-SLAM技术
DOI:10.15938/j.jhust.2019.05.015
中图分类号: TP486.3
文献标志码: A
文章编号: 1007-2683(2019)05-0088-05
Abstract:In view of the existing problems in the control system of security robots, such as the function extension is limited by the load capacity of the main control machine of the robot, the monitoring platform does not support map loading, or the map updates are poor in real time, etc, the paper designed a control system for security robot. The system designs the hardware structure of the robot by using decentralized modular scheme to enhance load capacity of the main control machine.Based on the research of Lidar-SLAM technology, a map coordinate matching algorithm is proposed. Then, a mobile robot monitoring platform is built by using web development technology, and the validity of the map loading method and the real-time of map updating are verified on this platform. The system effectively solves the shortcomings of the existing security robot control system, and reduces the maintenance cost of the system. It provides a reference for the design of the security robot control system.
Keywords:security robot; control system; web development technology; lidar-SLAM
0 引 言
安防机器人控制系统,不仅能解放人力安防巡逻,更能提高巡逻质量,扩大巡逻范围,丰富监测指标[1-2]。目前,在对安防机器人控制系统的研究方面已经做了大量的工作,如在两轮安防机器人控制系统的设计与研究中,提出了一种基于U-COSII系统内核的两轮安防机器人控制系统,该系统虽实现了一些通用功能,但功能扩展受主控机的负荷能力限制,并且监控平台也不支持加载地图[3-4]。在基于百度地图的移动机器人监控平台的研究中,实现了在移动机器人监控平台上加载地图,并且在地图上可以对机器人进行位置追踪,再结合视频回传图像,用户体验较好[5-6]。但该方式因依赖于第三方公司提供的高精度地圖,在无网络条件下,需提前下载大量电子地图图元,对PC机的存储能力有较高要求,并且实时性较差 [7-8]。近年来,移动机器人SLAM技术获得了显著的进步[9-10],随着激光雷达造价的逐渐降低,采用Lidar-SLAM技术来完成智能移动机器人的自主导航和定位将成为一种最佳选择[11-12]。
本文采用分散式模块化方案来设计机器人本体硬件结构,实现了机器人本体自主避障、自主导航、故障检测、智能巡检等功能,减轻了主控机的负荷,易于功能扩展。同时,采用将基于Lidar-SLAM技术实时构建的高精度地图加载到监控平台上的方法,来实现监控平台上的地图加载,该方法室内外通用,不受网络限制。本系统在功能扩展、实用性、通用性等方面都有较好的提高,可有效地弥补目前存在于安防机器人控制系统中的不足之处。
1 系统总体设计
本系统主要由安防机器人本体、无线通信系统和监控平台三大部分组成。系统总体设计框图,如图1所示。
其中安防机器人本体通过各硬件模块采集数据,并通过主控机来对这些数据进行处理,实现自主避障、导航、故障检测、智能巡检等功能;无线通信系统采用Wi-Fi技术实现,主要用于建立监控平台和机器人本体之间的可靠通信;监控平台主要实现在地图上对机器人进行位置追踪、查看机器人回传的实时数据和视频图像、远程控制机器人工作等。
2 机器人本体设计
2.1 本体硬件电路设计
本文采用CAN总线来完成主控机与各电路模块之间的通信。将红外模块、电源模块、GPS模块、IMU模块、激光雷达模块、电机驱动模块等相互独立的挂在CAN总线上,并且将各关键模块采集的数据,经过自身的MCU进行预处理后,才通过CAN总线传输给主控机,如图2所示。
2.2 主控机程序工作流程设计
本文在本体的主控机中安装了Ubuntu14.04操作系统[13-14],并在操作系统中安装了开源的ROS包[15-16],通过订阅和发布话题,来处理本体硬件感知设备采集的数据。主控机程序按功能划分可以分为四大模块:检测模块,规划模块、控制模块和外部控制模块。主控机程序工作流程如图3所示。
图3 主控机程序工作流程框图
Fig.3 The workflow diagram of the master computer program
检测模块负责处理本体中的激光雷达、编码器等传感器对周围环境和自身进行检测得到的数据;规划模块负责根据机器人目的地进行速度规划;控制模块负责参考规划模块的规划结果,控制电机转速和行进方向(在局域网较差时,启用实时系统单元,进行手动控制);外部控制模块主要负责实时系统单元启动时的外部控制,保证系统的使用安全性。
3 监控平台设计
本文综合使用HTML、JavaScript和PHP等web开发技术搭建了监控平台,并通过建立TCP连接,实现了监控平台与机器人本体之间的网络通信,选用MySQL数据库来设计实现关键数据存储[17-18]。
3.1 总体功能设计
监控平台按照功能可划分为:通信模块、电子地图模块、实时信息显示模块、远程操控模块四部分。总体功能设计框图如图4所示。
图4 监控平台总体功能设计框图
Fig.4 Block diagram of overall function design of monitoring platform
通信模块主要实现机器人本体和监控平台之间的实时通信;电子地图模块可显示机器人工作地图,并可在地图上显示机器人的工作路线,动态设置机器人的自主工作路线等;实时信息显示模块,主要实现对安防机器人的工作环境视频信息、工作异常参数、机器人的精准坐标等数据的实时显示;远程控制模块,主要实现对安防机器人的远程操控。
3.2 通信模块设计
本文选用基于TCP/IP协议的Scoket套接字协议标准[19-20]来实现机器人本体和监控平台之间的通信。在php.ini文件中开启Socket的扩展,然后通过PHP的socket类对象提供的一系列方法,实现服务器与客户端通信连接请求的监听,若有请求,则绑定指定的端口,建立TCP连接,实现双向通信,该过程如图5所示。
3.3 电子地图模块设计
3.3.1 地图匹配算法
本文采用目前应用最广的gmapping方法来实现Lidar-SLAM技术,用gmapping方法构建的2D栅格地图图片格式为PGM格式并且图片本身有数学特征。根据该地图的格式特点来对地图图片进行初步处理,具体方法如图6所示。
基于2D栅格地图的数学特征,设计地图坐标匹配算法。已知机器人位置坐标所参考坐标系为统一横轴墨卡托投影坐标(universal transverse mercator,UTM)系,地图图片中心点的坐标设为(xc,yc),单位为m;经地图处理方法处理后的实际加载地图宽度和高度,分别设为wd、hd,单位为pixel;地图图片的压缩率设为P;监控平台地图显示区域的中心点坐标设为(xdc,ydc),单位为m;每个像素点代表的距离设为Q;原始地图图片的宽度和高度分别设为w0、h0,单位为pixel。则实际加载地图图片中心点坐标和监控平台地图显示区域中心点坐标之间的转换公式如下:
根据以上地图坐标匹配公式,便可将gmapping实时构建的地图匹配到监控平台地图显示区域。
在已知机器人最大活动范围内的UTM坐标集合的前提下,支持动态设置机器人的自主工作路线。首先,用户在监控平台上通过鼠标点击,选择自主工作路线上的关键点,然后利用(2)式的逆运算,将这些关键点转成UTM坐标,利用二分法查找算法和估算的思想在机器人最大活动范围内的UTM坐标集合中,找到自主工作路線上的UTM坐标的集合,并将该集合发送给机器人,机器人将沿着新路线工作,同时通过(2)式,将该集合转为像素坐标,在监控平台地图上显示。
3.3.2 电子地图软件实现及结果验证
JavaScript技术为Web GIS客户端开发提供了专门的OpenLayers框架,该框架支持的地图来源除了WFS、WMS、KaMap、GoogleMAp等,还可以是任意有地理意义的地图图片[21]。
本文首先通过OpenLayers提供的Map类实例化地图,并将HTML中div的id设置为map,从而完成将gmapping构建的2D栅格地图加载到浏览器地图显示区域,表现为地图,并在该map上添加全屏显示、工具条等控件;然后,通过Layer类来实例化图层,即指定地图图层的缩放级别、类型、范围、地图数据来源等;接下来,调用OpenLayers提供addLayer函数,将实例化后的图层添加到Map上,再通过调用map.zoomToExtent函数调整地图大小以适应web界面;最后,为加载的地图添加自定义事件,如通过设置地图的点击和画线事件,来实现监控平台显示机器人当前工作路线和动态设置机器人自主工作路线等。
3.5 远程控制模块设计
在该模块,用户可结合地图显示的机器人工作路线和视频回传的图像,对安防机器人进行远程控制,如切换机器人的工作状态、设置机器人自主工作路线及分配工作任务、切换运行速度、运行方向和灯光模式等。控制模块的软件控制流程如图10所示。
在该界面,通过点击“开始示教”按钮,可重新构建地图,并在监控平台重新加载该地图。从而令监控平台加载的地图具有良好的实时性。
4 结 论
1)通过采用分散式模块化方案设计机器人本体硬件结构,有效地减轻了主控机的负荷,有利于系统进行功能扩展。
2)将Lidar-SLAM技术实时构建的2D栅格地图用于在监控平台上加载地图,并提出了地图坐标匹配算法,经验证,该地图加载方法可行,并且不受互联网的限制,实时性较好,地图坐标匹配准确。
3)综合运用web开发技术,搭建了支持地图加载的安防机器人监控平台,并实现了监控平台与机器人本体之间的远程通信,在该监控平台可查看机器人实时数据、远程控制机器人等。
后续工作将在本文研究的基础上,在成本控制、地图本身的美观度和自主工作路线动态设置方法的精确度等方面进行改进。
参 考 文 献:
[1] 刘国正.“互联网+”英特尔智能安防助建新型平安智慧城市[J]. 中国自动识别技术,2017(5):51.
[2] 刘存信,跟上我国经济发展步伐促进安防产业迈向中高端水平[J]. 中国安防, 2017(4):1.
[3] 李森, 潘小琴, 钦盼琛等. 基于远程控制的双轮安防机器人系统设计[J]. 自动化与仪表, 2017, 32(5):30.
[4] 李磊磊, 陈家斌, 杨黎明等. 基于道路信息的智能地图匹配算法[J]. 中国惯性技术学报, 2016, 24(2):170.
[5] 冯凯,欧阳瑞镯,宗天煜等. 基于视觉的SLAM技术发展及其研究分析[J]. 信息技术,2017(10):33.
[6] 马晓敏, 刘丁, 辛菁. 移动机器人生物启发式变结构轨迹跟踪控制[J]. 电机与控制学报, 2018(7):11.
[7] 钱殿伟, 郭锦荣. 多机器人的积分滑模编队控制[J]. 电机与控制学报, 2016, 20(1):99.
[8] 黄海, 李岳明, 庞永杰. 多水下机器人编队的组网通信方法研究[J]. 电机与控制学报, 2017, 21(5):97.
[9] 满春涛, 曹淼, 李巍. 基于深度相机的SLAM算法评测[J]. 电机与控制学报, 2017, 21(12):60.
[10]温嘉斌, 麻宸伟. 无刷直流电机模糊 PI 控制系统设计[J]. 电机与控制学报, 2016, 20(3):102.
[11]钱晓明, 张浩, 王晓勇等. 基于激光扫描匹配的移动机器人相对定位技术研究[J]. 农业机械学报, 2016, 47(3):14.
[12]MUR A,RUAL,MONTIEL J.M.M, TARDOS,JUAN D. ORB-SLAM: A Versatile and Accurate Monocular SLAM System[J]. IEEE Transactions on Robotics, 2017, 31(5):1147.
[13]PIERZCHALA M, GIGUERE P, ASTRUP R. Mapping Forests Using an Unmanned Ground Vehicle with 3D LiDAR and Graph-SLAM[J]. Computers & Electronics in Agriculture, 2018, 145:217.
[14]步新宇,项玉. 智能移动机器人定位技术[J]. 科技展望,2016,26(10):181.
[15]MUHAMME Balclar,SIRMA Yavuz,MEHMET FA,ERKAN U. R-SLAM: Resilient Localization and Mapping in Challenging Environments[J]. Robotics and Autonomous Systems,2017,87:45.
[16]陳卓,苏卫华,安慰宁,等. 移动机器人SLAM与路径规划在ROS框架下的实现[J]. 医疗卫生装备,2017,38(2):109.
[17]栾禄祥. 室内移动机器人机器视觉定位系统的设计[J]. 自动化仪表, 2017, 38(2):49.
[18]李秀智, 李尚宇, 贾松敏.实时的移动机器人语义地图构建系统[J]. 仪器仪表学报, 2017, 38(11):2769.
[19]王明, 胡庆武, 李清泉, 等. 基于位置签到数据的城市分层地标提取[J]. 计算机学报, 2016, 39(2):405.
[20]张君涛, 赵智慧, 周四望. 矢量任务地图:群智感知任务渐进式分发方法[J]. 计算机学报, 2017, 40(8):1946.
[21]王建民. 领域大数据应用开发与运行平台技术研究[J]. 软件学报, 2017, 28(6):1516.
(编辑:王 萍)