论文部分内容阅读
摘 要:随着物联网、大数据和云计算等技术的快速发展,人们对智能电子产品的要求也越来越高。针对一般的智能机器人只能巡线循迹、躲避障碍物和超声波测量距离等,并且其实时性、可靠性并不高。本文设计开发了一种高可靠性、高实时性的无线视觉智能机器人。小车采用STM32f103芯片,采集了多种高性能传感器的数据信息,高效率地实现了上述功能。用户可以利用Android APP或PC 应用软件来控制小车的各种功能。实验结果表明,小车的各种功能均能有效地实现;通过客户端可以实时控制小车的各种运动以及摄像头的全方位转动。
关键词:智能机器人;WIFI;视频监控;STM32
课题名称: wifi视觉智能小车设计 课题编号:AF201504 课题级别:院级 课题类型:科研项目
1 引言
智能小车是一个集自动控制、环境监测、无线遥控等多种功能于一体的综合系统,目前以高级单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车[1-3]。本文提出了一种基于STM32f103系列芯片的无线视觉智能机器人设计方案。STM32F1X系列芯片采用了Cortex-M3内核,性价比高于ARM7;系统采用两个电源稳压模块,一路给主控制器供电,另一路给电机驱动芯片和其他外部设备供电。系统将动力部分的电源和逻辑部分的电源分开,保证了主控制器的稳定性。电机驱动芯片采用的是微型集成电路电机驱动芯片L298N,其稳定性较好[4]。
2 硬件设计
2.1 系统整体设计
系统的整体设计分成软件程序与硬件电路设计。软件程序方面,PC应用程序采用VS2010开发环境,采用C#编程语言实现;Android APP采用Eclipse + Android ADT开发环境,采用Java编程语言实现。硬件电路方面,包括伺服电机的驱动设计、摄像头视频的采集并传输设计、各种传感器电路的设计等。图1为系统的整体设计图。
2.2超声波测距模块
超声波是指频率高于20kHZ的声波,超声波在介质中传播时遇到不同的界面将产生反射、绕射、折射等原理在各行各业得到了广泛应用[5-6]。该系统所使用的测距模块为HC-SRO4超声波模块,该模块测量范围为3-400cm,精度最高可达3mm,由超声波发射探头、控制电路和驱动电路组成[7-8]。测距模块对外引出4个引脚分别为VCC、TRIG、ECHO和GND。超声波测距要先设置定时器。超声波模块的工作原理为:
(1)采用IO口TRIG触发测距,给控制端TRIG至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测ECHO端是否有信号返回;
(3)有信号返回,通过IO口TRIG输出一个高电平,同时开定时器计时,当此口变为低电平时就可以读定时器的值,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m/s))/2。 超声波测距原理图如图2所示。
如果发射脉冲和回波接受时间相差t,则可以算出超声波传感器与阻挡物体反射点之间的距离,测量距离。图2为超声波测距原理图。
3 软件设计
3.1 下位机程序
主控板和WIFI模块通过串口连接,当串口初始化之后,WIFI模块可能会向主控板传输大量数据,此时延迟函数保护主控板不被卡死。接着进行串口的初始化(设置串口通信的波特率等),初始化完成后,串口就可以接收WIFI模块的数据了。最后,程序进入循环,判断机器人的当前模式,若为无线控制模式,就通过客户端的操作来控制小车的各种运动以及摄像头的转动;若为全功能模式,则相应执行红外循迹、红外避障、自动跟随、边缘检测以及超声波测距等功能。下位机程序结构图如图3所示。
3.2 PC控制端程序
PC应用程序采用VS2010开发环境,采用C#编程实现。当一直按住“前进”按钮时,上位机发送数据速度较快,主控芯片接收数据速度较慢,主控芯片将会卡死。为避免上述情况,上位机程序为每个动作按钮设置一个标志位,当按钮按下时,标志位为FALSE,将不会继续发送控制命令。
3.3 Android 控制端程序
Android APP采用Eclipse + Android ADT开发环境,采用Java编程语言实现。用户在Android APP主界面上输入视频的控制地址和控制端口,界面将会跳转到显示摄像头拍摄到视频的界面;Android 程序对“前”、“后”、“左”、“右”、“停止”五个按钮分别设置一个监听对象,并通过Socket对象发送控制小车电机的相关命令。BgPictureShowActivity.java是Android APP查看摄像头拍摄到照片的程序。
4 系统测试
在温度为22℃的环境下测试机器人的“自动跟踪”功能,改变机器人与被跟踪目标的距离,分别测出机器人的响应时间和准确率,如表1所示。
5 結论
本文采用STM32f103芯片,采集了多种高性能传感器的数据信息,高效率地实现了巡线循迹、躲避障碍物、超声波测量距离等多种功能。用户可以采用全功能方式或无线控制方式来控制机器人的运动。全功能方式可以准确实现巡线循迹、躲避障碍物、超声波测量距离、自动跟踪等功能。其中,自动跟踪功能的可跟踪距离较长、跟踪准确率较高。无线控制方式可以通过Android APP和PC应用软件实时地改变机器人的运动状态以及摄像头云台的角度。近期的研究方向是将摄像头采集到的视频进行人脸识别、火焰识别等,进一步提高小车的智能化。
参考文献
[1] 蔺瑞军. 基于嵌入式Linux的无线视频监控与调度系统设计和实现[D].中国科学院大学(工程管理与信息技术学院),2015.
[2] 徐成波,张常年.基于嵌入式Linux的移动机器人控制系统[J].单片机与嵌入式系统应用,2014,7:24-27.
[3] 刘巍. 基于STM32的小型排障智能车设计与实现[D].河北大学,2013.
[4] 雷红淼,程耀瑜. 基于L298N的直流电机驱动电路优化设计[J]. 数字技术与应用,2012,02:118+1
[5] 朱海洋,张合,马少杰. 低功耗声/超声复合传感器节点设计[J]. 仪器仪表学报,2014,10:2223-2230.
[6] 陈洁,余诗诗,李斌,等.基于双阈值比较法超声波流量计信号处理[J].电子测量与仪器学报,2013,27(11):1024-1033.
[7] 兰羽.具有温度补偿功能的超声波测距系统设计[J].电子测量技术,2013,36(2):85-87.
[8] 蔡磊,周亭亭,郭云鹏,等.基于超声波定位的智能跟随小车[J].电子测量技术,2013,36(11):76-79.
关键词:智能机器人;WIFI;视频监控;STM32
课题名称: wifi视觉智能小车设计 课题编号:AF201504 课题级别:院级 课题类型:科研项目
1 引言
智能小车是一个集自动控制、环境监测、无线遥控等多种功能于一体的综合系统,目前以高级单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车[1-3]。本文提出了一种基于STM32f103系列芯片的无线视觉智能机器人设计方案。STM32F1X系列芯片采用了Cortex-M3内核,性价比高于ARM7;系统采用两个电源稳压模块,一路给主控制器供电,另一路给电机驱动芯片和其他外部设备供电。系统将动力部分的电源和逻辑部分的电源分开,保证了主控制器的稳定性。电机驱动芯片采用的是微型集成电路电机驱动芯片L298N,其稳定性较好[4]。
2 硬件设计
2.1 系统整体设计
系统的整体设计分成软件程序与硬件电路设计。软件程序方面,PC应用程序采用VS2010开发环境,采用C#编程语言实现;Android APP采用Eclipse + Android ADT开发环境,采用Java编程语言实现。硬件电路方面,包括伺服电机的驱动设计、摄像头视频的采集并传输设计、各种传感器电路的设计等。图1为系统的整体设计图。
2.2超声波测距模块
超声波是指频率高于20kHZ的声波,超声波在介质中传播时遇到不同的界面将产生反射、绕射、折射等原理在各行各业得到了广泛应用[5-6]。该系统所使用的测距模块为HC-SRO4超声波模块,该模块测量范围为3-400cm,精度最高可达3mm,由超声波发射探头、控制电路和驱动电路组成[7-8]。测距模块对外引出4个引脚分别为VCC、TRIG、ECHO和GND。超声波测距要先设置定时器。超声波模块的工作原理为:
(1)采用IO口TRIG触发测距,给控制端TRIG至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测ECHO端是否有信号返回;
(3)有信号返回,通过IO口TRIG输出一个高电平,同时开定时器计时,当此口变为低电平时就可以读定时器的值,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340m/s))/2。 超声波测距原理图如图2所示。
如果发射脉冲和回波接受时间相差t,则可以算出超声波传感器与阻挡物体反射点之间的距离,测量距离。图2为超声波测距原理图。
3 软件设计
3.1 下位机程序
主控板和WIFI模块通过串口连接,当串口初始化之后,WIFI模块可能会向主控板传输大量数据,此时延迟函数保护主控板不被卡死。接着进行串口的初始化(设置串口通信的波特率等),初始化完成后,串口就可以接收WIFI模块的数据了。最后,程序进入循环,判断机器人的当前模式,若为无线控制模式,就通过客户端的操作来控制小车的各种运动以及摄像头的转动;若为全功能模式,则相应执行红外循迹、红外避障、自动跟随、边缘检测以及超声波测距等功能。下位机程序结构图如图3所示。
3.2 PC控制端程序
PC应用程序采用VS2010开发环境,采用C#编程实现。当一直按住“前进”按钮时,上位机发送数据速度较快,主控芯片接收数据速度较慢,主控芯片将会卡死。为避免上述情况,上位机程序为每个动作按钮设置一个标志位,当按钮按下时,标志位为FALSE,将不会继续发送控制命令。
3.3 Android 控制端程序
Android APP采用Eclipse + Android ADT开发环境,采用Java编程语言实现。用户在Android APP主界面上输入视频的控制地址和控制端口,界面将会跳转到显示摄像头拍摄到视频的界面;Android 程序对“前”、“后”、“左”、“右”、“停止”五个按钮分别设置一个监听对象,并通过Socket对象发送控制小车电机的相关命令。BgPictureShowActivity.java是Android APP查看摄像头拍摄到照片的程序。
4 系统测试
在温度为22℃的环境下测试机器人的“自动跟踪”功能,改变机器人与被跟踪目标的距离,分别测出机器人的响应时间和准确率,如表1所示。
5 結论
本文采用STM32f103芯片,采集了多种高性能传感器的数据信息,高效率地实现了巡线循迹、躲避障碍物、超声波测量距离等多种功能。用户可以采用全功能方式或无线控制方式来控制机器人的运动。全功能方式可以准确实现巡线循迹、躲避障碍物、超声波测量距离、自动跟踪等功能。其中,自动跟踪功能的可跟踪距离较长、跟踪准确率较高。无线控制方式可以通过Android APP和PC应用软件实时地改变机器人的运动状态以及摄像头云台的角度。近期的研究方向是将摄像头采集到的视频进行人脸识别、火焰识别等,进一步提高小车的智能化。
参考文献
[1] 蔺瑞军. 基于嵌入式Linux的无线视频监控与调度系统设计和实现[D].中国科学院大学(工程管理与信息技术学院),2015.
[2] 徐成波,张常年.基于嵌入式Linux的移动机器人控制系统[J].单片机与嵌入式系统应用,2014,7:24-27.
[3] 刘巍. 基于STM32的小型排障智能车设计与实现[D].河北大学,2013.
[4] 雷红淼,程耀瑜. 基于L298N的直流电机驱动电路优化设计[J]. 数字技术与应用,2012,02:118+1
[5] 朱海洋,张合,马少杰. 低功耗声/超声复合传感器节点设计[J]. 仪器仪表学报,2014,10:2223-2230.
[6] 陈洁,余诗诗,李斌,等.基于双阈值比较法超声波流量计信号处理[J].电子测量与仪器学报,2013,27(11):1024-1033.
[7] 兰羽.具有温度补偿功能的超声波测距系统设计[J].电子测量技术,2013,36(2):85-87.
[8] 蔡磊,周亭亭,郭云鹏,等.基于超声波定位的智能跟随小车[J].电子测量技术,2013,36(11):76-79.