《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于Wi-Fi的自动寻迹与可视化遥控机器人设计
基于Wi-Fi的自动寻迹与可视化遥控机器人设计
2016年微型机与应用第06期
何友奇1,蒋新华1,2,聂明星1,2
(1. 中南大学 信息科学与工程学院,湖南 长沙 410083; 2. 福建工程学院 信息科学与工程学院,福建 福州 350108)
摘要: 为解决传统搬运机器人采用无线电或红外遥控方式可操控范围较小的问题,在基于高速WiFi无线传输技术的基础上,设计了一个结合自动寻迹与远程视频监控的6自由度机器人模型系统。该模型机器人通过高速WiFi实现指令下达及视频监控,并采用红外反射方式识别地面预设黑色引导线实现自动寻迹,同时开发了机械臂动作记忆功能来自动完成指定的工作。现场实验测试结果验证了本机器人系统的可行性。
Abstract:
Key words :

  何友奇1,蒋新华1,2,聂明星1,2

  (1. 中南大学 信息科学与工程学院,湖南 长沙 410083; 2. 福建工程学院 信息科学与工程学院,福建 福州 350108)

  摘要:为解决传统搬运机器人采用无线电或红外遥控方式可操控范围较小的问题,在基于高速WiFi无线传输技术的基础上,设计了一个结合自动寻迹远程视频监控的6自由度机器人模型系统。该模型机器人通过高速WiFi实现指令下达及视频监控,并采用红外反射方式识别地面预设黑色引导线实现自动寻迹,同时开发了机械臂动作记忆功能来自动完成指定的工作。现场实验测试结果验证了本机器人系统的可行性。

  关键词:自动寻迹;远程视频监控;机器人;动作记忆

0引言

  在当今工业与信息的时代,自动化是社会追求的目标,而智能机器人则是实现自动化的主要途径之一,其在生活和工业等各领域的应用也越来越广泛[1]。这其中搬运机器人发挥着重要的作用,主要代替人完成物体的夹取、运输、摆放工作,可工作于人类无法进入或对人体有害的工作环境。传统搬运机器人多采用无线电或者红外的方式来进行遥控,可操控范围较小,并且需要特定的控制器[2]。因此,本文设计了一种结合Wi-Fi无线控制的6自由度搬运机器人,可根据给定线路自动寻迹,并通过高速Wi-Fi网络实现实时视频图像采集与传输,操作人员实时监控、修正机器人的行进轨迹,并操作机械臂进行拾取搬运动作。

1总体设计

  本系统采用主从式结构,主要由上位机控制端和机器人端构成。上位机与机器人通过WiFi建立高速无线连接,机器人端的视频数据以及传感器数据通过Wi-Fi无线链路实时传输回上位机,同时上位机的指令也通过WiFi网络传输到WiFi通信模块,再通过通信模块的串口发给STM32F103ZET6组成的主控系统,由STM32F103ZET6分析接收到的指令并驱动直流电机、模拟舵机来完成最终的动作实现,控制机器人的行为,实现交互式操作。在监控过程中,操作员可根据现场情况随时开启或关闭机器人的自动循迹功能和6自由度机械臂动作记忆功能。在固定的工作场所开启自动寻迹功能时,PC端监控自动循迹执行情况或在出现紧急情况时对其进行遥控。开启机械臂动作记忆功能时,操作员通过上位机设定一系列动作后,机械臂便可以循环执行这一系列动作。

2系统硬件设计

  2.1机器人系统的硬件结构

  

001.jpg

  机器人端硬件结构如图1所示。控制器采用高性能32位处理器STM32F103ZET6,最高工作频率为72 MHz。视频采集使用USB无驱摄像头,电机驱动采用1片L298N驱动机器人左右主动轮的直流电机,Wi-Fi通信模块支持OpenWrt,无线传输速率为150 Mb/s,负责接收上位机的指令并把摄像头采集的图像数据传输回上位机端。障碍物检测模块采用红外光电开关E18-D80NK,检测距离在3~80 cm之间可调。

  2.2电源模块

  主电源采用12 V锂电池,10 000 mAh大容量,最大输出电流为6 A,具有短路保护。该电源经DCDC降压后可以输出12 V、5 V和3.3 V电压,可以为两个直流电机、STM32F103ZET6控制系统和WiFi通信模块供电。机械臂6路舵机耗电量大且负载时电流较大,因此采用航模锂电池独立电源,规格为20 C/1 500 mAh/7.4 V,最大输出电流为30 A,经过两个大功率降压二极管后输出电压为6 V左右,为6路舵机供电。

  2.3路径识别

  路面信息检测模块采用价格低、体积小、数据处理简便的红外反射式光电传感器[3],型号为TCRT5000,其检测距离为1~2 cm;传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管。

  本设计采用7个红外光电传感器,呈一字等间距排列,相互间隔1.5 cm,离地高度为1 cm。经实际测试,用于识别黑色引导线效果良好,各传感器之间不会出现死区,同时便于安装,说明光电传感器的数量合理,空间位置设置可行。由于红外光电传感器发出的是锥形的红外光,为了提高路径信息检测的前瞻性,传感器与地面有一定的倾角[4],倾角约为40°。图2、图3所示分别为传感器发光示意图和安装示意图。

  

