摘要:采用Freescale公司的MC9SDG128单片机进行控制,使用ROHM公司生产的发送接收一体化反射型光电传感器RPR220,设计了一种新型迷宫机器人。该迷宫机器人能够在程序中严格控制光电传感器的开关,同时用软件消除外界干扰,取得了很好的探测效果。
关键词:迷宫机器人;光电传感器;RPR220;MC9SDG128;干扰
引言
迷宫机器人走迷宫竞赛是一项综合性十分强的竞赛,它涉及的学科包括了计算机学、机械学、电工学、嵌入式开发知识以及算法的实现等。迷宫机器人是一种人工智能的机器人,又称为电脑鼠(Micromouse)。它拥有灵活的“双腿”,锐利的“眼睛”,还有聪明的“大脑”用于控制“眼睛”和“双腿”协调工作,最终走出IEEE标准迷宫。迷宫由256个方块(单元)组成,每个方块的大小为18 cm见方,排成16行×16列。
迷宫机器人在迷宫中要能按照一定规则完成行走,所以机器人必须具备以下几种能力:
◆稳定且快速的行走能力;
◆正确判断能力;
◆记忆路径的能力。
很明显,这些能力必须建立在迷宫墙壁能够被准确探知的基础上,这就要求迷宫机器人要有很强的“观察力”,即具有一双“慧眼”。现实中,能够进行避障的传感器有很多,如CCD摄像头、超声波传感器、光电传感器等。从设计成本和使用方面综合考虑,本设计采用红外式光电传感器。红外传感器的功能有两个:一是判断迷宫墙壁的有无,确定迷宫机器人的行进方向;二是根据传感器获得的数值判断迷宫机器人和墙壁之间的距离,从而对迷宫机器人的姿态进行调整,避免迷宫机器人和墙壁发生碰撞。
1 光电传感器原理
红外光电传感器工作原理如图1所示。发送器对准目标发射光束,发射的光束一般来源于半导体光源、发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器由光电二极管、光电三极管、光电池组成。在接收器的前面装有光学元件(如透镜和光圈等);在接收器后面的是检测电路,用于滤除无效信号,以及对有效信号进行利用。
随着车体和墙壁的距离不同,接收管接收到的信号的强弱也不同。当车体距离墙壁较近时,大量发射的红外光线经墙壁反射后被接收管接收,产生的电压较高;反之,车体距离墙壁较远时,反射的红外光线在传播过程中会损耗,被接收管接收到的信号较弱,产生的电压也就较低。根据接收管产生电压的强弱,可以判断车体与墙壁之间的距离,为迷宫机器人避障提供数据。
2 光电传感器的选用
光电传感器的特点:不受电磁波的干扰,非噪声源,可实现非接触性测量;受环境的影响非常大,物体的颜色、方向、周围的光线都可能导致测量误差;由于发射光线是光而不是声音,可以在相当短的时间内获得较多的红外线传感器测量值;测距范围较近,大致为40 cm以内。红外传感器发射管和接收管的类型很多,其工作光波长约为800~1100 nm。通常在小功率条件下的工作电压为1.5~5 V左右,工作电流为3~10 mA左右。在本设计中选用了日本ROHM公司生产的发送接收一体化反射型光电传感器RPR220。该光电管功率为80 mW,工作波长为800 nm,完全满足迷宫机器人的使用要求。
3 光电传感器应用电路
在本设计中,采用Freescale公司的16位单片机MC9S12DG128对光电传感器进行控制。单片机的A/D模块进行信号采集,获知当前的墙壁信息和车体的位置信息。单片机采集到A/D数值后,通过RS232传到PC机上。然后根据传感器采得的数值为电机指定相应的动作信号,控制迷宫机器人在迷宫中的姿态,并且实时记录迷宫墙壁有无的信息,为建立迷宫地图提供数据。