物联网智能机器人设计

汤莉莉+王金勇+黄伟



摘 要: 基于STC11F32E单片机、TCP/IP网络通信协议和Android开发物联网智能机器人系统。系统由视频拍摄模块、WiFi传输模块、PC上位机软件、Android手机客户端、机械手、智能控制模块等构成。根据不同环境的需要可利用PC或手机APP让机器人在跟随模式、避障模式或智能跟踪模式之间进行切换,并实现控制机器人的运动方向和动作,且在整个运作过程中可以实时拍照和进行数据采集、显示,也可以通过控制机械手来完成设定的任务。实验表明,物联网智能机器人基本完成,实现了预期的功能。
关键词: 物联网; 智能机器人; 远程控制; 太陽能; STC11F32E
中图分类号: TN915?34; TN923; TP399 文献标识码: A 文章编号: 1004?373X(2017)08?0073?04
Design of IOT intelligent robot
TANG Lili1, WANG Jinyong1, HUANG Wei2
(1. Zhixing College, Hubei University, Wuhan 430011, China; 2. System Design Institute of Hubei Aerospace Technology Academy, Wuhan 430040, China)
Abstract: The network intelligence robot system was developed on the basis of STC11F32E MCU, TCP / IP network communication protocols and Android. The system is composed of video capture module, WiFi transmission module, PC upper computer software, Android mobile client, robot, intelligent control module, etc. The system can utilize PC or mobile phone APP to make robot switch among following mode, obstacle avoidance mode or intelligent tracking mode according to the needs of different environments, and control the robot′s movement direction and action. It can make the real?time picture taking, data acquisition and display throughout the course of the operation. Of cause, the operator can also control the robot to complete the set task. The experiment result indicates that the network intelligence robot is basically completed, and the predicted functions have realized.
Keywords: Internet of Things; intelligent robot; remote control; solar energy; STC11F32E
物联网智能机器人是机器人家族中的一种,具有智能跟踪、环境监控、数据测试、远程操作、跟踪拍摄、路线循迹等功能,可以通过电脑上位机或手机客户端远程控制电视、空调等。也可以实现传统的智能自动跟踪、自动循迹和自动避障。在整个运作过程中可以实时拍摄周围视频资料,创新云台设计,实现全方位无死角拍摄。
当前我国大力提倡节能减排,创新驱动发展,为了响应国家号召,在设计物联网机器人时创新加入太阳能充电装置,虽然充电效率不高,但太阳能是最环保、有很大前景的能源。
1 总体设计方案
物联网智能机器人的总体设计方案如图1所示。
图1中有两种控制模式,一种是组成机器人控制局域网,将上位机PC端,手机客户端APP和智能机器人连接起来,实现上位机PC端或手机APP客户端控制机器人和显示视频数据的目的;另一种远程控制方案是将机器人通过网络和互联网相连,再将上位机PC端或手机APP客户端通过数据线连入互联网,可以实现远程终端通过互联网和机器人相连,进而实现控制机器人和视频传输。这两种设计方案的核心技术相同,都是通过网络地址和端口号的设定,再通过指令传输和视频数据传输,进而达到控制的目的。由于考虑到演示的效果和方便操作,本设计用局域网机器人控制的方式进行分析说明。
从数据传输方面来说,无线路由器是手机APP客户端、上位机PC端和下位机的数据核心,终端可以通过一个套接字编程,建立网络接口,进而与无线路由器进行连接,智能机器人便可以通过一个网口转串口的WiFi模块,再将机器人的串口数据通过这个模块转变成WiFi信号,就可以实现和无线路由器进行数据传输。其中,手机客户端APP、上位机PC端和下位机都有相应的局域IP地址。通过设置正确的IP地址,就可以实现数据的传输。
从控制的方面来说,手机客户端APP和上位机PC端是智能机器人的控制中心[1],这两者可以通过按键,发出相应的指令给智能机器人,智能机器人解说到对应的指令后给上位机,再由上位机将接收到的指令进行解析,并执行相应的程序,完成对应的动作。
1.1 上位机PC端软件设计
上位机PC端[2]的功能是控制机器人的运动,控制机械手的动作,显示机器人当前的速度,采集机器人所在环境的温湿度,控制云台方向,显示机器人周围的视频数据。同时,可以在上位机PC端上切换智能机器人的工作模式,其中机器人的工作模式有:循迹模式、红外避障模式、雷达避障模式、智能模式等,可以根据环境的需要切换不同的模式,也可以通过上位机PC端发送对应的指令,控制家用电器如电视、空调等。上位机PC端软件设计如图2所示。
图2中的功能实现主要由两个流程完成:第一个流程核心任务是完成从机器人端传輸过来的视频数据和音频数据,而这部分的技术主要是DirectShow;第二个流程核心任务是完成从机器人端传输过来的机器人当前速度和温湿度等信息,选择当前机器人的工作模式,以及完成在上位机PC端和机器人之间的指令传输,实现机器人的向前、向后、向左、向右、加速、减速、停止、开灯和鸣笛等[3]功能。在上位机PC端上有控制机械手的进度条,可以远程控制机械手的操作完成相应的动作,也可以设置机械手和云台舵机的初始状态,避免开机时烧坏舵机。在雷达模式下,上位机PC端可以显示当前有无障碍物,并会做出转向的动作避开障碍物。在整个运动过程中上位机PC端都可以显示拍摄的视频画面,可以用鼠标在上位机视频显示区控制云台,实现机器人无死角拍摄。且两个流程都设置有各自互不干扰的套接字,第一个流程与机器人的摄像头模块完成数据传输,第二个流程与机器人网口转串口模块完成数据交互。
1.2 手机客户端APP软件设计
本文中的手机APP客户端采用Android系统,在Eclipse平台上用Java语言编写开发的[4]。可以通过APP手机客户端完成的设置和操作有:设置机器人的运动方向指令;设置网络地址、视频存储和拍照存储地址;设置是否用触摸屏控制云台;显示视频画面;控制摄像头方位和机械臂动作角度;重力控制机器人。
手机APP客户端软件控制设计流程如图3所示。
1.3 下位机软件设计
下位机设计是机器人核心处理器程序的设计。其设计内容主要包含视频传输控制、云台操作控制、温湿度采集、红外对管模块和红外控制家电的设置,以及采集到的视频数据和控制指令互传等。在设计过程中每部分都是分模块编写的,都有相应的程序模块,再由主函数将所有模块综合起来,当下位机程序接收到上位机PC端或手机客户端APP的相关指令后,就调用相对应的程序模块,执行设定好的动作,并将完成的结果发送给终端,其设计流程如图4所示[5]。
下位机能够完成上位机PC端或手机客户端APP指令,并做出相对应的动作的核心是机器人中有网口转串口模块。机器人将代码指令通过串口转网口模块,再以WiFi的形式传出去,上位机PC端或手机客户端APP便可以接收到下位机发出的指令,通过解析并显示出来,为机器人的下一步动作做好准备。使用模块时必须设置正确的IP地址以及端口号,只有对应的设置正确了,上位机PC端、手机客户端和下位机才能进行数据传输。
2 设计方案特点及扩展说明
2.1 特点介绍
本设计是以PC软件、安卓软件、网络通信、物联网以及单片机技术为基础,结合当今提倡的利用环保型能源,创新的构想设计出来的。从机器人处理器的选型,各个模块的选取,通信协议方案的制定,以及上位机PC端、手机客户端APP的设计都与现有的“机器人”有较大的区别。本设计利用当前最普通的处理器,完成不同寻常的动作,其特点总结如下:摄像头全方位拍摄; 上位机PC端和APP客户端可以显示视频画面,并可以实现控制;上位机PC端可以控制云台,检查机器人状态; 上位机PC端、APP手机客户端和机器人上位机可以指示小车的运动状态[6];可以实现远程操作机械手; 可以实现遥控家用电器如电视、空调等;可以用太阳能给蓄电池充电,并有指示灯显示蓄电池电量;可以接收上位机的控制指令,实现控制,上位机亦可接收反馈指令和视频的数据流。
其中本设计中的通信方式利用的是TCP/IP协议,采用无线网络技术实现对机器人的控制。只要设置好IP地址和端口号后就可实现连接,可以实现局域网内机器人的控制,也可以实现超远程对机器人的控制。另外上位机PC端软件和手机客户端APP软件,控制模式多样,应用领域广泛,符合当前机器人的发展趋势,为当前机器人的发展提供可行方案。
2.2 扩展说明
物联网智能机器人不仅可以完成上文介绍的功能,还可以扩展以下功能[7]:带有指示灯显示运动方向并能够实现通过重力感应对机器人的控制;带有GPS全球定位功能在危机时刻或者必要时可以发送信息;太阳能电池板减轻重量,实现对机器人供电补给;语音功能,可以实现语音播放;可以利用机器人无线设备上网,打电话等。
3 方案难点及关键技术
本设计方案难点在于:
(1) 上位机PC端在操作控制机器人时,对数据传输的实时性要求很高,并要用相应的表盘显示出来,且对数据传输的稳定性要求更高,网络通信实现不间断传输更是困难;
(2) 手机客户端APP通过触屏控制云台,并显示拍摄视频画面。显示视频就很困难,而通过触摸屏幕不同方位,控制云台方向更是困难;
(3) 视频处理是利用M?JPEG格式图片,在规定时间内传输一定张数,显示出视频画面。如果对DierctShow技术内部细节掌握不够,处理视频时就会很困难。关键技术有:下位机程序模块化编写;上位机PC端软件编写;手机客户端APP的编写;TCP/IP通信协议的设定;机器人作为无线网接入网络;机器人智能模式的完成。
4 系统仿真与结果分析
4.1 物联网智能机器人整体外观
物联网智能机器人外观设计见图5,整个设计主要分为上位机PC端、手机客户端APP和机器人三个部分。