交互式实验报告Word格式.docx
《交互式实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《交互式实验报告Word格式.docx(28页珍藏版)》请在冰点文库上搜索。
3.光敏传感器是否正常?
左右光敏传感器的感应数值随光强不同而变化,其范围为0~255。
光强越弱,数值越大,光强越强,数值越小。
在相同光强条件下,左右两光敏传感器数值偏差小于10。
如:
(photoL172R210)表示左边的光线强。
4.红外传感器是否正常?
在前方10cm~80cm范围内,有A4纸大小的障碍物时,在LCD上会有“<
<
”符号显示,并指明障碍物所在的方位(左前、右前或者正前)。
<
IRTest
表示机器人左前方有障碍。
5.话筒是否正常?
对着AS-UII话筒槽孔(蜂窝状小孔)说话,看LCD上的>
是否增加。
6.碰撞传感器是否正常?
按动机器人下部的碰撞环,在LCD上能显示碰撞方位。
7.运动系统是否正常?
机器人可移动、转弯,同时在LCD上显示光电编码器累计计数值和瞬时电机转速。
Motor30L100
Test31R100
表示左电机速度100,右电机速度100,左轮转过30个单位,右轮转过31个单位。
8.光电编码器是否正常?
机器人左、右轮子分别转动1圈,轮子内侧码盘也随之转动1圈,LCD上显示光电编码器的计数值约为33。
轮子连续转动,LCD上则显示光电编码器的累计计数值。
。
自检程序全部完成后,按一下复位键,机器人就会停止运行。
最后关闭电源开关。
也可以不按复位键,直接关闭电源开关。
二、机器人表演
打开机器人电源开关,连接好数据线。
单击菜单栏中“工具(T)”选项卡,在弹出的下拉菜单中单击“机器人表演程序”,运行表演程序下载成功后,把串口通信线从机器人下载口拔下来,就可以让机器人表演了。
机器人表演程序包含6个程序,说明如下:
(1)电子琴Piano―――从不同的方位触动碰撞环,机器人会发出不同的声音。
(2)声与光I'
mindark―――在明暗不同的光线下,机器人会发出不一样的叫声。
(3)跟我走Follow―――机器人会跟着前方的物体走。
能力风暴就像一个可爱的宠物。
(4)回声Echo―――您叫机器人一声,机器人就会回应一声。
能力风暴是不是很听话?
(5)走向亮光Gotolight―――如果房间里点着一支蜡烛,机器人就会向蜡烛走过去。
(6)三步舞I'
mdancing―――机器人还会跳舞呢,欣赏一下吧。
把机器人带到一块空旷平坦的地方(有2米×
2米大小即可),按运行键,就可以运行表演程序了。
一个程序结束,再按一下运行键,就可以运行下一个程序。
现在就开始吧!
想一想:
表演程序分别用到了什么传感器?
三、打开走正方形例程观察。
“文件”—“打开”在VJC1.0安装目录下找到“例程”文件夹选择例程,来查看程序流程或代码。
以“走正方形”为例:
voidmain()%程序开头%
{
{inti_2;
%定义整形变量i_2%
for(i_2=0;
i_2<
4;
i_2++)%循环结构,变量初值,循环条件,步长%
{
drive(80,0);
%以相对速度80,前进%
wait(0.800000);
%持续0.8秒%
stop();
%停止,结合上两句,意为以相对速度80,前进0.8秒后停止%
drive(0,50);
%以相对速度50,右转%
wait(0.150000);
}}
}
走正方形时的程序框图:
更改wait中的时间,出现什么情况?
若改变直行后面wait中的时间,则会使前进距离变小,改变转向后面wait中的时间,会使转向角度改变,最后不是走出正方形。
自己编写程序。
在LCD上显示“HELLO”?
实验二机器人直走实验
实验目的:
掌握简单的程序设计、了解流程图文件的使用。
使用流程图文件进行程序的编写,要求机器人直行或者避开障碍物前行。
*用红外线传感器判断障碍物,并且躲避发出警报。
*机器人可以绕过障碍物,回到原来的直线行走。
1、流程图程序的使用。
文件:
“新建”、“打开”、“保存”、“关闭”这些都是对文档最基本的操作;
“输出JC程序”可以将编好的程序以JC代码的形式存储。
编辑:
在编写复杂程序的过程中,经常会用到多个子程序服务于一个主程序,这时编辑菜单中的“主程序”、“删除子程序”就为编程带来了便利。
“编辑JC代码”可以把流程图程序的JC代码转换到JC代码编辑窗口中进行编辑修改。
视图:
可以隐藏/显示VJC1.0界面中的工具条、JC代码显示区;
“连接指示”则可以在流程图生成区各个模块的可连接位置显示/隐藏指示红点,帮助初学者掌握模块连接的技巧;
可以用“流程图背景”为流程图生成区更换背景;
通过“放大、缩小流程图”、
“全图缩放”来调整流程图大小。
工具:
分为“下载当前程序”、“下载JC程序文件”、“机器人自检程序”、“机器人表演程序
“更新操作系统”、“设置选项”六个功能项。
“下载当前程序”指将当前流程图程序下载到机器人中去;
“机器人自检程序”提供了检测机器人各部分功能的程序;
“更新操作系统”可以恢复机器人的操作系统ASOS。
工具栏
工具栏上有若干快捷按钮,使用起来很方便。
各快捷按钮的作用如下图所示:
JC代码显示区
VJC1.5可以根据流程图程序自动生成JC语言的源程序。
流程图编好后,点击“JC代码”快捷按钮
,在“JC代码显示区”中就会显示与流程图对应的JC代码。
垃圾箱
在编程的过程中,可以将不用的模块移到“垃圾箱”处,在“垃圾箱”上点击一下,即可删除此模块。
JC代码程序编辑界面
任何时候,通过“窗口”菜单可以直接选择JC代码编辑界面或者流程图编辑界面。
使用键盘上的“F12”键可以快速地在两个界面之间来回切换。
(2)模块的基本操作
模块是编程的基本单元,对模块的操作也是经常要用到的。
模块的新增、连接和插入
从模块库选择一个模块的图标,把它移入流程图生成区,你的程序就新增了一个模块。
要使这个模块在程序中变为有效,就需要将模块连接到流程图中。
模块的移动
基本方法:
点击所需的模块,这个模块就处于“拿起”状态,可以随鼠标移动,将模块移动到目标位置,再点击鼠标,即可将模块“放下”。
模块的复制
图形模块的使用方法:
使用流程图工具来编写程序,首先构思好要编写的程序的流程图,再从模块库中选择相应的模块,设置好该模块的参数(右键单击模块),再在流程图生成区进行号相应的连接。
变量百宝箱:
提供对变量进行管理的环境,提供30个变量,分为10类:
亮度、地面灰度、声音、电池电量、整形、浮点数、时间、转角、碰撞、红外检测。
在“引用变量”这一选项中,打开变量百宝箱进行变量的选择。
今天实验主要用到红外检测和碰撞检测。
2、编程、下载、运行及调试。
(1)机器人直走,要求以速度75,向前运动3秒,停止2秒,再以速度100,继续向前运动2秒,停止。
(2)机器人直走,应用循环,
(1)动作中作为循环体,循环三次。
(3)机器人直走,前进若干秒后(速度100,时间0.75秒),转180度,返回原地。
(速度50,时间1秒)
思考题:
1)机器人直走实验中,为什么机器人直走状态保持太久(走远了),行动轨迹会偏移,如何调校?
答:
左右电机相对效率不同才会导致机器人行动轨迹会偏移,多次试验,进行调节
2)使得机器人转45度、90度、180度、270度时,速度和时间分别应为?
取速度为50,机器人对应时间分别为0.250,0.500,1.000,1.500。
3)在行走过程中用红外线判断障碍物,有障碍物时声音报警并避开,继续行走。
实验三机器人你叫我应
深入学习流程图,学会应用各种传感器。
实验要求:
使用流程图进行编译,要求机器人实现应答的功能。
使用流程图进行编译,要求机器人可以根据指令作运动。
(1)在较安静的情况下,机器人静止不动,当有人发出声音时,有节奏的回应。
(2)在较安静的情况下,机器人静止不动,当有人发出声音时,机器人开始前进(躲避路途中的障碍)。
(3)在LCD上显示光线强度值。
计算运行时间并显示出来。
1)画出机器人应答的程序流程图(见下图)
2)机器人应答时,麦克风检测值设置为多少时最合适。
麦克风检测值设置为mic>
180
3)记录不同地点的光线检测值,具体位置和值。
4)如果把光敏传感器检测值,改平均值为左右偏差,数值如何改变。
注意:
1、光敏传感器使用平均值
2、声音检测,值不可太大,避免机器人无反映,也不可太小,使得识别过度灵敏。
3、时间变量为浮点型。
(float)
实验四机器人航天飞船实验
深入熟悉流程图的语法编译,学会光敏传感器的应用。
应用光敏传感器,使用JC代码编写程序,要逐步脱离对流程图编译的依赖。
(1)机器人有趋光性,应用左右光敏传感器来判断光线强度,要求能发现远处的光源。
(2)机器人到达光源附近后,围绕光源做圆周运动。
(1)写出实验内容中的JC源代码。
voidmain()
intr,l;
/*定义变量r左光敏l右光敏*/
inta1,a2,a3;
/*定义标志位a1找光源方向a2靠近光源a3围绕光源转*/
intd1,d2;
/*定义参数d1靠近光源左右方向参数d2旋转参数*/
a1=1;
a2=0;
a3=0;
/*标志位设处值,a1设1则先执行找光源方向*/
while
(1)
while(a1)/*执行a1找光源*/
r=photo
(2);
l=photo
(1);
printf("
a1:
r=%d,l=%d\n"
r,l);
if(r<
240||l<
240)/*发现光源方向的条件*/
{a1=0;
a2=1;
}/*转到a2执行,靠近光源*/
drive(0,20);
/*原地转,寻找光源方向*/
wait(0.1);
}
while(a2)/*执行靠近光源*/
d1=(l-r)*2;
/*设置d1参数*/
a2:
r=%d,l=%d,d=%d\n"
r,l,d1);
150||l<
150)/*到达光源附近的条件*/
{a2=0;
a3=1;
}/*转到a3执行,围绕光源转圈*/
elseif(r>
240&
&
l>
240)/*远离光源的条件*/
{a1=1;
}/*转到a1执行,寻找光源方向*/
drive(80,d1);
/*靠近光源移动*/
while(a3)/*执行围绕光源转圈*/
d2=(r-150)*2+30;
/*设置d2参数*/
a3:
r=%d,d=%d\n,r,d2"
);
drive(80,d2);
/*围绕光源转动,先调整轨道,停留在r=150的圆圈轨道上运动*/
wait(0.01);
(2)当机器人在教室日光灯下,光强度为多少,如何有效设置光敏传感器的参数。
1、光敏传感器的灵敏度较低,反馈值的变化不稳定,做试验时开始先查看试验场地各处的光敏传感器反馈值的情况(离开光源较远的地方,从较远的地方向光源移动的途中,在光源附近的地方。
)
2、机器人运动分为三个步骤
(1)发现光源方向。
(2)向光源运动。
(3)围绕光源转圈。
实验五、六机器人灭火实验
接触比较大规模的编程,激发学习和创新能力。
通过灭火的程序对JC的知识进行全面的巩固,熟练应用各种传感器。
要求使用JC代码编程,脱离流程图的编译。
机器人巡查火场各个房间,不重复,发现火源,灭火。
分析:
安装灭火套件。
灭火套件包括风扇、电机、远红外火焰传感器和地面灰度检测卡。
风扇用于灭火(火源是蜡烛),电机用于驱动风扇,远红外火焰传感器用于检测火源,远红外火焰传感器对热光源敏感。
当远红外火焰传感器对准蜡烛时,相应的检测值将急剧减小。
地面灰度检测卡用于检测地下的白线。
我们在做实验时,没有灭火套间,所以将火源用光源代替。
机器人的行为简化为,进入火场,巡查房间,发现光源,停留,声音报警,离开火场。
灭火场地亮度检测。
检测出火场中各个房间的亮度值。
调节红外传感器。
调节红外检测距离的具体步骤如下:
(注意红外传感器接线端子的方向。
下载下面的“红外调节”程序(图二),然后按一下机器人的“运行”键。
将机器人的前面正对着障碍物,并量好机器人和障碍物之间的距离。
先调节左红外发射距离。
此时将右红外发射器的接线端子拔下,拧动左边的调节电位器旋钮,同时观察显示屏。
当显示的数字为1时,说明机器人检测到左方有障碍物;
当显示的数字为0时,说明机器人没有检测到障碍物。
当显示的数字在0和1之间跳动时,说明机器人处于检测到与未检测到之间的临界状态,此时左红外就调好了。
图二调节红外程序
拔下左红外发射器的接线端子,再插上右红外的接线端子。
拧动右边的调节电位器旋钮,即可调节右红外发射距离。
当显示的数字为2时,说明机器人检测到右方有障碍物;
当显示的数字在0和2之间跳动时,说明机器人处于检测到与未检测到之间的临界状态,右红外就调好了。
将两个接线端子都插上,前后移动机器人,显示的数字如果在0和4之间跳动,红外检测距离的调节就完成了。
灭火场地:
搜索方面策略。
固定路线模式:
在机器人灭火比赛中,比赛场地是固定不变的。
蜡烛按规则随机摆放在任一房间中,要求机器人从白圈出发,去寻找火源并将其熄灭。
因此灭火机器人可按照所设计的路线去逐一搜索房间,发现火源并将其熄灭。
固定路线走模式,从理论上分析分非常简单,只要控制好机器人的直行和转弯,但在实际应用中,由于地面的摩擦、机器人惯性、机器人电机的转数差、齿轮箱与轮子的摩擦、电压变化等因素,控制机器人直行和转90度有一定的难度,要经过反复的调试、降低机器人的速度、通过传感器矫正等过程。
沿墙走(走弧线)。
沿墙走,顾名思义,即机器人靠近墙壁行走。
机器人灭火比赛中,在所有队伍中使用沿墙壁走模式是最多的一种方法,尤其是左手走规则。
左手走规则是指机器人始终沿着左边的墙壁行走,一直走完全程。
该方法要求机器人能实现沿着墙壁前进,当拐弯或是门口时,机器人能自动转过去。
机器人如果前方发现有障碍物,一般说明正对着墙,就右转90度(79,0.3),如果发现左方有障碍物,一般说明左侧对着墙,就右转约60度(79,0.2),否则划弧前进。
在门口拐角处要求机器人处理碰撞,程序中,让机器人一旦检测到碰撞,就后退一点,再右转约60度。
左手规则例程:
寻找光源例程:
寻找光源是机器人灭火过程中的一个重要内容,为了迅速把火灭掉,在搜索房间时,要求机器人一旦发现光源,就立刻向光源走过去。
机器人趋光的方式
实验七机器人走迷宫实验
学习使用地面检测传感器。
通过迷宫的程序对JC的知识进行全面的巩固,熟练应用已用的各种传感器。
调用地面检测传感器确认出发和结束地。
调试运动参数使得机器人使用最少的时间走完迷宫。
1)机器人从迷宫入口出发,用最少的时间走出迷宫,到达迷宫的出口。
2)走出迷宫后显示出行走的时间(行走时间越少越好)。
首先需要检测地面传感器函数surface()的返回值与不同地面颜色标志的关联,这样才能让机器人分辨出迷宫的出口。
编写程序如下:
(进行检测地面传感器函数surface()的返回值的采集,可在“找地雷场地”中找到环境。
一般出现的地面标志圆圈颜色有三种,白、红、橙,对应的检测地面传感器函数surface()的返回值依次为:
0、170、128。
对应黑色地面surface()的返回值为255。
本次实验迷宫环境中迷宫出口的地面标志圆圈颜色为橙色,如果surf_1=surface();
surf_1=128,的条件成立,则可说明机器人走出迷宫。
在迷宫中的行走模式可采用沿墙走(走弧线)。
机器人可采用左手走(右手走)规则。
左手(右手走)走规则是指机器人始终沿着左边(右边)的墙壁行走,一直走完全程。
机器人如果前方发现有障碍物,一般说明正对着墙,就右转(左转)90度(79,0.3),如果发现左方有障碍物,一般说明左侧对着墙,就右转(左转)约60度(79,0.2),否则划弧前进,就是前进+左转(右转)。
在门口拐角处要求机器人处理碰撞,程序中,让机器人一旦检测到碰撞,就后退一点,再右转(左转)约60度。
在环境中修改“走迷宫场地”文件,去掉其中的光源,设置红外线距离10cm,点击显示轨迹按钮,显示出机器人运行的路线。
场地环境如下:
(每次修改程序,都必须退出环境,重新下载程序,再次运行环境却退出环境只能使用环境窗口最左上角的退出命令,每次重新进入环境需要重新修改环境参数:
删除光源、设置红外距离、显示轨迹)
实验八综合实验及测试
一、在较安静的情况下,机器人静止不动,当有人发出声音时机器人开始自由行走:
机器人在行走的过程中分辨障碍物,遇到障碍物时发出声音报警并避开,继续行走。
(30分)
要求:
(1)写出机器人从静止到运动的条件值。
(2)画出对应流程图。
(3)写出对应JC代码。
(4)回答机器人在运行时使用到哪些部件。
解:
(1)机器人从静止到运动的条件值:
mic=microphone();
if(mic>
180)
drive(100,0)
(2)对应流程图见实验三所示
(3)对应JC代码如下图所示
(4)机器人在运行时使用到的部件:
红外传感器、碰撞传感器、麦克风、直流电机
二、自由编写程序。
(70分)
(1)机器人运行程序使得其具有一定的行为模式,并详细说明它是怎样一种模式。
(2)至少使用到四种传感器。
设计的机器人在环境中自由行走,遇到障碍物时,避开继续行走,并发出警报声,遇到光源也发出警报声。
这一行为模式需用到光敏传感器、红外传感器、碰撞传感器和麦克风。
该行为模式的流程图为: