基于WiFi的云机器人设计研究*

2014-09-26 08:58
电子器件 2014年2期
关键词:机器无线驱动

马 虹

(南京工业职业技术学院能源与电气工程学院,南京210023)

基于WiFi的云机器人设计研究*

马 虹*

(南京工业职业技术学院能源与电气工程学院,南京210023)

结合通信技术最新发展,将机器人中的复杂控制程序移到云中,基于WiFi设计的一种云机器人系统,可以简化机器人的设计,提高机器人的反应能力,并可用于构建大规模机器人群组。针对该系统设计了基于模糊神经网络的蚁群优化算法,通过SAAS模式向云机器人提供路径规划服务,提高了机器人的路径选择精确度与环境适应性。通过实验验证,设计安全可靠,本方案是有效可行的,符合智能化机器人的发展方向,具有较好的应用及推广价值。

WiFi;云计算;机器人;数据处理;.NET设计

传统的机器人设计笨重,反应迟缓,价格昂贵,而随着市场的推动,人们生活需求的日益提高,尤其对于一些高危地区,需要提高智能化程度,这使机器人市场重新活跃。本设计研究了一种基于WiFi的云机器人,即基于云计算的无线局域网机器人控制系统,它将机器人的复杂设计通过云计算进行简化[7],数据处理与传输是基于“云”端的数据流技术,研究的关键技术是信息的传递要求、接口技术、协议标准、通信程序编制、软件支持等,这些技术的研究有助于网络机器人数据流处理的无缝对接,实现网络环境下人监控的移动机器人半自主运动的遥控指令操作。基于无线局域网的控制方式能够方便的把单一机器人扩展为机器人组并使之协调动作,同时保证数据传输的及时性和稳定性。本研究适用于大规模的工业机器人应用、把单一机器人扩展为机器人组、智能家居系统中高速可靠的远程控制,以及特殊环境下的工业机器人高速通信链路支撑等领域。该研究设计降低了机器人的制作成本,扩大其应用范围及市场,尤其适合于火山探险、深海探密、空间探索,军事场地巡逻、侦察、监视,在生物、化学、核试验场地等的危险区作业等。

1 云机器人系统

云机器人是一种新型的机器人系统,它充分利用云计算的优势来提高机器人系统的效能并降低机器人设计制造甚至使用的成本。近年来,云计算和WiFi技术发展迅速。云计算,即一种计算模式,利用虚拟化技术,通过Internet向人们提供即时所需的各类资源[8],如计算、存储以及各种服务,凭借其强大的整合能力、动态扩展能力等特点,受到了各界的关注。WiFi(Wireless Fidelity)是一种短距离无线技术,只要通过无线路由器即可把有线信号转换为WiFi无线信号,方便、快捷,较之ZigBee、蓝牙等无线技术,WiFi技术不仅传送速率快,传输距离也远,因此应用范围不断扩大,同时也为机器人的实时数据传输提供了可能。本文的云机器人系统就是将这两类新型技术结合,既提高效能简化设计,又有较广泛的应用环境。

本文提出的云机器人系统由3大部分组成,机器人、云平台与主控端(如图1)。通过WiFi无线技术,云机器人可以访问云平台的计算、存储等资源,将感知数据存放在云端,可以请求路径规划等应用服务;主控端提供人机界面,使得用户可以控制和操纵机器人,同时也可以访问云端获取机器人感知的各种数据以及其他相关数据;机器人中密集运算的应用都放在云端,充分利用云平台的计算能力,同时降低了机器人的资源要求,简化了云机器人的设计。本文着重讨论云机器人的软硬件设计,以机器车为例,分硬件及软件两部分分别进行研究设计,硬件上主要针对主控板及驱动板的设计进行说明。

图1 云机器人系统

2 基于WiFi的云机器人的硬件设计

电机模块同机器车上的最小系统一起,通过无线模块将遥控板和小车系统联系起来,小车系统的核心是由MCU构成,将小车各个功能联系起来。图2为总体设计图,图3为硬件设计图。图2中机器人通过WiFi信号接收来自主控端的指令,通过终端软件将采集到的数据上传到云端,云则是充当了数据库和计算中心,同时可将采集到的数据提供给其他机器人使用,实现共享。本文主要基于SAAS模式,来进行设计,比较简单。

图2 控制板电路设计图

图3 硬件设计结构图

机器车的工作模式主要有避障和遥控两种,对系统进行不同的运行控制时,引起不同的运行模块组合工作。这两种工作模式通过服务器中的路径规划算法来进行有效控制。

(1)无线遥控

机器车中的无线遥控模块使用的是无线串口XL02-232AP1。XL02-232AP1是UART接口半双工无线传输模块,可以工作在433MHz公用频段,用于点对点通信,使用简单,在对串口的编程时,只要记住其为半双工通信方式,注意收发的来回时序即可。

