APP下载

移动式服务机器人混合控制器关键技术研究

2017-07-03徐培培王国庆翟佳星李兆路张志新长安大学工程机械学院西安710064

中国机械工程 2017年12期
关键词:服务器端移动机器人控制器

徐培培 王国庆 翟佳星 李兆路 张志新长安大学工程机械学院,西安,710064



移动式服务机器人混合控制器关键技术研究

徐培培 王国庆 翟佳星 李兆路 张志新
长安大学工程机械学院,西安,710064

针对移动式服务机器人控制系统需要具备运动控制、网络通信、多媒体UI交互及设备远程监控等多种功能而导致成本高昂、实时性差等问题,提出了多核异构微控制器与Android移动设备相结合的混合控制器方案并实现了原型系统。该系统采用面向管理的多微控制器运动控制系统与信号采集系统,通过OTG与Android移动设备连接,可使得Android移动设备完成多媒体UI交互、WiFi及WiFi Direct通信、图像传输以及设备状态监控数据传输与处理;服务器端实现了设备状态数据的存储与应用。经过测试,样机整体性能良好,达到了预期的设计目标。

移动机器人;混合控制器;Android移动设备;监控系统;面向管理的多微控制器

0 引言

目前的移动式服务机器人控制系统为了实现控制、网络通信、多媒体交互及设备远程监控等多种功能而使得制作成本高昂、产品结构复杂,因此,对中低成本层次产品并不适用,这已严重影响了移动机器人的智能化发展[1]。

为了满足越来越多的传感器应用和监控需求,国外学者自20世纪60年代就开始了移动机器人控制系统的相关研究。文献[2]采用Pioneer3-AT机器人的 HitachiH8S作为控制系统,提出的两种控制模式具有更快捷的处理速度,提高了变电站巡检机器人的工作效率、准确性和灵活性。文献[3]将类人机器人NAO的Aldebaran RoboticsTM控制器及其避障导航系统与Arduino单片机一体化,可实现移动式机器人的运动控制,使其能全方位地自主导航,有效规避障碍,但其费用高达8万元人民币,这对中低成本层次产品并不适用。文献[4]采用ROS控制系统且以Pioneer3-DX为平台,对室内导航系统进行了研究,ROS为开源机器人控制系统,在其支持多媒体及多类别传感器时,硬件系统成本较高。

虽然上述新兴的机器人控制器功能已经逐渐完善,基本达到现代机器人的智能化要求,但因成本高昂且机器人结构复杂,并不能得到广泛的普及。本文采用的方案是以Android 设备为主控制器、以面向管理的多核异构微控制器为协控制器的混合控制方案。主控制器不仅可以作为传感器模块代替多种外置传感器,而且还实现了多媒体UI交互、数据传输与处理等功能,并通过OTG与负责运动控制和外置传感器检测的协控制器进行数据传输,与监控系统服务器端通过WiFi或WiFi Direct通信。通信方式采用Socket技术及独立的局域网系统,在有效规避网络传输的延迟、阻塞以及数据包丢失等问题的同时,也增强了数据传输的稳定性与准确性,从而实现对机器人运动的精准操作,并大大节约了制作成本,精简了结构设计,提高了机器人控制器的实时性能和快速响应能力。

1 总体架构

本文研究的移动机器人混合控制器是一套以Android设备为主控制器、以嵌入式芯片为协控制器的混合控制系统。其中,协控制器负责运动控制和外置传感器检测;主控制器既可以作为多个传感器集成模块为混合控制系统提供多组传感器数据,还可以作为整个系统的强大逻辑运算模块,对协控制器通过OTG传来的实时运动数据和外置传感器数据根据其内部的控制逻辑进行处理,另外还可以将获取的数据通过WiFi或WiFi Direct上传给监控系统,由监控系统进行数据处理,并给控制器发送执行命令。从而构成一套完整的混合控制系统,有效地实现对移动式机器人的精准和谐控制。该系统总体方案如图1所示。

图1 混合控制系统总体设计方案Fig.1 The total design scheme of hybrid control system

2 运动控制与信号采集系统(硬件)

2.1 面向管理的多核异构控制器

