基于ARM-Linux的自主避障机器鱼设计
随着科技的发展与进步,出现了具有特殊功能的智能机器,如索尼公司生产的能够以自我"意识"来"感觉""学习"和"饲养"的宠物机器狗,以弗吉尼亚理工大学研制的CHARLI-L1机器人为基础进行升级改造的SAFFIR的消防机器人等。机器鱼作为一项比较新的产品,涉及到机器鱼的智能开发并不深,因此机器鱼的智能化程度并不高,但随着机器鱼研究的加深,相信机器鱼的智能度会大大提高,功能也会更趋完善。目前的机器鱼类型主要有遥控机器鱼和语音控制机器鱼,例如曾在德国汉诺威电子展上展现的通过机器鱼体内收缩来提供动力的遥控式机器鱼和在西南民族大学诞生的国内首个的声控机器鱼等。据调查显示同内涉及到具有自主避障与自主视觉功能的智能机器鱼的研究与开发并不多。由于技术等诸多原因我们选择了设计自主避障的机器鱼。由于机器鱼具有机动性、高效性、低噪性等优点,所以高智能的机器鱼适合去完成如探测污染物质、绘制港口的实时立体图和对海底资源进行探测等具有一定难度和危险的任务。由于国内涉及到机器鱼智能的开发程度不高,所以高智能的机器鱼研发有较大的空间。
1 硬件系统设计
1.1 工作原理
机器鱼主硬件原理如图1所示。机器鱼的自主避障功能是通过以ARM芯片、LINUX嵌入式系统、红外传感器等结合实现的。机器鱼在水中分别通过摄像头、红外传感器、LCD进行画面采集、自主避障和画而显示。摄像头采集到图片后,图像被缓存于SDRAM中。ARM芯片通过红外传感器的AD管脚向发射器传送命令,使探测器的发射模块不断地向外发送红外线,当接收器接收到返回的红外线后会立刻通过AD管脚向ARM芯片传送与红外线返回的光强相应的电压,电压经过ARM芯片的A/D转换器转变成十位的二进制数字量,通过一定的公式计算出此时与障碍物的距离。当计算出来的距离小于预设量时,ARM芯片的控制软件执行一个串行中断指令改变脉冲的脉宽即改变改PWM波的占空比变,进而改变机器鱼的游向从而避开障碍物。
1.2 ARM芯片模块设计
ARM处理器拥有16/32Bit内核和具有450MIPS运算能力。400MHz的标准工作频率可满足高速的应用要求。ARM主芯片有内置数字摄像头接口,可选配130万像素CMOS号业摄像头进行图像采集。ARM处理器的外围扩展了64M的SDRAM和FLASH,ARM主芯片支持Linux、uCOS-II、WINCE等操作系统。ARM芯片高度集成,主芯片拥有CPU、Nand flash、Nor flash、Ethernet controller等资源。CPU内的所有可用资源可通过200pin引脚引出。接口核心板可以单独构成系统,无需外围器件。
嵌入式Linux (Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化在容量只有几KB或者几MB字节的存储器芯片或单片机中。它具有成本低、源代码开放和移植性好的优点。在工程中得到了广泛的应用,适合于特定嵌入式的应用场合。
1.3 红外模块
红外线是介于可见光和微波之间的一种电磁波。它兼具可见光折射、反射、直线传播以及微波的贯穿一些不透明物质和较强的穿透的能力。红外传感器包括红外发射模块和红外接收模块。科学实验表明温度高于绝对零度的任何物体均可产生红外辐射,因此红外传感器要有更强的发射红外的能力。
距离探测器的类型主要有激光探测器、视觉探测器、超声波传感器和红外传感器。由于激光探测器和视觉探测器比较昂贵而且对控制器的要求很高,所以不选为机器鱼的避障器。超声波传感器测距范围一般在30~300 cm,可见短距离测距是超声波传感器的盲区。能"看"到几米之外障碍物对于机器鱼的意义并不大,而红外传感器的测距距离一般在几十厘米之内,因此我们选择红外传感器作为机器鱼的避障器。
GP2YOA21YK0F是夏普的一款距离测量传感器。它由PSD(position sensitive detector)、IRFD(infrared emitting diode)以及信号处理电路三部分组成。由于采用了三角测量方法,所以被测环境温度、物体的材质以及测量时间均不会影响传感器的测量结果的精确度。接收到反射回来的红外线后,传感器输出一个与返回光强成正比模拟电压。输出的模拟电压经过ARM的A/D转换器变成数字量,数字量传到MCU后以一定的算法计算出机器鱼与障碍物之间的距离。将探测的结果与预设值比较,若大于预设值则不执行中断即继续前进,否则执行中断进行避障。红外传感器硬件原理如图2所示。
1.4 摄像头模块
为机器鱼配备的摄像头是CMOS数字图象传感器。采用的是Ommvision公司的OV9650,OV9650具有130万的像素、10Bit的数据接口与标准SCCB接口,其分辨率达1280x1024并采用CSP-28封装该摄像头用类似于IIc总线的Secb总线连接到ARM主芯片的IIc接口
- SoC前段(ARM)嵌入式系统开发实作训练(上) (02-28)
- 基于嵌入式Linux的智能手机系统设计(05-10)
- 基于ARM+uCLinux的网络控制系统设计与实现(05-03)
- 基于Linux和S3C2410的嵌入式图象传输系统设计(05-24)
- 北大首倡“中国芯”出成果 未来充满变数(06-09)
- 嵌入式系统中闪存设备IO软件的设计与实现(07-08)