基于WiFi远程控制的智能监控机器人系统设计

2018-10-29 11:09瑚琦雷航夏志迁
软件导刊 2018年8期
关键词:智能机器人路径规划图像识别

瑚琦 雷航 夏志迁

摘要:设计一种基于WiFi远程控制的智能监控机器人系统,包括硬件系统、软件系统以及控制算法。机械结构利用SolidWorks建模,通过3D打印成型;硬件电路采用模块化设计思想,以STM32F407VGT6微控制器为控制核心,外围分布各功能模块;软件系统由下位机的μC/OS II嵌入式实时操作系统协同处理多任务,通过TCP/IP协议与上位机的手机端APP控制平台,以及PC机控制平台进行数据传输与交互。机器人控制遵循ZMP算法,通过对上位机指令的预执行及姿态解算使机器人稳定运动。应用实践表明,机器人组装方便、结构稳固,实现机器人与终端设备的视频、指令同时传输,在其行走、跟踪以及循迹过程中能保持稳定。系统设计方法可靠、切合实际,控制平台稳定、易用性强。

关键词:智能机器人;WiFi;视频传输;图像识别;ZMP;路径规划

DOIDOI:10.11907/rjdk.173299

中图分类号:TP301

文献标识码:A 文章编号:1672-7800(2018)008-0061-04

英文摘要Abstract:An intelligent monitoring robot system based on WiFi remote control is proposed including hardware system,the software system and its control algorithm.The mechanical structure is modeled via SolidWorks and printed by the 3D printer.The circuit system takes the advantages of modularization design idea and uses microcontroller STM32F407VGT6 as the control core.Peripheral circuits are distributed around the control core.The software platform design contains the μC/OS II embedded real-time multitasking operating system,mobile phone client APP control platform and computer control platform.The embedded system transmits and interacts with the upper computer through the TCP/IP.The robot control follows the ZMP algorithm which requires the upper computer to perform pre-execution and attitude algorithm,so that the robot can maintain stability during the movements.Based on mass of practice,it is demonstrated that the robot is easy to assemble,and the video and instruction can be transmitted simultaneously between the robot and terminal equipment.In the meantime,the robot can be stable during walking and tracking,and the controlling platform is stable and can be easily used.

英文关键词Key Words:intelligent robot;WiFi;video transmission; image recognition; ZMP; path planning

0 引言

近年来,随着智能机器人研究的不断深入,人形智能机器人在娱乐、服务、救援等领域有着潜在应用价值[1-2]。当前智能机器人进入“3.0时代”,智能机器人通过各種感应传感器的相互配合,能够将获取的信息进行分析、融合,从而增强对工作环境的适应能力,以及自主学习能力与自治能力。目前机器人的智能技术水平尚处于初级阶段,研究的主要核心问题有两点:①增强智能机器人的自主能动性,即增强智能机器人的独立性,且人机界面友好,目标是其日后能够按照操作人员给予的指令准确、自主完成工作任务;②提高智能机器人对环境变化的适应能力[3]。程序预先设定的人形机器人只能以固定方式行走,行进中若发生错误则会使机器人的行走出现误差,特别在环境发生变化的情况下十分明显。通过WiFi视频传输的方式获取机器人周围环境,配合图像识别技术以及传感器的应用,可让机器人稳定实现智能跟踪、环境监测、路线循迹等功能,通过无线远程指令传输亦可对机器人进行遥控操作,对其行为进行协同管理。

1 总体设计方案

智能监控机器人总体设计方案如图1所示。用户可以使用手机端APP或PC端上位机通过无线局域网连接到机器人搭载的WiFi模块,实现手机端或PC端与机器人的数据交互。机器人将图像采集系统的图像信息通过WiFi模块传输到手机端或PC端,实现图像信息的实时显示。

2 硬件设计

2.1 机器人结构设计

智能机器人由颈关节、肩关节、肘关节、胯关节、膝关节和踝关节等16个关节构成,交由16个数字舵机进行控制,所使用的数字舵机可以基于中心位置±90°旋转[4]。利用SolidWorks建立机器人零件3D模型并生成STL(STereo Lithography)文件,再通过Cura将模型切片[5],如图2所示。

然后利用3D打印机打印出模型零件,打印完成后,零件与数字舵機嵌在一起得到各个关节,通过卡扣结构即可将各个关节、肢体拼接在一起。机器人在SolidWorks环境下的完整组装效果如图3所示。

2.2 硬件电路设计

