ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:162.19KB ,
资源ID:18276151      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18276151.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(机器人实训总结Word格式文档下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

机器人实训总结Word格式文档下载.docx

1、任务二:机器人触觉导航该任务要求机器人碰到障碍物时,接触开关会有所察觉,通过编程让机器人 避开障碍物。在安装胡须时,需要注意胡须距传感立柱既不能太远也不能太近, 太远会导致机器人碰到障碍物后反应过慢,太近则会使机器人在前方没有障碍物 的情况下进行避障操作,影响小车正常行进。胡须机器人避障程丿宇如下:#i ncludeOttincludeOint Pl_4state (void) /获取 Pl_4 的状态,右胡须return (Pl&OxlO)1:0;int P2_3state(void)/获取 P2_3 的状态,左胡须return (P2&0x0S)1:void Forward(void)Pl

2、_l=l:delay_nus(1700);Pl_l=0:delay_nus (1300);delay_nras (20);void Left Turn (void)int i;for (i=l; i=26; i+)delay_nus(1300); delay_nras (20);void Right_Turn(void)for(i=l;ii+)Pl_l=l;void Backward(void)=65:i+) delay_nus(1300);int main(void)printf (Program Running! nwhiled)辻(Pl_4state()=0)&(P2_3state()=

3、0)Backward () ; /向后 Left_Turn();/ 向左 Left_Turn() ;/向左else if(Pl_4state()=0)/向后Left_Turn() ;else 辻(P2_3state()=0) / 向后Right_Turn () ;/向右elseForward():/向前任务三:机器人红外线导航任务二触须接触导航是依靠接触变形来探测物体,而本任务是依靠红外线探测机器人前进路线,然后确定何时有光线从被探测物体反射回来,通过检测反射回來的红外光就可以确定前方是否有物体。在本次任务中,我们需要使用三极管9013,这是因为C51的10驱动能力较弱,这里我们加入三极管使其

4、工作在开关状态。三极管是一种控制元件,主要用來控ttincludeO ttincludeO ftincludeOdefine LeftIRPl_2/左边红外接收连接到Pl_2define RightIRP3_5/右边红外接收连接到P3 5#define LeftLaunchPl_3/左边红外发射连接到Pl_3ftdefine RightLaunchP3_6/右边红外发射连接到P3 6void IRLaunch(unsignedchar IR)int counter;if(IR= L)for (counter=0;counter38;counter+)辻(IR= R counter counte

5、r+) /右边发射void Forward (void) /向前彳丁走子程序 delay_nus (1300);delay_nnis (20):void Left_Turn (void) /左转子程序for( i=l;i=26;void Right_Turn(void) /右转子程序 delay_nnis (20);void Backward (void) /向后行走子程丿字int 1;for ( 1=1;i=65; delay_nus(1700);int irDetectLeft, irDetectRight; uart_Init ();IRLaunch ( R) ; /右边发射 irDet

6、ectRight = RightIR;/ 右边接收 L) ; /左边发射irDetectLeft = LeftIR:/左边接收辻(irDetectLef t=0) & (irDetectRight=O) /两边同时接收到红外线Backward ():Left_Turn();else辻(irDetectLeft=O)/只有左边接收到红外线Backward ();Right_Turn ();else辻(irDetectRight=O) /只有右边接收到红外线 Left_Turn();Forward 0;任务四:尾随小车 该任务的设计线路与任务三相同,故完成较为简单,试验程序如下:ttinclude

7、O ftincludeO #1 ncludeO int main(void) if(IR= L)/左边发射 counterOS; counter+)/右边发射int pulseLeft,pulseRight;doIRLaunchR /右边发射irDetectRight = RightIR:/右边接收IRLaunchC L /左边发射 irDetectLeft = LeftIR;/左边接收 if (irDetectLef t=0) & (irDetectRight=O) / 向后退pulseLeft=1300; pulseRight=1700;else 辻(irDetectLeft=O)& (i

8、rDetectRight=l) /右转pulseLeft=1700:else 辻(irDetectLeft=l)& (irDetectRight=O) /左转 pulseRight=1300;else /前进pulseLeft=1700;delay_nus(pulseLeft);P1_1=O;P1_O=1;delay_nus(pulseRight);P1_O=O;delay_nms (20);while 仃);任务五:机器人的距离检测用同样的IR LED/探测电路检测距离,高灵敏度的频率可以探测远距离的物 体,低灵敏度的频率可以探测距离较近的物体。这使得距离探测就简单了。选择5 个不同频率,从