当机器车置于无线遥控时,小车主要是通过无线模块进行控制。通过控制键盘,产生低电平,单片机检测到低电平发出通过无线模块发送相应信号时,机器车上的无线模块接收到信号,通过小车上的STC12C5A32S2识别信号,对电机模块产生相应的信号,从而对电机产生控制,达到相应的控制效果。

(2)避障

避障模块使用的是红外传感器E18-D80NK。E18-D80NK是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出,避免了可见光的干扰。E18-D80NK中的透镜,可以检测80 cm距离的障碍物,这还要取决于颜色,根据光学特性,对不同颜色的物体,测距有不同,白色物体最远,黑色物体最近。

当机器车处于自动运行状态时,通过红外线检测机器车前方是否有障碍物,当红外开关检测到障碍物,产生相应信号给单片机,并根据基于模糊神经网络的蚁群优化算法判断转向,同时指示电机模块产生相应信号,从而控制电机转速,产生相应的状态。

2.1 主控板设计

采用LQFP44封装的STC12C5A32S2单片机控制,在单片机系统上,拥有一个完整的P4口,用于控制舵机[2]。为了让控制板作为核心,单片机的控制板只引出下载程序使用的STC_ISP接口,可以方便电脑下载STC单片机程序,下载程序时只需要采用232转换电路小板。

在电源设计上,设计了一个电源输入接口,采用LM2956S-5.0稳压芯片,输出5 V稳定电压,更大地提高稳压效率及降低功耗,输入电压范围宽(5.5 V~24 V)。

(1)车身灯接口

本设计采用了三极管放大,低电平控制[3],输出为2位排针,可以连接车身灯的LED,如果采用普通LED,根据本设计加入470 Ω限流电阻,可以直接连接LED。

(2)驱动板接口

驱动板采用通用直流电机驱动接口方式,对于控制信号来说分成两组,每组3个信号,分别是ENA、IN1、IN2;ENB、IN3、IN4,分别对应单片机的相应引脚,由驱动板的接口程序控制。为了方便驱动板使用逻辑电平,在接口处设计5 V电源。

驱动模块输出的波形图如图4所示,分频模式选择信号如是Mode为低,完成对输入时钟信号clkI、clkIN的4分频;是Mode为高,进行5分频。分频后时钟进行后续的数据串并转换使用,因使用角度不同,需要产生不同的分频时钟,用于移位存储链的时钟占空比,若Mode为低,即4分频时为1∶3;若Mode为高,即5分频时为1∶4,用作同步输出的时钟占空比均为1∶1。

图4 分频时正弦波形输出

(3)P46、P47电压跳线

电压跳线是为P46、P47端口控制舵机使用[4],也是为机械手臂舵机使用。不同跳线对应P46、P47的两组不同工作电压,跳至上面为5 V,跳至下面与P4口其他电压一致。如果这两个端口控制小云台,那么电压跳线接至上面。

(4)舵机接口

舵机接口专为控制舵机而设计,三线舵机、电源由独立稳压可调芯片提供,满足舵机工作电压需求。VCC_6V并不是固定6 V,由电压调节电位器决定。

(5)ISP串口

此接口可以采用USB转串口232的TTL方式,下载单片机程序,或者与其他TTL通信设计进行连接。

2.2 电机驱动板设计

本设计中可以驱动两个直流电机,每一路L293输出引出了两个并联的端口,以便控制四轮的小车,左右两边的电机并联运行[5]。本驱动板也可以控制D42步进电机、四线制的步进电机。

L293有两个电压输入,一个是给电机的电压,一个是给芯片工作与控制逻辑的参考电压。L293有4个驱动门,每个IN1对应一个OUT1,当IN1为高电平时,OUT1输出高电平,电压为VSS,也就是给这个芯片电机的供电电压(注意这里不是逻辑电压)[6]。

本设计中每两个驱动门做成一路控制电机的信号,这样可以使电机在4个象限运行,即正转、反转、停车、自由滑行。ENA与ENB的使能的控制,如果采用PWM对电机进行调速,可以在ENA与ENB中分别接入PWM信号,IN1与IN2,IN3与IN4,分别可以控制电机的正反转与不转。如果利用本电路板去控制步进电机,就把步进线接到 OUT1、OUT2、OUT3、OUT4。

在硬件设计中,还有一些关键元器件的选择不容忽视,它们会对电路的整体性能产生影响,因此本设计中通过研究电路中滤波电容在变化时对电路性能的影响。在进行瞬态分析时,同时启动“参数扫描”分析,即可非常迅速、直观地了解到电路中特定元件参数变化对电路性能的影响。具体仿真图如图5所示。