智能机器人硬件电路采用7.4V锂电池供电,一路接到舵机电源总线,另一路通过AMS1117稳压芯片将电压稳定到3.3V,为主控芯片和其它芯片供电。系统选择STM32F407VGT6作为主控芯片,STM32F407VET6是意法半导体推出的增强型32位微处理器,其时钟频率达到168MHz,上面集成了1M的Flash存储器,192 + 4 Kbytes SRAM,多达83个I/O端口,并包含IIC、USART、SDIO接口,可以满足平台需要并有充足的接口外接传感器。WiFi芯片选用Marvell公司的88W8801,通过主控芯片的SDIO接口驱动,与上位机或手机APP建立连接后,可以进行数据传输,包括视频传输和控制指令集传输。摄像头采用OV(OmniVision)公司生产的1/4寸CMOS UXGA(1632*1232)图像传感器OV2640,OV2640自带的JPEG输出功能可大大减少图像数据量,使其在网络摄像头、无线视频传输等方面具有很大的优势。通过主控芯片的DCMI(数字图像接口)将图像数据通过DMA(Direct Memory Access)直接送入WiFi收发的数据缓冲区,然后通过TCP/IP协议发送到上位机或APP[6]。

由于单片机I/O口与功率的限制,会影响机器人的自由度个数和功能扩展,甚至可能进一步影响机器人的动作连贯性。为此,设计了一种控制系统将主控模块与舵机控制器分离,实现舵机控制系统的模块化,舵机控制芯片选用NXP(恩智浦半导体)公司的PCA9685芯片,该芯片使用IIC总线接口,一片PCA9685芯片可以产生16路周期占空比可控的PWM波,精度为12位寄存器,控制旋转角180°的舵机分辨率高达0.439°,芯片有6个地址脚可以控制I2C地址,主控芯片只需提供一个I2C接口即可扩展更多路的PWM舵机控制信号。硬件平台系统框架如图4所示。

3 软件设计

3.1 下位机软件设计

下位机软件采用μC/OS-II(Micro Control Operation System Two)操作系统,μC/OS-II是一个可基于ROM运行、可裁剪、抢占式的实时多任务内核,具有高度可移植性,特别适用于微处理器与控制器。使用μC/OS-II创建任务后,任务会自动调度,自动调度时间为1ms[7]。下位机软件流程如图5所示。

系统启动之后,首先初始化主控芯片STM32F 407VGT6的中断向量表和系统时钟,然后初始化OS部件及内存管理,创建主任务main_thread,开始线程调度。各线程完成的任务分别为:

(1)主任务:初始化一些底层驱动的杂项,包括IO口配置、systick配置、微妙级定时器初始化,然后初始化片上和片外外设,包括DCMI、DMA、PCA9685、88W8801 WiFi模块初始化,并初始化lwip底层与WiFi相关部分,读取flash中的数字舵机机械偏置参数。

(2)monitor线程:打印系统信息。

(3)open_camera线程:用于图片采集与发送。

(4)tcp_server线程:接收客户端连接。

(5)mqtt(Message Queuing Telemetry Transport)线程:用于mqtt连接和数据收发。

(6)tcp_ data transceiver线程:用于tcpip数据收发。

3.2 上位机软件设计

手机端APP主要接收TCP/IP上传的图像信息以及发出控制指令,可以通过手机APP完成的设置和操作有:控制机器人行走及特定动作、接收图像信息、控制云台获取更广角信息及拍照。软件操作界面如图6所示。

PC上位机除手机APP功能外,主要增加了图像处理功能,实现了对指定符号标记物体的识别。PC上位机操作界面如图7所示。通过上位机连接到智能机器人后,可以选择机器人的控制模式。控制模式状态下,可以通过按钮自主控制机器人运动;追踪模式下,机器人可以追踪目标并保持相对距离;循迹模式下,机器人可以通过识别符号按预定轨迹运动[8]。

上位机的功能实现主要由两个线程完成:第一个线程需要完成的任务是由Winsocket接口接收WiFi模块传输的数据流,整理图像信息后,利用EmguCV的图像处理算法锁定符号的中心点坐标,根据坐标相对图像中心的位置和云台转动角度,即可判定需要追踪的物体方位[9-11];第二个线程需要完成的任务是根据图像处理得到的信息以及机器人红外传感器、加速度传感器传回的信息进行路径规划,并将生成的指令发送给机器人[12]。

4 机器人稳定控制ZMP算法

稳定行走是双足机器人行走的首要条件,在ZMP(Zero Moment Point,零力矩点)概念出现之前,对双足机器人的行走稳定性判断主要是根据重心投影点,即机器人的重心铅垂线与地面交点。重心投影点能够在一定条件下作为双足机器人行走稳定性的判断依据,尤其是在机器人静态行走,且步行速度非常慢的条件下。随着双足机器人的行走速度越来越快,重心投影点对机器人稳定行走的判断已越来越困难,鉴于该情况,南斯拉夫仿人机器人研究学者M Vukobratovic[13]于1969年提出一种新的双足机器人行走稳定性的判据,即零力矩点判据。ZMP的提出有效解决了双足机器人步行稳定性的判断问题,大大加快了各种步行机器人和仿人机器人的研究进程。目前,国外非常成功的仿人机器人绝大多数都是根据机器人的ZMP轨迹进行步态规划或行走反馈控制,比如本田公司的ASIMO(Advanced Step inInnovative Mobility)和索尼的 QRIO(Quest for Curiosity)都使用ZMP轨迹对机器人的行走姿态进行控制和反馈调整。

