- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
光机电一体化实验报告
光机电一体化实验报告法学院 张品 50041实训目的:1、接触型传感器作为输入反馈与C51单片机的编程实现。2、编程使机器人基于胡须导航,条件判断语句的嵌套与机器人的人工智能决策的编程使机器人逃离进入墙角死区。实验设备:(1)?胡须状金属丝2根;??(2)?平头M3x22盘头螺钉2个;??(3)?13mm圆形立柱2个;?(4)?M3尼龙垫圈2个;??(5)?3-pin公-公接头2个;?(6)?220Ω电阻2个;??(7)?10kΩ电阻2个。工作原理:机器人前进,在前进过程中,如果碰到右障碍,机器人会先后退,再左转90°;如果碰到左障碍,机器人会先后退,再右转90°;如果两根胡须都碰到障碍,机器人会先后退,再左转180°。程序编制:机器人向前走的过程中,碰到障碍物,机器人用它的一根或者两根胡须探测障碍物,一旦胡须探测到障碍物,就调用导航子函数使机器人倒退或旋转,然后再重新向前行走,直到遇到另一个障碍物。?#includeBoeBot.h?#includeuart.h?int?P1_4state(void)?{return?(P10x10)?1:0;?}?int?P1_7state(void)?{?return?(P20x80)?1:0;?}?void?Forward(void)?{?P1_1=1;?delay_nus(1700);?P1_1=0;?P1_0=1;?delay_nus(1300);?P1_0=0;?delay_nms(20);?}?void?Left_Turn(void)?{?int?i;?for(i=1;i=19;i++)?{?P1_1=1;?delay_nus(1300);?P1_1=0;?P1_0=1;?delay_nus(1300);?P1_0=0;?delay_nms(20);?}?}?void?Right_Turn(void)?{?int?i;?for(i=1;i=19;i++)?{?P1_1=1;?delay_nus(1700);?P1_1=0;?P1_0=1;?delay_nus(1700);?P1_0=0;?delay_nms(20);?}?}void?Backward(void)?{?int?i;?for(i=1;i=38;i++)?{?P1_1=1;?delay_nus(1300);?P1_1=0;?P1_0=1;?delay_nus(1700);?P1_0=0;?delay_nms(20);?}?}?int?main(void)?{?int?counter=1;??int?old2=1;?int?old3=0;??uart_Init();?printf(Program?Running!\n);?while(1)?{?if(P1_4state()!=P1_7state())?{?if((old2!=P1_4state())(old3!=P1_7state()))?{?counter=counter+1;?old2=P1_4state();?old3=P1_7state();?if(counter4)?{?counter=1;?Backward();//向后?Left_Turn();//向左?Left_Turn();//向左?}?}?else?counter=1;?}??if((P1_4state()==0)(P1_7state()==0))?//两胡须同时碰到?{Backward();?//向后?Left_Turn();//向左?Left_Turn();//向左?}?else?if(P1_4state()==0)?//右胡须碰到?{?Backward();//向后?Left_Turn();//向左?}?else?if(P1_7state()==0)?//左胡须碰到?{?Backward();//向后?Right_Turn();//向右?}?else?//胡须没有碰到?Forward();//向前?}?}思考题:逃离死区当机器人进入墙脚是如何动作?假设左胡须触墙,于是它右转。当小车再向前行走,右胡须触墙,于是左转。然后它前进又会碰到左墙,再次碰到右墙,这样小车会进入死循环。小车能在无人干预的情况下走出困境吗?在这种情况下,如果小车有记忆的能力,能够记住前面几次探测的情况,那么就可以判断是否进入死角了。可以修改RoamingWithWhiskers.c来解决这个问题。技巧是记下胡须交替触动的总次数。技巧重要的一点是程序必须记住每个胡须在上次触动时处于什么状态。它必须和当前触动时的状态对比。如果状态相反,就在总数上加一。如果这个总数超过了程序中预先给定的阀值,那么就该做一个U型转弯,并且把胡须交替计数器复位。ifondition1){cmmands for condition1:ifondit
您可能关注的文档
最近下载
- 2025年园林公务员测试题及答案.doc VIP
- 华医网不孕症的中西医药诊治新进展相关试题及答案.doc VIP
- CUDA并行编程从入门到实战指南.docx VIP
- 2025超越健康:重构零售药房的社会价值.pdf VIP
- 机械设备施工专项方案.docx VIP
- 张爱玲经典散文(精选11篇).docx VIP
- 1 审计工作底稿编制指引——货币资金.pdf VIP
- 《铁路调度指挥及控制系统》课件——CTC系统概述.pptx VIP
- 高中思想政治必修第1册 中国特色社会主义 第3课 只有中国特色社会主义才能发展中国【复习课件】.ppt VIP
- 信息技术(基础模块)(WPS Office)(AI协同)(微课版)课件 模块七 WPS AI应用.pptx
原创力文档


文档评论(0)