该移动机器人混合控制器采用的是具有完全自主知识产权的面向管理的多核异构控制器,该款控制器与其他单一控制器相比,最大的优势是可以根据性能不同来划分多个微控制器的任务,从而由多个微处理器负责不同的硬件模块并处理特定的任务,可有效解决可靠性不足、实时性较差等问题,并降低了控制器的成本。本文设计的面向管理的多核异构控制器架构如图2所示。

图2 面向管理的多核异构控制器架构Fig.2 Management-oriented multi-core heterogeneous controller

2.2 硬件设计

面向管理的多核异构控制器包括电源模块、控制模块、数字I/O模块、传感器模块及同步调试模块,同步调试模块具有供电通信装置及同步调试总线,该硬件结构及其部分原理图见图3、图4。

图3 面向管理的多核异构硬件设计图Fig.3 Management-oriented multi-core heterogeneous hardware design

图4 硬件设计部分原理图Fig.4 The partial diagram of hardware design

2.3 主控制器与协控制器之间的OTG通信

移动机器人混合控制器中的协控制器通过OTG传输与主控制器实时通信。OTG通信在完全兼容USB标准的基础上增添了电源管理功能,允许设备既作为主机又可作为外设操作,所以本设计采用OTG通信。OTG通信的应用程序是基于 Android API 中的OTG开发的,主要是由程序开发者实现了一些已经定义好的接口和类,通过实现这些类和接口就可以完成主控制器 Android 设备与协控制器之间的 OTG通信,部分实现代码如下:

private void find Device()

{UsbManager usb Manager = (UsbManager) get System

Service(Context.USB_SERVICE);

Usb Device usb Device = null;

Hash Map usb Device List = usb Manager.get DeviceList();

if (DEBUG) Log.d(TAG, "length: " + usbDeviceList.size());

Iterator device Iterator = usb DeviceList.values().iterator();

if (device Iterator.hasNext())

{UsbDevice temp UsbDevice = device Iterator.next();

if (DEBUG)Log.d(TAG, "VendorId: " + temp Usb Device.getVendorId());}}

最后配置具有充电功能的OTG数据线和USB线,与Android移动设备连接以实现通信功能,如图5所示。

图5 主控制器与协控制器之间的OTG通信Fig.5 OTG communication between Auxiliary and Host Controller

3 Android移动设备功能设计

3.1 Android应用启动界面设计

每个Android应用启动之后都会出现一个Splash启动界面,在制作启动界面时,该应用采用两个Activity来做,一个用来做启动界面,另一个用来做主界面。启动界面的制作一般是通过线程延迟指定的时间后再执行启动界面和主界面之间的跳转,因此需要建立两个界面,一个是SplashActivity,用来做启动画面,另一个是MainActivity,用作SplashActivity跳转后的主界面。采用Gif动画可以提升产品的动态可看性,但是Android本身没有显示Gif动画的控件,我们采用开源项目GifView来显示Gif动画。

3.2 主控制器设计

主控制器的Android设备上设计了两种不同的客户端模式:基于WiFi的客户端模式和基于WiFi Direct的客户端模式。主控制器除了需要与服务器端进行实时通信外,还需要接收来自协控制器端的监控数据并将控制命令发送到协控制器端,主控制器与协控制器的实时通信是通过OTG来实现的,并且主控制器还可以作为传感器模块提供传感器数据。

3.2.1 主控制器对自身内置传感器的使用

主控制器自身内置的传感器包括摄像头、加速度传感器、陀螺仪、方向传感器、GPS等。主控制器内置的传感器相对于外置传感器具有更便捷的编程控制以及更为快速的数据响应能力。Android 设备中传感器的使用主要是通过调用SensorManager 类来实现的,通过调用SensorManager 类可以获取访问 Android 设备中的各种传感器权限。在获得调用 Android 设备内置传感器权限后,通过调用Context.getSystemService 方法可以获得Android 设备中一个内置传感器的实例。Android 设备中对内置传感器的调用编程如图6所示。

图6 Android 设备内置传感器编程流程图Fig.6 Inner sensor programming flowchart of Android device

3.2.2 主控制器与监控系统服务器端的Wifi通信