零力矩点是指地面上满足地面反力的合力矩对x、y轴分量为零的点,用T(Tx,Ty,Tz)表示由地面反作用力绕某一点产生的合力矩,则零力矩点即满足Tx=0,Ty =0的点[14]。与ZMP密切相关的一个概念是支撑多边形[15](Support Polygon),即考虑能够包含机器人足底与地面间所有接触点的最小多边形区域。在数学中,支撑多边形也即这些接触点集合的最小凸集。定义了ZMP和支撑多边形,可给出ZMP稳定性判据:机器人行走过程中,其ZMP轨迹始终位于支撑多边形中,则机器人行走稳定。在机器人行走过程中,单脚支撑期和双脚支撑期交替出现,机器人支撑脚形成的凸多边形稳定区域也随之变化,如图8所示。

其中,mi为机器人杆件i的质量,xi、yi、zi为机器人杆件质心位置在参考坐标系对应坐标轴上的分量,y··、x··、z··为机器人杆件i质心加速度在参考坐标系对应坐标轴上的分量,g为重力加速度。ZMP算法根据机器人下一步动作指令,先在上位机进行控制指令预执行,然后进行姿态解算,判定机器人预执行之后的ZMP点位置,再对ZMP点是否处于稳定区域进行判断,根据判断结果对指令作出调整或直接执行,从而对行走速度和姿态作出限制。算法判定流程如图9所示。

在控制算法测试过程中,机器人能够稳定完成行走及其它特定动作。机器人行走以及倒立过程中的4个关键步态如图10所示。

5 结语

本文设计了一种基于WiFi远程控制的智能监控机器人,机器人机械结构采用3D打印,可靠性高;嵌入式硬件系统以STM32F407为核心,采用Marvell公司的8801NS2 WiFi 解决方案,配备OV2640摄像头模组、PCA9685多路舵机控制器、红外传感器与加速度传感器;软件采用μC/OSII实时操作系统,配合PC机上位机和手机APP与机器人进行数据传输与交互,结合ZMP控制算法使机器人在运动过程中处于动态平衡状态。系统通过视频信息的稳定无线传输,以及图像处理提取有效信息,从而实现机器人的稳定追踪、自动循迹与环境监测功能。

实验证明,该系统稳定性、可靠性较高。下一步将在本文研究基础上研究手机端APP图像处理方案,以对系统进行完善,利用更优的图像算法与机器人稳态算法实现任意物体取定及快速跟踪。

参考文献:

[1] ALY A,GRIFFITHS S,STRAMANDINOLI F.Editorial:towards intelligent social robots current advances in cognitive robotics[J].Cognitive Systems Research,2016,43:153-156.

[2] KOENEMANN J,BURGET F,BENNEWITZ M.Real-time imitation of human whole-body motions by humanoids[C].IEEE International Conference on Robotics and Automation,2014:2806-2812.

[3] 孫静,张帆,王国庆,等.物联网时代人工智能机器人的发展趋势探讨[J].科技经济导刊,2017(31):6-7.

[4] 许晓飞,邹建勇.人形机器人结构与动作的设计[J].电子技术,2015(2):27.

[5] 朱斌海.Pro/E-Cura 3D打印全流程技术研究[J].科技展望,2014(17):149.

[6] 翟伟良,李哲.基于WiFi无线传输远程视频监控的研究[J].电子科技,2016,29(9):68-71.

[7] LEI W,WANG Y,CHEN S,et al.The application of ucos-ii in embedded intelligent vision surveillance system[J].Microcomputer Information,2008,24(11):6-8.

[8] LANG H,WANG Y,CLARENCE W D S.Vision based object identification and tracking for mobile robot visual servo control[C].IEEE International Conference on Control and Automation.IEEE,2010:92-96.

[9] 孔德川,郑丽媛.基于嵌入式系统的矿井无线视频监控系统研究[J].矿山机械,2014(7):141-144.

[10] 任超,冯勇建.EmguCV图像处理库WP中的应用[J].计算机应用与软件,2013,30(5):233-235.

[11] 郭永锋,曹竟如,郭清宇.基于EmguCV的改进背景减除法运动目标检测方法研究[J].中原工学院学报,2017,28(4):86-89.

[12] 刘烨.C#编程及应用程序开发教程[M].北京:清华大学出版社,2003.

[13] MIOMIR V,BRANISLAY B.Zero-moment point-thirty five years of its life[J].International Journal of Humanoid Robotics,2004 (1):157-173.

[14] YANG T,ZHANG W,HUANG Q,et al.A smooth and efficient gait planning for humanoids based on human ZMP[J].机器人,2017,39(5):751-758.

[15] 蔡自兴.机器人学基础[M].北京:机械工业出版社,2009.

[16] 付根平,杨宜民,陈建平,等.基于ZMP误差校正的仿人机器人步行控制[J].机器人,2013,35(1):39-44.

(责任编辑:黄 健)

猜你喜欢
智能机器人路径规划图像识别
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
智能机器人实践课程自主创新能力培养研究