002.jpg

003.jpg

  TCRT5000的应用电路如图4所示。U1为电压比较器LM324N,对信号进行整形。当传感器检测到路面黑线时,光线大部分被吸收,反射很弱,光敏晶体管无法导通,OUT端输出高电平;当检测到白色地面时,光线大部分被反射,光敏晶体管导通,OUT端为低电平,这样就完成了白色背景下黑色引导线的检测[5]。

  

004.jpg

  传感器输出的微弱电信号经传感器信号处理电路调理后送入单片机,单片机对采集到的信号进行分析处理并做出逻辑判断和寻迹控制决策后输出两路PWM 电机调速信号,PWM 信号再经驱动电路后分别控制两个主动轮上直流电机的转速,最终实现控制小车行进方向和速度的功能[6]。

3软件设计

  3.1系统的软件结构

  本系统的软件结构如图5所示,系统软件由上位机软件、WiFi通信模块程序和下位机程序三部分组成。WiFi通信模块运行OpenWrt,这在刷机阶段完成。OpenWrt提供了相关设备驱动,驱动无线模块作为WiFi网络热点,提供上位机通信连接;同时WiFi模块把摄像头采集的图像数据传输回上位机端。PC上位机端和WiFi通信模块端之间通过自定的通信协议完成通信,上位机软件通过高速WiFi控制车体和机械臂的行为,WiFi通信模块接收上位机发来的指令,并通过串口发送给下位机程序,下位机程序将控制指令进行解释并执行,控制相应部件执行动作。

005.jpg

  3.2上位机软件设计

  3.2.1软件程序框图

  上位机软件主要实现程序调试、视频监控、机器人行进及机械臂动作控制等功能。程序框图如图6所示。运行上位机软件后,先判断是否进行调试,如果进行调试的话,可以选择串口方式或者WiFi的方式。调试完成后,连接路由器开启摄像头,再判断是否开启自动寻迹和开启动作记忆。如果开启了自动寻迹,则进入自动寻迹模式,机器人在行进过程中先检测行进路线上是否有障碍。检测到障碍时机器人会自动停止并关闭自动寻迹并返回信息给上位机,上位机端会提示有障碍,操作人员遥控机器人通过障碍使其回到轨迹,再根据情况判断是否开启自动寻迹,自动寻迹检测到终点时机器人会自动停止。如果开启了机械臂动作记忆,则通过遥控设定机械臂要完成的一系列动作,之后机械臂就可以自动地循环执行动作。如果既没有开启自动寻迹功能也没有开启动作记忆,则进入遥控模式。操作人员在上位机端通过视频监控界面实时控制机器人行进、转向与机械臂的动作,直至终点。在遥控过程中,可随时开启自动寻迹与机械臂动作记忆。

  

006.jpg

  3.2.2视频显示的实现

  主要使用的组件有Timer、Image和IdHTTP。WiFi通信模块可以把USB摄像头采集的图像数据传回地址为http://192.168.8.1:8083/?action=snapshot的网页上,只要在定时器的OnTime事件处理过程中调用IdHTTP组件的get方法不断地快速打开该网页获取图片,再把该图片转化为内存流显示在Image组件上就可以实现目的。只要定时器的周期足够短,获取网页内容的速度足够快(即图片帧率足够快),就能实现流畅的视频效果。该Timer的属性Interval设置为20,即每20 ms获取图片内容并显示,这样画面帧率达到50 fps,显示效果足够流畅。具体的定时器OnTime事件处理程序框图如图7所示。

  

007.jpg

  3.3通信协议

  通信协议是上位机与WiFi通信模块连接的纽带。上位机的指令采用数据包的格式,相比于单字符格式指令,数据包格式指令抗干扰性更强,指令传输正确率更高[7]。指令数据包由包头、数据位加包尾构成,没有校验位;包头固定为0XFF,包尾固定为0XFF。上位机软件连接WiFi通信模块后,通过Socket发送指令包到WiFi通信模块。WiFi通信模块接收到指令数据包后通过串口发送给STM32F103ZET6控制器,STM32F103ZET6根据指令控制各模块执行相应的动作。将6自由度的机械臂从下到上的6个舵机编号为1~6。具体的通信协议如表1所示。 

012.jpg

  3.4下位机软件

  下位机程序主要介绍自动寻迹的实现。机器人实现自动寻迹的流程图如图8所示。

