基于能力风暴机器人的交互式程序设计实验报告

更新时间:2024-03-03 18:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

电气与信息工程学院 交互式程序设计实验报告

(模板,所有红色字体文字请阅读后删除)

专学

业生

班姓

级 名

同组同学姓名 指

(指导教师处,电气工程1001-1002、1005-1007请填写:柳云山

电气工程1003-1004、1008-1010请填写:陈 玮 自动化1001—1005、电子技术1001请填写:胡真华)

实验一机器人认识实验

实验目的:

认识能力风暴机器人的基本结构。

学会能力风暴机器人的连接、检测和程序下载等操作。

实验要求:

可以明确能力风暴机器人的各个组成部分。 指出主要组成部分的结构和功能。 学会程序的调试和下载。

实验内容、步骤:

1、 运行自检程序,说明每一项自检内容。

分别检测LCD 液晶显示是否正常, 扬声器(喇叭)是否正常, 光敏传感器是否正常, 红外传感器是否正常, 话筒是否正常, 碰撞传感器是否正常, 运动系统是否正常, 光电编码器是否正常.

2、 机器人表演程序包含6 个程序,说明每一项表演内容及每一项使用的传感器。 (1) 电子琴 Piano―――从不同的方位触动碰撞环,机器人会发出不同的声音。

(2) 声与光 I'm in dark―――在明暗不同的光线下,机器人会发出不一样的叫声。 (3) 跟我走 Follow―――机器人会跟着前方的物体走。能力风暴就像一个可爱的宠物。 (4) 回声 Echo―――您叫机器人一声,机器人就会回应一声。能力风暴是不是很听话? (5) 走向亮光 Goto light―――如果房间里点着一支蜡烛,机器人就会向蜡烛走过去。 (6) 三步舞 I'm dancing―――机器人还会跳舞呢,欣赏一下吧。

3、 自己编写程序。在LCD上显示“HELLO”?

2

实验二机器人直走实验

实验目的:

掌握简单的程序设计、了解流程图文件的使用。

实验要求:

使用流程图文件进行程序的编写,要求机器人直行或者避开障碍物前行。 *用红外线传感器判断障碍物,并且躲避发出警报。

实验内容、步骤:

编程、下载、运行及调试。

(1) 机器人直走,要求以速度75,向前运动3秒,停止2秒,再以速度100,继续向前运

动2秒,停止。

运行结果:机器人先前进几秒,然后停止一会儿,又以更快的速度前进一会儿,最终停止结束.

(2) 机器人直走,应用循环,(1)动作中作为循环体,循环三次。

运行结果: 机器人先前进几秒,然后停止一会儿,又以更快的速度前进一会儿,然后又停止,如此循环

3次便结束.

3

思考题:

1)

机器人直走实验中,为什么机器人直走状态保持太久(走远了),行动轨迹会偏移,如何调校?

因为左右两个电机的转速不一样.

void main() {

driveb(75 ,0); wait( 3.000000 ); stop(); }

int drive_bias=0;

void driveb(int trans,int rot) {

int rot_bias=(drive_bias*trans)/100; motor(1,trans-(rot+rot_bias)); motor(2,trans+(rot+rot_bias)); }

2) 在行走过程中用红外线判断障碍物,有障碍物时声音报警并避开,继续行走。

运行结果:机器人前进中红外检测到前方有障碍时,则发音后退,然后右转;若左边红外检测到障碍,则发音右转;若右边红外检测到障碍时,则发音左转,如此地无限前进.

4

实验三机器人你叫我应

实验目的:

深入学习流程图,学会应用各种传感器。

实验要求:

使用流程图进行编译,要求机器人实现应答的功能。 使用流程图进行编译,要求机器人可以根据指令作运动。

5

实验内容、步骤:

(1) 在较安静的情况下,机器人静止不动,当有人发出声音时,有节奏的回应。

运行结果:当在机器人麦克风旁边轻拍几下发出声音时,它会有节奏的回应几声.

(2) 在较安静的情况下,机器人静止不动,当有人发出声音时,机器人开始前进(躲避路

途中的障碍)。

6

7

