对于机器人的寻线行走,除了要求精确之外,机器人寻线速度要求也明显提高,速度往往成为某些比赛制胜的关键。在最近教育部推出的全国大学生智能汽车大赛中,更是将寻线速度定为比赛的主题。本文对此类赛事进行了相关总结,提出了一种将单片机作为核心控制器,利用低分辨率摄像头代替通用光电传感器的机器人高速寻线行走机构设计方法。
核心控制器设计
为了实现视频采集,考虑综合性价比、设备安装等因素,核心控制器选用Freescale公司的16位高性能单片机—— MC9S12DG128(以下简称S12)。它的指令处理时钟可以达到38MHz,其A/D转换器的工作时钟可以达到16MHz,用于采集视频。同时它拥有8路PWM通道,控制舵机和直流电机完成转向和速度控制;8路捕捉/比较通道获取作为速度传感器的编码器脉冲信号;串行通信接口用于无线调试;多达64 个IO(通过IO复用方式)足够用于状态显示及参数设置。另外,其拥有128k的flash存储空间,无需进行存储器扩展,在片内就可以实现视频数据存储和调用。如图2所示,整个系统采用一块单片机,无需添加其他控制器、存储器,成为真正的“单片”系统。
视频采集模块
由于单片机A/D速度限制,需要选用低分辨率的黑白摄像头。因为低分辨率意味着视频单行扫描时间的增加,而黑白摄像头意味着只需要单路A/D就可以完成视频采集工作。选择了Omvision生产的ov5116芯片为内核的CMOS黑白摄像头,分辨率为320×240,图像刷新频率50Hz。同时选用LM1881视频同步信号分离芯片提取视频信号中的行同步和场同步信号,连入s12的脉冲捕捉通道。通过捕捉信号触发AD模块工作,采集存储视频数据。
图3 视频采集电路原理图
电机控制及电源
RS-380SH直流电机作为主驱动电机,通过PWM信号控制。选用Freescale公司的MC33886全桥驱动芯片,通过两路半桥实现电机正反转。这里的电机反转并不为实现倒车,而主要用于车体减速。在进行电机正反转切换时,电机驱动电流会随着负载增大而瞬间放大,因此需要增大稳压能力,保证系统正常工作电压,避免单片机自动重启。在整个系统中,有多种电压需求,单片机和舵机为5V供电;CMOS摄像头为 6~9V。因此,为了方便开发,这里选用最常用的7.2V充电电池组。只需在系统内加入5V稳压芯片,提供5V电压。
本文设计了一个基于视觉的以高速寻线为目的的行走机器人系统。系统采用一块高性能单片机,完成了从视频采集到视频处理,最终实现速度和转向控制的一套寻线行走功能。系统轻便灵巧,无需存储器扩展和其他可编程器件配合,搭建费用低。该方案在参加第一届全国大学生智能车大赛中,系统运行平稳,取得了非常优异的成绩。