避障机器人设计与调试

避障机器人设计与调试

ID:43356858

大小:48.51 KB

页数:5页

时间:2019-09-30

避障机器人设计与调试_第1页
避障机器人设计与调试_第2页
避障机器人设计与调试_第3页
避障机器人设计与调试_第4页
避障机器人设计与调试_第5页
资源描述:

《避障机器人设计与调试》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、试器和基于机器人项目驱动的嵌入式教学实训平台;2、打开电源,打开SiliconlabIDE;3、打开避障的例程,正确调试并运行该程序。4、烧录完成后断电拔掉调试器,把组装好的机器人放入模拟的参赛场地,再次打开电源,观察机器人避障的情况。voidmain(){unsignedintad_test;unsignedinti=0;SystemInit();while(1){DodgeObstruction();}}voidDodgeObstruction(){unsignedcharad_distance

3、_left=0;unsignedcharad_distance_midl=0;unsignedcharad_distance_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

4、_Motor(1,0,60);DC_Motor(3,0,60);DC_Motor(2,0,60);DC_Motor(4,0,60);}if(ad_distance_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);

5、}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(unsignedcharmotor_num,unsignedchardirection,unsignedcharmotor_speed){unsignedcharSFRPAGE_save=SFRPAGE;SFRPAGE=CONFIG_PAGE;if(!motor_speed){swit

6、ch(motor_num){case1:PCA0CPH0=255;break;case2:PCA0CPH1=255;break;case3:PCA0CPH2=255;break;case4:PCA0CPH3=255;break;case5:PCA0CPH4=255;break;case6:PCA0CPH5=255;break;default:break;}}elseswitch(motor_num){case1:PCA0CPH0=255-(motor_speed+116);break;case2:P

7、CA0CPH1=255-(motor_speed+116);break;case3:PCA0CPH2=255-(motor_speed+116);break;case4:PCA0CPH3=255-(motor_speed+116);Break;case5:PCA0CPH4=255-(motor_speed+116);break;case6:PCA0CPH5=255-(motor_speed+116);break;default:break;}switch(direction){case0:if(mo

8、tor_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==5)P3&=~0x40;//P3.6=0,即DIR4置0break;case1:if(motor_num==1)PCA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。