移动机器人混合控制器在现场有WiFi信号的环境下,混合控制系统中的主控制器通过WiFi热点与服务器端进行实时通信。WiFi热点就是移动无线网络热点,它由便携式手持设备利用自身集成的WiFi硬件模块,建立以自身为无线信号中心的WiFi接入点。主控制器通过WiFi与服务器端进行实时通信的步骤包括:WiFi启动、开始扫描、显示扫描到的AP、配置AP、连接AP、获取IP地址、实时通信。

3.2.3 主控制器与监控系统服务器端的WiFi Direct通信

移动机器人混合控制器在现场无网络的环境下通过WiFi Direct与服务器端进行实时通信,WiFi Direct的API允许应用通过网络或热点直接与周围的设备进行连接,与蓝牙传输相比较,WiFi Direct的传输距离更远,传输数据量更大。与其他设备之间进行交互主要是通过WifiP2pManager类来实现,主要操作步骤如图7所示。

图7 WiFi Direct连接流程图Fig.7 Flow diagram of WiFi Direct

3.2.4 主控制器对设备状态的监测

主控制器接收来自协控制器的关于移动机器人的实时运动数据和外置传感器数据以及自身内置传感器数据后,一方面可以根据主控制器内部的控制逻辑对实时数据进行处理,另一方面可以将实时数据通过WiFi或WiFi Direct上传给服务器,由服务器对数据进行处理,监控系统服务器端通过对这些动态传感器数据进行分析就可以对移动机器人进行精确的运动控制。

4 服务器端的监控软件功能

4.1 服务器端的总体设计与远程监控的实时性与有效性分析

4.1.1 服务器端监控系统的总体设计

监控系统服务器端的开发根据监控现场环境中有无WiFi热点覆盖,分成了以WiFi通信为基础的PC服务器端设计和以WiFi Direct通信为基础的Android服务器端设计,这两种不同的服务器端都需要与以Android系统为开发环境的监控系统客户端进行实时通信,其中监控系统架构如图8所示。

图8 监控系统架构图Fig.8 Monitoring system architecture diagram

由监控系统的架构图可以看出:Android客户端一方面需要开发出一套以PC服务器端为基础的基于WiFi传输的客户端程序,另一方面需要开发出一套以Android服务器端为基础的基于WiFi Direct传输的客户端程序。

4.1.2 远程监控的实时性与有效性分析

移动监控平台的监控系统是一套基于C/S架构的监控系统,目前的网络传输存在很多问题,最主要的是有限宽带和不确定路由造成大且变化的网络时延、网络阻塞、数据包丢失等问题,这些问题已严重影响了信息传输过程的实时性与有效性[5]。另外,信息传输过程中,由于传输数据量的大小和网络负载的原因而波动很大,即使最高传输速率已高达50 Mbit/s,数据传输的实时性和准确性也会受到很大影响,从而最终影响监控性能,不能做到对机器人进行精准的运动控制,反而在监控过程中会出现信息延迟、网络阻塞等诸多问题[6]。针对这个问题,设计了两种通信模式:基于专用局域网WiFi模式和WiFi Direct 模式。

专用局域网WiFi模式就是将整个监控系统分为两部分,采用独立的局域网系统与公网隔离,经检测,其数据传输速率可达100 Mbit/s。由于设计目标为5台设备以内,最大设备同时传输的数据量不超过25 Mbit/s,因此可满足实时性要求。

另外一种模式是采用Wifi Direct连接并采用相应的Socket技术,该通信方式不会受到网络波动的影响,传输速率可达250 Mbit/s,传输距离也增加到200 m(理论值,实测在120 m内可以保证图像传输),数据传输的稳定性以及传输的及时有效性是可以保障的。

基于以上分析,无论是独立局域网WiFi通信模式还是WiFi Direct通信模式,都可以保证数据传输的准确性、实时性以及稳定性,因此可确保监控系统对移动机器人进行精确的运动控制,提高机器人的运动灵敏性。

4.2 以PC为服务器端的监控软件设计

4.2.1 WiFi环境下PC服务器端的监控软件设计

