能力风暴机器人实验

上传人:汽*** 文档编号:548091079 上传时间:2023-06-26 格式:DOCX 页数:23 大小:583.04KB
返回 下载 相关 举报
能力风暴机器人实验_第1页
第1页 / 共23页
能力风暴机器人实验_第2页
第2页 / 共23页
能力风暴机器人实验_第3页
第3页 / 共23页
能力风暴机器人实验_第4页
第4页 / 共23页
能力风暴机器人实验_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《能力风暴机器人实验》由会员分享,可在线阅读,更多相关《能力风暴机器人实验(23页珍藏版)》请在金锄头文库上搜索。

1、试验一机器人认识实验1、下载自检程序观察、运行结果。将机器人插上电源后,通过数据线把机器人和主机连接,打开 仿真软件点击下载自检程序。等待下载结束后,打开电源,按下 运行键逐步检测。2、观察并记录表程序结果。自检内容一共有九项,逐步按下运行键检测LCD液晶显示、 扬声器、光敏传感器、红外传感器、话筒、碰撞传感器、运动系 统、光电编码器。运行结果:(1)LCD显示正常。(2)扬声器能正常发出声音。(3)光敏能检测到光。(4)红外传感器能检测到物体。(5)话筒能正常工作,检测到声音。(6)碰撞传感器坏了(7)运动系统正常。(8)光电编码器正常。(9)运行结果:机器人 走类似于圆形。3、打开正方形例

2、程观察溯主程序前进速度和时间设置60右转速度和时间设置500.50.5void, m ai n (.while (1)irive ( 60 0);wait ( 0.500000 );stop ();h-ive ( 0 . 50);wait ( 0.500000 );stop C);4、结果及分析:运行结果:机器人走类似于圆形。机器人左右电机效率不一样。想一想:更改wait中的时间,出现什么情况?若改变直行后面wait中的时间,则会使前进距离变小,改变转向 后面wait中的时间,会使转向角度改变,最后不是走出正方形。 自己编写程序。在LCD上显示“HELLO”?int ir_l=0; void

3、main()while (1)ir_l =ir_detector 0; if7 ir T != 0)=%d HELLOS ,1);1);printfC irj eyecolor( 1 , eyecolor ( 2 , drive ( 80 ? 0): wait ( 0.500000 ); stop ();drive ( 080):wait ( 0. 100000 ); stop ();elsedrive ( 80 ? 0); wait ( 0.500000 ); stop ();void main()渺主程序主程序多次循环3)机器人直走实验中,直走状态保持太久(走远了),行动轨l#lU(1)机

4、器人直走,让其以速度75前进,然后停止,停止时间为2S,然后以速度100全速前进。根据题目要求设置数据,其流程图和JC代码为:drive ( 75 , 0);wait ( 3. 000000 );stop ();wait ( 2. 000000 );drive ( 100 ?0);wait ( 2. 000000 );stop ();(2 )机器人直走,应用循环,(1 )动作为循环体,循环三次。根据题意,应用(1)流程图添加多次循环即可。(将循环次数设置为 3)其流程图和JC代码为:int i 2;Ecr G 2=0; i 2 50)tone C523. 200012, 0. 250000);

5、elsewait ( 0.500000 );运行结果:当没有声音时,机器人处于待机状态静止不动,当有声源 时,机器人有节奏的回应。(2)在较安静的情况下,机器人静止不动,当有人发出声音时,机器人开始前进(躲避路途中的障碍)b根据题意:设置流程图为:第二个红外线侧障设置为前第三个红外线侧障设置为左。运行结果:当左边有障碍时,机器人通过红外感应回右转,当右边有 障碍时,机器人通过感应会左转,当前方有障碍时机器人会后退。实验4机器人飞蛾扑火实验1机器人有趋光性,可以用左右光源传感器来判断光线强度,并发现 远处光源。2机器人到达光源附近后,围绕光源坐圆周远动。可分为三个子程序让其自己完成自己的任务即可

