




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SHENZHENDEPUSH.TECHLONOGYCO.,LTD单片机输入接口与机器人触觉导航第四章DEPUSH本讲1.单片机输入接口简介2.触觉传感器的安装及测试 与操作符、?操作符、if…else条件判断语句3.触觉导航策略实现 if...else...if多分支选择语句、关系和逻辑运算符4.机器人进入死区后的智能决策 if…else条件判断语句的嵌套DEPUSH单片机输入接口前两章:
1.机器人的根本动作,一种被动式的运动,不能自主决策;
2.单片机端口用作输出。本章及后续章节:
1.单片机端口用作输入,存储传感器采集的信息;
2.机器人自主导航。任何自动化系统均采用传感器采集信息。DEPUSH安装并测试机器人胡须安装胡须胡须硬件安装示意DEPUSH安装并测试机器人胡须搭建胡须电路胡须电路实物图胡须是一个机械式的、接地常开的单刀单掷开关。胡须接地〔GND〕是因为主板外围的镀金孔都连接到GND,而金属支架和螺丝钉提供电气连接给胡须。DEPUSH安装并测试机器人胡须获取胡须状态I/O口监测10K电阻上的电压变化:1.胡须没被触动,电压为5V,输入为12.胡须被触动,电压为0,输入0intP1_4state(void)//获取P1_4的状态,右胡须{return(P1&0x10)?1:0;}intP2_3state(void)//获取P2_3的状态,左胡须{return(P2&0x08)?1:0;}DEPUSH安装并测试机器人胡须与操作符&与运算符“&〞的功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否那么为0。如整数7与12相与:
00000111 〔7的二进制〕
&00001100 〔12的二进制〕
=00000100 〔结果为4〕P1&0x10:取P1.4P1P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.00x1000010000P2&0x08:取P2.3P2P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.00x0800001000DEPUSH安装并测试机器人胡须?操作符一般形式:表达式1?表达式2:表达式3先求解表达式1,如果非0〔真〕,那么求解表达式2,并把表达式2的结果作为整个条件表达式的值;如果表达式1的值为0〔假〕,那么求解表达式3,并把表达式3的值作为整个条件表达式的值。return(P1&0x10)?1:0;if(P1&0x10)return1;elsereturn0;if…else语句是条件判断语句,它根据判定的结果〔真或假〕决定执行给出的两种操作之一。if(表达式)语句1;else语句2;DEPUSH安装并测试机器人胡须测试胡须while(1){printf("右边胡须的状态:%d",P1_4state());printf("左边胡须的状态:%d\n",P2_3state());delay_nms(150);}DEPUSH通过胡须信息导航在机器人行走过程中,导航程序需要接受胡须输入信息,判断它的意义,调用一系列使机器人倒退、旋转朝不同方向行走的动作子函数。if…else…if多分支选择语句if(表达式1)语句1;elseif(表达式2)语句2;
…elseif(表达式m)语句m;else语句n;if((P1_4state()==0)&&(P2_3state()==0)){Backward();Left_Turn();Left_Turn();}elseif(P1_4state()==0){Backward();Left_Turn();}elseif(P2_3state()==0){Backward();Right_Turn();}elseForward();DEPUSH通过胡须信息导航关系和逻辑运算符关系和逻辑运算符概念中的关键是True〔真〕和Flase〔假〕。C语言中,非0为True,0为Flase。关系或逻辑运算符的表达式对Flase和True分别返回值0和1。关系和逻辑运算符含义>大于>=大于等于<小于<=小于等于==(与“=〞区别)等于!=不等于&&(与“&〞区别)与||或!非判断运算符两边表达式的值,真返回值1,假返回值0DEPUSH通过胡须信息导航例程:RoamingWithWhiskers.c
#include<BoeBot.h>#include<uart.h>intP1_4state(void){return(P1&0x10)?1:0;}intP2_3state(void){return(P2&0x08)?1:0;}…………intmain(void){…………while(1){if((P1_4state()==0)&&(P2_3state()==0)){Backward();Left_Turn();Left_Turn();}elseif(P1_4state()==0){Backward();Left_Turn();}elseif(P2_3state()==0){Backward();Right_Turn();}elseForward();}}DEPUSH机器人进入死区后的人工智能决策假设机器人进入了墙角,它将如何动作?……elseif(P1_4state()==0){Backward();Left_Turn();}elseif(P2_3state()==0){Backward();Right_Turn();}……右须碰到,后退再左拐左须碰到,后退再右拐困在墙角解决方案:程序记住每个胡须的前一次触动状态,并和当前触动状态比照。如果状态相反,就在交替总数上加1。如果这个交替总数超过了程序中预先给定的阀值,那么就该做一个“U〞型转弯,并且把胡须交替计数器复位。DEPUSH机器人进入死区后的人工智能决策if…else语句嵌套IF(condition1){Commandsforcondition1IF(condition2){Commandsforbothcondition2andcondition1}ELSE{Commandsforcondition1butnotcondition2}}ELSE{Commandsfornotcondition1}伪代码通常用来描述不依赖于计算机语言的算法。无论是哪种计算机语言,都必须能够描述人类知识的逻辑结构。在写条件判断算法时,经常用一种用于描述人类知识结构逻辑的伪代码来描述在计算机中如何实现这些逻辑算法,以使算法具有通用性。有了伪代码,用具体的语言来实现算法就很简单了。DEPUSHif(P1_4state()!=P2_3state()){if((old2!=P1_4state())&&(old3!=P2_3state())){counter=counter+1;old2=P1_4state();old3=P2_3state();if(counter>4){counter=1;Backward();Left_Turn();Left_Turn();}}elsecounter=1;}机器人进入死区后的人工智能决策例程:EscapingCorners.c
……intcounter;//存储交替探测的次数intold2=1;//存储右胡须旧状态值intold3=0;//存储左胡须旧状态值……counter=1;……为什么old2和old3赋的初值不一样?因为程序总是比照交替触动的局部,或者P1_4state()==0,或者P2_3state()==0。011001old2=0;o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血液透析患者的护理查房
- 铜陵学院《中国传统音乐说唱与戏曲》2023-2024学年第一学期期末试卷
- 2025年福建省龙岩市长汀县新桥中学高三二模英语试题(详细答案版)含解析
- 湖北第二师范学院《大数据与失效分析》2023-2024学年第二学期期末试卷
- 四川省成都市温江县2025年数学五年级第二学期期末检测试题含答案
- 南京医科大学康达学院《中国文明史(中国传统天文学)》2023-2024学年第二学期期末试卷
- 江西省赣州市宁都县三中2025年高三5月份考试生物试题含解析
- 河南工程学院《分子医学技能2》2023-2024学年第一学期期末试卷
- 浙江国际海运职业技术学院《畜产食品工艺学(实验)》2023-2024学年第一学期期末试卷
- 2025年广东省深圳市龙岗实验中学下学期学业水平监测期末联考初三化学试题含解析
- 新教材高中地理必修一学用地形图探究地貌特征课件
- 《阿片类药物》课件
- 实用电工速算口诀
- T-QGCML 1301-2023 智慧空压站设计规范
- 中建八局-安全管理制度汇编
- 抑郁病诊断证明书
- 开腹胆囊切除手术知情同意书
- 介绍梅西的英语演讲稿
- 康复治疗师考试知识点汇总
- 2023年北京市农林科学院事业单位招聘(共500题含答案解析)笔试历年难、易错考点试题含答案附详解
- 尿崩症诊疗规范内科学诊疗规范诊疗指南2023版
评论
0/150
提交评论