基于FPGA的自主视觉水中机器人设计
2013-04-16
随着仿生学、机器人学、流体力学和控制科学的不断融合与发展,仿生机器鱼的研制成为了机器人研究领域的热点之一。同时,随着对于仿生机器鱼的研究日益进步,机器鱼所赋予的任务也随之增多,对于机器鱼核心芯片的处理速度的要求也越来越高。而以往的机器鱼对芯片的处理速度与精度要求并不高,使得机器鱼的执行动作并不尽如人意,由此在机器鱼中应用具有并行性、高速性、灵活性的FPGA芯片已经成为必然,它也必将使得机器鱼的研究更上一层楼。
1.系统硬件设计
本系统的硬件框图如图1,系统采用FPGA芯片为控制处理中心,红外传感器模块负责传回前方的通道信息,信息数据由FPGA芯片接收后,输出PWM波控制舵机做出相对应的动作。整个鱼体分为动作部分和鱼头,动作部分由三个舵机(两个大舵机、一个小舵机)组成,鱼头主要是控制芯片、通信模块和电池电源部分组成。
1.1 FPGA模块
本方案使用的Altera公司的芯片EP1-C3T144c8,其系统集成度高,可操作性强,低功耗,十分适合机器鱼这类小型机器鱼的运作。利用其公司的开发软件quartus II及其辅助开发软件可以实现数据的高速传输、处理、编码功能。在系统中,FPGA芯片作为主控部分,负责红外传感器信息接收、通信模块的信息接收发送、舵机控制任务,如图2所示。
1.2 红外传感器模块
红外传感器是远距离红外传感器PIR D205B,它是利用材料自发极化随温度变化的特征来探测红外线的辐射,采用四灵敏元设计,抑制环境温度变化产生的干扰,提高了信号输出强度,增加了多方向灵敏度,兼有单元和双元热释电红外传感器的优点,传感器的工作更加稳定。
1.3 通信模块、电源模块
作为在水下独立运作的平台,电源和通信是十分重要的。通信采用nRF2401 2.4GHz无线收发芯片完成视频数据及命令信息的无线传输。nRF2401是一款单片射频收发芯片,工作在2.4GHz~2.5GHz ISM频段,该芯片内置频率合成器、功率放大器、晶振和调制解调器等功能模块,其输出功率和通信频道等参数都可以通过程序进行配置。考虑到系统的电源要求以及电池的可重复性利用,选择用四节可充电电池作为电源模块。选择的类型是三洋爱乐普五号低放电充电池。
1.4 舵机模块
机器鱼舵机组是由三个舵机构成,分别采用futaba公司的futaba S3102(一号舵机)及futaba S3003(二号,三号舵机)。以鱼体波函数为核心算法的机器鱼鱼体,在三个舵机的运作下完成相应动作,进而来实现仿生机器鱼的游动。其中,FPGA通过所执行的程序计算出各个关节的转动角度,以此产生十五位的不同占空比的PWM波,控制舵机旋转,继而控制“鱼体”摆动[3]。
2.系统软件设计
软件体系的设计是系统研制的核心内容。其系统结构图如图3。
2.1 红外模块
如图4所示,红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测。红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,当红外的检测方向遇到障碍物时,红外信号反射回来被接收管接收,经过处理后,通过数字传感接口返回到机器鱼主机机器鱼即可利用红外的返回信号来识别周围环境的变化。
2.2 舵机模块
标准的舵机有3条导线:电源线、地线和控制线,电源线和地线用于提供舵机内部的电机和控制电路需要的能源。而控制线输入的是一个可调制的方波脉冲信号,一般周期在20ms(即频率为50Hz)。当方波的脉冲宽度改变时,舵机转轴的角度发生改变,度变化与脉冲宽度的变化成正比[4]。两者关系可如图5所示。
图1 基于FPGA的自主视觉机器鱼硬件图框
图2 FPGA模块
图3 软件系统结构图
图4 红外模块流程图
图5 舵机输出转角与出入脉冲之间的关系
3.结束语
本文介绍了基于红外传感器与FPGA技术设计的一种具有自主运动能力的仿生机器鱼。其通过红外传感技术使机器鱼具有了自主视觉功能,又通过FPGA技术精准输出PWM波,提高了机器鱼的智能度与动作灵活度。此设计为后续自主机器鱼的开发提供了一定的帮助,相信随着机器鱼的开发加深,机器鱼的研究与设计会更加智能化,功能也会越来越完备,并会为人类探索、发现海洋提供更多的帮助与便利。
[1]周志强,王志良,张雪元,黄海欢.仿生机器鱼的设计及其运动控制研究[J].微计算机信息[J].(嵌入式与SOC)2006,22(6-2卷).
[2]万少云,向强.基于TMS320F2812的自主视觉机器鱼控制系统设计[J].西南民族大学学报自然科学版,2011(37).
[3]赵康,丁勇,蒋玉莲.基于802.11b与安卓手机操控机器鱼的研究[J].电子元器件应用,2012,14(7).
[4]骆涵秀,李世伦,朱捷.机电控制[M].杭州:浙江大学出版社,1994:31-63.