6、(1)发现光源方向。(2)向光远远动。(3)围绕光源转圈。其流程图为:矽主程序K结束其JC代码为:int photo_l=0;void main()while (1)photo_l =photci (1);if (ph7to_l 240)drive ( 0 , 80 ): wait ( 0.100000 );stop (); drive ( 80 ? 0); wait ( 0.500000 );stop ();elsephoto_l =photo t2);if (ph7to_l 240)drive ( 0 , 80 ): wait ( 0.100000 );Etop 0 ; drive ( 8

7、0 ? 0); wait ( 0.500000 );stop 0 :elsephoto_l = (photo (1 )+photo (2)/2;if (ph7to_l = 240)drive ( 0 , 80 );wait ( 0.100000 );stop ();drive ( 80 ? 0);wait ( 0.500000 );stop 0 ; elsedrive ( 80 ? 0);运行结果:当机器人运行时,机器人先打开光源感应,并自转寻找光源,发现光源后以速度80靠近光源。当靠近光源后绕其做圆周运动。实验五、六 机器人灭火实验机器人灭火实验需要机器人巡查火场各个房间,不重复,发现火源,

8、 灭火。把机器人的运动简化为:1灭火场地的亮度检测,检测各个房间的亮度值。2调节红外传感器,使红外能检测到10-80cm以内的物体。3机器人按固定路线模式搜索。其中最难的就是路线模式,因为由于地面的摩擦,机器人的惯性,机 器人电机的转数差,等等因素,使机器人直走和转90度有一定的难 度。因此,我们采用沿墙左走,走弧线的方式前进。其流程图为:御主程序R结束其JC代码为:int ir_l=O:int photo_l=0:int photo_2=0:int bmp_l=O:int gi_l=O:int giZ2=0:void main 0gi_l = 0 ;while (gi_l = 0)photo

9、_l =photo (1):photo_2 =photo ;i (photo_l 60) | | (photo_2 60) photo_l =photo (1 )-photo(2);i (photo_l 220)SubRout ine_2 ();elseSubRout ine_3 ():运行结果:机器人能沿墙左坐,以弧线的前进方式搜索光源,能发现 火源,并灭火。实验七:实验七机器人走迷宫实验分析:首先需要检测地面传感器函数surface()的返回值与不同 地面颜色标志的关联,这样才能让机器人分辨出迷宫的出口。编写程 序如下:(进行检测地面传感器函数surface()的返回值的采集,可在“找地雷

10、场地”中找到环境。)矽主程序int eut_1=0; void main ()while (1)Eurf_l 二 surface ();printf (七ur_l =%dn,v ? sur _1);wait ( 0.100000 );一永远循环登廷时等将夕地面程,般出现的地面标志圆圈颜色有三种,白、红、橙,对应的检测地面传感器Esurface()的返回值依次为:0、170、128。对应黑 色地面surface()的返回值为255。本次实验迷宫环境中迷宫出口的 地面标志圆圈颜色为橙色,如果surf_1 =surface() ; surf_1=128,的 条件成立,则可说明机器人走出迷宫。在迷宫中

11、的行走模式可采用沿墙走(走弧线)。沿墙走,顾名思 义,即机器人靠近墙壁行走。机器人可采用左手走(右手走)规则。 左手(右手走)走规则是指机器人始终沿着左边(右边)的墙壁行走, 一直走完全程。该方法要求机器人能实现沿着墙壁前进,当拐弯或是门口时,机器人能自动转过去。机器人如果前方发现有障碍物,一般 说明正对着墙,就右转(左转)90度(79,0.3),如果发现左方有 障碍物,一般说明左侧对着墙,就右转(左转)约60度(79,0.2), 否则划弧前进,就是前进+左转(右转B在门口拐角处要求机器人处 理碰撞,程序中,让机器人一旦检测到碰撞,就后退一点,再右转(左 转)约60度。在环境中修改“走迷宫场地”文件,去掉其中的光源,设置红外线 距离10cm,点击显示轨迹按钮,显示出机器人运行的路线。场地环 境如下:(每次修改程序,都必须退出环境,重新下载程序,再次运 行环境却退出环境只能使用环境窗口最左上角的退出命令,每次重新 进入环境需要重新修改环境参数:删除光源、设置红外距离、显示轨 迹)土程序o均地面检呵晶示实验八综合实验及测试一、在较安静的情况下,机器人静止不动,当有人发出声音时机器人 开始自由行走:机器人在行走的过程中分辨障碍物,遇到障碍物时发 出声音报警并避开,继续行走。(30分)要求:(1)写出机器人从静止到运动的条件值。(2)画出对应流程图。(3)写出对应JC代码。(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号