能力风暴机器人实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试验一
机器人认识实验
1、下载自检程序观察、运行结果。
将机器人插上电源后,通过数据线把机器人和主机连接,打开仿真软件点击下载自检程序。等待下载结束后,打开电源,按下运行键逐步检测。
2、观察并记录表程序结果。
自检内容一共有九项,逐步按下运行键检测LCD液晶显示、扬声器、光敏传感器、红外传感器、话筒、碰撞传感器、运动系统、光电编码器。
运行结果:
(1) LCD显示正常。
(2)扬声器能正常发出声音。
(3)光敏能检测到光。
(4)红外传感器能检测到物体。
(5)话筒能正常工作,检测到声音。
(6)碰撞传感器坏了
(7)运动系统正常。
(8)光电编码器正常。
( 9 ) 运行结果:机器人走类似于圆形。
3、打开正方形例程观察
前进速度和时间设置60 0.5
右转速度和时间设置 50 0.5
4、结果及分析:
运行结果:机器人走类似于圆形。机器人左右电机效率不一样。
想一想:更改wait中的时间,出现什么情况?
若改变直行后面wait中的时间,则会使前进距离变小,改变转向后面wait中的时间,会使转向角度改变,最后不是走出正方形。
自己编写程序。在LCD上显示“HELLO”?
实验二机器人直走实验
(1)机器人直走,让其以速度75前进,然后停止,停止时间为2S,然后以速度100全速前进。。
根据题目要求设置数据,其流程图和JC代码为:
(2)机器人直走,应用循环,(1)动作为循环体,循环三次。
根据题意,应用(1)流程图添加多次循环即可。(将循环次数设置为3)其流程图和JC代码为:
(3)机器人直走实验中,直走状态保持太久(走远了),行动轨
迹会偏移。
分析:因为左右电机效率不一样。
void main()
{
driveb(80);
wait(5.0);
stop();
}
int Z=-15;
void driveb(int x,int y)
{
motor(1,x+z);
motor(2,x-Z);}
经试验得Z=-1
思考题:
1)机器人直走实验中,为什么机器人直走状态保持太久(走远了),行动轨迹会偏移,如何调校?
答:左右电机相对效率不同才会导致机器人行动轨迹会偏移,多次试验,进行调节
2)使得机器人转45度、90度、180度、270度时,速度和时间分别应为?
答:取速度为50,机器人对应时间分别为0.250, 0.500, 1.000, 1.500。
3)在行走过程中用红外线判断障碍物,有障碍物时声音报警并避开,继续行走。
实验三机器人你叫我应
(1)在较安静的情况下,机器人静止不动,当有人发出声音时,有节奏的回应。
根据题意:设置流程图为:
其JC代码为:
运行结果:当没有声音时,机器人处于待机状态静止不动,当有声源时,机器人有节奏的回应。
(2)在较安静的情况下,机器人静止不动,当有人发出声音时,机器人开始前进(躲避路途中的障碍)。
根据题意:设置流程图为:
注:后退的速度、时间分别为:- 30 0.5
右转的速度、时间分别为: 40 0.5
前进的速度、时间分别为: 40 0.5
第一个红外线侧障设置为无
第二个红外线侧障设置为前
第三个红外线侧障设置为左。
运行结果:当左边有障碍时,机器人通过红外感应回右转,当右边有障碍时,机器人通过感应会左转,当前方有障碍时机器人会后退。
实验4 机器人飞蛾扑火实验
1 机器人有趋光性,可以用左右光源传感器来判断光线强度,并发现远处光源。
2 机器人到达光源附近后,围绕光源坐圆周远动。
可分为三个子程序让其自己完成自己的任务即可(1)发现光源方向。(2)向光远远动。(3)围绕光源转圈。
其流程图为:
其JC代码为:
运行结果:当机器人运行时,机器人先打开光源感应,并自转寻找光源,发现光源后以速度80靠近光源。当靠近光源后绕其做圆周运动。
实验五、六机器人灭火实验
机器人灭火实验需要机器人巡查火场各个房间,不重复,发现火源,灭火。
把机器人的运动简化为:
1 灭火场地的亮度检测,检测各个房间的亮度值。
2 调节红外传感器,使红外能检测到10-80cm以内的物体。
3 机器人按固定路线模式搜索。
其中最难的就是路线模式,因为由于地面的摩擦,机器人的惯性,机器人电机的转数差,等等因素,使机器人直走和转90度有一定的难度。
因此,我们采用沿墙左走,走弧线的方式前进。
其流程图为:
其JC代码为:
运行结果:机器人能沿墙左坐,以弧线的前进方式搜索光源,能发现火源,并灭火。
实验七:实验七机器人走迷宫实验
分析:首先需要检测地面传感器函数surface() 的返回值与不同地面颜色标志的关联,这样才能让机器人分辨出迷宫的出口。编写程序如下:(进行检测地面传感器函数surface() 的返回值的采集,可在“找地雷场地”中找到环境。)
一般出现的地面标志圆圈颜色有三种,白、红、橙,对应的检测地面传感器函数surface() 的返回值依次为:0、170、128。对应黑色地面surface() 的返回值为255。本次实验迷宫环境中迷宫出口的地面标志圆圈颜色为橙色,如果surf_1 =surface();surf_1=128,的条件成立,则可说明机器人走出迷宫。
在迷宫中的行走模式可采用沿墙走(走弧线)。沿墙走,顾名思义,即机器人靠近墙壁行走。机器人可采用左手走(右手走)规则。左手(右手走)走规则是指机器人始终沿着左边(右边)的墙壁行走,