移动机器人路径跟踪实验_第1页
移动机器人路径跟踪实验_第2页
移动机器人路径跟踪实验_第3页
移动机器人路径跟踪实验_第4页
移动机器人路径跟踪实验_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

移动机器人路径跟踪实验第一页,共七十九页,2022年,8月28日第二页,共七十九页,2022年,8月28日能力风暴第三页,共七十九页,2022年,8月28日第四页,共七十九页,2022年,8月28日第五页,共七十九页,2022年,8月28日第一部分第六页,共七十九页,2022年,8月28日一.控制主板结构说明

第七页,共七十九页,2022年,8月28日(1)LCD插座:探索者配备了一个16x2的液晶显示模块,将其正确插入该插座,机器人在运行过程中可以显示2行16字符的文本信息,是探索者与操作者的交互界面之一;(2)直流电机口3:探索者控制主板上扩展了四个直流伺服接口,编号为0~3,具备PWM(脉宽调制)功能,可以用于各种直流驱动装置,如直流马达、继电器等执行机构,旁边的红色和绿色用于指示方向;(3)直流电机口2:同(2);(4)直流电机口1:同(2);(5)直流电机口0:同(2);(6)移动轮电机1:探索者教育机器人左右各装备了一个直流驱动马达,分别对应于WHEEL0和WHEEL1两个五芯插座,是探索者的主要移动机构,安装时应注意左右对应关系;(7)移动轮电机0:同(6);(8)电源插座:电池组上电源线连接在此处,连接时应注意电池极性;(9)充电插座:探索者配备的12伏500毫安充电器上的同轴插头插入此插座可以对连接在机器人上的8节9.6伏串联电池组进行充电;(10)充电指示:黄颜色的发光二极管,用于指示探索者是否处于正常充电状态,若快速充电跳线插座短路,则该指示灯不起作用;第八页,共七十九页,2022年,8月28日(11)扩展电源插座:用于给探索者上扩展的直流电机口0~3和移动轮电机驱动口0~1提供额外的电源,电源极性请见板上的标注,附加电源的规格为5~7节1.5伏干电池或7~8节1.2伏串联充电电池,但一般要求等效电压等于或略高于连接于(8)的电池电压;(12)电源开关:用于打开和关闭探索者;(13)电源指示:绿颜色的发光二极管,用于指示探索者是否处于工作状态;(14)电压低指示:红颜色的发光二极管,灯亮时,表示电源电压太低;(15)功能按钮:该按钮占用通用数字输入口7,在用户程序中可以获得该按钮的状态,另外,该按钮与复位按钮联合使用可以使控制板进入特殊启动模式,从而能够进行操作系统的装入;(16)复位按钮:按下此按钮使控制板复位,当与功能按钮联合使用可以使控制板进入特殊启动模式,从而可以进行操作系统的装入,具体做法是先按下功能按钮并保持,然后按一下复位按钮;(17)通用数字口0-6、8-9:通用数字输入口,从左至右编号为0到6和8-9;(18)通用模拟口7-4:通用模拟输入口,从左至右编号为7到4;(19)通讯指示:黄颜色的发光二极管,灯闪烁时,表示控制板正与PC机进行通讯;第九页,共七十九页,2022年,8月28日(20)串行通讯插座:RS232串行通讯接口;(21)麦克风:用于采集声音信号,占用通用模拟接口2;(22)红外调节1:用于调节红外发射管1的发射强度;(23)红外发送1:红外发射管1插座;(24)红外接收:红外接受头插座;(25)红外发送0:红外发射管0插座;(26)红外调节0:用于调节红外发射管0的发射强度;光敏传感器1:预设的光敏电阻插座1,与右边的光敏传感器对应,也可以作为通用模拟输入口使用,编号为1;光敏传感器0:预设的光敏电阻插座0,与左边的光敏传感器对应,也可以作为通用模拟输入口使用,编号为0;扩展接口:该扩展接口插座与LCD插座一起构成了探索者的扩展总线;红外频率调节:用于调节红外振荡电路的频率,使其位于38KHz左右;(31)快速充电:若需对电池组进行快速充电,应将该跳线座短路;(32)蜂鸣器:可以在用户程序的控制下产生不同频率的声响。第十页,共七十九页,2022年,8月28日二.C语言基础和JC◆C基础main()函数◆JC简介交互式C语言(简称JC)是用于能力风暴个人机器人(基于68HC11)的专用开发系统。JC由两部分组成:编译环境(包含交互式命令行编辑和调试功能)和能力风暴操作系统。JC实现了C语言的一个子集,它包括控制语句(for,while,ifelse),局部变量和全局变量,数组,指针,结构体,16位和32位整数,和32位浮点数。◆运行JC首先要安装JC。把能力风暴接到你计算机的一个串口上,打开能力风暴电源开关,并运行JC。电源开关拨至“下载”位置(左边),JC将引导你首先下载操作系统;若控制板上已有操作系统,将电源开关拨到“运行”位置(右边),运行JC时,JC将初始化能力风暴内存并下载系统库函数。第十一页,共七十九页,2022年,8月28日能力风暴库函数文件