图5 正弦波各分频图

3 基于模糊神经网络的蚁群优化算法

本设计中的机器人是要能在高、低温、无人区、危险环境中作业,其周边干扰多、情况复杂,因此本设计中使用基于模糊神经网络的蚁群优化算法,利用神经网络和模糊理论进行学习,蚁群优化算法ACO是分布式智能模拟仿生类算法,它模拟蚂蚁根据信息素来寻找选择避障的最短路径,减少计算量,其算法具有很好的效果和鲁棒性[1]。把模糊神经网络与蚁群优化算法结合应用于机器人,以适应多变的恶劣环境。其中用神经网络主要实现隶属关系,函数式为: wc和wg分别确定Sigmoid函数的中心和宽度。

模糊神经网络在环境控制中要注意的参数有:

对于蚁群优化算法在本设计中的分析,假设任一蚂蚁走到某个地方,下面接下去会选择的路径集合为N,集合中任一条路径n∈N上的信息素浓度为τn,走某条路的代价为ηn,那么选择某条路径v∈N的几率为

式中,参数α和β分别表示控制信息素和路径长度的相对重要程度。当这只蚂蚁在所有路径走过一遍后,路径上的信息素浓度将变为:

模糊神经网络和蚁群优化算法部分放置在云端,通过云数据库中调取并计算分析,为机器人提供路径规划的最佳方案,综合运用于本设计中,提高机器人的智能化程度和处理速度。

本设计中对云控制部分有相应的程序设计,下面仅将云控制语句列举出。

程序设计中涉及的参数有k为迭代次数(指机器车转动多少次存储在云端);m为遥控车启动避障的次数(存储在云端);E为终止点(最短路径的目的点)。

机器车所在的环境是虚拟的,其中有障碍物,或其他情况,机器车都仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。这些信息都是通过云去计算和实现的。

该算法运行在云端,作为服务为机器车提供路径规划功能。机器车获取环境感知信息,上传回云端,云端将计算结果返回机器车。

4 软件设计

本设计中的机器车有多项功能,如正常运行、多角度反转、障碍物的翻越、监视、录像、报警等,真正达到了智能化,根据其功能,在上位机中设计了控制软件,通过WiFi无线信号对机器车进行远距离控制。

本设计采用模块程序设计法,使用.NET语言实现,完整的程序结构包含.NET框架所提供的支持,在程序执行阶段,.NET提供了一个程序运行时的环境,这个运行时环境提供管理内存、实时编译程序、进行安全检查、执行垃圾回收等[8]。对于图6的主程序设计流程图而言,运行时实现了这些功能的自动化。

图6 主程序设计流程图

具体程序设计采用的是限幅滤波法,可以有效克服因偶然因素引起的脉冲干扰,确定两次采样允许的最大偏差值(设为Δ),每次检测到新值时判断,如果本次值与上次值之差<=Δ,则本次值有效;如果本次值与上次值之差>Δ,则本次值无效,放弃本次值,用上次值代替本次值。

具体算法使用函数Amplitude Limiter Filter(),即限幅滤波法,调用函数Get AD(),用来取得当前值。全局变量Value表示最近一次有效采样的值,在主程序里赋值;New Value表示当前采样的值,Return Value为返回值,是本次滤波结果。常量Δ为两次采样的最大误差值,该值需要根据实际情况设置。

(1)系统初始化

系统初始化包括对芯片、控制器、无线收发及对系统的初始化,Windows系统主要完成对 CPU、SDRAM等芯片的初始化;加载摄像头和USB2.0控制器的驱动程序,为应用程序的执行做好准备,对于数据寄存器、地址寄存器、中断服务寄存器等其他芯片的初始化进行相应的操作。

(2)实时码流传输

系统初始化完成之后,应用程序控制摄像头驱动以获取视频信号,并保存,程序流程图3所示,接收无线信号并将码流数据发送给USB2.0控制器的驱动程序,驱动程序随即将数据写入USB2.0控制器的端点缓冲器,USB2.0控制器将端点缓冲器中的视频数据无线发送出去。

(3)视频接收器的设计

本设计中的视频接收器是基于PC机的类似无线网卡的无线接收设备,硬件结构和nRF2401无线发射模块一样,都是用 USB2.0控制器控制nRF2401进行有线传输。

5 实验结果

本项目的实验测试重点是电机驱动模块部分,作为机器车设计的重点,测试包含其对机器车的整体运行控制情况,如前进、倒退、旋转等。测试环节包括驱动模块是否正常、软件是否正常等。

图7 电机驱动模块测试图(单位:bit)

图7所示为当主控端和机器车无线连接后,从主控端操作界面发送行走指令,对应发送的指令代码是10100000101000101010101011000010010100001时 的电压与频率的关系图。