注意:

1、光敏传感器使用平均值

2、声音检测,值不可太大,避免机器人无反映,也不可太小,使得识别过度灵敏。 3、时间变量为浮点型。(float)

8

实验四机器人航天飞船实验

实验目的:

深入熟悉流程图的语法编译,学会光敏传感器的应用。

实验要求:

应用光敏传感器,使用JC代码编写程序,要逐步脱离对流程图编译的依赖。

实验内容、步骤:

(1) 机器人有趋光性,应用左右光敏传感器来判断光线强度,要求能发现远处的光源。 (2) 机器人到达光源附近后,围绕光源做圆周运动。

思考题:

(1) 写出实验内容中的JC源代码。

void main() {

int r,l; /*定义变量r右光敏l左光敏*/

int a1,a2,a3; /*定义标志位a1找光源方向a2靠近光源a3围绕光源转*/ int d1,d2; /*定义参数d1靠近光源左右方向参数d2旋转参数*/ a1=1;a2=0;a3=0; /*标志位设处值,a1设1则先执行找光源方向*/ while(1) {

while(a1) /*执行a1找光源*/ {

r=photo(2); l=photo(1);

printf(\

if(r<230||l<230) /*发现光源方向的条件*/

{a1=0;a2=1;} /*转到a2执行,靠近光源*/ drive(0,20); /*原地转,寻找光源方向*/ wait(0.1); }

while(a2) /*执行靠近光源*/ {

r=photo(2); l=photo(1);

d1=(l-r)*2; /*设置d1参数*/ printf(\

if(r<150||l<150) /*到达光源附近的条件*/

{a2=0;a3=1;} /*转到 a3执行,围绕光源转圈*/ else if (r>230&&l>230) /*远离光源的条件*/

{a1=1;a2=0;} /*转到a1执行,寻找光源方向*/ drive(80,d1); /*靠近光源移动*/

9

wait(0.1); }

while(a3) /*执行围绕光源转圈*/ {

r=photo(2);

d2=r-150; /*设置d2参数*/ printf(\

drive(80,d2); /*围绕光源转动,先调整轨道,停留在r=150的圆圈轨道上运动*/

wait(0.01); } } }

注意:

1、光敏传感器的灵敏度较低,反馈值的变化不稳定,做试验时开始先查看试验场地各处的光敏传感器反馈值的情况(离开光源较远的地方,从较远的地方向光源移动的途中,在光源附近的地方。)

2、机器人运动分为三个步骤(1)发现光源方向。(2)向光源运动。(3)围绕光源转圈。

实验五、六机器人灭火实验

实验目的:

接触比较大规模的编程,激发学习和创新能力。

通过灭火的程序对JC的知识进行全面的巩固,熟练应用各种传感器。

实验要求:

要求使用JC代码编程,脱离流程图的编译。

实验内容、步骤:

机器人巡查火场各个房间,不重复,发现火源,灭火。

10

11

12

13

实验七机器人走迷宫实验

实验目的:

学习使用地面检测传感器。

通过迷宫的程序对JC的知识进行全面的巩固,熟练应用已用的各种传感器。

实验要求:

调用地面检测传感器确认出发和结束地。

调试运动参数使得机器人使用最少的时间走完迷宫。 实验内容、步骤:

1)机器人从迷宫入口出发,用最少的时间走出迷宫,到达迷宫的出口。

2)走出迷宫后显示出行走的时间(行走时间越少越好)。

14

15

16

实验八 综合实验及测试

一、在较安静的情况下,机器人静止不动,当有人发出声音时机器人开始自由行走:机器人在行走的过程中分辨障碍物,遇到障碍物时发出声音报警并避开,继续行走。(30分)

要求:(1)写出机器人从静止到运动的条件值。 (2)画出对应流程图。 (3)写出对应JC代码。

(4)回答机器人在运行时使用到哪些部件。

二、自由编写程序。(70分)

要求:(1)机器人运行程序使得其具有一定的行为模式,并详细说明它是怎样一种模式。 (2)至少使用到四种传感器。

17

本文来源:https://www.bwwdw.com/article/zcta.html

Top