JC库函数◆库函数文件为能力风暴控制板的硬件提供了标准C的接口函数。这些函数是用C或者汇编语言写成的驱动程序。库函数提供了诸如控制电机,发出声音,输入传感器值等功能◆为更好理解库函数如何工作,建议研究一下库文件的源代码。能力风暴主库文件列表为lib_as.lis。

相关内容:●输出控制 ●传感器输入

●定时命令 ●音频函数第十二页,共七十九页,2022年,8月28日1.输出控制●函数stop()关闭两个电机

●motor(intm,intp)用于电机功率水平的控制

●voiddrive(inttrans_vel,introt_vel)

同时设定两个电机的速度,控制能力风暴的平移和旋转。trans_vel平移速度,rot_vel旋转速度。rot_vel<0能力风暴顺时针旋转,rot_vel>0能力风暴逆时针旋转。该函数将左轮速度设为(trans_vel-rot_vel),右轮速度设为(trans_vel+rot_vel)。

第十三页,共七十九页,2022年,8月28日2.传感器输入●数字输入

intdigital(intp)

返回数字口p上传感器的值,(1为真,0为假)。如果从传感器数字硬件读到的值为零伏或逻辑零,digital()函数将返回真。第十四页,共七十九页,2022年,8月28日●模拟输入

intanalogport(intp)

返回模拟口p上传感器的值。返回值是0到255间的整数值。如果该传感器在硬件上只有开关两种状态,则硬件上的数字读数为1时返回值为255(就象一个数字开关断开,电位被拉高一样,导致一个最高读数),当硬件的数字读数为0,则返回0(就象一个数字开关合上,电位接地)。系统设定的传感器端口全局变量:intphoto_right=photo(1); 右光敏电阻

intphoto_left=photo(2); 左光敏电阻

intmicrophone=2; 麦克风

第十五页,共七十九页,2022年,8月28日例:analogport(photo_right);检测右光敏,返回值越小,光线越亮。analogport(microphone);检测麦克风,返回值越大,声音越响。第十六页,共七十九页,2022年,8月28日●红外线系统红外线系统由两部分构成:两个红外线发送器,以及一个红外线接收器

左右两个方向的红外线发送器分别发射一定频率的红外线脉冲信号,红外线接收器可以检测出这种频率的红外调制信号红外线系统探测障碍的有效距离是10~80厘米第十七页,共七十九页,2022年,8月28日

intir_detector()

返回值

0b00:没有接收到红外,0b01:右边接收到,0b10:左边接收到,0b11:两边都接收到。第十八页,共七十九页,2022年,8月28日●碰撞检测在能力风暴四周有一个碰撞环,上面有四个碰撞传感器,可以检测是否撞上障碍以及碰撞发生的方位

intbumper()

碰撞传感器检测。返回值低4位的意义,位0=>右前,位1=>左前,位2=>右后,位3=>左后。如果实际检测方位与此处定义不一致,请调整碰撞传感器的安装位置第十九页,共七十九页,2022年,8月28日3.定时命令

voidsleep(floatsec)等待一段等于或稍大于指定的sec时间(秒)后再执行后面的语句。sec是一个浮点数。例:sleep(1.5);/*等待1.5秒*/第二十页,共七十九页,2022年,8月28日●voidmsleep(longmsec)

等待一段等于或稍大于指定的msec时间(毫秒)后再执行后面的语句。sec是一个长整数。例:msleep(1500L);/*等待1.5秒*/

第二十一页,共七十九页,2022年,8月28日■多任务

(1)多任务叙述

