《基于Proteus的Arduino可视化编程应用技术》教学课件-09机器人智能循迹与超声波避障_第1页
《基于Proteus的Arduino可视化编程应用技术》教学课件-09机器人智能循迹与超声波避障_第2页
《基于Proteus的Arduino可视化编程应用技术》教学课件-09机器人智能循迹与超声波避障_第3页
《基于Proteus的Arduino可视化编程应用技术》教学课件-09机器人智能循迹与超声波避障_第4页
《基于Proteus的Arduino可视化编程应用技术》教学课件-09机器人智能循迹与超声波避障_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目9

Smart-Turtle机器人智能

循迹与超声波避障通过三个循迹传感器模块能准确测出智能小车相对寻迹线的位置

控制板能根据这一相对位置控制智能小车左转

、右转

、寻找寻迹线等操作

。在具有智能避障的小车控制系统中,常用超声波传感器模块完成小车离周围障碍物的有效距离

控制板从而好控制小车掉头

、左转

、右转等操作

。通过Smart-Turtle机器人模块

提供的图框完成智能循迹

电机控制

、智能避障等流程图的绘制比较简单

容易掌握。9.1项目设计要求本项目要求设计具有如下功能的Smart-Turtle机器人小车:(1)能沿轨迹前进;(2)遇障碍物躲避并掉头。9.2设计思路分析1.寻迹方案使用三组循迹传感器来检测小车相对于寻迹线的位置。2.障碍物检测方案使用超声波传感器模块检测障碍物。3.小车控制方案小车左右车轮分别由一个直流电机控制,用于控制车轮的转速,实现左转或右转或倒退。9.3硬件电路设计系统提供的智能小车模块,没有具体的硬件电路,机器人小车电路根据功能主要分为3部分。第一部分:超声波传感器模块;第二部分:三组寻迹传感器模块;第三部分:左右轮电机控制模块。智能小车电路模块图如图9-1所示。 “选择工程剪辑”对话框如图9-2所示,在“类别”下拉列表框中选择“MotorControl”选项,在下面的模块列表中选择“ArduinoTurtle”模块。9.4软件设计9.4.1SETUP流程图设计(1)设置超声波探头方向setAngle图框用于定位声纳头的角度,对于大多数应用程序,会将此值设置为0(向前直视)。setRange图框用于定义要检测障碍物的最大范围,这很重要,因为它将决定单片机计算来自障碍物反射时间的时间范围。通常在程序中设置(尽可能小),然后根据需要在程序中进行调整。(2)设置测试障碍物的最大范围forwards图框用于设定前进方向的电机速度,速度从0-255,该数值决定PWM驱动波形的占空比。(3)

设置电机前进速度4)

绘制SETUP结构流程图9.4.2寻迹结构流程图(Correct)设计1、电机驱动控制图框·Drive图框Drive图框允许设置要控制的车轮、行驶方向和速度。速度是0到255的值,表示PWM驱动信号的占空比。forwards图

框用于车轮

前进方向速

度值设置。forwards图框Backwards图

框用于车轮

后退方向速

度值设置。·

backwards图框Turn图框用于设定转弯速度,来简化海龟的转向控制。负值左转,正值右转,值的大小为转速。·

turn

图框2、循迹工作原理系统运行后自动小车(海龟)沿轨迹前进,遇到障碍物停下,然后调转方向前进。小车与轨迹的相对位置不同,对于寻线模块来说会产生几种不同的循迹信号。Stop图框Stop图框使电机停止。情况与之对应的寻线模块信号分别为T1:LH(1,0,0)、T1:LH(0,0,1)、T1:LH(1,1,0)和T1:LH(1,1,1。根据小车与轨迹的相对位置不同,编写算法控制小车前进的方向使之能沿着轨迹前行。小车在寻迹线上的位置如图9-11所示,这几种Smart-Turtle海龟下面有三个循迹传感器。电路会基于它们是否检测到线来对回路发出数字响应。在VisualDesigner中,我们使用一个称为传感器函数的决策块读取这些传感器的信息。通过从项目树中的外设图框直接拖放来使用传感器的函数,寻迹传感器决策块读取传感器信息如图9-12所示。通过编辑决策块,根据是否满足TRUE的条件来检测传感器的输出信息状态。有三个参数对应于左,中,右传感器,对于每一个传感器的真值如下:1:MustbeTRUE(在线上)0:MustbeFALSE(不在线上)-1:Don"tcare(不关心)(1)寻线模块信号(1,0,0)寻线模块信号是(1,0,0),小车相对轨迹线靠右,需要控制使左右轮转速差更大,使小车实现更大角度的左转。小车需要左转或右转沿轨迹前进,我们在此引入一个整型数据dir(direction方向),代表小车前进的方向,我们定义小右转是正,左转是负,并给予一个数值表示转向角度,数值越大,角度越大,直行的状态下dir=0。转向。寻线模块信号是(0,1,1),说明小车相对轨迹线略为靠左,此时应使左轮转速大于右轮,使小车向右(2)

寻线模块信号(0,

1,

1)(4)寻线模块信号(1,1,1)寻线模块信号是(1,1,1),说明小车竖直穿过轨迹线,调用Correct函数使寻线模块信号不是(1,1,1)为止。(3)寻线模块信号(-1,1,-1)寻线模块信号是(-1,1,-1),说明小车要直行。先判断此前小车转向的方向,输出与原方向相反的转向信号,直至寻线模块信号(T1:LH)不等于(1,1,1)才跳出循环。为免出现死循环,在一定时间内寻线模块信号还处于(1,1,1),会向电机发出stop指令,跳出循环,当然也可以用其他指令代替。9.4.3避障结构流程图设计将避障Avoid函数的调用设置在LOOP流程图的最后。当小车前方遇到障碍物时T1:SH决策块判定为YES,小车先后退一段距离然后原地转向180°(设置电机运行时间和速度调整转向角度);掉头后探测前方是否有障碍物。再判断轨道位置,若掉头后脱离轨道位置,使小车后退,直至检测到轨道信号,退出避障算法循环,重新进入主程序。9.4.4LOOP结构流程图设计 9.5项目总结本项目中利用了三个巡线传感器模块探测小车与巡线的相对位置,根据巡线模块决策块的状态控制小车运行;通过超声波探头测试的障碍物与小车的距离,控制小车避障;通过小车左右轮的转速和方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论