关鹏 衣龙浩 陈威行
【摘要】 由于机器人的发展,循迹算法显得尤为重要,文章中将讨论使用STM32单片机驱动机器人循迹上各种算法优劣与实现的最好方式,让机器人循迹更合理轻松。
【关键字】 STM32 机器人 循迹 灰度传感器
智能循迹机器人是一种被广泛研究的机器人,国内外有许多重要的比赛围绕此开展,其中很重要的一部分就是考验循迹机器人的稳定性,机器人循迹系统实际上就是机器人路径识别系统,它将路况的真实信息实时的传送给主控制器,循迹系统方案的好坏,直接关系到最终性能的优劣[1]。
一、硬件基础
(1)STM32F103RBT6微处理器最小系统板;
(2)前后各安装一个SEN1660八路灰度传感器,调节电位器,使前后八路灰度传感器精度统一;
(3)16V充电锂电池;
(4)驱动模块。
二、STM32F103系列微处理器简介
STM32F103系列微处理器是首款基于ARM7体系结构的32位标准RISC处理器,在通常8位和16位系统的存储空间上发挥了ARM内核的高性能。该系列微处理器工作频率为72MHz内置高达128K字节的Flash存储器和20K字节的SRAM,具有丰富的通用I/O端口[2]。
三、循迹检测算法比较与处理
3.1 直线循迹算法
3.1.1 前灰度传感器+ PWM+偏移量度调节
如图1所示,共设置三种偏移情况,微偏、中偏、大偏分别进行不同的调节。
机器人在白线上行驶时,使用前八路灰度传感器通过判断偏移情况,通过PWM利用占空比来调整机器人速率,让机器人直线循迹。
优点:机器人几乎无卡顿现象。
缺点:当偏移过大时无法调节冲出跑道。
3.1.2 前后灰度传感器+PWM+延时+偏移量度调节
机器人在白线上行驶时,使用前后八路灰度传感器通过判断是否偏移,当偏移为微偏时通过PWM利用占空比来调整机器人速率,当偏移超过微偏时通过延时让机器人左右原地转调节直到前后灰度传感器均被跑道平分为止,让机器人直线循迹。
优点:机器人稳定,很少冲出跑道
3.2 转弯循迹算法
(1)利用前灰度传感器检测到的亮灯数的变化判断是否到路口。
(2)使用延时俯冲半个车身。
(3)用前灰度传感器依次压线转弯,如3号压线条件通过后,再判断4号压线条件,4号通过后判断5号压线条件,这时候停止转动。
四、 结束语
本文对基于STM32的机器人的直线和转弯循迹算法进行了探讨,经过实际测试以上算法是切实可行的方案,在该方案的基础上设计功能实现将是今后的目标。
参 考 文 献
[1]何用辉.复杂环境下机器人光电循迹系统研究与设计[J].南昌工程学院学报, 2012,31(4)
[2]孙书鹰.新一代嵌入式微处理器STM32F103开发与应用[J].微计算机应用, 2010,31(1)