9、最低灵敏度到最高灵敏度进行测试,依赖于探测器不能再检测到 物体的红外线频率,就可以推断物体的大概位置。测试扫描频率程序如下:include /ttdefine RightLaunch P3_6 /右边红外发射连接到P3_6unsigned int time;int leftdistance;/左边的距离/int rightdistance; /右边的距离int distanceLeft, irDetectLeft;/int distanceRight, irDetectRight;unsigned int frequency5 = 29370,31230, 33050, 35700, 3846

10、0:void timer_init(void)定时器模式void FreqOut(unsigned int Freq)time = 256 - (500000/Freq) ; /根据频率计算初值void Timer0_Interrupt(void) interrupt 1Left Launch = LeftLaunch; /取反 /RightLaunch= RightLaunch;重新设值THO = OXFF:TLO = time:void Get_lr_Distances()unsigned int count:for (count = 0:count5:count+)FreqOut (fr

11、equency count)/irDetectRight = RightIR: /右边接收 /printf Cf=%dn time);printf (irDetectLeft = %dn, irDetectLeft);/printfirDetectRight = %dn ,irDetectRight);if (irDetectLeft = 1)leftdistance+;/if (irDetectRight = 1)/rightdistance+;Progam Running! n);printfCFREQENCY ETECTEDnwhile(l)Get_lr_Distances (): pr

12、intf(distanceLeft = %dn, leftdistance);/printf distanceRight=%dn, rightdistance);):printfC delay_nras (1000);在进行串口调试时,应注意串口的接线位置,安装符合白己电脑的串口调试 助手。任务六:寻线搬运机器人可能是前儿个任务完成太轻松的原因,是我们对实训产生了懈怠的想法,但 最后的任务再一次提醒了我需要学习的东西还有很多,永远都不能骄傲自满。经过一天多的调试,在机器人的运行和编程中,出现了以下儿方面的问题:一、转弯出现问题。在一些路口中转弯出现了问题。所以提倡用自定义转 弯,提高成功率。2

13、.在运行机器人前要检查螺丝,检查机器人的性能是否良好,以免在运行 过程中发生意外。三、遇到错误时,要耐心,细心检查问题,分析问题,要互相讨论出解决方 案。4.电池的电量对小车运行影响极大最好选用质量较好的电池。5.伺服电机的角度没有调好,导致机器人在运行过程中影响程序的运行。人熟悉自己的机器人,了解一些运行、编程的小技巧。寻线搬运机器人编程如下:#1 ncludeO#define uint unsigned int #define uchar unsigned char uchar QTIState ;void Timel_init(void)EA =TM0DSCON1;/硬件串口使用定时器1

14、,供AT89S52与PC机通信使用 1= 0x20;=0x50;TH1 = OxFD:TLl = OxFD:TRI = 1;TI = 1;/定时器1方式位自动重装模式/模式1, 8位数据/波特率为9600/起动定时器void Pivot_Left (void) /左转子程序 delay_nus (1350);delay_nus(1650); delay_nus (1500);void Rotate_right(void)delay_nus (1650);void Rotate_Left(void)delay_nus(1350); delay_nus(1350);void Backward (v

15、oid) /向后行走子程序 delay_nus(1300);Pl_0=l:Pl_0=0: delay_nms (20);QTIState = P2&0x0e ;void Follow_Line(void)Get_QTI_State(); switch(QTIState)void main(void)int counter;Timel_init ():run ok!program350; count er+) / / 寻线Follow_Line ();/ *for (counter=0;20; counter+) /直走*/33; counter+) / / 左转 90Pivot_Left 0;

16、65; counter+) / / 直走Forward 0:55; counter+) /后转Rotate_Left (); counter+) / / 寻线/*for (counter=0; counter+) /右转调整Pivot_Right 0 ; counterOO;180;for(counter=0;counter+)/后彳亍Backward 0;40;80;for (counter=0: count er 135: count er+) /右转70;while(l);这次实训是我感触很深,收获很大,作为一名大学生,我应该多学习了解一些先进的科学技术和最新的研究理论,时刻更新丰富H己的知识,用最新的理论指导自己的学习,使自己有更大的收获和进步,为社会多做贡献。特别是这次实训的形式我感觉非常好,十分符合大学应有的教学模式,作为一洛工科学生学习很有必要。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1