以上二进制的字符串发送完毕,机器车即能正常运行起来。若没有较大延时,说明机器车软件设计没有问题。这个实验同时表明了在机器车运动过程中,所有的实测数据通过主控端存储在云端。

本项目还通过.NET设计显示界面,来观察主控端程序接收数据情况,从而测试电机驱动模块发送数据的有效性及车速等数据,如图8所示,纵轴表示电压,横轴表示时间s。

图8 主控端显示图

在数据显示界面上显示出机器车的速度和行走时间的关系,当前车速为为3 m/s,电池电量剩余86%,舵机转角位为23°。在接收时,需先在IP地址中输入云遥控车预先设置的IP地址端口号,以实现与无线模块的连接,然后上位机程序就可以将接收到的舵机转角、车速及电池电量等定时信息显示出来,并根据中心线数各监控参数的实时/历史曲线,使用户更加方便地了解整个遥控车的变化情况;图8中表示整个机器车的运行情况,从曲线图上可以看出,整个机器车运行状态稳定。这个实验结果说明:遥控车在云计算的控制下运行速度正常,反应比较灵敏。

6 结束语

基于WiFi的云机器人是根据现有机器人硬件设计笨重、运算系统复杂、反应迟缓的缺陷而设计,充分结合了现代最新的通信技术,通过人机操作界面,操作简单、使用方便。本设计中将机器人与云计算、WiFi相结合,硬件设计进行了无线遥控、调速、超声波测距、红外感应、液晶显示等关键模块的设计,软件上采用了基于限幅滤波法的模块化编程。基于云平台的数据库与强大的计算功能,为机器人提供智能处理、路径规划及存储功能。通过理论分析和实验仿真验证,此设计安全可靠,具有实时监控、操作灵活简便、价格低廉等特点,符合智能化机器人的发展方向,具有较好的应用及推广价值。

[1] 朱丹峰,葛主冉,林晓雷.基于Android平台的无线遥控智能小车[J].电子器件,2013,36(3):408-412.

[2] 吴宏岐,郭梦宇.基于STC单片机的仿生六足机器人设计[J].电子器件,2013,36(1):128-131.

[3] 张瑞森,刘冀伟.基于双目机器人的实时测距与追踪系统[J].电子器件,2007,30(5):1618-1621.

[4] 杨秀萍,刘嵩岩.基于无线传感器网络的移动机器人定位导航系统[J].电子器件,2007,30(6):2265-2268.

[5] 何鹏举.基于Web服务的无线网络节点传感器研究[J].传感技术学报,2009,22(11):1634-1638.

[6] 陈辉,邓记才,吴晓辉,等.多传感器信息融合在轮式机器人运动控制中的应用[J].传感技术学报,2011,24(6):915-918.

[7] 余翀,高翔,邱其文.基于多传感器数据融合的机器人里程计设计与实现[J].传感技术学报,2012,25(1):53-57.

[8] 宋光明,葛运建,张建军.基于蓝牙技术的智能机器人传感器网络研究[J].传感技术学报,2003,16(1):1-5.

马 虹(1979- ),女,汉族,江苏南京人,南京工业职业技术学院工作,研究生,讲师,研究方向为数据通信,mh_ purple@163.com。

Design of the Robot Based on WiFi and Cloud Computing*

MA Hong*
(School of Energy Source and Electric Engineering,Nanjing Institute of Industry Technology,Nanjing 210023,China)

Combining the latest development of communication technology,the complex control program of robots moves to the Cloud,and designs a Cloud-Robot system basing on WiFi.This design can simplify the software design of the robot,improve the flexibility and agility of the robot,and it can be used to build large-scale robot group.Based on fuzzy neural network ACO(The Ant Colony Optimization Algorithm for Fuzzy Neural Network)is used through the SAAS model of the algorithm to robot path planning service,to improve the path selection accuracy and adaptability to the environment of the robot.Through the experiment,the design is safe and reliable,effective and feasible,which conforms to the developing direction of intelligent robot,and has good application and popularization value.

WiFi;Cloud computing;robot;data processing;.NET design

10.3969/j.issn.1005-9490.2014.02.043

TN925.93;TP242;TP393

A

1005-9490(2014)02-0367-06

项目来源:江苏省精密制造工程技术研究开发中心开放基金项目(401050611ZK401)

2013-10-16修改日期:2012-12-09

book=372,ebook=206

EEACC:7210B

猜你喜欢
机器无线驱动
机器狗
基于模糊PI控制的驱动防滑仿真系统分析
机器狗
《无线互联科技》征稿词(2021)
屈宏斌:未来五年,双轮驱动,砥砺前行
轨旁ATC系统门控柜接收/驱动板改造
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
未来机器城