没有合适的资源?快使用搜索试试~ 我知道了~
交互式程序设计实验指导书.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 42 浏览量
2022-05-31
17:26:58
上传
评论
收藏 1.03MB DOC 举报
温馨提示
试读
21页
交互式程序设计实验指导书.doc
资源推荐
资源详情
资源评论
实验一机器人认识实验
实验目的:
认识能力风暴机器人的基本结构。
学会能力风暴机器人的连接、检测和程序下载等操作。
实验要求:
可以明确能力风暴机器人的各个组成部分。
指出主要组成部分的结构和功能。
学会程序的调试和下载。
实验内容、步骤:
AS—UII 的结构
(1)外观结构
(2)AS-UII 控制部分
控制部分主要是指我们在和 AS-UII 机器人进行交流时,对它进行直接操作的部件 ,
AS-UII 的控制部分主要由以下两个部分组成:主板和控制面板。
主板
主板是 AS-UII 的大脑 ,它由很多电子元器件组成。它完成接收信息、处理信息、发出指令
等一系列过程。AS-UII 的大脑有记忆功能,这主要由主板上的内存来实现。至于“大脑”的分
析、判断、决策功能则由主板上的众多芯片共同完成。
控制面板
位于 AS-UII 背部的控制面板,是 AS-UII 机器人 的按钮和接口集中的地方,它的组成和功
能。如下:
1
开关
开关顾名思义就是控制 AS-UII 电源的按钮,按此按钮可以开机或关机,也就是打开或
关闭机器人。
电源指示灯
电源指示灯的颜色是绿色。开机时,这个灯会发光,告诉你机器人已经进入工作状态了。
关机时,电源指示灯熄灭。
充电指示灯
AS-UII 由电池供电(在机器底部),电量不足的时候,需要及时地补充能源。给机器
人充电时,充电指示的红灯发光。
充电口
要给 AS-UII 充电,将充电器的直流输出端插在充电口上,再将另一端接到 220V 电源
上即可。
下载口
下载口用于下载程序到机器人主板上,使用时只需将串口通信线的一端接下载口,另一
端连接在电脑机箱后面的一个九针串口上,机器人与计算机就连接起来了。(关闭计算机电
源连接/取下九针串口连接线)
“复位/ASOS”按钮
这是个复合按钮,用于下载操作系统和复位。
复位功能:在机器人运行程序的过程中(拔下串口通信线),按下此按钮,机器人就会
中断程序的运行。这时,如果要重新运行程序,须按运行键,或关机再按运行键。
下载操作系统功能:连接好串口通信线,打开机器人电源开关,在 VJC1.0 流程图编辑
界面中选择“工具(T)--更新操作系统”命令,然后按下此按钮,即可下载操作系统。
“运行”键
机器人开机后,按击“运行”键,就可以运行最近下载的程序。
通信指示灯
通信指示灯位于机器人主板的前方,是一个黄色的小灯。在给机器人下载程序时,这个
黄灯闪烁,表明下载正常,程序正在进入机器人主板的内存中。
(3)感官部分――传感器
感官部分是 AS-UII 机器人采集环境信息的一组传感器。用到的传感器有以下 5 种:碰
撞传感器,红外传感器,光敏传感器,话筒,光电编码器。
1、碰撞传感器
碰撞传感器是感知碰撞信息的传感器,能够检测到 360°范围内的碰撞,使 AS-UII 机器
人遭遇到碰撞之后,能够转弯避开,或作出其它反应。在 AS-UII 机器人的左前、右前、左
后、右后设置有四个碰撞开关(常开),它们与碰撞环共同构成了碰撞传感器。碰撞环与底盘
柔性连接(通过小弹簧),在受力后与底盘产生相对位移,触发固连在底盘上的碰撞开关,
使之闭合。
在 JC 语言中,碰撞传感器的库函数是 bumper(),在程序运行过程中此库函数仅在被调用
2
到时执行一次,即采集数据一次。因此要连续查询碰撞传感器的状态就要在 JC 代码编辑界
面中间一行编辑框(JC 对话窗口)中输入如下程序块(while(1)表示永远循环):
void main()
{ int bump;
while(1) {printf("bump=%d\n",bumper());wait(0.1);}
}
LCD 显示的值为 0 意为没有碰撞。八个方向发生碰撞时返回值的意义为:1 左前,2 右前,
4 左后,8 右后,3 前,12 后,5 左,10 右。
2、红外传感器
红外传感器能够和人眼一样“看见”前方的障碍物,然后通知“大脑”作出反应。红外传感
器共包含两种器件:红外发射管和红外接收模块。红外接收模块位于 AS-UII 机器人的正前
方,两只红外发射管紧靠在红外接收模块的两侧,它们共同组成了 AS-UII 机器人的“眼睛”。
红外发射管可以发出红外线,红外线在遇到障碍后反射回来,红外接收模块接收到被反射回
来的红外线以后,发出电信号给机器人主板,这样机器人就“看见”东西了。AS-UII 的“可视
范围前方 10cm∼80cm ,90°范围内的障碍物,障碍物面积须在 210mmx150mm 以上。
如果障碍物太小太细(或颜色太深) 、或者在可视范围以外,它可就没法看到了。用户可以通
过调节两个电位器(主板上靠近红外传感器接口的黄色旋钮)来调节左右两个红外的检测距
离,顺时针红外发射强,检测距离远,逆时针红外发射弱,检测距离近。逆时针将电位器旋
转到底,将关闭红外发射管。
红外传感器检测障碍的过程如下:
1. 首先,左右发射管均关闭,红外探测器探测一次当前信号,并保存下来,以跟后面采集
到的数据比较。
2. 当程序中调用库函数 ir_detector()时,红外探测系统启动。 左红外发射管先发射一次,
延时 1ms 后红外接收模块探测一次信号;然后,右红外发射管发射一次,延时 1ms 后红
外接收模块探测一次信号。红外接收模块采样一次信号的时间为 0.064ms。红外接收模块
通过 PE4 口采样当前值,并保存下来。由于先后时间的不同,就可以分别探测左右两边的
红外信号。
3. 每调用一次 ir_detector()函数,红外探测系统开启一次。完成后,左右红外发射管关
闭 。
根据采集的数据可以判断是否有反射。 在初始探测无反射而第二次探测有反射时,左反射
管才是有反射的,这样系统认为左方有障碍。同理,初始探测无反射而第三次探测有反射时 ,
右反射管才是有反射的,右方被认为有障碍。采用这种方法可以抑制许多环境红外噪音。
在 JC 语言中,红外传感器的库函数是 ir_detector(),
void main()
{int ir;
while(1) {printf("ir=%b\n", ir_detector());wait(0.5);}
}
用一张白纸分别挡在能力风暴智能机器人的前方、左方和右方,液晶显示屏上显示的 ir 的
值都不一样,可总结如下: 无障碍 左方 右方 前方
十进制表示: 0 1 2 4
3、光敏传感器
能力风暴智能机器人上有 2 只光敏传感器,在机器人左前和右前方,可以检测到光线的
强弱。光敏传感器是一个光敏电阻,它的阻值随光线强弱而变化。能力风暴智能机器人所用
的光敏电阻的阻值在很暗的环境下为几百K Ω,室内照度下几K Ω,阳光或强光下几十 Ω。
在 JC 语言中,光敏传感器的库函数是:左光敏 photo(1),右光敏 photo(2)。
3
void main()
{int photoleft;
while(1) {printf("photoleft=%d\n",photo(1));wait(0.5);}
}(程序中仅采集了左光敏的读数)
编译这一段程序并下载运行,LCD 上会有如下显示:photoleft=180 (表示此时照射在左
光敏上的光强值是 180)返回值从 0 到 255,光越暗,数字越大,光越强,数字越小。
4、麦克风(话筒)。
能力风暴智能机器人上的麦克风(microphone)是能够检测声强大小的声音传感器,麦
克风的安装位置在主板上喇叭的内侧,液晶显示屏的下方。它听见声音频率范围跟人能听到
的范围大致相同为 16Hz 到 20KHz。
在 JC 语言中,声音传感器的库函数是 microphone( ),
void main()
{int mic;
while(1) {printf("mic=%d\n", microphone());wait(0.5);}
}
编译这一段程序并下载运行,如果周围的环境很静 LCD 上显示:mic = 12 (表示此时很
安静)对着麦克风发出声音,可以看到显示值不断变化。它的变化范围是 0~255。
5、光电编码器
光电编码器是一种能够传递位置信息的传感器,它由码盘和光电编码模块组成,分别安
装在主动轮内侧和轮子支架内侧。光电编码模块运用反射式红外发射接收模块。反射器 (即
码盘)是黑白相间的铝合金圆片,黑白条纹把圆分成 66 等分。当码盘随轮子旋转时,光电
编码模块发出的红外线照射在码盘上,黑条和白条反射回来的信号状态不同,从而产生一个
脉 冲 。 轮 子 转 一 圈 共 产 生 33 个 脉 冲 , 每 个 脉 冲 对 应 角 度 约 为 10.91 度 。 库 函 数
rotation(1)、rotation(2)可以读出左右光电编码器脉冲累计值。脉冲数值除以 33 即得旋
转圈数检测左右光电编码器当前状态的库函数为:encoder(1), encoder(2)。
在 JC 对话窗口中输入如下程序块:
void main()
{int encoder_1;
while(1){printf("encoder_1=%d\n",encoder(1));wait(1.0);}
}
编译这一段程序并下载运行,LCD 上会显示 0 或 1。0 表示当前无反射信号,码盘片的黑
格正对编码器;1 表示当前有反射信号,码盘片的白格正对编码器。然后缓慢转动左轮,看
转一圈是否有 33 个脉冲。
(4)执行部分
AS-UII 机器人的执行部分是执行具体功能时所要用到的部件,机器人的执行部分共有
以下五种:喇叭,液晶显示屏,主动轮,从动轮,电机。
1. 喇叭(扬声器)
喇叭按照输入的频率和时间来发声。
2. LCD — 液晶显示屏
LCD 显示屏可以显示英文、数字等字符,在你调试程序时它们有用。
3. 主动轮及其驱动机构
主动轮有两只,电机输出的动力通过齿轮箱传给主动轮,带动整个机器人运动 。AS-
UII 是平面移动机器人,它能够完成直行、走弧线、左转、右转、原地打转这些技术动作 。
机器人采用的是差动驱动方式,即每只主动轮由独立的电机驱动,这使得机器人有较高的灵
4
活性。
4. 从动轮
如果 AS-UII 机器人只靠两个主动轮,难以保持平衡。有了从动轮作为支撑,就能实现
动态和静态的平衡了。从动轮共 2 只,与机身弹性连接,可以在垂直于地面的方向上下移动,
以保持机器人动态平衡,并能实现一定的越障功能。
5. 直流电机
AS-UII 机器人上有两个直流电机,可以将电池提供的电能转化为动能,让机器人动起
来。机器人的运动速度是通过电机来调节的。控制电机的库函数有两个:
motor(a,b)控制单个电机。a,b 为整数,a 取值 1 表示左轮,取值 2 表示右轮,
b 代表转速,取值-100 到 100。
drive(a,b)控制两个电机。a,b 为整数,a 代表平移速度,b 代表旋转速度。
VL=a-b。VR=a+b。
二、AS—UII 的打开、连接和检测
打开:打开开关键,见到电源指使灯发光说明电池有电,通电正常。LCD 显示正常,
右下角有太极状的图标在跳。太极图跳动表示 AS-UII 的系统运行正常,若没有说明操作系
统没有正常运行,按下复位键重启系统,若还是不正常则需要重新下载操作系统。
连接:连接串口通信线是一项基本操作,取出串口通信线。一 端接 AS-MII 的下载口 ,
另一 端接电脑机箱后的 9 针串口。(连接/取下串口连接时,关闭计算机电源)打开开关键,
即可进行通讯。
检测:
配置机器人型号
VJC1.0 是能力风暴机器人专用的编程软件。VJC1.0 安装好之后,需要配置机器人型号,
也就是使编程软件与机器人相匹配。配置机器人型号是编写程序之前必须要做的工作,否则
程序就不能正确地下载运行。
操作步骤如下:
(1)打开流程图界面(参见图 2-2)。
(2)单击菜单栏中的“工具(T)”选项卡,在下拉菜单中单击“设置选项”,随之会弹出一个
设置对话框(参见图 2-3)。
(3)在设置对话框中,单击“机器人型号”下的箭头,会弹出一串型号,单击“ AS-UⅡ”。如
5
剩余20页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 83
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功