基于DSP 和陀螺仪的视觉云台设计
2009-04-11 19:26
摘要:本文介绍了基于TMS320F2407的视觉云台系统的设计与实现。系统采用微机械陀螺仪作为云台姿态和转速的测量器件,利用四元数法获取云台的姿态信息,采用步进电机作为云台驱动元件。整个系统可以根据指令精确控制云台转角和转速,也可智能补偿由于云台本体运动产生的角度偏差,具有高精度、高可靠性的特点,能满足移动机器人及无人机等系统对视觉云台的要求。
1 引言
视觉技术是近几十年来发展的一门新兴技术,机器视觉可以代替人类的视觉从事检验、目标跟踪、机器人导向等方面的工作。对于移动机器人来讲,视觉更是获取外界环境信息的重要手段。在移动机器人系统中,视觉系统通常要在图像中识别出感兴趣的目标,然后提取其相对机器人的距离和角度信息,此时就必须知道摄像头相对于机器人本体的姿态[1]。当机器人在地面上行进工作时,由于路面不平将引起图像的剧烈抖动,此时很难再继续跟踪感兴趣目标。同时,在图像处理过程中,如果知道摄像头在惯性坐标系下的姿态,将为图像识别提供额外的参考信息,从而提高图像识别的效果。
为了消除传统视觉云台系统在载体本身运动条件下对视觉图像采集和识别的影响,本文根据移动机器人对视觉云台的要求,设计了一种基于DSP的智能视觉云台。该云台控制系统主要包括以下功能:可以根据指令同时控制云台的转角和转速;可以获得摄像头在惯性坐标系下的姿态角度;可以实时补偿因机器人抖动对摄像头姿态的影响,具有高精密、高准确性、小型化、智能化的特点。www.51kaifa.com
2智能视觉云台的系统设计
系统结构框图如图1所示,核心处理器选用DSPTMS320LF2407芯片。该芯片具有强大的处理能力和丰富的外设功能[2],可以使视觉云台控制器的设计变得简单而实用。整个系统由四个单元组成:姿态测量单元,电机控制单元,摄像机控制单元和通讯单元。姿态测量单元利用微机械陀螺仪测量摄像机在惯性空间的角速度输出电压信号,经DSP的AD采集通道进入DSP,计算后可获得云台在惯性空间三维姿态的偏转,为上位机和电机控制提供决策数据。电机控制单元根据姿态测量单元的数据和上位机命令,产生PWM脉冲,控制电机的转角与转速。摄像机控制单元通过I/O产生一定占空比的方波信号,控制摄像头的焦距等状态参数。通讯单元采用SCI串口通讯接口,向上位机传输电机的姿态、转角等各种状态参数,同时接受上位机的相应控制命令。
3电机控制单元
目前国内外绝大部分的云台均采用直流力矩电机直接驱动负载的方式,这种控制方法反应速度快,但电机速度控制和角度控制精度不高,而且还需要额外增加码盘等装置,造成系统结构复杂。而步进电机在非超载的情况下,其转速、转角只取决于脉冲信号的频率和脉冲数,不受负载变化的影响。由于这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得其在速度、位置等控制领域的实现变得非常简单[3]。本系统选用步距角为1.8度的四通混合式两相步进电机42BYG250B作为执行元件。电机驱动器使用四通SH-20400步进电机驱动器,该驱动器可提供1/64的细分驱动,DSP只需向其提供步进脉冲和方向信号即可控制电机。
电机控制模块的软件结构如图2所示,电机的步进脉冲由DSP的PWM通道产生,方向由DSP的I/O通道产生的高低电平来控制。对于步进电机来讲,只需关注其PWM源的频率,占空比要求则不太严格,因此可将占空比设为1/2。TMS320LF2407芯片内部有两个事件管理器模块,每个事件管理器模块各自有两个定时器单元,每个定时器单元都有与之相关的比较单元,每个比较单元都有相应的比较寄存器。每个比较单元都可单独设置成比较模式和PWM模式。设置为PWM模式时,每个比较单元可以产生两个极性相反的PWM 脉冲[4]。首先设置好时间管理模块等相关寄存器的参数,根据其他模块发送来的电机转动角度和速度指令,编程计算出需要的PWM周期和个数。通过改变定时器周期寄存器的值可以改变PWM的频率,在定时器的周期寄存器一定的情况下,改变比较寄存器的值就可以改变输出PWM的占空比。定时器每中断一次,就说明产生了一个完整的PWM脉冲。如果驱动器的细分取1/64,则电机转过的角度为1.8/64度。当需要转动的电机转动θ度时,需要的脉冲总数为θ×64/1.8。当需要控制电机转速为ω度/秒时,如果此时DSP的运行时钟频率为π,则定时器的周期寄存器值应为π×1.8/(64×ω)。
图3 视觉云台机械结构
4姿态测量单元
陀螺仪是敏感壳体相对于惯性空间角运动的装置,它的基本功能是敏感角位移和角速度。陀螺仪具有稳定指向性和进动性两个特点,在载体内部测量角速度,经积分运算、姿态变换可以为载体提供准确的方位、姿态、角速度和角位移等信号,完成对航行体的姿态和运动轨迹控制[5]。本系统所使用的是LCG50型单自由度微机械陀螺仪。该陀螺仪可测量±250度/秒的角速度信号,输出信号为电压信号(0-5V)。其尺寸小,重量轻(12g),很适合像云台摄像机这样空间较小的环境。由于TMS320LF2407的AD通道输入电压满量程为3.3v,而陀螺仪输出电压满量程为5V,因此需要在陀螺仪与DSP的输入通道之间增加电压变换装置。微机械陀螺仪由于其线性度相对较差,为了提高测量精度,在使用前还需要对其输入输出信号进行标定,建立角速度值与电压信号的对应表。三个陀螺仪在安装时,一个沿摄像机轴线安装,另外两个陀螺仪相互垂直安装,并且其构成的平面与摄像机轴线垂直。这样可以测得摄像机三个轴上的转动角速度矢量(ωx,ωy,ωz)。对于刚体绕定点转动的问题,可以使用四元数来描述[6]。四元数矩阵与转动角速度矢量之间的关系为:
(1)
式中:
— t 时刻的四元数矩阵; — t 时刻的测量角速度矢量。www.51kaifa.com
对于式(1)所示的微分方程,可采用龙格一库塔法求解。龙格一库塔法是一种便于使用计算机求解微分方程的数值积分算法,表达为当已知方程式解的初值时,在解存在的区间各点上,逐点求出方程式的近似解[7]。若已知t时刻的 ,即 ,t+T/2和t+T时刻的 ,则有:
DSP中姿态测量模块的软件流程如图4所示,在测量之前先设置好AD转换通道相关控制寄存器的参数,本系统选择3个AD转换通道,对应三个陀螺仪的输出,转换模式选择连续转换模式。当DSP完成对三个AD通道的电压转换后,自动进入中断服务程序,读取转换结果。由于陀螺仪存在漂移,其零点不一定是2.5V,在使用本系统前,需将视觉云台摄像机静置一段时间,将该段时间内陀螺仪输出信号的均值作为其零点,同时估计陀螺仪的漂移率,为以后陀螺仪的使用提供漂移补偿,从而提高测量精度。www.51kaifa.com
为使整个云台系统应用更具灵活性,云台有三种工作模式:普通模式,补偿模式和固定模式。在普通模式下,云台电机控制时不考虑陀螺仪计算的姿态角度和角速度影响,接收到的上位机电机控制指令经过加减速曲线计算后直接发送到电机控制模块接口。而在补偿模式下,电机控制指令需要考虑陀螺仪计算的姿态角和角速度的影响,使摄像机转动速度在惯性坐标系下的转动速度与给定控制值相等。当机器人在运动时,如果需要安装在机器人上的云台摄像机相对地面以某指定速度转动,就应当使云台工作在此模式下。在固定模式下时,摄像机在惯性坐标系下保持转速静止状态。当飞行器上安装的云台摄像机对大地进行拍摄时,常需要摄像机以固定角度对准大地,此时需要采取固定模式控制云台电机。
5 结束语
云台系统用一体化的设计,采用DSP,微机械陀螺仪等先进器件,使得系统电路具备体积小、重量轻、功耗低、可靠性高等优点。在本系统上成功实现了陀螺仪信号采集,漂移补偿,姿态解算算法以及相关的多种电机控制方法,实验证明本系统能满足实时、稳定、精确、快速的控制要求。
参考文献:
[1] Shimshoni I.On mobile robot localization from landmark Bearings.IEEE Transactions on Robotics and Automation,2002;18(6):971~ 976
[2] 江思敏等编著.TMS320LF240X DSP硬件开发教程.机械工业出版社.2003年
[3] 吴益飞,李胜等. 基于MSP430单片机的云台控制系统设计与实现.微计算机信息.2006年第7期
[4] 刘和平等编著.TMS320LF240x DSP C语言开发应用.北京航空航天大学出版.2003年
[5] 郭秀中.惯导系统陀螺仪理论.国防工业出版社.1996
[6] 周宗锡,吴方向等.基于四元数的刚体姿态调节问题.西安交通大学学报.2002年10月(10):1037~1040
[7] 刘俊,石云波等.单芯片集成加速度计陀螺的研究.测试技术学报.2003年17卷第2期:156~160
[8] 蒲广平,裴听国等.载体姿态算法综述.导航与控制.2003年3期:22~26