第4、5章 机器人巡航、机器人触觉导航_第1页
第4、5章 机器人巡航、机器人触觉导航_第2页
第4、5章 机器人巡航、机器人触觉导航_第3页
第4、5章 机器人巡航、机器人触觉导航_第4页
第4、5章 机器人巡航、机器人触觉导航_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

基础机器人制作与编程(第3版)第四讲机器人巡航“十三五”职业教育国家规划教材任务一基本巡航动作4.1基本巡航动作下面是使机器人向前走3s的例程:1、确保BasicDuino微控制器和伺服电机都已接通电源。2、输入、保存并运行程序RobotForwardThreeSeconds.bs2。向前巡航当给两条PULSOUT指令中参数Duration以不同的值时,可以使机器人以不同的方式巡航。例如,下面的两条PULSOUT指令可以使机器人向后走:PULSOUT13,650PULSOUT12,850向后巡航和原地旋转任务二基本巡航运动的调整4.2基本巡航运动的调整校准的第一步是让机器人直线运动一段足够长的距离来检查它是向左偏还是向右偏。向前全速运动10s应该足够了。对上面的RobotForwardThreeSeconds.bs2程序进行简单地修改就可以满足这一检验要求。1、打开程序RobotForwardThreeSeconds.bs2,将程序另存为RobotForwardTenSeconds.bs2。2、将变量counter的EndValue参数值由122改为407。3、运行程序,仔细观察在机器人向前行走10s的过程中是否会向左偏或向右偏。机器人直线运动的校准4.2基本巡航运动的调整软件调节可以使机器人旋转一个期望的角度,如旋转90”等。由于机器人的旋转时间决定了它的旋转角度,而FOR...NEXT循环控制着运行时间,所以可以通过调整FOR.NEXT循环的参数EndValue得到所需要的旋转角度。下面的程序可以使机器人向左旋转90度。FORcounter=1TO24'Rotateleft-about1/4turnPULSOUT13,650PULSOUT12,650PAUSE20转动调整任务三计算运动距离4.3计算运动距离在机器人运动之前,必须先测试出机器人的直线运动速度。最简单的方法是把机器人放在一把尺子旁边,让机器人向前走1s,然后测量机器人走了多远,这样就得到了它的运动速度。例程如下:1、输入、保存并运行程序ForwardOneSecond.bs2。2、将机器人放在尺子旁边。3、确保机器人两个轮子与地面接触点的连线与尺子的0cm刻度线对齐。4、按下复位键,重新运行程序。5、测量从出发点到机器人停下时两个轮子与地面接触点的连线的垂直距离。任务四匀变速运动4.4匀变速运动匀变速运动是指逐渐增加或减小机器人的运动速度,而不是急起或急停。这种运动方式可以提高机器人的电源和伺服电机的使用寿命。1、输入、保存并运行程序StartAndStopWithRamping.bs2。2、验证机器人是否先逐渐加速到全速,再保持一段时间,最后逐渐减速到停止。编写匀变速程序任务五用子程序简化巡航运动程序4.5用子程序简化巡航运动程序01子程序一个PBASIC子程序有两个部分。一个部分是子程序调用,它告诉程序跳到可重复执行代码部分,执行后回到调用点;另一个部分是实际的子程序,它以作为自已名字的标号为子程序的起点,以RETURN指令为终点,标号和RETURN指令之间的代码段执行想让子程序做的工作。01例程:OneSubroutine.bs21、输入、保存并运行程序OneSubroutine.bs2。2、观察调试终端,按几次复位键,每次都应该看到顺序相同的3条信息。任务六高级主题一一在EEPROM中建立复杂运动4.6高级主题一一在EEPROM中建立复杂运动EEPROM与RAM(随机存取存储器)在以下几个方面有所不同。1、EEPROM存储一个值要花费较多时间,有时需要几毫秒。2、EEPROM支持写操作的次数是有限的,约为1千万次,而RAM能无限次地读/写。3、EEPROM的主要功能是存储程序,数据可以存储在剩余的部分。如图4.3所示给出了程序MovementsWithSubroutines.bs2的存储映射图。4.6高级主题一一在EEPROM中建立复杂运动这种编程方法需要用到一些新的PBASIC指令:DATA指令READ和SELECT…CASE...ENDSELECT指令。在运行新的例程之前,先学习一下如何使用这些新指令。EEPROM指南1、仔细阅读程序EepromNavigationbs2,理解程序的每一部分是如何工作的。2、输入、保存并运行程序EepromNavigationbs2。例程:EepromNavigation.bs2感谢观看基础机器人制作与编程(第3版)“十三五”职业教育国家规划教材基础机器人制作与编程(第3版)第五讲机器人触觉导航“十三五”职业教育国家规划教材任务一安装并测试机器人的胡须5.1安装并测试机器人的胡须01搭建好胡须硬件1、准备好胡须硬件,如图5.1所示。2、断开BasicDuino微控制器的电源。3、按照图5.2所示将机器人胡须安装到面包板上。5.1安装并测试机器人的胡须01搭建好胡须硬件3、按照图5.2所示将机器人胡须安装到面包板上。按照如图5.3所示胡须电路示意图和图5.4所示胡须安装实物图在面包板上将电路搭建。5.1安装并测试机器人的胡须01搭建好胡须硬件3、按照图5.2所示将机器人胡须安装到面包板上。安装胡须后的基础机器人如图5.5所示。需要特别注意的一点是,面包板需要与BasicDuino微控制器共地,所以要将BasicDuino微控制器的负极(GND)与胡须相连,具体连接方式如图5.6所示。5.1安装并测试机器人的胡须01测试胡须例程:TestWhiskers.bs2。本例程用来测试胡须的功能是否正常。通过显示存储在P7和P5的输入存器(IN7和IN5)中的二进制数值,测试BasicDuino微控制器是否检测到胡须的状态。当相应输入寄存器的存储值为1时,说明胡须没有被按下;当存储值为0时,说明胡须被按下。任务二现场测试胡须5.2现场测试胡须1、断开BasicDuino微控制器的电源。2、参照图5.7所示的LED胡须测试电路图完成实际接线。搭建LED胡须测试电路5.2现场测试胡须1、重新接通BasicDuino微控制器的电源。2、将程序TestWhiskers.bs2另存为TestWhiskersWithLeds.bs2。3、在PAUSE50和LOOP之间插入以下两段IF…THEN语句。4、运行程序TestWhiskersWithLeds.bs2。5、轻轻按下胡须,测试上述程序。如果每根胡须在接到自己的3-pin接头时红色LED灯均变亮,则测试通过。对LED胡须测试电路编程任务三胡须导航5.3胡须导航当机器人向前行走碰到障碍物时,它的一根或两根胡须会被按下,此时可以调用第4讲中的基本动作子程序使机器人倒退或转弯,以避开障碍物重新向前行走,直到遇到另一个障碍物后再重复上述过程。为了实现上述功能,需要编程使机器人能够进行条件判断。PBASIC语言中有一个条件判断指令语句IF...THEN。编写程序,使机器人能够基于胡须导航5.3胡须导航主程序中的IF…THEN语用于检测胡须所有可能的状态。一个全速前进的脉冲可以使机器人前进大约1/2cm。发送一个控制脉冲,然后检测胡须状态是一个好主意。由于IF...THEN语句一般嵌套在DO...LOOP之中,所以每次程序从ForwardPulse返回都要运行到LOOP语句处,然后再返回到DO,此时IF…THEN语句会再次执行检测胡须的状态。带着胡须的机器人是如何漫游的任务四机器人迷路时的人工智能决策5.4机器人迷路时的人工智能决策编程逃离墙角编写逃离墙角程序时,需要使用IF…THEN嵌套语句,即令程序先检查一种条件,如果该条件成立(条件为真),则再检查包含于这个条件之内的另一个条件。程序EscapingCorners.bs2是如何工作的

温馨提示

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

评论

0/150

提交评论