JC的一个强大的功能是它的多任务设置。在运行期间,进程可以被动态地建立和撤消。多个进程运行通过分时间片实现的。每个进程一次只执行一定数量的时间片。每个进程都有自己的栈,用于函数调用传递参数,存放局部变量,存放函数调用的返回地址。栈的大小在进程创建时确定。一个进程栈的缺省大小为256字节。

第二十二页,共七十九页,2022年,8月28日

(2)创建新进程

intstart_process(function-call(...),[TICKS],[STACK-SIZE])

start_process取得一个进程标识,创建一个进程。有两个可选参数:进程的时间片数和栈大小。

返回一个整数,它就是新进程的进程ID。第二十三页,共七十九页,2022年,8月28日下面给出了创建一个进程的例子:voidcheck_sensor(intn){while(1)printf("Sensor%dis%d\n",n,digital(n));}voidmain(){start_process(check_sensor(2));}第二十四页,共七十九页,2022年,8月28日start_process(check_sensor(2),1,50);

将创建一个check_sensor进程,它每次运行1毫秒,栈大小为50个字节

第二十五页,共七十九页,2022年,8月28日(3)撤消进程

intkill_process(intpid);

通过将进程ID传给kill_process来撤消一个进程。

kill_process返回值表明撤消进程是否成功。如果返回值是0,表明进程被撤消。如果返回1,表示没有找到该进程。第二十六页,共七十九页,2022年,8月28日下面的代码显示创建一个check_sensor进程,1秒钟后终止该进程的例子:voidmain(){intpid;pid=start_process(check_sensor(2));sleep(1.0);kill_process(pid);}第二十七页,共七十九页,2022年,8月28日第二部分.实验第二十八页,共七十九页,2022年,8月28日设计目的:利用68HC11强大的可扩展性以及众多的剩余输入/输出端口,为探索者机器人增添传感器模块,以此来完善其与外界交互的能力,使其在迷宫运行中能更好的保持自身的姿态。第二十九页,共七十九页,2022年,8月28日设计方案:设计围绕规范探索者机器人的行走路径来进行,在场地中布置白色轨迹线,让探索者机器人顺沿轨迹进行移动。第三十页,共七十九页,2022年,8月28日第三十一页,共七十九页,2022年,8月28日第三十二页,共七十九页,2022年,8月28日设计思想:提取行走路径信息(利用自然界光、热、质量、电、声等),转化为可识别的电信号,根据电信号变化识别路径,再对机器人行走作相应的调整。

第三十三页,共七十九页,2022年,8月28日实验耗材:1.比较器LM339N(4个集成)2.光敏电阻10K~20K,数量4个3.发光二级管4个电压3V4.普通电阻1KΩ,4.7KΩ,15KΩ分别4个5.可调电阻0~10KΩ4个6.导线若干第三十四页,共七十九页,2022年,8月28日●采集信号●信号处理●信号输入■控制过程第三十五页,共七十九页,2022年,8月28日实验方法利用传感器探测路径,判断行走信息。如图所示第三十六页,共七十九页,2022年,8月28日1、2、3、4为4组信号探测器。根据他们在白色区域(行走轨迹)位置的不同,可输出不同的信号。每组信号探测器利用LED光源与光敏传感器组成一组传感器探头,用4组这样的探头组成的阵列来对白线进行识别,判断小车所处状态,并作出相应的反应。第三十七页,共七十九页,2022年,8月28日如何实现路径信息转化为电信号?不同材质对光的吸收和反射的能力不同背景反射能力差路径反射能力高第三十八页,共七十九页,2022年,8月28日如下图中所示,由半导体发光二极管LED与光敏电阻R构成了探头部分,由LED发射的光线照射到地面材质上,再经材质的漫射或反射,光线照射在光敏电阻上,使其电阻值发生变化,不同材质对光的吸收能力不同,则光敏电阻的阻值也随之变化。第三十九页,共七十九页,2022年,8月28日■电路●LED半导体发光二极管

●光敏电阻

●可微调电阻●运算放大器

●接线头、电阻和导线第四十页,共七十九页,2022年,8月28日分立的单组传感器电路电路图电路设计第四十一页,共七十九页,2022年,8月28日LM339N芯片图第四十二页,共七十九页,2022年,8月28日总体布局图第四十三页,共七十九页,2022年,8月28日第四十四页,共七十九页,2022年,8月28日电路板制作过程注意的几点:㈠

