1 / 15
文档名称:

机器人实训总结.doc

格式:doc   大小:1,134KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

机器人实训总结.doc

上传人:2028423509 2020/5/22 文件大小:1.11 MB

下载得到文件列表

机器人实训总结.doc

文档介绍

文档介绍:机器人实训总结学院:专业班级:学号:指导教师:2013年7月为期一周的机器人实训转眼就过去了,个人认为这是我上大学以来参加的最有意思的一次课程设计了,在实训期间,同学们亲自动手组装机器人小车并通过修改调试程序使自己的小车完成要求的任务,将平时学****的C语言和单片机知识运用到了实际操作中,极调动了我们学****的积极性并提高了动手能力,是我们受益匪浅!任务一:组装小车并完成基本调试实训第一天我们的主要任务便是将实训机器人小车按要求组装好,这看似简单的任务是极其需要耐心与细致的,每一个螺丝都要拧紧,每一个电子元件都要安装于指定位置,特别要注意左右轮的接线,如果反接将会使小车反向运行。经过半小时的摸索,我们的小车终于成形,但当给它录入一个前行程序时,小车竟然莫名其妙的在原地打转,我们仔细查阅了实训指导书,才发现问题所在,原来,每一个新组装的机器人都需要进行调零检测才能保证其运行的准确,调零程序如下:#include<>#include<>intmain(void){uart_Init();printf("TheLEDconnectedtoP1_0isblinking!\n");while(1);{P1_0=1;delay_nus(1500);P1_0=0;delay_nus(20000);}}将程序录入小车并运行,旋转车轮旁的旋钮直至车轮停转便达到了调零的目的。接下来,我们便要完成实训要求的第一个程序:控制小车LED灯的亮灭。通过参考指导书的已有程序,我们比较顺利的完成了该任务,任务程序如下:(在试验中需要注意LED灯的正负极)#include<>#include<>intmain(void){ uart_Init(); printf("TheLEDconnectedtoP1_0isblinking!\n"); while(1) { P1_0=0; P1_1=1; delay_nms(500); P1_0=1; P1_1=0; delay_nms(500); }}任务二:机器人触觉导航该任务要求机器人碰到障碍物时,接触开关会有所察觉,通过编程让机器人避开障碍物。在安装胡须时,需要注意胡须距传感立柱既不能太远也不能太近,太远会导致机器人碰到障碍物后反应过慢,太近则会使机器人在前方没有障碍物的情况下进行避障操作,影响小车正常行进。胡须机器人避障程序如下:#include<>#include<>intP1_4state(void)//获取P1_4的状态,右胡须{ return(P1&0x10)?1:0;}intP2_3state(void)//获取P2_3的状态,左胡须{ return(P2&0x08)?1:0;}voidForward(void){P1_1=1; delay_nus(1700);P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20);}voidLeft_Turn(void){inti;for(i=1;i<=26;i++) { P1_1=1; delay_nus(1300);P1_1=0; P1_0=1; delay_nus(1300); P1_0=0; delay_nms(20); }}voidRight_Turn(void){inti;for(i=1;i<=26;i++) { P1_1=1; delay_nus(1700);P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); }}voidBackward(void){inti;for(i=1;i<=65;i++) { P1_1=1; delay_nus(1300);P1_1=0; P1_0=1; delay_nus(1700); P1_0=0; delay_nms(20); }}intmain(void){ uart_Init(); printf("ProgramRunning!\n"); while(1) { if((P1_4state()==0)&&(P2_3state()==0)) { Backward();//向后 Left_Turn();//向左 Left_Turn();//向左} elseif(P1_4state()==0) { Backward();//向后 Left_Turn();//向左}elseif(P2_3state()==0) { Backward();//向后 Right_Turn();//向右} else Forward();//向前 }}任务三:机器人红外线导航任务二触须接触导航是依靠接触变形来探测物体,而本任务是依靠红外线探测机器人前进路线,然后确定何