WiFi热点覆盖环境下PC服务器端的实现主要是通过WiFi热点接收Android设备传输的视频数据并向Android客户端发送控制命令,这与一般C/S架构中服务器程序类似,主要是通过监听IP地址和端口,然后建立连接后对传输的数据进行解析。PC服务器端与Android客户端之间的数据传输在WiFi环境下主要是通过Socket技术来实现的。WiFi环境下PC服务器端开启服务界面如图9所示。

图9 PC服务器端服务开启界面Fig.9 Interface of open PC server

连接成功后,双击对应的客户端时,PC服务器就自动地跳转到实时视频监控页面,实时视频监控页面能实时显示出客户端发送过来的录制画面,如图10所示。

图10 PC服务器端显示实时视频监控画面Fig.10 Real-time video monitoring imagery in PC server

4.2.2 WiFi环境下Android客户端的监控软件设计

WiFi 环境下,Android客户端调用Android手机中的摄像头对混合控制器测试设备的周围环境进行实时视频录制,从而获取录制画面和混合控制器的其他实时数据,通过Socket技术,以数据流的形式发送到PC服务器端。获取Android设备摄像头中的图像数据主要是通过Camera.PreviewCallback接口中的onPreviewFrame()函数来实现。监控系统中的服务器端监听相应的端口,当对应端口监测到数据流时,服务器端将获取到的数据流进行数据解析后传递至相应的图像显示控件中用于图像显示,这样就实现了手机摄像头的视频数据实时传输到服务器上。实现效果如图11所示。

图11 Android客户端实时视频监控画面Fig.11 Real-time video monitoring imagery inAndroid mobile device

4.3 基于WiFi Direct的监控软件设计

混合控制器测试设备应用于无网络覆盖的特定区域时,移动机器人混合控制系统采用WiFi Direct技术来实现监控系统服务器端与客户端的实时通信,用WiFi Direct技术可以让具备硬件支持的设备在没有中间接入点的情况下进行直接互联。Android 4.0(API版本14)及以后的系统都提供了对WiFi Direct的API支持。通过对这些 API的使用,开发者可以在支持 WiFi Direct 的设备间进行相互探测和连接。

4.4 监控系统主要模块设计

4.4.1 传感器动态数据文本模式

Android主控制器内置传感器的实时数据的获取主要通过SensorManager类来实现,当获取到Android设备内置传感器的实时数据后,可以采用数值的形式显示也可以采用曲线图的形式显示,两种显示方式各有长处。Android设备内置加速度传感器数据显示如图12 所示。

图12 Android设备内置加速度传感器数据Fig.12 Acceleration sensor in Android Device

4.4.2 传感器动态数据曲线模式

移动机器人混合控制系统中传感器动态数据曲线模式模块主要是以折线图的形式显示监控系统中各个传感器的数值,从折线图中可以直观地观察出传感器数值的变化幅度以及变化趋势。由于Android不支持折线图显示数据,因此监控系统在传感器动态数据曲线模式中使用开源绘表引擎AChartEngine。传感器动态数据曲线模式中,实时数据的曲线动态绘制主要是通过updateChart()函数对图标进行实时更新,从而达到动态效果。

5 实验测试

经过测试,样机系统运行良好,具备进一步工业化的能力,如图13所示。

图13 实验设备Fig.13 Experimental facilities

6 结论

(1)针对移动式服务机器人制作成本高昂、实时性差等问题,本文提出了低成本移动式服务机器人混合控制器方案。

(2)采用Android设备为主控制器和基于面向管理的多核异构微控制器为协控制器的混合控制方案,对OTG、SPI、Socket、WiFi Direct通信进行了相关软件程序的设计,实现了控制功能并与协控制器之间实现了“和谐”的控制逻辑,且混合控制器成本低廉,可有效节约移动式服务机器人的制作成本。

(3)Android设备作为主控制器既能进行数据运算处理与传输,对整个系统进行协调有效的控制,又能利用其内置传感器模块,使其具有更便捷的编程控制能力及更为快速的数据响应能力。

(4)协控制器采用非面向管理的多核异构微控制器,根据任务的不同对微控制器进行分工,可有效提高响应速度和可靠性,更能解决当下控制器成本高昂的问题。