锡焊技术

ProperSolderingTechniqueDonotholdtheironagainstthejointforanextendedperiodoftime(morethan10seconds),sincemanyelectroniccomponentsortheprintedcircuitboarditselfcanbedamagedbyprolonged,excessiveheat.Toomuchheatcancausethetracesontheprintedcircuitboardtoburnoff.第四十五页,共七十九页,2022年,8月28日Impropersolderingtechnology

第四十六页,共七十九页,2022年,8月28日㈡电子器件的极性Diodes:Diodeshavetwoleads,calledtheanodeandcathode.Whentheanodeisconnectedtopositivevoltagewithrespecttothecathode,currentcanflowthroughthediode.Ifpolarityisreversed,nocurrentflowsthroughthediode.Somecomponentsthatareparticularlysensitivetoheatdamageare:diodes,ICs,andtransistors.第四十七页,共七十九页,2022年,8月28日第四十八页,共七十九页,2022年,8月28日㈢组元架置第四十九页,共七十九页,2022年,8月28日LED1光敏电阻轨道LED1光敏电阻轨道光敏电阻阻值变小光敏电阻阻值变大输出信号为低电平输出信号为高电平探测器在轨道上探测器不在轨道上指示灯LED2亮指示灯LED2暗第五十页,共七十九页,2022年,8月28日控制程序设计当今的机器人的人工智能,为一种简单的逻辑智能,处理器严格按照程序员编写好的算法机制对信息做严格的一成不变的处理。所谓机器人“智能”的实现,大概可以归纳为三块:摄入信息流;处理信息并作出判断;根据判断输出信息流;

本设计方案也就是围绕这三个步骤进行的。第五十一页,共七十九页,2022年,8月28日

■信息摄入

把采集并处理后的输出信号传递给控制主板的通用数字输入口。采用探索者函数库中的数字数字输入函数:

intdigitalport(intp)信息处理,P为数字输入口编号。其返回数字口p上传感器的值。第五十二页,共七十九页,2022年,8月28日如果从传感器数字硬件读到的值为零伏或逻辑零,peek()函数将返回真,为0。第五十三页,共七十九页,2022年,8月28日例如:传感器1的输出信号接至数字输入口5端。

传感器1在轨道上

→输出信号1端为高电平→peek(0x4000)

第五十四页,共七十九页,2022年,8月28日将传感器1、2、3、4的输出信号分别接至数字输入口5、6、8、9端。第五十五页,共七十九页,2022年,8月28日in1in2in3in4in5in6in7通用数字输入口0~9in8Peek()=00001111第五十六页,共七十九页,2022年,8月28日(1)在轨道上,直走1324(3)偏左了,向右斜走1324(2)偏右了,向左斜走1324机器人行走的可能情况第五十七页,共七十九页,2022年,8月28日(5)偏左多了,向右走1324(4)偏右多了,向左走1324第五十八页,共七十九页,2022年,8月28日(6)右切入,向左拐1324(7)左切入,向右拐1324第五十九页,共七十九页,2022年,8月28日(8)岔口1324(9)悬空1324第六十页,共七十九页,2022年,8月28日第六十一页,共七十九页,2022年,8月28日除了摄入信息,程序还应能把零散的初始信息稍加整理

in5

in6

in7

in8第六十二页,共七十九页,2022年,8月28日信息逻辑判断机制:peek()或着read()函数读取数字输入端口得信息。第六十三页,共七十九页,2022年,8月28日机器人所处状态对应传感器状态在轨11110110轻微左偏11110011严重左偏11110001轻微右偏11111100严重右偏11111000左切入11110111右切入11111110脱轨11110000路口11111111第六十四页,共七十九页,2022年,8月28日■信息输出(电机动作驱动指令输出):

根据不同的判断得出的结论,程序根据预先设计的逻辑对电机发出不同的驱动命令,以动态的纠正探索者的行走路径,使其始终不脱离预定轨迹;第六十五页,共七十九页,2022年,8月28日程序体设计:把上述的几个部分结合起来,就可以编写出探索者机器人的寻迹子程序,下边就是该子程序的算法流程框图:第六十六页,共七十九页,2022年,8月28日第六十七页,共七十九页,2022年,8月28日

温馨提示

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

评论

0/150

提交评论