能力风暴机器人Word文档下载推荐.docx
- 文档编号:19127656
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:62
- 大小:814.60KB
能力风暴机器人Word文档下载推荐.docx
《能力风暴机器人Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《能力风暴机器人Word文档下载推荐.docx(62页珍藏版)》请在冰豆网上搜索。
技术支持:
021-64953936-812。
有任何好的建议和设想也请随时告诉我们。
我们的上有许多机器人方面的资源,请经常访问http:
//.grandar.。
第二章让你的个人机器人动起来
本章描述了如何打开和连接能力风暴,和有关能力风暴的基本操作:
●开机和关机
●与电脑连接
●下载应用程序
●运行能力风暴
●能力风暴的工作状态
二.1.打开包装
首先打开包装,核对装箱清单上的物品。
下面是能力风暴大学版(ASU)标准套件。
其他版本可能与此略有不同。
1.“能力风暴”整机一台(包括6V,1200mAh镍氢电池一个)
2.操作手册一本
3.JC1.0手册一本
4.JC1.0光盘一盒
5.充电器一只
6.串口线一根
7.扩展件一包(5套传感器套件和一片ASDIY实验板卡)
8.合格证、保修卡
应保存所有的包装材料,以备将来装运能力风暴。
二.2.了解能力风暴个人机器人
拿出能力风暴个人机器人,不要急于开机,先仔细观察一下它的结构。
下面是介绍能力风暴个人机器人的各个部件:
图2.1能力风暴侧视图
图2.2能力风暴俯视图
你已经看到能力风暴个人机器人是“麻雀虽小,五脏具全”。
作为自主机器人所应有的,它都具备。
二.3.检测能力风暴
新的能力风暴在出厂时都已经充过电,并且下载了自检程序。
在你没有把能力风暴和电脑连起来之前,你可以运行自检程序,看看能力风暴各部分的功能。
在能力风暴个人机器人后部,有电源开关,充电插孔、复位键和串行通讯口,见图2.3。
其中开关是一个三态开关:
“停”关闭电源,“运行”是运行能力风暴和下载用户程序用,“下载”是在系统被破坏后恢复操作系统用。
图2.3能力风暴后视图
首先把电源开关拔向运行位,会听到“嘟”一声,液晶显示器上显示出“JCV1.0GrandarAbilitystorms”和“AS-UPersonalRobotselftest”。
同时右下角有太极图在跳,表示能力风暴个人机器人的系统运行正常。
按Reset键运行自检程序,内容如下。
一项内容自检完成后,再按Reset键,将进行下一项检测内容。
1.LCD液晶显示器显示是否正常?
YesNo
2.喇叭是否正常,声音是否清晰响亮?
放的是一首名曲,什么名字________________
3.光敏传感器是否正常?
YesNo
挡一下左边光敏传感器,左边光敏传感器的值会上升、越暗、值越大。
[>
>
photoL210R172
表示右边的光线强。
4.红外传感器是否正常?
把手放在红外传感器左前方,LCD上显示
<
IRTest
表示红外传感器左前方有障碍。
5.麦克风是否正常?
对着LCD液晶显示器左上方的麦克风圆孔的地方说话,看LCD上的>
是否增加。
6.碰撞传感器是否正常?
机器人下部的圆环是碰撞环。
按碰撞环左前方,LCD上显示FrontLeft;
按右前方,LCD显示FrontRight;
按左后方,显示BackLeft,按右后方,显示BackRight;
按正前方,前左前右两个碰撞开关将同时闭合,LCD上显示Front。
7.光电编码器是否正常?
转动右轮,注意轮胎上的标记,使右轮正好转一圈,LCD上右编码器的计数值应大致增加33。
能力风暴的光电编码器的分辨率为33脉冲/转,即10.9度。
8.检测直流电机是否正常?
YesNo
LCD上显示的信息为:
光电编码器累计计数值和瞬时电机转速。
Motor45L100
Test40R100
可用此检测左右电机的转速差异。
通过以上8项检测,你可以了解能力风暴各部分的状态。
如果你拿到的能力风暴已经被使用过,可能内存里已经没有了自检程序。
请参见后面使用JC一节,下载自检程序libs\ASU_selftest.lis。
二.4.连接能力风暴
除了运行能力风暴的情况外,很多情况下能力风暴个人机器人是要和计算机连接以后使用的。
连接能力风暴是一项基本操作。
下面是连接的标准步骤。
1.取出串口连接线。
一头接能力风暴的通讯插口,另一头接PC机箱后的9针串口。
如果你的电脑后面没有空余9针串口,请咨询电脑维护人员。
(可以把暂时不用的设备移开,腾出一个串口。
)
图2.4能力风暴<
------------------->
PC机
2.打开能力风暴,开关拨到“运行”位。
如果能力风暴开机就运动,注意不要让它从高处摔下来。
请把它托在手上。
3.开机后液晶屏会显示右边的文字:
如果下载了其他程序,显示的文字可能会不一样,但在右下侧都会有微微跳动的小太极图案,表示系统正常。
如果液晶屏是空白的,检查电池是否有电,接触是否良好,请充电或更换电池。
如果没有小太极图或者小太极图不跳动,说明操作系统没有正常运行,按复位键重启系统。
如果系统还不能正常运行,参见附录问题解答和下载操作系统方法。
4.运行JC(如果还没有安装,请现在用光盘安装)。
如JC窗口里出现“连接并刷新能力风暴”表明能力风暴已经连接成功。
OK!
你可以在交互式命令行输入语句或下载用户程序。
否则转到下一步。
5.如果出现下图“能力风暴没有响应”对话框,选择“是”。
图2.6JC对话框一
6.出现下面的对话窗口,请检查串口设置。
通常是在电脑1和2中选择一个,按“检测”钮测试能力风暴连接状态。
如果还无法连接,参见附录问题解答。
图2.7JC对话框二
要使能力风暴与电脑正常连接,两者必须都运行正常,而且串口连接线也要接触良好。
二.5.使用JC编程环境
交互式C语言(简称JC)是用于能力风暴About个人机器人的专用开发系统。
JC1.0运行在Windows95/98和WindowsNT4.0以上版本的操作系统上。
如果还没有安装JC,请现在安装。
放入能力风暴配套光盘,Windows95将自动安装JC1.0。
当能力风暴和电脑连接成功后,JC已经正常运行了。
JC1.0主界面见下图。
图2.8JC1.0窗口
交互式命令行:
C语言表达式、函数调用和JC命令都可以在交互式命令行输入。
例,要计算算术表达式1+2的值,你可以键入:
1+2
表达式键入后,JC先在电脑上编译它,然后通过串口传给能力风暴操作系统。
能力风暴计算后返回结果“3”,显示在电脑上的JC交互式窗口里。
也可以在命令行输入函数直接驱动能力风暴机器人。
例,键入:
beep()
能力风暴将发出“嘟”的一声。
编辑程序:
如果要编写自己的JC程序,请选菜单上“文件”——“新建”,然后在新建的窗口里编写程序。
可以选菜单上“文件”——“打开”,来查看以前保存的JC程序(在JC1.0的samples目录下有一些演示程序)。
下载程序:
写好的应用程序必须下载到能力风暴个人机器人上运行。
可以选择菜单上“下载”——“下载当前程序”来下载当前窗口里的应用程序。
JC会在交互式窗口里显示你的应用程序的编译下载的过程。
如果编译下载都正确,JC会在最后一行显示“#完成”,表明下载成功。
下载过程中,你可以看到控制板前面的黄色LED在闪动,表示数据在传送。
调试程序:
你编写的JC程序有可能会有语法错误,那么JC编译就不会通过,也不能下载。
JC会在交互式窗口里显示程序的语法错误,提示错误可能在程序的第几行(用括号注明),并提示可能的错误原因。
请回到原程序窗口(可以在菜单“窗口”里找到你的程序窗口),修改有关错误,再次编译下载,直到没有编译错误下载成功为止。
工具栏有菜单命令的按钮,可以加快调试过程。
下图中“跳转”按钮能直接跳到指定错误行,“下载当前程序”按钮等同菜单命令。
图2.9JC工具栏
重新连接:
如果能力风暴机器人前面已经下载过一个应用程序,现在要下载另外一个程序,两个不同程序可能会发生冲突,第二个程序不允许下载。
解决这个问题的最简便的方法是先退出JC编程环境,然后再运行JC,使JC重新连接能力风暴。
由于JC每次连接能力风暴都会自动刷新能力风暴个人机器人的内存,清掉原来的应用程序,这时你就可以下载第二个程序了。
注意:
大部分JC的功能都要在正常连接能力风暴后才能使用。
JC的详细操作方法请参见JC手册或直接查询JC的帮助。
二.6.让能力风暴跳舞
JC1.0提供了一些有趣的能力风暴例程,它们都在“samples”目录下。
下面我们就让能力风暴跳一个三步舞。
●连接好能力风暴;
●用菜单“文件”→“打开”→打开JC10/samples/dance.c文件;
读一下dance.c,主要是跳三步舞的动作和声音序列;
●按“下载”→“下载当前程序”。
JC首先编译所有文件,然后下载程序至控制板;
●把能力风暴个人机器人放在地上,按一下“复位”键,他就开始跳起优雅的华尔兹!
你会发现,现在你的能力风暴不会避障。
这是因为他需要你改进他的程序,不断增强他的能力,做到一边跳舞,一边避障!
运行能力风暴:
用户程序下载后,按下能力风暴的“复位”键就能立即运行。
也可以先关机,拔掉串口线,带到其他场地,开机就能运行原来下载的程序。
能力风暴的工作状态:
取决于电源开关的位置。
电源开关
用法说明
能力风暴系统状态
用户程序状态
“停”
关闭控制板电源,可以充电
停止运行。
操作系统不丢失。
停止运行,持久变量值维持在关机前的状态。
用户程序不丢失。
“运行”
运行用户程序,连接时交互下载用户程序
开机后,开始计时(毫秒)。
连接时,检测串口,执行用户输入的交互式命令,接受用户下载的程序。
全局变量初始化,运行main()。
(注意:
JC和能力风暴第一次连接时,会清除原来的用户程序,恢复库函数。
“下载”
系统被破坏后恢复操作系统
原操作系统被清除,重新更新操作系统。
清除用户程序,恢复库函数。
第三章感觉、大脑与驱动器
三.1.个人机器人的三大要素
人对周围环境的反应过程主要是感觉→大脑思考→作出反映,机器人的信息处理流程也是如此。
能力风暴个人机器人的配有5种十几个传感器,另外还可以根据需要扩展其他传感器,对环境的感知能力很强。
感知环境的能力是产生智能行为的前提,因此能力风暴能产生许多智能性行为。
能力风暴通过微控制器(microcontroller)来思维。
我们采用的是8位单片机中功能最强、集成功能最全的机种之一。
它的可靠性很高,有程序自下载功能。
能力风暴连上串口线就可自主下载程序,
计算机硬件决定了机器的极限潜能,去开发这种潜能是软件的工作。
我们为用户提供了交互式C语言,它使开发能力风暴的高层行为充满了乐趣。
有的低层的驱动软件与硬件相关太紧密或实时要求很高,需要用汇编语言来处理。
能力风暴个人机器人的执行器有:
二只高性能直流电机;
一只喇叭;
一只2*16字符的液晶显示器。
图3.1能力风暴个人机器人的大脑结构
三.2.能力风暴的传感器及其处理电路
三.2.1.碰撞传感器
碰撞传感器是使能力风暴个人机器人有感知碰撞环上的碰撞信息能力的传感器。
在能力风暴个人机器人的左前、右前、左后、右后设置有四个碰撞开关(常开),它们与碰撞环共同构成了碰撞传感器(见图3.2)。
碰撞环与底盘柔性连接,在受力后与底盘产生相对位移,触发固连在底盘上相应的碰撞开关,使之闭合。
我们把来自四周的碰撞分为八个方向(见图3.3)。
图3.2碰撞开关及碰撞环
图3.3碰撞传感器方位
应用
在JC中,碰撞传感器的库函数是bumper(),在程序运行过程中此库函数仅在被调用到时执行一次,即采集数据一次。
在JC对话窗口中输入如下程序块:
{while
(1){printf("
bump=%b\n"
bumper());
sleep(0.1);
}}
按回车,JC能立即编译这一段程序并下载运行,LCD上显示:
bump=0000(表示此时没有碰撞)
(JC的这种交互式能力特别便于调试、测试和学习)
按左前碰撞环,LCD上显示:
bump=0010。
在其他方向施加碰撞,显示的值将不同。
四个基本方向发生碰撞时返回值(二进制)对应关系如下:
左前右前左后右后
0010000110000100
四个派生方向发生碰撞时返回值可经过计算得到,如前方有碰撞时返回值为旁边两个方向的返回值相加:
0b0010(左前)+0b0001(右前)=0b0011(前),前方即是0011(“0b”是C语言中说明二进制常数的前缀)。
其他三个方向同理可得,分别是:
前后左右
0011110010100101
安装以下是碰撞传感器的接线图
左后右后左前右前
图3.4碰撞传感器的接线图
用户在使用时只需将碰撞开关的组合插针以正确的方向插入相应的位置即可。
图3.5碰撞传感器的插针位置图
原理
到此,碰撞传感器已经能够被用户直接使用。
但是,对应于每一个方向的碰撞,用户是怎样得到一个二进制数值的呢?
在能力风暴个人机器人里,四个碰撞开关接在一个电阻网络里,通过采集模拟口PE3上电压值的变化,来识别出哪个或哪些碰撞开关闭合,从而判断出哪个方向有碰撞。
同样,在JC对话窗口中输入如下程序块:
pe3=%d\n"
analog(3));
pe3=1(表示此时无碰撞)
碰撞一下各个方向,pe3返回值各不相同,这些值是pe3上电压值通过模数转换(模拟量转化为数字量)得到的结果。
它们不直观,也不方便记忆。
对此在库函数中进行了变换,将模拟口上采得的电压值变为直观表示各个方位的四位二进制数(参看JC10/libs/lib_ASU.c中的子程序intbumper()),这样就得到了在应用中的对应关系、计算方式和调用方法。
图3.6碰撞传感器的电路图
X例
voidmain()
{
intbumpvalue;
/*定义整形变量*/
while
(1)
bumpvalue=bumper();
/*bumper()将返回碰撞检测值*/
printf("
bumpvalue);
/*以二进制形式打印出碰撞传感器的检测值*/
sleep(0.5);
/*等待0.5秒*/
}
运行以上程序,前后左右按碰撞环,可直接从显示屏上读出显示值。
三.2.2.红外传感器
能力风暴运用了2只红外发射管(970nm)和一只红外接收模块构成红外传感系统(见图3.7),主要用来检测前方、左前方和右前方的障碍,检测距离X围为10~80cm。
用户可以通过调节IRLEFT和IRRIGHT两个电位器来调节左右两个红外的检测距离。
主板中的R5为24K电阻,它将红外光发射的调制频率固化在38KHz左右,这是红外接收模块中带通滤波器的中心频率。
红外光发射器红外接收器
图3.7红外传感器
图中可以看出红外发射管的头部象一个发光二极管,它是两针的;
红外接收器的头部是个集成块,它是三针的。
安装
红外传感器的插针是有方向性的,用户自己拆卸、安装时应注意方向,装好以后可用下面介绍的语句检测一下。
图3.8红外传感器插针位置图
在JC中,红外传感器的库函数是ir_detect(),在程序运行过程中此库函数仅在被调用到时执行一次,即采集数据一次。
ir=%b\n"
ir_detect());
ir=00(表示此时没有障碍)
用一X白纸分别挡在能力风暴个人机器人的前方、左方和右方,液晶显示器上显示的ir的值都不一样,可总结如下:
前方左方右方无障碍
二进制表示:
11100100
十进制表示:
3210
从二进制的表示方法可以看出前方0b11=0b10+0b01,即是当左右两方向都有障碍时,就认为前方有障碍。
红外接收模块集成了红外接收管、前置放大器、限幅放大器、带通滤波器、峰值检波器、整前电路和输出放大电路,灵敏度很高。
有时从红外管侧面和后面漏出的红外光也会被接受模块探测到,在能力风暴个人机器人上,两个红外发射管和一个红外接收器都是先装在套管里再固定在外壳上的,有效的避免了这种情况的发生。
用户在自己扩展红外传感器时,如果遇到这种情况,只需用黑胶布把发射管的侧面和后部包住即可。
红外传感器是靠发射并接收由障碍物反射回来的红外光来判断是否有障碍(如图3.9)。
图3.9红外测障原理图
图3.9中所示即为前方有障碍时的情况,红外光以60度的散角向外发射,阴影区域分别是左右两个红外的反射光区域,而红外的接收模块正好处于左右两个反射光区域内,能接收到左右两个红外发射管的反射光,由前所述即认为此时前方有障碍,事实也是如此。
在此,应特别注意红外接收模块只是在接收到了一定强度的红外光时才起到质的变化,认为有障碍。
所以,当障碍物太细时,能力风暴个人机器人会检测不到;
当障碍物是黑色或深色时,会吸收大部分的红外光,而只反射回一小部分,有时会使接收模块接收到的红外光强度不够,不足以产生有障碍的信号。
下面是红外传感器的电路图:
图3.10红外传感器电路图
从图3.10中可以看出,I/O口PD2,PD3分别控制左右红外光发射管的关闭和打开。
红外传感器检测障碍的过程如下:
1.左右发射管均关闭,红外探测器探测一次当前信号,并保存下来以跟后面采集到的数据比较。
2.当程序中调用ir_detect()时,启动红外发射探测系统。
首先,左红外发射管发射一次,延时1ms后红外探测器探测一次信号;
然后,右红外发射管发射一次,延时1ms后红外探测器探测一次信号,红外探测器探测一次信号的时间为0.064ms。
红外探测器通过PE4口采样当前值,并保存下来。
由于先后时间的不同,就可以分别探测左右两边的红外信号。
3.调用一次ir_detect()函数,红外探测系统开启一次。
完成后,左右发射管关闭。
根据采集的数据可以判别是否有反射,只有在初始探测无反射而第二次探测有反射时,左反射管才是有反射的,这样系统才认为左方有障碍。
同理,初始探测无反射而第三次探测有反射时,右反射管才是有反射的,右方被认为有障碍。
采用这种方法可以抑制许多环境红外噪音。
硬件的检测过程与软件的配合可以参见JC10/libs/lib_ASU.c中的子程序intir_detect()。
intir;
{
ir=ir_detect();
if(ir!
=0b00)/*判断有否障碍*/
drive(-80,-40);
/*执行语句,即倒退0.5秒*/
}
drive(100,0);
/*前进*/
}
运行此程序可知当前方有障碍时,能力风暴个人机器人有反应。
三.2.3.光敏传感器
能力风暴个人机器人上有2只光敏传感器(见图3.11),它可以检测到光线的强弱。
图3.11光敏传感器
光敏传感器其实是一个光敏电阻,它的阻值受照射在它上面的光线强弱的影响。
能力风暴个人机器人所用的光敏电阻的阻值在很暗的环境下为几百KΩ,室内照度下几KΩ,阳光或强光下几十Ω。
光敏传感器是一个可变的电阻,它的接插方式没有方向性,它在主板上的位置如图3.12
图3.12光敏传感器插针位置图
在JC中,光敏传感器的库函数是:
左光敏,analog(0)或analog(photo_left);
右光敏,analog
(1)或analog(photo_right)。
在程序运行过程中库函数仅在被调用到时执行一次,即采集数据一次。
photoleft=%d\n"
analog(0));
(仅采集左光敏的读数)按回车,JC能立即编译这一段程序并下载运行,LCD上显示:
photoleft=180(表示此时照射在左光敏上的光线强弱)
改变照射在左光敏电阻上的光线强弱,可观察到读数的变化。
可发现光越暗,数字越大,光越强,数字越小。
光敏传感器很灵敏,若需要左右两个光敏传感器对光强的反应非常一致,则把光敏传感器对准照度均匀的白墙进行调节,数字较小的一边,在光敏传感器上贴一小片黑胶布;
或者通过软件进行偏差值调整。
以下是光敏电阻自身的结构及工作原理图
图3.13光敏电阻的电极图案
1.电极2.光导体
图3.14光敏电阻的工作原理图
光敏传感器在能力风暴个人机器人里表现出的光越暗,数值越大,光越强,数字越小是因为:
光敏电阻和10K的电阻R8,R10相连后构成分压器。
左右两个光敏电阻分别与模拟输入口PE0,PE1相连,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 能力 风暴 机器人