- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五、机器人触觉导航 内容: 安装并测试机器人的触须。 触须导航 逃离“死区” 5.1.1 元件清单及装配 元件清单: (1).须状金属丝 (2).平头M4-40螺丝钉 (3).?″圆形套管 (4).尼龙垫圈 (5).3-pin公-公接头 (6).220Ω电阻(红-红-棕) (7).10kΩ电阻(棕-黑-橙) uart_Init(); printf(WHISKER STARTES\n); while(1) { printf(左边胡须的状态:%d ,P1_5state()); printf(右边胡须的状态:%d\n,P2_3state()); delay_nms(150); } } // the end of the main 5.1.3 实地测试 假设你以后不得不脱机测试胡须。由于调试终端利用不到,你怎么办? LED指示电路 注意,在LED实验中,如果你测试过上图的连接方法,你会发现LED亮度不那么让人满意,你可以采用另一种电路。 5.2 触须导航 在前面的实验中,编程来检测胡须是否被触动。在本实验中,利用这些信息对宝贝车导航。在宝贝车行走过程中,如果有胡须被触动,那就意味着碰到了什么。导航程序需要接受这些输入信息,判断它的意义,调用一系列使宝贝车倒退、旋转并朝不同的方向行走的动作子函数。 可能的情况 左右皆等于零(“=0”表示触墙); 左=0右≠0; 左≠ 0右= 0; 其他 例程:RoamingWithWhiskers.c 为了实现这些,宝贝车需要编程来做出选择。C语言中有个条件判断语句,其句法是: if(condition) {…} else if(condition) {…} else {…} 句中“…”的意思是,你可以在关键词之间放置一个 代码段(由一条或多条语句组成)。 下面的例程会基于胡须的输入做出选择,然后调用相关子程序使宝贝车采取行动。子程序同你在实验三中用到的类似。 if((P1_5state()==0)(P2_3state()==0)) //两个胡须同时检测到障碍物时,后退,再向左180度 { Back_Up(); Turn_Left(); Turn_Left(); } else if(P1_5state()==0) //左边胡须检测到障碍物时,后退,再向右转 90 度 { Back_Up(); Turn_Right(); } else if(P2_3state()==0) //右边胡须检测到障碍物时,后退,再向左转 90 度 { Back_Up(); Turn_Left(); } else //没有胡须检测到障碍物时,向前走 Forward(); 5.3 当小车卡住时的人工智能和判断 现在来预想这种情况:宝贝车进入墙角时会如何动作---假设左胡须触墙,于是它右转。当小车再向前行走,右胡须触墙,于是左转。然后它又前进又会碰到左墙,再次碰到右墙…等,你会发现这是一个死循环。 这种情况下,如果小车有“记忆”的能力,能够记住前面几次的探测情况,那么,就可以判断是否陷入死角了。 对于人来讲,这是很容易的,比如,不在同一个地方跌倒两次,不被同一块石头绊倒两次…等等,人能够记住以前发生的事情,并作为经验或资料,指导自己现在或将来的行为。 好了,小车可以做到吗? 可以修改RoamingWithWhiskers.c来解决这个问题。技巧是计下胡须交替触动的总次数。 技巧的重要的一点是程序必须记住每个胡须在上次触动时处于什么状态。它必须和当前触动时的状态对比。如果状态相反,就在总数上加1。如果这个总数超过了程序中预先给定的阀值,那么就该做一个“U”型转弯,并且把胡须交替计数器复位。 下面这个例程依赖于if…else嵌套语句来实现。换句话说,程序检查一种条件,如果该条件成立(条件为真),则再检查包含于这个条件之内的另一个条件。这是一个伪码例程说明嵌套语句用法。 IF (condition1) { Commands for condition1; IF(condition2) { Commands for both condition2 and condition1; } ELSE { Commands for condition1 but not condition2; } } ELSE
您可能关注的文档
- 玩美课程课例27.我和动物去旅游.ppt
- 2016届高考物理大一轮复习21考点强化弹力的有无及方向的判断课件沪科版.ppt
- 2016届高考物理大一轮复习22考点强化静摩擦力方向的判断课件沪科版.ppt
- 2016届高考物理大一轮复习23考点强化摩擦力的大小计算课件沪科版.ppt
- 2016届高考物理大一轮复习212考点强化弹力大小的分析与计算课件沪科版.ppt
- 2016届高考物理大一轮复习213考点强化胡克定律的应用课件沪科版.ppt
- 实验动物的环境控制与管理课件.ppt
- 2016届高考物理大一轮复习实验1-10课件打包10套沪科版2016届高考物理大一轮复习实验七测定金属的电阻率同时练习使用螺旋测微器课件沪科版.ppt
- 玩美课程课例35.猫吃鱼.ppt
- 实验复习实验专题复习二.ppt
- 实验课件实验6用光敏电阻进行导航1章节.ppt
- 王会超20170526共享课程初二第1次课Unit1WheredidyougoonvacationA班课讲义.pptx
- 王会超20170526共享课程初二第2次课Unit1WheredidyougoonvacationB班课讲义.pptx
- ACCESS课件第1章Access基础.ppt
- 王会超20170608共享课程高一第7次课Revision王会超20170608共享课程高一第7次课Revision班课讲义.pptx
- ACCESS课件第3章表.ppt
- ACCESS课件第4章节.ppt
- 王会超20170614共享课程高二第7次课Revision王会超20170614共享课程高二第7次课Revision班课讲义.pptx
- ACCESS课件第5章窗体.ppt
- ACCESS课件第6章报表.ppt
文档评论(0)