陈暑生 谢巍 黄旭东 邝颖怡
(华南理工大学自动化科学与工程学院)
安防领域中运动目标自动跟踪算法的设计
陈暑生 谢巍 黄旭东 邝颖怡
(华南理工大学自动化科学与工程学院)
本文阐述了一种安防领域中运动目标自动跟踪算法的实现,该系统用于控制摄像机捕捉移动目标,主要由超声波传感器、舵机云台、摄像头、上位机监控界面等组成。由两组超声波传感器对运动目标进行综合定位,通过数学运算的方式,得出物体较精确的二维坐标,处理得到云台的控制量,控制摄像机跟踪目标,并在上位机上显示状态。
运动目标;自动跟踪;超声波;检测
运动目标跟踪系统由超声波传感器、舵机云台、摄像头、上位机监控界面等组成。在上位机界面上可以看到运动目标的位置,同时也可以在手动模式下通过按钮操作摄像头。系统整体架构图如图1所示。
图1 运动目标自动跟踪系统整体架构图
超声波传感器是本系统的重要组成部分,利用了超声波碰到障碍物产生反射的原理来测量区域内运动目标的距离。计算距离的公式采用:速度×时间=距离,其中时间用单片机的定时器可以精确地测量[1]。由多个超声波检测到的距离信号只有经过四通道数字控制模拟开关CD4052筛选后送入单片机,才能只占有一个单片机发射口、一个外中断接收,完成多路超声波的测量。
舵机云台是本系统的执行部分。通过处理超声波测得的距离,得到物体的二维坐标,再经坐标变换得到舵机的控制量。摄像头则固定于云台之上,云台动作时调整摄像头的朝向。
1.1 系统硬件结构
本系统以ATMEGA32芯片为控制核心,系统硬件框图如图2所示[1]。电源模块起稳压作用,为硬件系统提供5V的直流电压。
图2 运动目标自动跟踪系统硬件架构图
单片机控制切换超声波测量通道,测出多组距离,并运算处理得到物体的二维坐标。单片机与每个舵机只需一个I/O口的信号线进行控制,通过调节不同占空比调整转角,最终使摄像头跟踪物体。同时,单片机与上位机通过串口连接。将物体的二维坐标分几个字节发送给上位机,在上位机上显示物体位置。
1.2 超声波测距模块设计
超声波的发射采用74LS04非门构成的简单推挽式驱动,将单片机控制发出40 kHz的调制信号输入到74LS04。超声波发射电路图如图3所示。
图3 超声波发射电路图
接收芯片采用CX20106,它是一款广泛应用于红外线检波接收的专用芯片,具有功能强、性能优越、外围接口简单、成本低等优点。由于红外遥控常用的CX20106芯片的接收频率38 kHz与超声波频率40 kHz比较接近,故采用CX20106芯片实现接收电路。当接收到与CX20106滤波器中心频率相符的回波信号时,输出端7脚输出低电平,且7脚直接接到ATMEGA32的INT0引脚上,以触发中断[1]。若频率有误差,可调节芯片引脚5的外接电阻R42,将滤波器的中心频率设置在40 kHz,就可达到理想的效果。经过上述处理,调制后的40 kHz超声波信号的接收也就变成了稳定电平的检测,非常方便快捷。超声波接收电路图见图4。
图4 超声波接收电路图
1.3 舵机控制模块设计
摄像机的朝向控制实际上是云台舵机的控制。云台控制电路主要为两个舵机提供5 V的工作电源和公共线,单片机输出控制PWM信号,周期为20 ms,占空比的变化为2.5%到12.5%,对应舵机的转角变化为0°到180°。除了稳定的电源之外,本模块不需要附加的驱动电路。
1.4 串口模块设计
串口模块负责ATMEGA32和上位机的通信,是单片机系统和计算机的沟通桥梁。ATMEGA32具有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。电脑的串口是RS232电平,而ATMEGA32的串口是CMOS电平,两者之间必须有一个电平转换电路,本文采用了专用芯片MAX232进行转换,其工作电压是5V[2]。
1.5 单片机模块设计
ATMEGA32是低功耗、高驱动能力的单片机,属于AVR单片机系列。ATMEGA32自带32 kB Flash和2 kB RAM,还有其他强大的特性,如PWM、TWI、SPI等功能[3],能够满足不同系统设计需求。
2.1 系统整体软件设计
整机工作流程图如图5所示。
图5 整机工作流程图
本系统用到两组超声波,每组由两个超声波检测装置组成,这两个超声波配合起来可以对90度夹角范围内的目标进行检测。综合两组超声波检测装置得到的物体距离信息,结合区域宽度,可以得到物体的二维坐标(x,y)。通过几何计算可以得到摄像头所需的俯仰角度和水平转动角度(视摄像头的具体安装位置而定),即两个舵机的转角控制量。为提高运行速度,可以预先计算得到由物体的二维坐标(x,y)到舵机控制量的映射表,运行时通过查表来得到舵机控制量,控制舵机运动,带动云台上的摄像头运动,实现摄像头自动跟踪。
2.2 超声波测距软件设计
超声波利用声音传播的距离=声速×反射时间/2的原理。通过上述介绍的超声波换能器及接收芯片电路,可以将超声波信号转换成简单的电平信号。软件程序上通过单片机定时器测量超声波从发出到接收的时间,再经上述公式简单运算即得距离。
2.3 物体坐标计算软件设计
超声波检测软件流程图如图6所示。
图6 超声波检测软件流程图
四个超声波检测装置依靠CD4052实现轮流测量,每两个为一组,这两个超声波可以对90度夹角范围内的目标进行检测。若两个超声波装置均检测到物体,则距离取平均值;若仅有一个超声波装置检测到物体,则以该结果作为距离值。由此得到两组超声波到物体的距离分别为R1、R2,结合区域宽度,由余弦定理可得物体的二维坐标(x,y)。软件上超声波测距函数完全不需改动,每次调用不同的超声波检测装置只需改变CD4052的地址脚即可。
2.4 舵机控制软件设计
舵机控制采用一定占空比的方波控制信号。单片机输出控制PWM信号,周期为20 ms,占空比变化为2.5%~12.5%,对应舵机的转角变化为0°到180°。对于AVR单片机,只需配置相关的寄存器值,就可以由一个定时器来控制两路PWM信号,即同时控制两个舵机。
2.5 串口通信协议设计
系统得到运动物体的坐标后,通过串口发送给上位机显示。由于数据量小,串口速率采用9600 b/s。串口发送的格式为一位起始码、3位x坐标的BCD码、3位y坐标的BCD码、一位结束码,数据位为低位在前。上位机接收到起始位时,将长度清零,抛弃之前接收的数据[4];当接到一位数据码后,缓存长度加1,直到收到结束码且长度正确时,将其进行处理,还原成位置显示出来。
本系统由超声波传感器、舵机云台、摄像头、上位机监控界面等组成。由两组超声波传感器(一组有多个传感器)对运动目标进行综合定位,通过数学运算的方式,得出物体较精确的二维坐标,处理得到云台的控制量,并在上位机上显示状态。相对于图像处理跟踪目标或动态扫描检测的方式,本方案具有实施简单方便、操作数据量少且反应迅速的特点。
[1] 温正,何嘉扬,赵志鹏.AVR单片机开发从入门到精通[M].北京:中国电力出版社,2009.
[2] 求是科学.单片机典型模块设计实例导航[M].北京:人民邮电出版社,2004.
[3] 胡汉才.单片机原理及其接口技术(第2版)[M].北京:清华大学出版社,2006.
[4] 蔡志明,卢传富,李立夏,等.精通Qt4编程[M].北京:电子工业出版社,2008.
Algorithm Design of Moving Object Automatic Tracking in the Security Application
Chen Shusheng Xie Wei Huang Xudong Kuang Yingyi
(College of Automation Science and Engineering, South China University of Technology)
This paper describes an algorithm of tracking moving object in the field of security automatically. The system consists of ultrasonic sensors, PTZ, camera, PC control interface and other components. Through two sets of ultrasonic sensors (a group of more than one sensor) getting the position of moving target, and an accurate two-dimensional coordinates of objects is obtained by the way of math, volume of PTZ can be controlled, and the status can be displayed in the PC. The program has characteristics such as simple and easy to implement and manipulate, and less responsive.
Moving Target; Automatic Tracking; Ultrasonic; Detection
陈暑生,男,1991年生,研究生,研究方向:自动化与信息系统工程。E-mail: eesschen@qq.com。
谢巍,男,教授,博士,研究方向:鲁棒控制,自适应控制。
黄旭东,男,1988年生,研究生,研究方向:自动化与信息系统工程。
邝颖怡,女,1989年生,本科生,研究方向:自动化与信息系统工程。