自动走迷宫对抗机器人(攻方)简介
自动走迷宫对抗机器人的设计(攻方)
自动化 12220217 冉旭升 指导教师:潘峥嵘 教授
摘要
本文设计了以STM32F103单片机为核心的自动走迷宫对抗机器人系统,包括了传感器信息的采集与处理、电机驱动、走迷宫的算法及控制策略等方面。采用激光传感器采集道路信息并反馈给单片机控制系统。通过设置STM32F103单片机定时器PWM 模式进行直流电机调速,使自动走迷宫对抗机器人能够完成走迷宫和对抗任务。
关键词:激光传感器;迷宫;对抗
Abstract
This article is designed to STM32F103 microcontroller as the core automatic maze against robot system, including the acquisition and processing of sensor information, motor-driven, aspect Maze algorithm and control strategy. Laser sensors collect the road information and feedback to the microcontroller control system. By setting STM32F103 microcontroller timer mode PWM DC motor speed control, the automatic robot to complete a maze maze confrontation and confrontation task.
KEY WORDS: Laser Sensor; maze; confrontation
一、引言
自动走迷宫对抗机器人是由微控制器、传感器和机电运动部件构成的一种智能行走装置,可以在迷宫中自动记忆和选择路径,采用相应的算法,快速地达到所设定的目的地。本设计采用的是4组激光传感器对迷宫进行循迹,在进入迷宫到达C 区时,用双舵机带动双超声波对守方进行检测,发动有效攻击后,迅速走出迷宫。本设计要求机器人能够识别迷宫地图,自主进入中心区域C 区,具备有效攻击对方的能力并且在攻击之余,快速走出迷宫的能力;针对本设计中规划好的迷宫路径,提前选择最佳路径,在进口A 处有两个左右两个转向,针对迷宫的特殊性,机器人不仅要左右循迹,在进入迷宫里面更要前方避开黑线,实现原地左转90度或者右转90度,这就和循迹传感器的布局紧密相关。
图1 迷宫示意图
二、自动走迷宫对抗机器人的系统构成
本次机器人设计硬件电路系统主要分为主控电路、驱动电路、辅助电路。机器人的控制系统主要由三大部分组成:传感器信号采集及处理、速度检测控制和舵机转向算法控制。由激光传感器采集道路信息,反馈回单片机核心控制系统经处理分析后识别路径,控制机器人根据不同的路径采用不同的速度和转向角度。
主控电路采用以STM32F103单片机为核心。整个单片机系统的硬件电路主要包括以下几个部分:时钟电路、电源电路、复位电路、Header 3H接口。其中各个部分的功能如下:
(1)单片机外部接8MHz 的高速外部时钟HSE 和32.768KHz 的低速外部时钟LSE ;
(2)电源电路主要是给单片机提供3.3V 电源;
(3)Header 3H接口让用户可以向单片机下载和调试程序。
机器人的各个模块为:
(1)显示模块采用LCD1602液晶显示模块,LCD1602液晶显示模块的硬件接口采用并行接口数据传输,由于并行接口数据传输比串行接口数据传输快,接线简单,编程容易。
(2)测速模块采用的是光电编码器。
(3)电机采用L298N 驱动两台直流电机。
(4)搜寻模块采用双舵机搭载双超声波进行探测。
(5)循迹模块采用调制激光。 舵机1舵机2调制激光循迹模
块
LCD 显示
STM32F103
按键测速模块HC-SR04超声波模
块1
HC-SR04超声波模
块2激光攻击模块L298N
直流电机
图2 自动走迷宫对抗机器人系统框图
三、循迹传感器信息采集及处理流程
路径识别模块是智能车系统的关键模块之一,路径识别方案的好坏,直接关系到机器人性能的优劣,因此确定路径识别模块的类型是做智能车的关键步骤之一。本设计采用的是调制激光循迹原理,要想机器人的动作快,最好的选择就是调制激光。本次智能车设计采用激光传感器作为路径识别的检测模块。激光传感器信号处理速度快,可以实时地对路况信息进行检测判别并作出相应控制处理,激光传感器大大提高小车的前瞻性,使小车的稳定性提高,从而提高总体速度。
激光传感器主要由两部分组成,一部分为发射部分,另一部分为接收部分。发射部分由一个振荡器发出180KHz 频率的震荡波后。经过三极管放大,激光管发出光亮,而接收部分则由相匹配的一个180KHz 的接收管接收返回耳光强。经过电容滤波后直接接入单片机,检测返回电压的高低,因为在激光传感器中采用了调制的方法,因此接收管就只能接收频率相同的反射光强,因而可以有效的防止可见光对激光的影响。另外,如果和大透镜配合使用,抗干扰能力和接收能力会更强。
本设计采用了12个激光发射管和4个接收管,采用“三对一”的模式进行工作,我们将12个激光传感器依次标号为:1~12号,然后1、5、9号三个发射管为一组,2、6、10为一组,3、7、11号为一组,4、8、12为一组,共分为4组来发射,每间隔0.5MS 点亮一组激光管,依次点亮4组发射管。同时
读取4组接收管信号,就可以确定出12个激光发射管发出的光在赛道上的信息,进而判断当前机器人的位置。所以机器人系统的采样周期为2MS 。具体工作流程如图3所示:
图3激光传感器工作流程
四、电机驱动控制系统流程
电机驱动采用L298N 双H 桥直流电机控制芯片。电机驱动电源电压DC 5-40V ,输出电流大,瞬间峰值电流可达3A ,最大输出功率25W 。可以单独控制2台直流电机或1台两相4线(或6线) 步进电机。其中PWM 输入信号由STM32F103T 定时器直接提供,使电路布线更为简单,同时降低了系统的不稳定因素。通过改变PWM 的占空比来改变电机转速的快慢。在用STM32F103进行PWM 调速的时候,需要配置引脚和配置定时器。
STM32F103单片机的定时器工作模式有计数模式、输入捕获模式。PWM 输出模式、强制输出模式、PWM 模式等。控制直流电机需要控制定时器配置成为PWM 模式,生成不同占空比的PWM 波。PWM 输出信号的占空比由TIMx_CRRx寄存器确定。其公式为(TIMx_CRRx/TIMx_ARR)*100%,因此,可以通过向CRR 中填入适当的数来输出自己所需的频率和占空比的方波信号,进而实现本设计中PWM 中的采样功能。
在本设计中采用的驱动直流电机中,用TIM4四个通道输出的PWM 信号进行直流电机控制,先使捕获/比较使能寄存器TIMx_CCER设置为1,最后通过捕获/比较寄存器TIMx_CCR在输出模式下与CNT 的值比较,比较结果产生相应动作下,通过修改这个寄存器的值就可以控制占空比的值。
定时器配置PWM 信号具体流程如图4所示:
图4 定时器配置电机PWM 子程序
五、搜寻及攻传感器信息采集及处理
搜寻目标子程序作为主流程中重要的子程序,是机器人能否有效发动攻击的关键所在。由于单片机的流程无法并行,因此超声波系统在获取定时器的计数值后,判断距离是否小于0.96m ,若距离小于0.96m ,则认为发现目标,则置发现目标标志位为1。否则就继续搜寻,舵机1、2摆动角度加10或者摆动角度依次减10。直至搜寻到守方然后由攻击模块发动攻击。
六、结论
激光传感器大大提高了机器人的前瞻性,使机器人能够提前对赛道做出相应反应,增加了机器人的稳定性和可靠性。实际做机器人时我们还对小车的机械结构做了相应调整,特别是对双舵机的调整,配合软件系统,减少了舵机的延时,加大了舵机的灵敏度,使舵机能够快速摆动,提高了机器人发动有效进攻的灵活性。
参考文献
[1]望威, 周茜. 实用机器人制作讲座(八) 机器人用电动机及其传动机构[J].电子制作.2003(12).
[2]陌尘. 实用机器人制作讲座(五) ——机器人供电系统(电池应用部分)[J].电子制作.2003(09).
[3]陌尘. 实用机器人制作讲座(六) ——机器人供电系统(电源稳压部分)[J].电子制作.2003(10).
[4]董大为, 李琳, 张铁, 谢存禧. 移动机器人自动循线及避障检测的设计[J].机床与液压.2008(04).
[5]金文俊, 冯浩, 华亮. 基于超声波传感器的自主移动机器人的探测系统[J].现代电子技术.2008(04).
[6]白英彩. 微型计算机常用芯片手册[M].上海:上海科技出版社,2000.
[7]谢宜仁. 单片机实用技术问答[M].北京:人民邮电出版社,2005.
[8]刘必虎. 中小规模集成电路的原理与应用[M].上海:上海科技出版社,2000.
[9]周林等. PWM 控制器的控制方法[J]. 重庆邮电学院学报, 2001(6): 110-113.
[10]BelG.R,MiehaelL.G.ExPert system defection and Perfeetion[J].Logisties Information Management,2009,12(5)
[11]Hai qiao Wu,Yi Liu,Yunliang Ding,Yongqing Qiu. Fault diagnosis expert system for modern commercial aircraft[J].Aircraft Engineering and Aerospace Teehnology,2004,76(4)