基于STM32的双摄像头图像采集自主避障机器鱼设计

2013-12-10 14:07西南民族大学电气信息工程学院杨旭琼贾雪蕾邓彦松
电子世界 2013年4期
关键词:舵机测距障碍物

西南民族大学电气信息工程学院 杨旭琼 贾雪蕾 邓彦松

作为一种新的智能机器,机器鱼具有机动性、高效性、低噪性等优点,随着它的问世和近几年的不断发展,机器鱼已经运用到了很多领域,如水域质量检测,海洋资源探测和水下地形勘探等。目前机器鱼类型主要有遥控机器鱼,语音机器鱼及自主避障机器鱼等。这里提出一种基于红外的自主避障机器鱼进行图像采集的方案[2]。

1.系统硬件设计

整个系统由四个部分组成,分别是双摄像头组成的图像采集模块、由STM32微控制器组成的CPU模块、彩色液晶显示模块、机器鱼硬件平台模块、红外测距避障模块。硬件构成框图如图1所示。

工作流程是:首先通过红外传感器传回障碍物距离的模拟电压信息,通过AD芯片转换后传送给CPU进行判断,根据障碍物距离由CPU发出指令,控制机器鱼硬件平台做出动作,与此同时双摄像头将采集到的图像信息存储在存储器中,并且机器鱼的相关数据显示在显示屏上(如速度、方向等)。

1.1 双摄像头模块

双摄像头是系统的信息采集部分,而且考虑到摄像头在机器鱼的硬件平台上工作,应该要求是单电源、抗噪能力较强、低功耗,以及以此同时的价格最好是相对较低。综合以上的要求,决定使用OV7670摄像头,它是一种CMOS图像传感器,其电源消耗量低,体积小,适合本系统对于元件的要求。摄像头的放置是两个摄像头相互背对,布局如图2所示;这样布局的优势在于:双摄像头视角更为宽广,可以一次性采集到周围环境的图像数据[1]。

1.2 主控器模块

在主控制器的选择上,采用STM32F-103ZET6芯片,此芯片具有72MHz的主频,32bit的位宽,具有从256K至512K字节的闪存程序储存器和64K字节的SRAM,数据处理能力强,引脚资源丰富,有多达4个16位定时器,每个定时器有多达4路PWM波,适可合于精确控制舵机。强大的数据处理能力和较高的主频适合于快速的完成最优路径选取的算法[3]。

1.3 机器鱼硬件平台模块

机器鱼舵机组是由三个舵机构成,以鱼体波函数为核心算法的智能机器,在舵机的配合运作下完成相应动作,进而来实现仿生机器鱼的游动。其中,单片机通过所执行的程序计算出各个关节的转动角度,以此产生十五位的不同占空比的PWM波,控制舵机旋转,继而控制“鱼体”摆动[5]。

1.4 红外测距避障模块及AD芯片

图1 系统硬件结构图

图2 机器鱼布局

图3 AD0809

图4 电源供电模块

图5 主程序流程框图

图6 红外模块流程图

红外测距壁障模块采用的传感器是夏普公司的GP2Y0A21YKIR,AD芯片采用的是常用的8位的AD0809芯片,测距精度为0.3cm左右。GP2Y0A21YKIR是夏普公司推出的一款性价比高、最常用的红外测距传感器、其与GP2D12测量射程相同,但探测面积略有增加,可用来对物体的距离进行测量,实现机器人的避障功能。它不但体积小、功耗低、价格便宜,而且测距效果好,适合机器人使用;ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。其硬件原理图如图3所示。

1.5 电源模块

电源部分为整个系统提供工作电压,这个模块由4节可充电电池和稳压电路组成。四节可充电电池在冲满电时电压可以达到6.2V左右,所以为了得到5V的电压我们采用AMS1117稳压芯片。AMS1117是一个正向低压降稳压器,在1A电流下压降为1.2V,内部集成过热保护和限流电路,是电池供电的最佳选择。AMS1117有两个版本:固定输出版本和可调版本,这里采用固定输出电压为3.3V、5.0V的两个版本,分别为电路部分和舵机供电。硬件电路如图4所示。

2.系统软件设计

芯片通过AD管脚对红外传感器的发射模块传送命令。通过返回光强产生相应的模拟电压,经过A/D转换器后变成十位的二进制数据量,通过算法计算出到障碍物的距离。芯片判断计算出的距离与预设值的逻辑关系,根据结果判断是否执行相应的程序进行躲避障碍物的动作。而双摄像头分别采集机器鱼前后视觉状况,经处理后返回给观察人员,以便了解鱼体周围环境状况。具体流程框图如图5所示。

2.1 红外模块

红外传感器是一种比较有效地接近觉传感器,利用红外线的定向传播和反射能力检测前方是否有障碍物。由于光的方向性好,红外传感器具有角度分辨率高,反映灵敏,结构简单等优点。它的工作原理是:当有障碍物的时候,接收电路端口输出的为高电平,没有障碍的时候,端口输出的为低电平。通过高低电平的判断来识别是否有障碍物。[4]

红外测距传感器的信号经过AD转化后,传给单片机,单片机根据传回数据计算出障碍物与鱼体之间的距离,在不同的距离段做出不同的动作。与此同时,双摄像头的数据进过STM32的DMA总线,存储至存储器中,以待调用。红外模块流程如图6所示;核心程序如下:

2.2 摄像头模块

摄像头属于字符类设备,所以能够像字节流一样被程序访问,而且只能够按顺序读写[2]。同时,双摄像头在多功能机器鱼(如:潜水类机器鱼)中,可以选择其他安装方式(如:一上一下),以便对鱼体的环境状况进行更多视角的观察。

3.结束语

本文介绍了借助双摄像头采集图像信息,利用红外测距实现机器鱼智能避障的新方法。其中通过双摄像使得采集的图像数据更为全面,为后续自主视觉的发展提供了一定的帮助。最后,相信随着科研的进步,机器鱼的研究与设计会更加智能化,并给人类在海洋发展等方面提供更多的资源。

[1]楼永坚,曹向群.CMOS图像传感器的性能及应用发展[J].杭州电子工业学院学报,2003(02).

[2]黄福勇,向伟,杨洋.基于ARM自主避障机器鱼设计[J].电子元器件应用,2012(07).

[3]万少云,向强.基于TMS320F2812的自主视觉机器鱼控制系统设计[J].西南民族大学学报自然科学版,2011(37).

[4]桑海泉,王硕,谭民,张志刚.基于红外传感器的仿生机器鱼自主避障控制[J].系统仿真学报,2005(6).

[5]丁俐,余瑾,吴垠,王伟东.基于PIC单片机的仿生机器鱼的舵机控制[J].微计算机信息(嵌入式与SOC),2010(26).

猜你喜欢
舵机测距障碍物
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
类星体的精准测距
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
浅谈超声波测距
基于高速同步485总线通信的多通道舵机控制器设计
基于PSOC超声测距系统设计
基于云模型的舵机同步控制
相对差分单项测距△DOR