避障机器人设计与调试讲解_第1页
避障机器人设计与调试讲解_第2页
避障机器人设计与调试讲解_第3页
避障机器人设计与调试讲解_第4页
避障机器人设计与调试讲解_第5页
全文预览已结束

下载本文档

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

文档简介

1、避障机器人设计与调试、实训目的1 了解机器人大赛中避障的规则,进一步理解电机和红外测距传感器的原理;2 掌握避障机器人的设计方法。二、实训设备1 硬件: HOST 机一台、基于机器人项目驱动的嵌入式教学实训平台一套;2 软件: WIN2000 或 xp 操作系统、Siliconlab IDE 开发环境、调试器。三、实训原理实现避障的功能从原理上是通过分析红外测距传感器的测量值判断障碍物的位置,120然后驱动电机避开障碍物。通过连接三个红外测距传感器,机器人可以探测到度的视角范围的障碍物。矶耦人IT动四、实训步骤1、正确连接PC机、调试器和基于机器人项目驱动的嵌入式教学实训平台;2、打开电源,打

2、开Siliconlab IDE ;3、打开避障的例程,正确调试并运行该程序。4、烧录完成后断电拔掉调试器,把组装好的机器人放入模拟的参赛场地,再次打开电 源,观察机器人避障的情况。void main()unsigned int ad_test;unsigned int i = 0;SystemInit();while(1)DodgeObstruction();void DodgeObstruction()unsigned char ad_distance_left = 0;unsigned char ad_distance_midl = 0;unsigned char ad_distance_

3、rigt = 0;while(1)ad_distance_left = GetIR_Distance(2);ad_distance_midl = GetIR_Distance(3);ad_distance_rigt = GetIR_Distance(4);if(ad_distance_left>40 && ad_distance_midl>40 && ad_distance_rigt>40) DC_Motor(1,0,60);DC_Motor(3,0,60);DC_Motor(2,0,60);DC_Motor(4,0,60);if(ad_dis

4、tance_rigt<40)DC_Motor(1,0,60);DC_Motor(3,0,60);DC_Motor(2,2,10);DC_Motor(4,2,10);if(ad_distance_midl<40)DC_Motor(1,2,70);DC_Motor(3,2,70);DC_Motor(2,2,70);DC_Motor(4,2,70);if(ad_distance_left<40)DC_Motor(1,2,10);DC_Motor(3,2,10);DC_Motor(2,0,60);DC_Motor(4,0,60);voidDC_Motor(unsigned char

5、motor_num,unsigned char direction, unsigned char motor_speed) unsigned char SFRPAGE_save = SFRPAGE;SFRPAGE = CONFIG_PAGE; if(!motor_speed)switch(motor_num)case 1:PCA0CPH0 = 255; break;case 2:PCA0CPH1 = 255;break;case 3:PCA0CPH2 = 255; break;case 4:PCA0CPH3 = 255; break;case 5:PCA0CPH4 = 255;break;ca

6、se 6:PCA0CPH5 = 255;break; default: break;elseswitch(motor_num) case 1:PCA0CPH0 = 255 - (motor_speed+116); break;case 2:PCA0CPH1 = 255 - (motor_speed+116); break;case 3:PCA0CPH2 = 255 - (motor_speed+116); break;case 4:PCA0CPH3 = 255 - (motor_speed+116);Break;case 5:PCA0CPH4 = 255 - (motor_speed+116)

7、; break;case 6:PCA0CPH5 = 255 - (motor_speed+116);break;default: break;switch(direction)case 0:if(motor_num=1) P3 &=0x20; /P1.3 = 0,即DIR0置0if(motor_num=2) P1 &=0x10; /P1.4 = 0,即DIR1置0if(motor_num=3) P1 &=0x20; /P1.5 = 0,即DIR2置0if(motor_num=4) P1 &=0x40; /P1.6 = 0,即DIR3置0if(motor_num=

8、5) P3 &=0x40; /P3.6 = 0,即DIR4置0break;case 1:if(motor_num=1) PCA0CPH0 = 255;if(motor_num=2) PCA0CPH1 = 255;if(motor_num=3) PCA0CPH2 = 255;if(motor_num=4) PCA0CPH3 = 255;if(motor_num=5) PCA0CPH4 = 255;if(motor_num=6) PCA0CPH5 = 255;break;case 2:if(motor_num=1) P3 |=if(motor_num=2) P1 |=0x20;0x10;/P3.5 =/P1.4 =1,即1,即DIR0 置1;DIR1置 1;if(motor_num=3) P1 |=0x20;/P1.5 =1,即DIR2置 1;if

温馨提示

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

评论

0/150

提交评论