本站小编为你精心准备了WiFi的云机器人设计思考参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
《电子器件杂志》2014年第三期
电机模块同机器车上的最小系统一起,通过无线模块将遥控板和小车系统联系起来,小车系统的核心是由MCU构成,将小车各个功能联系起来。图2为总体设计图,图3为硬件设计图。图2中机器人通过WiFi信号接收来自主控端的指令,通过终软件将采集到的数据上传到云端,云则是充当了数据库和计算中心,同时可将采集到的数据提供给其他机器人使用,实现共享。本文主要基于SAAS模式,来进行设计,比较简单。机器车的工作模式主要有避障和遥控两种,对系统进行不同的运行控制时,引起不同的运行模块组合工作。这两种工作模式通过服务器中的路径规划算法来进行有效控制。(1)无线遥控机器车中的无线遥控模块使用的是无线串口XL02-232AP1。XL02-232AP1是UART接口半双工无线传输模块,可以工作在433MHz公用频段,用于点对点通信,使用简单,在对串口的编程时,只要记住其为半双工通信方式,注意收发的来回时序即可。当机器车置于无线遥控时,小车主要是通过无线模块进行控制。通过控制键盘,产生低电平,单片机检测到低电平发出通过无线模块发送相应信号时,机器车上的无线模块接收到信号,通过小车上的STC12C5A32S2识别信号,对电机模块产生相应的信号,从而对电机产生控制,达到相应的控制效果。(2)避障避障模块使用的是红外传感器E18-D80NK。E18-D80NK是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出,避免了可见光的干扰。E18-D80NK中的透镜,可以检测80cm距离的障碍物,这还要取决于颜色,根据光学特性,对不同颜色的物体,测距有不同,白色物体最远,黑色物体最近。当机器车处于自动运行状态时,通过红外线检测机器车前方是否有障碍物,当红外开关检测到障碍物,产生相应信号给单片机,并根据基于模糊神经网络的蚁群优化算法判断转向,同时指示电机模块产生相应信号,从而控制电机转速,产生相应的状态。
1.1主控板设计采用LQFP44封装的STC12C5A32S2单片机控制,在单片机系统上,拥有一个完整的P4口,用于控制舵机[2]。为了让控制板作为核心,单片机的控制板只引出下载程序使用的STC_ISP接口,可以方便电脑下载STC单片机程序,下载程序时只需要采用232转换电路小板。在电源设计上,设计了一个电源输入接口,采用LM2956S-5.0稳压芯片,输出5V稳定电压,更大地提高稳压效率及降低功耗,输入电压范围宽(5.5V~24V)。(1)车身灯接口本设计采用了三极管放大,低电平控制[3],输出为2位排针,可以连接车身灯的LED,如果采用普通LED,根据本设计加入470Ω限流电阻,可以直接连接LED。(2)驱动板接口驱动板采用通用直流电机驱动接口方式,对于控制信号来说分成两组,每组3个信号,分别是ENA、IN1、IN2;ENB、IN3、IN4,分别对应单片机的相应引脚,由驱动板的接口程序控制。为了方便驱动板使用逻辑电平,在接口处设计5V电源。驱动模块输出的波形图如图4所示,分频模式选择信号如是Mode为低,完成对输入时钟信号clkI、clkIN的4分频;是Mode为高,进行5分频。分频后时钟进行后续的数据串并转换使用,因使用角度不同,需要产生不同的分频时钟,用于移位存储链的时钟占空比,若Mode为低,即4分频时为1∶3;若Mode为高,即5分频时为1∶4,用作同步输出的时钟占空比均为1∶1。(3)P46、P47电压跳线电压跳线是为P46、P47端口控制舵机使用[4],也是为机械手臂舵机使用。不同跳线对应P46、P47的两组不同工作电压,跳至上面为5V,跳至下面与P4口其他电压一致。如果这两个端口控制小云台,那么电压跳线接至上面。(4)舵机接口舵机接口专为控制舵机而设计,三线舵机、电源由独立稳压可调芯片提供,满足舵机工作电压需求。VCC_6V并不是固定6V,由电压调节电位器决定。(5)ISP串口此接口可以采用USB转串口232的TTL方式,下载单片机程序,或者与其他TTL通信设计进行连接。
1.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所示。
2基于模糊神经网络的蚁群优化算法
本设计中的机器人是要能在高、低温、无人区、危险环境中作业,其周边干扰多、情况复杂,因此本设计中使用基于模糊神经网络的蚁群优化算法,利用神经网络和模糊理论进行学习,蚁群优化算法ACO是分布式智能模拟仿生类算法,它模拟蚂蚁根据信息素来寻找选择避障的最短路径,减少计算量,其算法具有很好的效果和鲁棒性[1]。把模糊神经网络与蚁群优化算法结合应用于机器人,以适应多变的恶劣环境。其中用神经网络主要实现隶属关系,函数式为:模糊神经网络和蚁群优化算法部分放置在云端,通过云数据库中调取并计算分析,为机器人提供路径规划的最佳方案,综合运用于本设计中,提高机器人的智能化程度和处理速度。机器车所在的环境是虚拟的,其中有障碍物,或其他情况,机器车都仅能感知它范围内的环境信息。环境以一定的速率让信息素消失。这些信息都是通过云去计算和实现的。该算法运行在云端,作为服务为机器车提供路径规划功能。机器车获取环境感知信息,上传回云端,云端将计算结果返回机器车。
3软件设计
本设计中的机器车有多项功能,如正常运行、多角度反转、障碍物的翻越、监视、录像、报警等,真正达到了智能化,根据其功能,在上位机中设计了控制软件,通过WiFi无线信号对机器车进行远距离控制。本设计采用模块程序设计法,使用.NET语言实现,完整的程序结构包含.NET框架所提供的支持,在程序执行阶段,.NET提供了一个程序运行时的环境,这个运行时环境提供管理内存、实时编译程序、进行安全检查、执行垃圾回收等[8]。对于图6的主程序设计流程图而言,运行时实现了这些功能的自动化。具体程序设计采用的是限幅滤波法,可以有效克服因偶然因素引起的脉冲干扰,确定两次采样允许的最大偏差值(设为Δ),每次检测到新值时判断,如果本次值与上次值之差<=Δ,则本次值有效;如果本次值与上次值之差>Δ,则本次值无效,放弃本次值,用上次值代替本次值。具体算法使用函数AmplitudeLimiterFilter(),即限幅滤波法,调用函数GetAD(),用来取得当前值。全局变量Value表示最近一次有效采样的值,在主程序里赋值;NewValue表示当前采样的值,ReturnValue为返回值,是本次滤波结果。常量Δ为两次采样的最大误差值,该值需要根据实际情况设置。(1)系统初始化系统初始化包括对芯片、控制器、无线收发及对系统的初始化,Windows系统主要完成对CPU、SDRAM等芯片的初始化;加载摄像头和USB2.0控制器的驱动程序,为应用程序的执行做好准备,对于数据寄存器、地址寄存器、中断服务寄存器等其他芯片的初始化进行相应的操作。(2)实时码流传输系统初始化完成之后,应用程序控制摄像头驱动以获取视频信号,并保存,程序流程图3所示,接收无线信号并将码流数据发送给USB2.0控制器的驱动程序,驱动程序随即将数据写入USB2.0控制器的端点缓冲器,USB2.0控制器将端点缓冲器中的视频数据无线发送出去。(3)视频接收器的设计本设计中的视频接收器是基于PC机的类似无线网卡的无线接收设备,硬件结构和nRF2401无线发射模块一样,都是用USB2.0控制器控制nRF2401进行有线传输。图7电机驱动模块测试图(单位:bit)
4实验结果
本项目的实验测试重点是电机驱动模块部分,作为机器车设计的重点,测试包含其对机器车的整体运行控制情况,如前进、倒退、旋转等。测试环节包括驱动模块是否正常、软件是否正常等。图7所示为当主控端和机器车无线连接后,从主控端操作界面发送行走指令,对应发送的指令代码10100000101000101010101011000010010100001时的电压与频率的关系图。以上二进制的字符串发送完毕,机器车即能正常运行起来。若没有较大延时,说明机器车软件设计没有问题。这个实验同时表明了在机器车运动过程中,所有的实测数据通过主控端存储在云端。本项目还通过.NET设计显示界面,来观察主控端程序接收数据情况,从而测试电机驱动模块发送数据的有效性及车速等数据,如图8所示,纵轴表示电压,横轴表示时间s。在数据显示界面上显示出机器车的速度和行走时间的关系,当前车速为为3m/s,电池电量剩余86%,舵机转角位为23°。在接收时,需先在IP地址中输入云遥控车预先设置的IP地址端口号,以实现与无线模块的连接,然后上位机程序就可以将接收到的舵机转角、车速及电池电量等定时信息显示出来,并根据中心线数各监控参数的实时/历史曲线,使用户更加方便地了解整个遥控车的变化情况;图8中表示整个机器车的运行情况,从曲线图上可以看出,整个机器车运行状态稳定。这个实验结果说明:遥控车在云计算的控制下运行速度正常,反应比较灵敏。
5结束语
基于WiFi的云机器人是根据现有机器人硬件设计笨重、运算系统复杂、反应迟缓的缺陷而设计,充分结合了现代最新的通信技术,通过人机操作界面,操作简单、使用方便。本设计中将机器人与云计算、WiFi相结合,硬件设计进行了无线遥控、调速、超声波测距、红外感应、液晶显示等关键模块的设计,软件上采用了基于限幅滤波法的模块化编程。基于云平台的数据库与强大的计算功能,为机器人提供智能处理、路径规划及存储功能。通过理论分析和实验仿真验证,此设计安全可靠,具有实时监控、操作灵活简便、价格低廉等特点,符合智能化机器人的发展方向,具有较好的应用及推广价值。
作者:马虹单位:南京工业职业技术学院能源与电气工程学院