论文部分内容阅读
摘要:为提高微微鼠探索迷宫的稳定性,并减少微微鼠在复杂迷宫中的探索时间,论文提出了基于STM32F429和A3P250的双核控制器,智能S转法的探索法则通过六条不同轨迹来实现转入和转出,短距离调整实现微微鼠不同探索路径的衔接,陀螺仪的加入可以实现微微鼠直线位置和转弯的精确补偿,前墙传感器和陀螺仪组合保证了连续转弯姿态的准确性;微微鼠高速探索实验表明,S转法能显著提高微微鼠转法的稳定性和快速性,有利于缩短微微鼠在迷宫中的探索时间。
关键词:微电脑鼠;S转法;探索;陀螺仪
中图分类号:TM301 文献标识码:A
文章编号:1009-3044(2021)30-0020-04
开放科学(资源服务)标识码(OSID):
Design and Realization of Dual Core Pico-mouse Maze Searching
ZHU Li-jun, WANG Ying-hai
(Department of Electronic Engineering, Suzhou Industrial Park Institute of Vocational Technology, Suzhou 215123, China)
Abstract: To improve the stability and reduce the searching time of pico-mouse in complex maze, a dual core controller based on stm32f429 and a3p250 is proposed in this paper. Intelligent s-turning rule is realized by turning in and out through six different tracks. The short adjustment distance of turning in of and out realizes the connection of different searching path.Gyroscope can realize the accurate position correction of pico-mouse in the straight and turning compensation of the micro mouse, and the combination of front wall sensors and gyroscope ensures the accuracy of continuous turning posture; The high-speed searching experiment of the pico-mouse shows that the s-turning rule can significantly improve the stability and rapidity of the pico-mouse turning, which is conducive to shorten the searching time of the pico-mouse in the maze.
Key words: pico-mouse; s turning; searching; Gyroscope
1 引言
微电脑鼠是一种集感知、判断、行走功能于一体的迷宫搜寻机器人,它依靠自身携带的多种传感器探测并感知不同的“迷宫”,然后依靠人工智能算法求解并自动记忆其搜寻路径,然后在最短的时间内到达设定的迷宫目的地[1-4]。
随着计算机技术、电力电子技术以及智能控制技术的不断进步,基于微电脑鼠求解迷宫的技术基础,产生了一种更复杂的迷宫机器人——微微鼠:迷宫挡墙减少为原来的1/2,原有的256个迷宫变成了1024格,由于迷宫变得更加复杂,求解迷宫的难度也变得异常艰难,新迷宫二维结构如图1所示。
微微鼠携带的电源一旦打开,控制器便开启其自身携带的传感器,微微鼠依靠这些传感器探索由1024个迷宫格组成的各种复杂迷宫,并依靠这些传感器在迷宫中自主导航,然后依靠人工智能算法找到一条从起点到设定目标点的最佳路径。微微鼠在探索过程中时刻依靠自身携带的传感器判断周围的环境,环境参数经传感器转化后传输到控制器,由控制器控制微微鼠其复杂迷宫格的启动、加速、减速和停止。微微鼠要想求解1024个迷宫格组成的各种复杂迷宫,必须具备良好的环境探测感知能力和良好的行走能力,并且此机器人必须有多种人工智能算法,否則将无法完成探索求解任务。国内研究时间此机器人较短,开发的控制技术比较落后,因此,需要对现有的微微鼠重新设计。
2 基于ARM+FPGA双核微微鼠硬件原理
STM32F429是由STM公司生产基于ARM Cortex-M4内核的32位flash微控制器。STM32F4系列主频高达168MHz,并且支持单周期DSP指令和浮点单元,STM32F429集成了多个定时器、ADC、DAC等先进外设,这些功能使得F4系列比较适合使用于控制和信号处理功能混合的数字信号控制系统[5-6]。
FPGA采用了逻辑单元阵列结构,内部包括可配置逻辑模块、输出输入模块和内部连线三个部分,此特性使得FPGA可以根据需要自由编程以满足实际需要,这种特性使得FPGA芯片可以提高系统集成度和可靠性,并且易于实现小批量生产。A3P250是ACTEL公司设计的一种基于Flash技术的逻辑门阵列的器件,采用了颗粒架构,具有250K个门结构,具有极低的内核电压(1.5 V),具有抗辐射好、耐高低温、功耗低等特点,这些特点使得A3P250特别适合用于高性能的伺服控制。 在吸收国外先进控制思想的基础上,论文在基于ARM(STM32F429)的微微鼠运动控制器基础上引入FPGA(A3P250)形成双核控制器,控制器以A3P250为处理核心,实现微微鼠快速探索时多轴伺服信号的实时处理,双核控制器原理如图2所示。
基于ARM+FPGA的双核控制器把STM32F429从复杂的伺服控制算法中解脱出来,只实现伺服控制器的部分信号处理和FPGA的控制逻辑,并实时响应各种中断,FPGA的加入可有效提高微微鼠在复杂迷宫探索时的稳定性和快速性。
为减少微微鼠在迷宫行走中各种传感器采样的周期,提高多轴微微鼠迷宫探索中对行走路径中迷宫挡墙的采样频率,本论文把原有的六组传感器探测迷宫的方式改良成了基于四组传感器探测迷宫的全新探测模式,携带四组传感器的新型微微鼠二维结构如图3所示。
如图3所示:由红外发射和红外接收组成的传感器组S1、S6共同作用用于判断微微鼠探索时前方挡墙,传感器S3判断微微鼠探索时路径左边挡墙的存在,传感器 S4判断微微鼠探索时路径右边挡墙的存在,同时S3和S4的传感器组合作为微微鼠探索行走时直线导航依据。
為了提高微微鼠在各种复杂迷宫中探索行走时的稳定性,本论文在微微鼠高速探索伺服系统中加入了MEMS三轴陀螺仪G1,在整个探索期间,陀螺仪G1全程开启,三轴陀螺仪实时进行检测,可以对微微鼠的位置进行实时补偿,减少了微微鼠较大偏离设定位置现象的发生,有效提高了微微鼠快速探索时的稳定性和可靠性。
3 高速微微鼠探索原理
刚启动瞬间,微微鼠一旦接到双核控制器发出的探索命令,红外传感器组S1和S6首先对初始化的探索路径前方环境进行判断,如果经S1和S6反馈,控制器判断微微鼠刚启动瞬间探索路径前方有迷宫挡墙存在,STM32F429发送求解错误中断请求给A3P250,A3P250首先响应中断,然后禁止多路PWM使能端工作,封锁驱动微微鼠行走伺服电机的PWM信号,微微鼠原地自锁;如果双核控制器发现没有迷宫挡墙进入前方的探索路径,微微鼠将以按照设定的参数完成最佳路径的探索。
3.1 行走加减速
在微微鼠探索求解迷宫阶段,将按照图4所示的速度-时间图形规律进行启动、加速、减速和停止,图中速度-时间曲线包含的面积就是微微鼠在某段运动路径上需要运行的探索距离。
3.2微微鼠S转法探索原理
在微微鼠沿着迷宫行走过程中,如果存在一段如图5所示的探索路径,微微鼠控制器将存储其当前坐标(x,y),并按照不同的人工智能算法开始实现复杂的位置和方向的变换。
由于传统的微微鼠智能算法人工智能程度较低,一般的探索轨迹如图6所示。分析图6的运动轨迹可以看出:微微鼠需要多次的启动和停车,反复的启停和加减速一般来说需要更长的运动时间,而且这条运动轨迹相对于来说距离较长。
为了缩短探索路径并减少探索时间,本文提出了一种新型连转探索算法:S转法,其原理如图7所示。
如图7所示,S转法把路径分解,通过六段不同的轨迹来实现复杂环境中的转弯:首先通过R90_leading实现转弯前的姿态调整,ARM联合FPGA,把短距离R90_Leading转换成驱动直流电机运动的PWM波,推动微微鼠向前探索,双核控制器再结合传感器的各种反馈,实时调整微微鼠的姿态,保证微微鼠运动方向能够平行两边的挡墙;完成转入前的姿态调整后,ARM联合FPGA,把弧度R90_arc转换成各种采样周期下的直流电机运动的PWM波,实现微微鼠的转弯探索,双核控制器再结合陀螺仪的反馈,实时对转弯角度进行补偿,保证微微鼠按照预设的轨迹运行;当微微鼠完成90度的转弯后,R90_passing实现转弯后的姿态调整,ARM联合FPGA,把短距离R90_passing转换成驱动直流电机运动的PWM波,推动微微鼠向前姿态调整,双核控制器再结合传感器的各种反馈,实时调整微微鼠的姿态,保证微微鼠运动方向能够平行两边的挡墙,完成与L90_leading的交接,然后控制器进入L90_leading,L90_arc,L90_passing的转换,控制微微鼠实现从当前迷宫中的转出动作,左转的轨迹原理类似于右转,左转完成后再接入右转,这样就实现了S转法。
4 软件设计
对于本文设计的基于STM32F429+A3P250的双核高速微微鼠,在接到探索命令之前,它通常被放置在迷宫起点处,双核高速探索控制器使其首先进入起点处的自锁状态,一旦控制器发出探索命令,微微鼠将根据实际的导航环境,依靠自身的传感器开始求解路径,由A3P250产生的直流PWM驱动信号经驱动桥放大后,实现微微鼠在复杂迷宫中的快速探索。本论文设计的微微鼠探索程序原理如图8所示。
5 实验
图9所示为微电脑鼠和本文设计的微微鼠实物对比。通过对比可以看出,基于ARM+FPGA的双核微微鼠具有更小的体积和质量,有利于提高微微鼠高速探索时的动态性能。
图10所示为所设计的微微鼠在S转法前探索时的画面。从图中可以看出,微微鼠行走的方向平行于两边的迷宫挡墙,并处于当前迷宫格的中线上,为S转法探索奠定了坚实的基础。
图11所示为微微鼠S转法时的画面。
从图11微微鼠在复杂迷宫探索运行的图片可以看出,该微微鼠沿着预设的曲线方向运行,这说明控制器已经按照红外传感器组S1、S3、S4、S6和陀螺仪的反馈进行了精确补偿。
6 结论
基于STM32F429和A3P250双核控制器的使用使得微微鼠具有更小的尺寸和质量,并降低了其重心,有利于提高微微鼠高速探索时的动态性能;陀螺仪的加入使得双核探索控制器可以精确控制微微鼠的运动方向,易于微微鼠实现高速探索时姿态的精确调整;多传感器组合可以实时对高速运行的微微鼠进行干扰补偿,有利于提高微微探索时的准确性和稳定性,进一步减少其迷宫探索时间。
参考文献:
[1] Chen N.A vision-guided autonomous vehicle:an alternative micromouse 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.
[3] Xin Y. Research and Realization on Micrornouse for Maze Searching in Coalmine[M].Coal Technology,2010:60-69.
[4] 金余义,刘克申,任阳晖.基于测距红外传感器的轮式迷宫机器人设计[J].单片机与嵌入式系统应用,2013,13(9):74-77.
[5] 王伟奇,王澳刚,董化雄,等.基于STM32F429的蜘蛛六足机器人[J].智能机器人,2018(3):9-12.
[6] 刘宏兴.基于STM32F429的植保无人机飞控系统的设计[D].长春:吉林大学,2019.
【通联编辑:梁书】
关键词:微电脑鼠;S转法;探索;陀螺仪
中图分类号:TM301 文献标识码:A
文章编号:1009-3044(2021)30-0020-04
开放科学(资源服务)标识码(OSID):
Design and Realization of Dual Core Pico-mouse Maze Searching
ZHU Li-jun, WANG Ying-hai
(Department of Electronic Engineering, Suzhou Industrial Park Institute of Vocational Technology, Suzhou 215123, China)
Abstract: To improve the stability and reduce the searching time of pico-mouse in complex maze, a dual core controller based on stm32f429 and a3p250 is proposed in this paper. Intelligent s-turning rule is realized by turning in and out through six different tracks. The short adjustment distance of turning in of and out realizes the connection of different searching path.Gyroscope can realize the accurate position correction of pico-mouse in the straight and turning compensation of the micro mouse, and the combination of front wall sensors and gyroscope ensures the accuracy of continuous turning posture; The high-speed searching experiment of the pico-mouse shows that the s-turning rule can significantly improve the stability and rapidity of the pico-mouse turning, which is conducive to shorten the searching time of the pico-mouse in the maze.
Key words: pico-mouse; s turning; searching; Gyroscope
1 引言
微电脑鼠是一种集感知、判断、行走功能于一体的迷宫搜寻机器人,它依靠自身携带的多种传感器探测并感知不同的“迷宫”,然后依靠人工智能算法求解并自动记忆其搜寻路径,然后在最短的时间内到达设定的迷宫目的地[1-4]。
随着计算机技术、电力电子技术以及智能控制技术的不断进步,基于微电脑鼠求解迷宫的技术基础,产生了一种更复杂的迷宫机器人——微微鼠:迷宫挡墙减少为原来的1/2,原有的256个迷宫变成了1024格,由于迷宫变得更加复杂,求解迷宫的难度也变得异常艰难,新迷宫二维结构如图1所示。
微微鼠携带的电源一旦打开,控制器便开启其自身携带的传感器,微微鼠依靠这些传感器探索由1024个迷宫格组成的各种复杂迷宫,并依靠这些传感器在迷宫中自主导航,然后依靠人工智能算法找到一条从起点到设定目标点的最佳路径。微微鼠在探索过程中时刻依靠自身携带的传感器判断周围的环境,环境参数经传感器转化后传输到控制器,由控制器控制微微鼠其复杂迷宫格的启动、加速、减速和停止。微微鼠要想求解1024个迷宫格组成的各种复杂迷宫,必须具备良好的环境探测感知能力和良好的行走能力,并且此机器人必须有多种人工智能算法,否則将无法完成探索求解任务。国内研究时间此机器人较短,开发的控制技术比较落后,因此,需要对现有的微微鼠重新设计。
2 基于ARM+FPGA双核微微鼠硬件原理
STM32F429是由STM公司生产基于ARM Cortex-M4内核的32位flash微控制器。STM32F4系列主频高达168MHz,并且支持单周期DSP指令和浮点单元,STM32F429集成了多个定时器、ADC、DAC等先进外设,这些功能使得F4系列比较适合使用于控制和信号处理功能混合的数字信号控制系统[5-6]。
FPGA采用了逻辑单元阵列结构,内部包括可配置逻辑模块、输出输入模块和内部连线三个部分,此特性使得FPGA可以根据需要自由编程以满足实际需要,这种特性使得FPGA芯片可以提高系统集成度和可靠性,并且易于实现小批量生产。A3P250是ACTEL公司设计的一种基于Flash技术的逻辑门阵列的器件,采用了颗粒架构,具有250K个门结构,具有极低的内核电压(1.5 V),具有抗辐射好、耐高低温、功耗低等特点,这些特点使得A3P250特别适合用于高性能的伺服控制。 在吸收国外先进控制思想的基础上,论文在基于ARM(STM32F429)的微微鼠运动控制器基础上引入FPGA(A3P250)形成双核控制器,控制器以A3P250为处理核心,实现微微鼠快速探索时多轴伺服信号的实时处理,双核控制器原理如图2所示。
基于ARM+FPGA的双核控制器把STM32F429从复杂的伺服控制算法中解脱出来,只实现伺服控制器的部分信号处理和FPGA的控制逻辑,并实时响应各种中断,FPGA的加入可有效提高微微鼠在复杂迷宫探索时的稳定性和快速性。
为减少微微鼠在迷宫行走中各种传感器采样的周期,提高多轴微微鼠迷宫探索中对行走路径中迷宫挡墙的采样频率,本论文把原有的六组传感器探测迷宫的方式改良成了基于四组传感器探测迷宫的全新探测模式,携带四组传感器的新型微微鼠二维结构如图3所示。
如图3所示:由红外发射和红外接收组成的传感器组S1、S6共同作用用于判断微微鼠探索时前方挡墙,传感器S3判断微微鼠探索时路径左边挡墙的存在,传感器 S4判断微微鼠探索时路径右边挡墙的存在,同时S3和S4的传感器组合作为微微鼠探索行走时直线导航依据。
為了提高微微鼠在各种复杂迷宫中探索行走时的稳定性,本论文在微微鼠高速探索伺服系统中加入了MEMS三轴陀螺仪G1,在整个探索期间,陀螺仪G1全程开启,三轴陀螺仪实时进行检测,可以对微微鼠的位置进行实时补偿,减少了微微鼠较大偏离设定位置现象的发生,有效提高了微微鼠快速探索时的稳定性和可靠性。
3 高速微微鼠探索原理
刚启动瞬间,微微鼠一旦接到双核控制器发出的探索命令,红外传感器组S1和S6首先对初始化的探索路径前方环境进行判断,如果经S1和S6反馈,控制器判断微微鼠刚启动瞬间探索路径前方有迷宫挡墙存在,STM32F429发送求解错误中断请求给A3P250,A3P250首先响应中断,然后禁止多路PWM使能端工作,封锁驱动微微鼠行走伺服电机的PWM信号,微微鼠原地自锁;如果双核控制器发现没有迷宫挡墙进入前方的探索路径,微微鼠将以按照设定的参数完成最佳路径的探索。
3.1 行走加减速
在微微鼠探索求解迷宫阶段,将按照图4所示的速度-时间图形规律进行启动、加速、减速和停止,图中速度-时间曲线包含的面积就是微微鼠在某段运动路径上需要运行的探索距离。
3.2微微鼠S转法探索原理
在微微鼠沿着迷宫行走过程中,如果存在一段如图5所示的探索路径,微微鼠控制器将存储其当前坐标(x,y),并按照不同的人工智能算法开始实现复杂的位置和方向的变换。
由于传统的微微鼠智能算法人工智能程度较低,一般的探索轨迹如图6所示。分析图6的运动轨迹可以看出:微微鼠需要多次的启动和停车,反复的启停和加减速一般来说需要更长的运动时间,而且这条运动轨迹相对于来说距离较长。
为了缩短探索路径并减少探索时间,本文提出了一种新型连转探索算法:S转法,其原理如图7所示。
如图7所示,S转法把路径分解,通过六段不同的轨迹来实现复杂环境中的转弯:首先通过R90_leading实现转弯前的姿态调整,ARM联合FPGA,把短距离R90_Leading转换成驱动直流电机运动的PWM波,推动微微鼠向前探索,双核控制器再结合传感器的各种反馈,实时调整微微鼠的姿态,保证微微鼠运动方向能够平行两边的挡墙;完成转入前的姿态调整后,ARM联合FPGA,把弧度R90_arc转换成各种采样周期下的直流电机运动的PWM波,实现微微鼠的转弯探索,双核控制器再结合陀螺仪的反馈,实时对转弯角度进行补偿,保证微微鼠按照预设的轨迹运行;当微微鼠完成90度的转弯后,R90_passing实现转弯后的姿态调整,ARM联合FPGA,把短距离R90_passing转换成驱动直流电机运动的PWM波,推动微微鼠向前姿态调整,双核控制器再结合传感器的各种反馈,实时调整微微鼠的姿态,保证微微鼠运动方向能够平行两边的挡墙,完成与L90_leading的交接,然后控制器进入L90_leading,L90_arc,L90_passing的转换,控制微微鼠实现从当前迷宫中的转出动作,左转的轨迹原理类似于右转,左转完成后再接入右转,这样就实现了S转法。
4 软件设计
对于本文设计的基于STM32F429+A3P250的双核高速微微鼠,在接到探索命令之前,它通常被放置在迷宫起点处,双核高速探索控制器使其首先进入起点处的自锁状态,一旦控制器发出探索命令,微微鼠将根据实际的导航环境,依靠自身的传感器开始求解路径,由A3P250产生的直流PWM驱动信号经驱动桥放大后,实现微微鼠在复杂迷宫中的快速探索。本论文设计的微微鼠探索程序原理如图8所示。
5 实验
图9所示为微电脑鼠和本文设计的微微鼠实物对比。通过对比可以看出,基于ARM+FPGA的双核微微鼠具有更小的体积和质量,有利于提高微微鼠高速探索时的动态性能。
图10所示为所设计的微微鼠在S转法前探索时的画面。从图中可以看出,微微鼠行走的方向平行于两边的迷宫挡墙,并处于当前迷宫格的中线上,为S转法探索奠定了坚实的基础。
图11所示为微微鼠S转法时的画面。
从图11微微鼠在复杂迷宫探索运行的图片可以看出,该微微鼠沿着预设的曲线方向运行,这说明控制器已经按照红外传感器组S1、S3、S4、S6和陀螺仪的反馈进行了精确补偿。
6 结论
基于STM32F429和A3P250双核控制器的使用使得微微鼠具有更小的尺寸和质量,并降低了其重心,有利于提高微微鼠高速探索时的动态性能;陀螺仪的加入使得双核探索控制器可以精确控制微微鼠的运动方向,易于微微鼠实现高速探索时姿态的精确调整;多传感器组合可以实时对高速运行的微微鼠进行干扰补偿,有利于提高微微探索时的准确性和稳定性,进一步减少其迷宫探索时间。
参考文献:
[1] Chen N.A vision-guided autonomous vehicle:an alternative micromouse 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.
[3] Xin Y. Research and Realization on Micrornouse for Maze Searching in Coalmine[M].Coal Technology,2010:60-69.
[4] 金余义,刘克申,任阳晖.基于测距红外传感器的轮式迷宫机器人设计[J].单片机与嵌入式系统应用,2013,13(9):74-77.
[5] 王伟奇,王澳刚,董化雄,等.基于STM32F429的蜘蛛六足机器人[J].智能机器人,2018(3):9-12.
[6] 刘宏兴.基于STM32F429的植保无人机飞控系统的设计[D].长春:吉林大学,2019.
【通联编辑:梁书】