APP下载

基于STM32的微电脑鼠对角线冲刺设计与实现

2020-11-23李红益张好明王应海

机电信息 2020年29期

李红益 张好明 王应海

摘要:为了提高微电脑鼠冲刺的稳定性,并减少微电脑鼠在复杂迷宫中的冲刺时间,提出了基于STM32的新型对角线冲刺算法。借助加速度传感器ADXL202实现对微电脑鼠转弯误差补偿和直线位置的精确修正,前墙传感器和加速度传感器组合应用保证了微电脑鼠对角线冲刺姿态的准确性。微电脑鼠高速冲刺实验表明,新型对角线冲刺算法能显著提高微电脑鼠的稳定性,并缩短微电脑鼠在迷宫中的冲刺时间。

关键词:微电脑鼠;对角线冲刺;伺服;加速度传感器

0 引言

微电脑鼠(micromouse)是一种智能轮式迷宫搜寻机器人,它依靠微处理器、传感器和机械运动部件实现在迷宫中的探测和冲刺。微电脑鼠依靠自身携带的传感器感知不同的“迷宫”,并自动记忆其搜寻路径,依靠多种人工智能算法选择最佳冲刺路径,在最短的时间内到达设定的不同迷宫目的地[1-3]。

通常用运行时间、迷宫时间和触摸次数这3个参数来衡量一只微电脑鼠的运动控制能力,因为这3个参数决定了一只微电脑鼠求解迷宫的可靠性、效率和速度,不同国家采用不同的标准[4-7],这3个参数中最重要的参数就是迷宫时间,而迷宫时间又主要取决于其冲刺的时间长短。微电脑鼠高速冲刺运动控制系统要求较高,由于国内研究时间较短,开发的微电脑鼠运动控制技术相对比较落后,实际运动过程中存在诸多问题,例如,只有5组传感器用来判断高速冲刺路径中迷宫墙壁的存在,往往提供错误的迷宫信息,导致冲刺失败;只有1组传感器检测冲刺路径中前方迷宫的挡墙,易受外界干扰,造成高速冲刺时的导引信息错误;步进电机的使用,导致运动控制系统经常丢失驱动信号,出现冲刺路径更新错误的情况;由于采用相对低级的人工智能算法,使得冲刺路径不是最佳,无法取得最短冲刺时间。因此,需要对现有的微电脑鼠重新进行设计。

1 基于STM32F405的高速微电脑鼠硬件原理

STM32F405是由STM公司生产的微控制器,它是基于ARM Cortex-M4内核的32位flash微控制器。STM32F4系列除引脚和软件兼容高性能的F2系列外,F4系列的主频高达168 MHz,远远高于F2系列的120 MHz,并且STM32F4系列支持单周期DSP指令和浮点单元,STM32F405集成了定时器、3个ADC、2个DAC、串行接口、外存接口、实时时钟等先进外设,使得F4系列可以较容易满足控制和信号处理功能混合的数字信号控制需求,为多轴伺服电机控制提供灵活的解决方案。这些特点使得STM32F405特别适合用于多轴微电脑鼠高速冲刺运动控制系统的信号处理。

为了进一步提高微电脑鼠高速冲刺运动控制系统的可靠性,本文设计的高速微电脑鼠样机采用红外发射管OPE5594A和红外接收管TSL262来探测迷宫挡墙的存在,极大地提高了迷宫探测的精度和准确度。

为了充分发挥前方传感器的导航和导引功能,本文设计的微电脑鼠高速冲刺样机舍弃了国内常采用的单传感器检测方法,所设计的微电脑鼠传感器二维排列结构如图1所示,采用基于OPE5594A和TSL262的红外传感器S1组和S6组共同探测前方障碍物,有利于微电脑鼠高速冲刺时的导航和导引。

L298N是SGS公司生产的小型伺服驱动器,包含4路逻辑驱动电路,芯片的输出电压高达50 V,输出电流高达2.5 A,可独立方便地驱动2台伺服电机。芯片含有2路使能控制端子,可以很好地满足微电脑鼠高速冲刺两轴伺服系统的单独控制需求。

在吸收国外微电脑鼠先进设计思想的基础上,本文在STM32F405的微电脑鼠运动控制器基础上引入伺服驱动器L298N,控制器以STM32F405为处理核心,实现微电脑鼠快速冲刺时两轴伺服电机同步信号的实时处理,本文设计的控制器原理框图如图2所示。

STM32F405与L298N连接示意框图如图3所示,S1~S6是基于OPE5594A和TSL262的红外发射和接收对管传感器,S7是加速度傳感器ADXL202,可以计算出微电脑鼠高速转弯时的旋转角度,有利于微电脑鼠高速冲刺时方向的精确控制。

2 高速微电脑鼠冲刺原理

微电脑鼠一旦接到冲刺命令,前方传感器S1和S6首先对冲刺路径中的前部环境进行判断,防止误冲刺。如果S1和S6发现运动路径中存在迷宫挡墙,则向STM32F405发送冲刺路径错误中断请求,STM32F405首先响应中断,然后禁用L298N的2路使能端,封锁伺服X电机和伺服Y电机的PWM驱动信号,微电脑鼠进入自锁阶段;如果没有迷宫挡墙进入前方的冲刺路径,微电脑鼠将以设定的速度和加速度完成最佳路径的冲刺。

2.1    冲刺原理

