基于TMS320DM355的水下自主控制机器鱼设计
扫描二维码
随时随地手机看文章
摘要:为实现机器鱼比赛中鱼体的自主信号采集与处理、自动探测前方目标及实现水下自主避障等控制功能,文中设计了基于数字信号处理器TMS320DM355、水下摄像机KM-273CW以及SAA7111A增强型视频输入处理器等构成的可实现鱼体自主避障功能的水下机器鱼控制系统。该系统还具有信息传输功能,可以将水下的环境数据传输到岸上,以利于观察人员研究水下环境。
关键词:自主运动控制;水下视频采集;水下机器;TMS320DM355;SAA7111A
0 引言
在传统的机器鱼比赛中,鱼体的运动控制功能是依靠比赛场地上方的摄像头采集数据,然后将其发向主机,由主机完成数据的处理,并将结果发给鱼体内部的处理器,从而完成避障等运动控制功能。但这种方案存在诸多问题,首先,不能体现鱼体运动和控制的自主性;其次,采集数据时占用了主机的资源,同时主机发给鱼体的信号也较容易受外界信号的干扰;最后,对于水下机器鱼的现实实用性较差。综合以上,本文设计了一种改进方案,即在鱼体内部嵌入可应用于水下的摄像头KM-273CW,通过采集视频信号,并经过视频输入处理器SAA7111A的处理,将模拟视频信号转化为数字信号,并送入TMS320DM355中进行分析处理,之后根据处理的结果调用程序去实现鱼体的自主避障及其他运动功能,从而实现鱼体的自主运动控制。
1 TMS320DM355芯片介绍
TMS320DM355数字媒体处理器最大的特色就是有专用的视频图像子系统VPSS,用于处理视频数据,其视频处理子系统VPSS包括视频前端输入接口VPFE和视频末端输出接口VPBE,视频前端输入接口用于接收外部传感器或视频译码器等输入的图像信息,视频末端输出接口输出图像到显示屏显示。其中视频前端输入(VPFE)接口是由CCD控制器,硬件图像信号处理器-图像通道IP-IPE模块,自动曝光/白平衡/聚焦模块H3A和寄存器组成。CCD控制器可与视频解码器、CMOS传感器或电荷耦合装置连接;IPIPE是实时硬件图形处理器,用于实时图像处理,它把从CMOS/CCD得到的原始图形转换为国际电信联盟ITU数字视频标准BT.60I/BT.656的8/16位数字YCbCr4:2:2。视频解码器以54.MHz的速率进行D/A转换,提供NTSC/PAL等格式的视频或音频输出。同时该器件还具有8/16位YCC到18位RGB666数字输出;ITU数字视频标准BT.
601/BT.656的8/16位数字YCbCr4:2:2。通过缓存逻辑与TMS320DM355的DDR2/mDDR片上控制器相连,便于访问存储器,向存储器存储由摄像头采集并经VPFE处理的图像信息,并将存储的图像信息通过VPBE输出到显示设备,因此可以很好的实现视频信号的接收、处理与输出。
系统的结构框图如图1所示,由于本系统设计的是可自主运动的水器鱼,视频信号转换模块采用的是视频输入处理器,即用视频A/D转换芯片来完成视频信号到数字信号的转换,方便后面的数字信号处理器进行分析、处理和控制。数字信号处理模块的核心芯片是TMS320DM355。通过它可以将视频信号转换模块送入的数字信息进行分析和处理。被控运动装置模块即是机器鱼内部的各个电机与舵机。通过接受数字信号处理模块的各种控制信号完成机器鱼的水下自主运动。信号传输、转换及显示模块通过无线电传输系统将数字信号传输到岸上的接受装置,通过信号转换将水底的信息在主机上显示,使岸上的观察者也能了解机器鱼水下运动的情况。
2 系统硬件设计
系统硬件总体连接框图如图2所示。其中CCD视频图像采集部分采用的器件是深圳凯目锐电子有限公司生产的可应用于水下的摄像头KM-273CW,它的适应环境包括:水下工程,科研,水下机器人等。在本系统的设计中,由于该摄像头体积较小,呈长筒状,因而完全可以让该摄像头嵌入机器鱼的体内,充当鱼的眼睛。
视频信号A/D转换部分采用的器件是Philips公司生产的SAA7111A增强型视频输入处理器。该芯片的优点在于集A/D转换与解码功能于一身且支持多制式解码,且内部含有I2C接口,可简洁的通过I2C总线对其工作方式进行设定。
在本系统中,主控芯片TMS320DM355通过I2C接口与SAA7111A的双向数据线SDA和时钟线SCL连接,对SAA7111A的工作方式进行设置,并向其发送地址码和控制量,控制SAA7111A完成视频的转换,并将转换后的信息通过双向数据线SDA串行读入,然后进行分析、处理,并产生各种控制信息。
TMS320DM355处理完采集的数字信号后产生适合的控制信号来控制舵机和电机,从而完成机器鱼的自主运动。同时TMS320DM355又可以将处理后的数字信号通过无线电发送转置发送到岸上的主机。
3 系统的软件设计
对该系统的软件设计流程如图3所示。在本系统的软件设计中,系统上电初始化DSP,通过软件模拟I2C总线时序,向SAA7111A发送写信号,设置SAA7111A的工作方式,具体流程为:DSP发出一个SAA7111A的地址(0xBA或0xBS),并表明写操作,等待SAA7111A响应,DSP接收到SAA7111的响应后,再发出要配置寄存器的地址,等待SAA7111A响应,并在接收到SAA7111A的响应后,发送要配置的数据,之后等待SAA7111A响应,接受SAA7111A的响应,发送停止位后,结束一次配置。设定其工作寄存器,使其输入的视频格式为PAL式,且设定输出的数据流为8bit。之后DSP发送开始采集信号及对SAA7111A的控制信号。开始采集视频信号并实现A/D转换。当一帧数据写入帧缓存后,DSP即产生中断,先关闭SAA7111A的视频输出,然后对采集的信号进行分析处理。处理完后根据结果产生各种控制信号控制机器鱼中的各种电机和舵机,具体做法就是通过控制输入到各个电机和舵机的控制信号的占空比实现电机转速和舵机角度的控制,从而实现机器鱼游动方向和速度的控制,实现机器鱼的自主运动。当DSP完成控制命令后就控制SAA7111A,并重新发送开始采集命令,继续采集下一帧。
4 结束语
本系统设计将图像采集与识别、运动控制集成到一个系统中,能很好实现图像的快速采集、存储及数据处理功能,也实现了鱼体的自主运动控制,即使对于高分辨率要求的鱼体游动的前方数据(如障碍物等)也起到很好的采集与处理的功能。若将该系统配上更为优化的程序,可以实现鱼在水体情况较为复杂的环境下的自主运动。若再配合无线收发装置便可将鱼体在水下采集的数据发给地面处理机,供研究人员分析,那么这样的机器鱼就可以应用到实际工程中了。