机器人课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

沈阳化工大学机器人课程设计专业:测控技术与仪器班级:测控0901姓名:许伟博学号:091301091目录第一章绪言.............................................................................................21.1、目的和意义.................................................................................21.2、设计内容.....................................................................................21.2.1、机器人硬件........................................................................21.2.2、设计任务............................................................................31.3、运行框图.....................................................................................3第二章机器人触觉导航..........................................................................42.1、安装并测试机器人胡须.............................................................42.2、测试触须传感器.........................................................................72.3、C语言程序如下..........................................................................7第三章机器人红外导航....................................................................113.1、使用红外线发射和接收器件探测道路...................................113.2、搭建并测试IR发射和探测器.................................................123.3、测试红外发射探测器...............................................................123.4、探测和避开障碍物...................................................................13第四章心得体会..................................................................................162第一章绪言1.1、目的和意义机器人涉及机械、电子、传感、控制等多个领域和学科。本课程设计是在《机器人学》课程的基础上,利用多传感技术、控制技术实现机器人控制系统的综合与应用,达到锻炼学生综合设计能力的目的。1.2、设计内容1.2.1、机器人硬件本课程设计使用实验室已有的移动机器人。机器人有两个驱动轮、一个从动轮,驱动轮由舵机直接驱动。机器人控制器为89S52单片机。图1机器人结构简图31.2.2、设计任务利用多传感器技术,实现对机器人的轨迹规划及控制。具体为:控制机器人在规定的场地内避开障碍物走遍整个场地。场地长1.8m,宽1.5m,场地四周为高0.3m的挡板。场地如图2所示。1.3、运行框图4第二章机器人触觉导航本章你将通过给你的机器人增加触觉传感器学习如何使用这些端口来获取外界信息。实际上,对于任何一个自动化系统(不仅仅是机器人),无非都是通过传感器获取外界信息,通过接口进入计算机(或者单片机),由计算机或单片机根据反馈信息进行计算和决策,生成控制命令,然后通过输出接口去控制系统相应的执行机构,完成系统所要完成的任务。因此,学习如何使用单片机的输入接口同学习使用输出接口同等重要。许多自动化机械都依赖于各种触觉型开关,例如当机器人碰到障碍物时,接触开关就会察觉,通过编程让机器人躲开障碍物;旅客登机桥在靠近飞机时为了保护昂贵的飞机,在登机桥接口安装触须,当登机桥离飞机很近后触须就会碰到飞机,立即通知控制器提醒离飞机已经很近了,需要降低靠近速度;工厂利用触觉开关来计量生产线上的工件数量;在工业加工过程中,也被用来排列物体。在所有这些实例中,触觉开关提供的输入通过计算机或者单片机处理后生成其它形式的程序化的输出。本章中,你将在机器人前端安装并测试一个称为胡须的触觉开关。你将对机器人大脑编程来监视触觉开关的状态,以及决定当它遇到障碍物时如何动作。最终的结果就是通过触觉给机器人自动导航。2.1、安装并测试机器人胡须编程让机器人通过触觉胡须导航之前,首先必须安装并测试胡须。图3所示是安装机器人触觉胡须所需的硬件元件清单,包括:1.金属丝2根2.平头M3×22盘头螺钉2个3.13mm圆形立柱2个4.M3尼龙垫圈2个5.3-pin公-公接头2个6.220Ω电阻2个7.10kΩ电阻2个图3胡须硬件5安装胡须1.拆掉连接主板到前支架的两颗螺钉2.参考图4,进行下面操作3.螺钉依次穿过M3尼龙垫圈、13mm圆形立柱4.螺钉穿过主板上的圆孔之后,拧进主板下面的支架中,但不要拧紧5.把须状金属丝的其中一个钩在尼龙垫圈之上,另一个钩在尼龙垫圈之下,调整它们的位置使它们横向交叉但又不接触6.拧紧螺钉到支架上7.参考接线图5,搭建胡须电路。注意:右边胡须状态信息输入是通过P1口的第4脚完成,而左边胡须状态信息输入是通过P2口的第3脚完成8.确定两条胡须比较靠近,但又不接触面包板上的3-pin头。推荐保持3mm的距离。9.图6所示是实际的参考接线图。10.安装好触觉胡须的机器人如图7所示。图4安装机器人胡须6图5胡须电路示意图7图6教学底板上胡须接线图图7安装好触须的机器人2.2、测试触须传感器先执行一段简单的程序,下面的程序是让小车前行的,修改参数调舵机,使舵机保持前行,然后在通过设置程序让左须子触碰障碍物时左转,右须子触碰障碍物是右转,这样进行调试,来检测传感器。死区程序很关键,以中断的方式写入,避免其一直困在墙角里出不来。2.3、C语言程序如下#includeBoeBot.h#includeuart.hintP1_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);}voidsiqu(void)interrupt08{if(condition1){commandsforcondition1If(condition2){commandsforbothcondition2andcondition1}else{commandsforconditio1butnotcondition2}}Else{commandsfornotcondition1}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){inti=1;intz=0;uart_Init();printf(ProgramRunning!\n);9while(1){if((P1_4state()==0)&&(P2_3state()==0)){if(z==0){Backward();//向后Left_Turn();//向左for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Left_Turn();//向左z=1;}else{Backward();//向后Right_Turn();//向右for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Right_Turn();//向右z=0;}}elseif(P1_4state()==0){if(z==0){Backward();//向后Left_Turn();//向左for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Left_Turn();//向左z=1;}else10{Backward();//向后Right_Turn();//向右for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Right_Turn();//向右z=0;}}elseif(P2_3state()==0){if(z==0){Backward();//向后Left_Turn();//向左for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Left_Turn();//向左z=1;}else{Backward();//向后Right_Turn();//向右for(i;i100;i++){P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);}Right_Turn();//向右z=0;}}elseForward();//向前}}将上述程序下载到小车中进行调试。11第三章机器人红外导航现在许多遥控装置和PDA都使用频率低于可见光的红外线进行通信,而机器人则可以使用红外线进行导航。可以使用一些价格非常便宜且应用广泛的部件,让机器人的C51微控制器可以收发红外光信号,从而实现机器人的红外线导航。3.1、使用红外线发射和接收器件探测道路许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需同物体接触。我们使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功