在冲刺阶段,微电脑鼠将按照图4所示的速度-时间图形所示规律进行加减速,图中包含的面积是微电脑鼠在某段运动路径上需要运行的冲刺距离。

2.2    对角线冲刺原理

在微电脑鼠沿着其冲刺路径快速行进过程中,如果某段路径如图5所示,则微电脑鼠控制器将存储其当前坐标(x,y),并在控制器的命令下开始复杂的转弯冲刺。

传统的微电脑鼠冲刺轨迹如图6所示。从图中可以看出,这条运动轨迹相对于直线运动来说距离更长,而且在这条轨迹上冲刺需要多次启停,多次的加减速相对于直线运动来说一般需要更长的运动时间。

为了缩短冲刺路径并减少冲刺时间,本文提出了一种新型对角线冲刺算法,微电脑鼠按照图7所示的运动轨迹运行:直线调整姿态,以45°冲刺转入,对角线冲刺,以45°冲刺转出。

根据不同的冲刺指令算法,STM32F405首先将对角线冲刺不同阶段的行驶距离转换为冲刺加速度、速度和位置指令,然后根据其内部的三闭环伺服程序,将控制器与电机反馈相结合,产生PWM驱动信号,然后用STM32F405调节L298N的内部逻辑电路输出,使微电脑鼠沿着规定轨迹行驶。在整个运动过程中,多轴加速度传感器ADXL202将记录微电脑鼠各轴加速度,通过积分得到角度信号,当角度偏差超过设定阈值时,控制器就在下一个采样周期进行补偿,使微电脑鼠完全按照规定的角度转入和转出。

2.3    对角线冲刺补偿

当微电脑鼠执行对角线冲刺时,机器人没有任何平行的挡墙来执行正常的直线路径导航,因此必须借助自身传感器来实现自主导航,以帮助机器人遭遇干扰时避免与挡墙发生碰撞。由于微电脑鼠在对角线直线路径上行走时,没有任何挡墙与机器人平行,此时前端传感器S1和S6对系统非常重要,机器人仍然可以使用这2个前端传感器来确定是否朝着正确的方向前进,如图8所示,当方向正确时,2个前传感器将不会感应到任何物体,这意味着2个传感器的读数应保持在一个较低的数值。如图9所示,当其中一个反馈值大于定义的阈值时,这意味着机器人正朝错误的方向前进,如果继续朝这个方向快速行进,微电脑鼠就会与墙壁发生碰撞。

3 软件设计

对于本文设计的基于STM32F405的高速微電脑鼠,在冲刺之前,它通常被放置在迷宫起点,高速冲刺控制器使其首先进入自锁状态,一旦有外界命令触发控制器,微电脑鼠将根据实际的导航环境沿着冲刺路径快速前进,由STM32F405产生2台直流伺服电机的PWM驱动信号,实现微电脑鼠在复杂迷宫中的快速冲刺。本文设计的冲刺程序原理如图10所示。

对角线冲刺原理如图11所示。

4 实验

图12为国产微电脑鼠和本文设计的基于STM32F405设计的微电脑鼠实物对比。通过对比可以看出,新设计的微电脑鼠具有体积小、重心低的特点,可以提高微电脑鼠在高速冲刺时的动态性能。

图13为本文设计的微电脑鼠即将进入高速对角线冲刺时的画面。从图中可以看出,微电脑鼠行走的方向平行于两边的挡墙,并处于当前迷宫格的中线上,为对角线冲撞奠定了坚实的基础。

从图14微电脑鼠在迷宫冲刺中运行的图片可以看出,该微电脑鼠沿着预设的对角线方向运行,这说明控制器已经按照红外传感器S1、S6和加速度传感器ADXL202的反馈进行了精确补偿。

5 结语

(1)L298N集成驱动器的使用,使得新型微电脑鼠具有更小的尺寸和质量,并降低了其重心,有利于微电脑鼠的高速冲刺。

(2)加速度传感器ADXL202的应用,使得冲刺控制器可精确控制微电脑鼠的运动方向,易于微电脑鼠实现高速旋转冲刺。

(3)多传感器组合可以实时对运行在最短路径下的微电脑鼠进行干扰补偿,在确保微电脑鼠高速冲刺时的准确性和稳定性的前提下,可进一步减少其迷宫冲刺时间。

[参考文献]

[1] CHEN N.A vision-guided autonomous vehicle an alternative micro mouse competition[J].IEEE Transactions on Education,1997,40(4):253-258.

[2] TETTA CM.The evolution of the Micromouse Competition[J].IEEE Potentials,1986,6(4):32-37.

[5] YANG X.Research and Realization on Micrornouse for Maze Searching in Coalmine[J].Coal Technology,2010(6):60-69.

[4] JIN Y Y,LIU K H,REN Y H. Wheeled MazeRobot Design Based on Ranging Infrared Sensor[J].Mierocontrollers and Embedded Systems,2013(9):1-5.

[5] 张月芹,尹涓,鞠欢.基于STM32的迷宫机器人控制系统设计与实现[J].机电工程技术,2016,45(12):1-6.

[6] 詹杰,刘学兵,张浩.基于直流电机驱动的电脑鼠设计[J].吉首大学学报(自然科学版),2015(3):39-44.

[7] 贺少波,孙克辉.基于向心法则的电脑鼠走迷宫算法设计与优化[J].计算机系统应用,2012(9):80-83.