008.jpg

  图8自动寻迹流程图当机器人位于白底黑线的路面上时,机器人的行进和转向都由左右两个直流驱动电机的转速决定。左右两个直流驱动电机的控制信号由STM32F103ZET6的PA6和PA7输出。根据传感器检测的不同的路径信息,这两个端口可以输出占空比不同的PWM方波,占空比越高直流电机的转速越快[8]。通过分别控制左右两个电机的转速可以比较精确地控制机器人的行进速度和转向大小。

  本系统设置路径引导黑线宽1 cm。一字排列的7个光电传感器在STM32F103ZET6的PB0~PB6端口上可以形成不同的状态字,代表不同的位置信息。如果PB0~PB6的某个端口输入是高电平“1”,则表示对应的光电传感器检测到黑色引导线[9]。开启10 Hz时基中断后,每0.1 s中断一次,在中断中读取PB0~PB6的状态,完成传感器信号扫描。根据PB0~PB6不同的状态,STM32F103ZET6控制PA6和PA7输出占空比不同的PWM信号,控制机器人沿黑线行进和转向,实现自动寻迹。具体的行进和转向控制如表2所示,*表示此位可为“0”或者“1”。

013.jpg

4实验和测试

  4.1上位机视频监控范围测试

  4.1.1上位机监控界面

  上位机软件采用Delphi 7开发,监控主窗口如图9所示,由串口收发区、行进方向控制区、摄像头视频显示区、TCP Socket收发区、机械臂控制区以及数据采集区组成。

  

009.jpg

  4.1.2视频监控的距离测试

  该测试用来测试WiFi连接下视频监控的有效距离,地点选在室外空旷地带,分别测试模型机器人距离上位机10 m、20 m、30 m、40 m、60 m、80 m时,上位机端视频监控画面的流畅度。流畅度分为3个等级:流畅、一般流畅、有卡顿。测试结果如表3所示。在30 m范围内,视频监控画面清晰流畅;40~60 m范围内,视频流畅度降低并出现卡顿;距离达到80 m时,WiFi连接已失效,视频数据无法传输回上位机端。

014.jpg

  4.2机器人自动寻迹测试

  机器人自动寻迹测试实验主要考察在不同轮廓路径下路径识别的准确率。自动寻迹路径测试场地如图10所示,机器人出发点为A,经过B、C、D、E、F、G,到达终点H。实验测试分为6组,分别为:B→C直线路径测试,B→C→D 90°左转折线路径测试,C→D→E 90°右转折线路径测试,十字交叉点E测试,E→F曲率较小曲线路径测试,F→G→H曲率较大曲线路径测试。

  

010.jpg

015.jpg

  每组实验分别测试20组,记录成功次数和失败次数,结果如表4所示。多次寻迹实验表明,当寻线路经为直线、90°折线及曲率较小的曲线时,机器人自动寻线的成功率为100%;当寻线路径为曲率较大的曲线时,机器人的寻线成功率降为90%。可见曲线的曲率会影响自动寻迹的成功率。 

011.jpg

  机器人自动寻迹的测试如图11所示。

5结论

  本文设计了一种结合WiFi无线控制的6自由度模型机器人,该模型机器人可根据给定线路自动寻迹,并通过高速WiFi网络实现实时视频图像采集与传输。操作人员可实时监控,修正机器人的行进轨迹,并控制机械臂进行拾取搬运动作,这些动作可在被记忆后自动执行。测试表明,在空旷地带时,40 m范围内视频监控画面清晰流畅,对机器人的行进控制以及机械臂的动作控制都非常稳定;机器人路径识别的准确率很高,自动寻迹达到预期效果。经过进一步完善与改进,本文设计的模型机器人在服务业、工业自动化等领域具有重要的应用价值。

  参考文献

  [1] 谭民,王硕.机器人技术研究进展[J].自动化学报,2013,39(7):963964.

  [2] 王田苗,淘永.我国工业机器人技术现状与产业化发展战略[J].机械工程学报,2014,50(9):23.

  [3] 时巧,李财,邓渊,等.智能巡线小车的设计[J].微型机与应用,2015,34(9):7880.

  [4] 吕霞付,罗萍.基于光电传感器的智能车自动寻迹系统设计[J].压电与声光,2011,33(6):941942.

  [5] 宋永献,马娟丽,贺乃宝,等. 基于TMS320F2812 的智能循迹小车控制系统设计[J].计算机测量与控制,2011,19(9):21282130.

  [6] 李新科,高潮,郭永彩,等.基于语音识别和红外光电传感器的自循迹智能小车设计[J].传感器与微系统,2011,30(12):106107.

  [7] 向诚,谢峰粹.基于WiFi和Android的智能探测车设计[J].电子技术应用,2013,39(12):8284.

  [8] 李波,杨卫,张文栋,等.一种智能小车自主寻/循迹系统设计[J].计算机测量与控制,2012,20(10):27982801.

  [9] 宁慧英.基于光电传感器的智能小车自动寻迹控制系统[J].仪表技术与传感器,2012(1):108110.


此内容为AET网站原创,未经授权禁止转载。