(5)设计了包括电源模块、控制模块、数字I/O模块、传感器模块及同步调试模块的多核异构控制器,并设计了下位机的相关软件程序,该程序已下载到下位机中并进行了测试,测试结果稳定准确,说明程序设计正确可行。

(6)对监控系统进行总体设计,设计了以PC

为服务器端和基于WiFi Direct的监控软件并对监控系统中的各个主要功能进行了设计,包括启动模块、传感器动态数据文本模式以及传感器动态数据曲线模式的设计。监控系统服务器端通过对这些动态数值进行分析可以对移动机器人进行精确的运动控制。

[1] SCHEPER K Y W, TIJMONS S, De VISSER C C,et al. Behavior Trees for Evolutionary Robotics[J]. National Institutes of Health,2016,22(1):23-48.

[2] WANG Kezhi, LING Shan, BI Huibo,et al. Implementation of a Robot Inspection System for Substation Equipment Based on Pioneer 3-AT[J]. ICIC Express Letters,2011,2(1):221-226.

[3] ARIFFIN I M, RASIDI A I H M, YUSSOF N,et al. Sensor Based Mobile Navigation Using Humanoid Robot Nao[J]. Procedia Computer Science,2015,76:474-479.

[4] SAFDAR Z, WOLFGANG S, GERALD S. ROS-based Mapping, Localization and Autonomous Navigation Using a Pioneer 3-DX Robot and Their Relevant Issues[C]// Saudi International Electronics, Communications and Photonics Conference(SIECPC). Riyadh, Saudi Arabia, 2011:345-349.

[5] 于赫,秦贵和,孙铭会,等.互联网远程实时控制系统短时间窗口往返时延测量、分析与建模[J].西安交通大学学报,2016,50(2):26-32. YU He, QIN Guihe, SUN Minghui,et al. Measuring, Analyzing and Modeling of RTT Delay for Internet-based Networked Control Systems[J]. Journal of Xi’an Jiaotong University, 2016,50(2):26-32.

[6] HAIDAR G A, ACHKAR R, DOURGHAM H, et al. Remote Generator Control Using Android Application[C]// Asia Modelling Symposium 8th International Conference on Mathematical Modelling Computer Simulation. Taipei,2014:243-248.

(编辑 苏卫国)

Study on Key Technologies of Hybrid Controllers for Mobile Robots

XU Peipei WANG Guoqing ZHAI Jiaxing LI Zhaolu ZHANG Zhixin
School of Construction Machinery, University of Chang’an, Xi’an,710064

Aiming at the high cost ,poor real-time capability and other issues of mobile robot controllers for implementing many functions ,such as the motion control, network communication, multimedia UI interaction ,the device remote monitored control and so on, a hybrid controller scheme was put forward herein that multi-core heterogeneous microcontroller combined with Android mobile devices and finished a prototype system. The system adopted the management-oriented multi-microcontroller motion control systems and signal acquisition systems which connected with Android mobile devices through the OTG. Android mobile devices implemented multimedia UI interaction, WiFi and WiFi Direct communication, image transmission and the monitor data of device state transmission and processing. The server implemented storages and applications of device state data. The prototype system was verified to be fine, and reached the goals of design by tests.

mobile robot; hybrid controller; Android mobile device; monitoring system ; management-oriented multi-microcontroller

2016-11-20

陕西省工业攻关项目(2016GY-003)

PS242.3

10.3969/j.issn.1004-132X.2017.12.013

徐培培,女,1992年生。长安大学工程机械学院硕士研究生。研究方向为机械智能系统。E-mail:1778053173@qq.com。王国庆,男,1972年生。长安大学工程机械学院教授。翟佳星,男,1992年生。长安大学工程机械学院硕士研究生。李兆路,男,1992年生。长安大学工程机械学院硕士研究生。张志新,男,1990年生。长安大学工程机械学院硕士研究生。

猜你喜欢

服务器端移动机器人控制器
移动机器人自主动态避障方法
工商业IC卡控制器改造为物联网控制器实践
移动机器人路径规划算法综述
Linux环境下基于Socket的数据传输软件设计
PLC可编程控制器相关外置的选择计算研究
基于四元数卷积神经网络的移动机器人闭环检测
基于改进强化学习的移动机器人路径规划方法
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用