论文部分内容阅读
摘 要:针对传统的智能小车只有循迹、避障和超声波测距等简单功能且实际应用效果并不理想,本文设计实现了一种高效的无线视频监控智能小车。小车采用STM32主控芯片,集成多种高性能传感器,可以有效实现红外循迹、红外避障、自动跟随、边沿检测、超声波测距和超声波避障等多种功能。小车带有WIFI模块,可以利用Android客户端或PC客户端来实现小车的无线控制。试验表明,客户端采集到的视频画面较清晰,视频流传输速度较快,可以满足实时监控的要求。
关键词:智能小车;WIFI;视频监控;STM32
Abstract: In view of the traditional intelligent car only tracking, obstacle avoidance and ultrasonic ranging and other simple functions and practical application effect is not ideal, this paper design and implement an efficient wireless video surveillance intelligent car. The car uses the STM32 main control chip, integrated a variety of high performance sensors can effectively realize multi functions such as infrared tracking, obstacle avoidance, automatic tracking, infrared edge detection, ultrasonic ranging and ultrasonic obstacle avoidance. The car with WIFI module, wireless control can realize the car using Android client or PC client. Test results show that, the client acquisition to the video screen is clear, video streaming transmission speed faster, and can meet the requirements of real-time monitoring.
Keywords:intelligent small car; WIFI; video surveillance; STM32
1 引言
智能小車是一个集自动控制、环境监测、无线遥控等多种功能于一体的综合系统,目前以高级单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车[1-3]。本文提出了一种基于STM32f105rbt6的嵌入式微处理器无线视频监控智能小车设计方案。电机驱动芯片采用的是微型集成电路电机驱动芯片L298N,其稳定性较好[4]。摄像头视频格式为MJPEG,此格式减少了WIFI模块的工作量;该无线智能小车是以WIFI作为数据传输信道,通过Android客户端和PC客户端等进行控制小车各种运动[5-6],以及将机器人摄像头采集到的视频显示在控制端屏幕上的机器人设备。
2 硬件设计
2.1 系统总体设计
系统总体设计可分为软件设计与硬件设计。软件方面,PC客户端采用.net开发平台,编程语言为C#;Android 手机客户端采用Eclipse开发平台,编程语言为Java。硬件方面,硬件设计主要是系统的电路设计,包括电机驱动模块设计、视频采集模块设计、无线通信模块设计等部分。
2.2 WIFI模块
控制端发出的指令通过TCP协议传输到WIFI模块,WIFI模块将接收到的数据直接从串口输出到主控板,主控板中的下位机程序对接收到的数据进行解析,进而设置电机驱动芯片引脚电平的高低,最后驱动电机转动。主控制器将采集到的传感器信息通过WIFI模块传输到PC控制端并显示,如主控制器将通过超声波测距模块采集到的距离信息传输到WIFI模块,然后再传输到控制端并显示。另外,WIFI模块将摄像头采集到的视频直接传输到控制端,并不通过主控制器。
3 软件设计
3.1 下位机程序
主控板上电之后需先进行系统初始化设置,包括延时函数和串口的初始化。系统采用三个定时器,定时器0用于红外遥控电视和产生PWM[7]信号控制舵机、定时器1指示主控板是否成功接收到WIFI模块传输的数据、定时器2用于计算超声波测距高电平持续的时间。最后,程序进入while(1)循环,判断当前模式(无线控制模式或全功能模式)。下位机程序结构图如图2所示。
3.2 PC控制端和Android 控制端
PC控制端程序采用Visual Studio 2012开发环境,使用C#语言。PC控制端通过TCP向WIFI模块的2001端口发送控制数据,WIFI模块会自动转发到串口,从而发送给主控芯片。上位机程序首先根据摄像头视频流的地址从WIFI模块读取出第一帧图像并进行解码,再将图像帧推送到显示控件上,然后使用线程循环的进行读取剩余帧,即实现摄像头视频流的读取。
Android 控制端程序采用Android开发环境,使用java语言。当Android APP使用HTTPURLConnection对象打开视频流的请求连接后,WIFI模块会自动采集USB摄像头的视频,并通过8080端口传输到Android APP,Android APP接着进行视频解码;
4 系统测试
系统测试主要分为硬件测试和软件测试。硬件测试主要是测试小车电机是否正常运转以及转速的调整,5个红外传感器和1个超声波传感器是否正常工作,WIFI模块是否正常启动和摄像头的驱动是否正常等。软件测试主要是Android客户端和PC客户端是否能准确控制小车的各种运动状态以及与小车的无线通信是否正常。
在温度为20℃的室内测试小车的“自动跟随”功能,改变小车与被跟随物体的距离,分别测出系统的响应时间和跟随准确率,如表1所示。
5 结论
设计并实现了以STM32为主控芯片,集成多种高性能传感器的实时视频监控智能小车。小车的控制分为全功能模式和无线遥控模式。全功能模式可以准确实现红外循迹、红外避障、自动跟随、边缘检测、超声波测距等功能。其中,自动跟随功能的系统响应时间小、跟随距离保持较准确。无线遥控模式可以通过Android客户端和PC客户端实时遥控小车的各种运动以及摄像头转动的角度。今后的工作是将客户端采集到的视频进行模式识别,如人脸识别、手势识别、火焰识别等,进一步实现高智能化视频监控。
参考文献
[1] 蔺瑞军. 基于嵌入式Linux的无线视频监控与调度系统设计和实现[D].中国科学院大学(工程管理与信息技术学院),2015.
[2] 徐成波,张常年.基于嵌入式Linux的移动机器人控制系统[J].单片机与嵌入式系统应用,2014,7:24-27.
[3] 刘巍. 基于STM32的小型排障智能车设计与实现[D].河北大学,2013.
[4] 雷红淼,程耀瑜. 基于L298N的直流电机驱动电路优化设计[J]. 数字技术与应用,2012,02:118+1
[5] 章隆彬,邱恒,马国荣.基于Android操作系统的XKI教育机器人平台设计[J].国外电子测量技术,2013,32(8):50-53. 20.
[6] 赵晓凤,张顺,周璟瑜,钟晓玲,何凌霄. 基于蓝牙小车的控制系统[J]. 电子科.
[7] 凌好,刘荣忠,郭锐,王宇波. 基于STM32的太阳自动跟踪控制系统的设计[J]. 计算机测量与控制,2012,02:383-385.
关键词:智能小车;WIFI;视频监控;STM32
Abstract: In view of the traditional intelligent car only tracking, obstacle avoidance and ultrasonic ranging and other simple functions and practical application effect is not ideal, this paper design and implement an efficient wireless video surveillance intelligent car. The car uses the STM32 main control chip, integrated a variety of high performance sensors can effectively realize multi functions such as infrared tracking, obstacle avoidance, automatic tracking, infrared edge detection, ultrasonic ranging and ultrasonic obstacle avoidance. The car with WIFI module, wireless control can realize the car using Android client or PC client. Test results show that, the client acquisition to the video screen is clear, video streaming transmission speed faster, and can meet the requirements of real-time monitoring.
Keywords:intelligent small car; WIFI; video surveillance; STM32
1 引言
智能小車是一个集自动控制、环境监测、无线遥控等多种功能于一体的综合系统,目前以高级单片机为核心的移动机器人还存在处理数据局限、控制不稳定等不足之处,国内市场暂时还没有出现具有真正意义的跟随性智能载物小车[1-3]。本文提出了一种基于STM32f105rbt6的嵌入式微处理器无线视频监控智能小车设计方案。电机驱动芯片采用的是微型集成电路电机驱动芯片L298N,其稳定性较好[4]。摄像头视频格式为MJPEG,此格式减少了WIFI模块的工作量;该无线智能小车是以WIFI作为数据传输信道,通过Android客户端和PC客户端等进行控制小车各种运动[5-6],以及将机器人摄像头采集到的视频显示在控制端屏幕上的机器人设备。
2 硬件设计
2.1 系统总体设计
系统总体设计可分为软件设计与硬件设计。软件方面,PC客户端采用.net开发平台,编程语言为C#;Android 手机客户端采用Eclipse开发平台,编程语言为Java。硬件方面,硬件设计主要是系统的电路设计,包括电机驱动模块设计、视频采集模块设计、无线通信模块设计等部分。
2.2 WIFI模块
控制端发出的指令通过TCP协议传输到WIFI模块,WIFI模块将接收到的数据直接从串口输出到主控板,主控板中的下位机程序对接收到的数据进行解析,进而设置电机驱动芯片引脚电平的高低,最后驱动电机转动。主控制器将采集到的传感器信息通过WIFI模块传输到PC控制端并显示,如主控制器将通过超声波测距模块采集到的距离信息传输到WIFI模块,然后再传输到控制端并显示。另外,WIFI模块将摄像头采集到的视频直接传输到控制端,并不通过主控制器。
3 软件设计
3.1 下位机程序
主控板上电之后需先进行系统初始化设置,包括延时函数和串口的初始化。系统采用三个定时器,定时器0用于红外遥控电视和产生PWM[7]信号控制舵机、定时器1指示主控板是否成功接收到WIFI模块传输的数据、定时器2用于计算超声波测距高电平持续的时间。最后,程序进入while(1)循环,判断当前模式(无线控制模式或全功能模式)。下位机程序结构图如图2所示。
3.2 PC控制端和Android 控制端
PC控制端程序采用Visual Studio 2012开发环境,使用C#语言。PC控制端通过TCP向WIFI模块的2001端口发送控制数据,WIFI模块会自动转发到串口,从而发送给主控芯片。上位机程序首先根据摄像头视频流的地址从WIFI模块读取出第一帧图像并进行解码,再将图像帧推送到显示控件上,然后使用线程循环的进行读取剩余帧,即实现摄像头视频流的读取。
Android 控制端程序采用Android开发环境,使用java语言。当Android APP使用HTTPURLConnection对象打开视频流的请求连接后,WIFI模块会自动采集USB摄像头的视频,并通过8080端口传输到Android APP,Android APP接着进行视频解码;
4 系统测试
系统测试主要分为硬件测试和软件测试。硬件测试主要是测试小车电机是否正常运转以及转速的调整,5个红外传感器和1个超声波传感器是否正常工作,WIFI模块是否正常启动和摄像头的驱动是否正常等。软件测试主要是Android客户端和PC客户端是否能准确控制小车的各种运动状态以及与小车的无线通信是否正常。
在温度为20℃的室内测试小车的“自动跟随”功能,改变小车与被跟随物体的距离,分别测出系统的响应时间和跟随准确率,如表1所示。
5 结论
设计并实现了以STM32为主控芯片,集成多种高性能传感器的实时视频监控智能小车。小车的控制分为全功能模式和无线遥控模式。全功能模式可以准确实现红外循迹、红外避障、自动跟随、边缘检测、超声波测距等功能。其中,自动跟随功能的系统响应时间小、跟随距离保持较准确。无线遥控模式可以通过Android客户端和PC客户端实时遥控小车的各种运动以及摄像头转动的角度。今后的工作是将客户端采集到的视频进行模式识别,如人脸识别、手势识别、火焰识别等,进一步实现高智能化视频监控。
参考文献
[1] 蔺瑞军. 基于嵌入式Linux的无线视频监控与调度系统设计和实现[D].中国科学院大学(工程管理与信息技术学院),2015.
[2] 徐成波,张常年.基于嵌入式Linux的移动机器人控制系统[J].单片机与嵌入式系统应用,2014,7:24-27.
[3] 刘巍. 基于STM32的小型排障智能车设计与实现[D].河北大学,2013.
[4] 雷红淼,程耀瑜. 基于L298N的直流电机驱动电路优化设计[J]. 数字技术与应用,2012,02:118+1
[5] 章隆彬,邱恒,马国荣.基于Android操作系统的XKI教育机器人平台设计[J].国外电子测量技术,2013,32(8):50-53. 20.
[6] 赵晓凤,张顺,周璟瑜,钟晓玲,何凌霄. 基于蓝牙小车的控制系统[J]. 电子科.
[7] 凌好,刘荣忠,郭锐,王宇波. 基于STM32的太阳自动跟踪控制系统的设计[J]. 计算机测量与控制,2012,02:383-385.