关键词不能为空

当前您在: 主页 > 英语 >

机器人讲义

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-26 06:22
tags:免费英语学习软件

lunar什么意思-英语作文经典句子

2020年10月26日发(作者:房彦谦)


机器人是一个典型的机电一体化系统,它融合了造型技术、机械、电子、传感器、计算
机 软件硬件和人工智能等众多先进技术,是进行工程训练、教学实验和研究的比较理想的平
台。随着信息与 自动化技术的发展,许多创新的工程专业都有了共同的专业基础和综合课
程,如电子电路、检测技术与 传感器、嵌入式微控制器等。创新教育机器人的目的就是为学
生提供一个综合实验平台,进行单片机和微 控制器、数字电子和模拟电子、数字逻辑、工业
传感器和工业控制、基础机器人等课程的学习和实践。通 过对机器人模块的学习和研究,不
仅能让学生了解机器人学基本原理、运动基础以及相关扩展功能,而且 还能熟悉和掌握机器
人软件之一PBASIC语言下的BASIC STAMP编译软件的原理和方法, 学生可以利用该套件动
手组装和调试机器人,搭建检测电路,编写控制软件,获得全方位的系统化的基础 工程训练,
并逐步熟悉和掌握机器人学的相关知识和要点,并予以拓展和延伸,且在学习中理论与实 际
联系起来,紧密结合实际动手和解决问题能力,通过“做中学、学中做”高效学习模式,进
一 步提高创新能力和动手能力。

相扑机器人
相扑机器人是按照迷你相扑机器人比赛规则设计的,可即时用于参加比赛。它能找到对
手的位置再将对手推出界外,而且可自动侦察到边界线,防止意外越线。它的电子部份包括
一 粒嵌入式BS2-IC,红外线感测器侦察对手及边界线,硬件部份包括经阳极处理黑色铅金
属座架和铲 子、伺服马达、车轮、可放四粒AA电池箱(不包电池)及螺丝等。

QTI 线跟踪套件 ( 红外传感器组 )
QTI传感器由红外发射和接收器组成,用来检测物体表面的反射率,原
本是用在相扑机器人上检测边界。
原理及其应用:当QTI传感器走过一个黑的表面,反射率较低,经过一个亮
的表面,反射率是较高。模块里面有一个RC电路,反射率的变化使得电路
中的电流变化,而导致RC电路充放电时间的变化,通过RCtime来测量反射率,来实现对特
定的表面(例如:黑胶带)进行跟踪。

相扑机器人应用
.. 学习基础的嵌入式控制器和基础的机器人
.. 运行用红外线反射原理找寻或避开物体














第一章 相扑机器人的大脑
BASIC Stamp微控制器及教学板

BASIC Stamp微控制器是以PBASIC为编程 语言,通过解释器对PBASIC应用程序进行解释执
行的微型计算机,具有8路或16路IO通道,每 个IO通道接脚可直接连接到按钮开关、
发光二极管、扬声器、电压计及其它TTL装置等。通过增加一 到两个额外元器件,IO
接脚就可以连接到非TTL装置,如线圈、继电器等。BASIC Stamp由一个5伏特电压调节器、
晶振器、Serial EEPROM、及一个PBASIC解释 器组成。PBASIC程序储存在非挥发性(断电后
程序仍可保留)的Serial EEPROM内, 解释器从EEPROM读取已储存的程序代码或将数据写进
去。解释器每次读取一条指令,经过解释后对 输入输出接脚、或本身内部结构进行适当的
操作。PBASIC程序储存在EEPROM中,程序可无限 地被重复修改及写入BS2型控制模块
程序执行速度:4000 指令 秒
处理器速度:20 MHz RAM:32位
SCRATCHPAD RAM: NA EEPROM:2K 位
一块BASIC Stamp 2模块就好象一个很小的电脑。这个很小的 “电脑”插在教学底板上。
你很快就会看到,教学板使得BASIC Stamp模块与电源以及串口线连接很容易



硬件和软件
开始学习BASIC Stamp的编程类似于开始使用崭新的PC或笔记本电脑。当有一台新的PC
或笔记本电脑时,绝大多数人所要做的第一件事是:从包装盒里拿出来,接通电源,安装并
测试一些软件,甚至用一种编程语言写一些他们自己所需要的软件。如果这是你首次使用
BASIC Stamp微处理器,那么你将做同样的工作。本章节通过以下步骤告诉你如何安装和使
用BASIC Stamp程序:


1) 寻找并安装编程软件
2) 连接BASIC Stamp模块到电池供电的电源
3) 连接BASIC Stamp模块到计算机,以便编程
4) 初次编写少量的PBASIC程序
5) 完成后断开电源
教学底板上有一个三位开关,见下图。

“0”位:关断教学底板电源
“1”位:教学底板上电
“2”位:教学底板和伺服电机一同上电
为了确认BASIC Stamp模块与你的计算机通讯正常,点击“Run”菜单项,选择“Identify”。
这时,会出现一个下图所示的窗口,样例显示系统在COM2端口检测到BASIC Stamp 2 。

编写和测试一个程序告诉BASIC Stamp模块发送一条信息给PC机:
' {$$STAMP BS2}
' {$$PBASIC 2.5}
DEBUG
END
这里有几个特殊的消息语句,你可以通过把它们放进注释的方式(在给定语句行前加右
单引号),把它们写进BASIC Stamp编辑器。这些消息语句叫做编译器指令。以后所有的程
序都要用到这两句指令。
' {$$STAMP BS2}


' {$$PBASIC 2.5}
第一条指令是“Stamp”指令,它告诉BASIC Stamp编辑器你将下载程序到BASIC Stamp
第二条指令是“PBASIC”指令,它告诉BASIC Stamp编辑器你使用的是2.5版本的PBASIC
编程语言。


END
在程序运行结束之后,这个命令把BASIC Stamp模块置于低功耗模式,所以这个命令比
较简便。在低功耗模式下,BASIC Stamp模块等待复位键按下(或释放)或有新的程序通过
编辑器下载。如果板上的复位键被按下,BASIC Stamp模块将再运行一次已加载的程序;如
果新程序被加载进来,旧程序会被擦除,并且开始运行新程序。

“DEBUG”格式词或控制符就是让BASIC Stamp发送到调试终端的信息以某种特定方
式显示的指令。“DEC”就是一个格式词,告诉调试终端显示十进制数值。“CR”是一个
向调试终端发送回车命令的控制符。控制符“CR”之后的文本或数值会显示在原有文本的
下一行。你可以修改你的程序使它包含更多的格式词或控制符的调试命令。



第二章 相扑机器人的动力————伺服电机

本次实验所用的机器人采用的是Parallax公司的连续旋转伺服电机
伺服电机主要有三 根线,分别为:黑、红、白,其中红色的为电源线(最大为6V直流
电压);黑色为地线;白色的为控制 信号线(一般输入周期为23ms左右的脉冲序列),通过
对这信号线输入脉冲序列来控制电机的运动, 可以控制电机的运动速度,运动方向)。所有
电机使用前必须进行零位校正。



控制伺服电机速度和方向涉及如何让BASIC Stamp微控制器不断发送相同命令给电机。
该命令通常以每秒50次的频率重复发送到伺服电机以维持其速度和方向
你可以调用PAUSE命令, 让BASIC Stamp微控制器在执行下一条命令之前先等待一段
时间。
PAUSE Duration
Duration 是PAUSE命令的参数,它的值告诉BASIC Stamp移到下一条命令之前要等待
多久。Du ration的单位是千分之一秒。假如你想延时1秒,可以给Duration赋值为1000
重复执行指令。


电脑和微控制器的最大优点之一就是他们从来不会抱怨不停地重复做同样的事情。你
可以把需要不停重复执行的命令放在“DO ?? LOOP”之间。例如,如果你想每隔一秒打
印一条信息,按如下方式将DEBUG和PAUSE命令放在“DO ?? LOOP”之间即可:
DO
DEBUG
PAUSE 1000
LOOP
LED测试电路
搭建电路如下图所示。
1) 确认发光二极管的短针脚(阴极)插入标有Vss的黑色插孔中。
2) 确认发光二极管的长针脚(阳极)插入白色面包板上图示的位置。

编程让LED发光或熄灭。
编程控制LED测试电路
命令HIGH和LOW使BASIC Stamp把LED与Vdd和Vss交替连接
伺服电 机根据信号的高电平持续时间的长短作为向什么方向转动的指示。对于精确的伺
服电机控制而言,信号的 高电平持续的时间要求比HIGH命令和PAUSE命令的时间值要精确
的多。你只能每次以1ms为单 位改变PAUSE命令参数Duration 的取值。有一条不同的命令
PULSOUT,能把高电平 细分成更高的时间精度。参数Duration的计量单位是百万分之2秒(即
2微秒)!
PULSOUT Pin, Duration
你可以利用下面这条命令,发送一个高电平信号,让接在P13上的LED发光2微秒:
PULSOUT 13, 1
伺服电机调零
在本任务中,将运行一个程序,发送一个脉冲信号到伺服电机,让电机保持静止。由于
伺服电机在工厂没有预先调整,它们在接收到该信号时将转动。你要用螺丝刀调节伺服电机
让它们保持静止。这就是伺服电机调零。调节之后,你要测试伺服电机,验证其功能是否正
常。测试程序将发送信号让伺服电机顺时针和逆时针以不同的速度旋转。



发送零点标定信号
下图显示的信号是发送到与P12连接的伺服电机的校准信号,称为零点标定信号。伺
服电机调节好之后,这个信号就可以指示电机保持静止。这个指令是由时间间隔为20 ms 的
脉宽为1.5 ms的一系列脉冲组成

得出PULSOUT命令参数Pin的值也不困难。IO管脚是P12,那么Pin的值就是12。下面
我们计算脉宽为1.5 ms时PULSOUT命令的参数Duration的取值。1.5 ms即0.0015 秒。前

说过,无论PULSOUT命令的参数Duration的值是多少,都要乘以2 μs,这样就可以计算

脉冲将持续多长时间。如果知道脉冲要持续多长时间,你就可以计算出PULSOUT命令的参
数Duration的值。用这个公式计算:

如何保存值并计数
本任务介绍在PBASIC 程序中用于保存数值的变量。后面的机器人程序很大程度上依赖
这 些变量。能保存数值最主要的意义是程序能用这些变量来计数。一旦你的程序能计数,它
就不但能控制也 能记录某件事件发生的次数。
PBASIC语言在使用变量之前,要先给出它的名字(variab leName)和大小(Size)。这
叫声明一个变量:
variableName VAR Size
在声明变量之后,你也可以对它初始化,即给它一个初始值(或起始值)。
value = 500
在“value = 500”中,符号“=”是个运算符。
其中Word:0~65535
Byte:0~255
Nib:0~15
Bit:0~1


计数并控制循环次数
最方便的控制一段代码执行次数的方法是利用FOR?NEXT循环,语法如下:
FOR Counter = StartValue TO EndValue {STEP StepValue}?NEXT
三个点”…”表示你可以在FOR 和NEXT之间放一个或多个 的命令。确保要先声明一个变量
参数Counter。参数StartValue 和EndValue可以是数值也可以是变量。你在语法描述中看
到的位于 { }之间的东西,表示可 选参数。换句话说,没有它FOR?NEXT仍将工作,但是你
可以将之用于一些特殊目的。
测试电机
在装配相扑机器人之前还有最后一件事要做,那就是测试电机。在本任务中,你将 运行程序,
使电机以不同速度和不同的方向旋转。通过这些测试,将确保在装配之前电机工作是正常的。
调整速度和方向
两个电机的PULSOUT命令的参数 Duration有多种不同的组合,



假如你想让两个电机都运行 ,给与P13连接的电机发出850的脉宽,给与P12连接的电
机发出650的脉宽,现在每通过循环 一次要用的时间是:
1.7ms – 与P13连接的电机
1.3ms – 与P12连接的电机
20 ms – 中断持续时间
1.6 ms – 代码执行时间
--------- ------------------------------
一共是24.6 ms
如果你想使电机运行一段确定的时间,可以计算如下:
脉冲数量=时间0.0246秒=时间0.0246

测试扬声器



FREQOUT命令
FREQOUT Pin, Duration, Freq1 {,Freq2}
下面的FREQOUT命令实例
REQOUT 3, 2000, 3000
参数Pin的值是3,意味着高低信号将送给 IO脚的P3,Duration代表着高低信号
持续的时间是2000,即2000毫秒或2秒。参数 Freq1是信号的频率,在此例中,将产生一
个3000赫兹的音调。




第三章 相扑机器人巡航控制

通过编程可以使相扑机器人完 成许多动作。本章所要介绍的这些动作和编程技术在后面
都会再用到。与后面内容唯一不同的是:本章相 扑机器人是在无感知的情况下运动,而在后
面的内容中,相扑机器人会根据传感器检测到的信号做类似的 运动。本章也介绍一些调节和
校正相扑机器人巡航路径的方法,包括使机器人走直线、更精确的转弯、计 算运动距离等技
术。
任务 概述
1 编程使机器人做一些基本的动作:向前,向后,左转,右转和原地旋转。
2 调节任务1的运动,使动作更加精确。
3 计算机器人运动指定的距离需要发给机器人的脉冲数量。
4 写程序使机器人由突然启动或停止变为逐步加速或减速运动。
5 写一些执行基本动作的子程序,并且每一个子程序都能够被多次调用。



当机器人向前走时,它的右轮顺时针旋转,而左轮会逆时针旋转。
请同学写出:
向后走呢?
原地左转?
原地右转?
绕左轮左转?(转90度的效果经测试需要FOR counter=0 TO 20左右)
绕右轮右转?
绕左轮右转?
绕右轮左转?
计算运动某一距离所需时间:



编程让机器人前进1s看所走距离是多少(FOR counter=1 TO 41)即可得到速度



匀变速运动: < br>匀变速运动的关键是给PULSOUT命令的Duration参数赋予变量。下面的例程显示的是一个< br>FOR?NEXT循环它能使相扑机器人的速度由停止到全速。FOR?NEXT循环每重复执行一次,< /p>


pulseCount变量就增加1。第一次循环后,pulseCount变量的值是1 ,就像是在执行命令
PULSOUT 13, 751 和 PULSOUT 12, 749。第二次循环后,pulseCount变量的值是2,就像在
执行命令PULSOUT 13,752和PULSOUT 12,748。随着pulseCount变量值的增加,电机的速
度也在逐渐增加。
匀加速:FOR pulseCount = 1 TO 100
PULSOUT 13, 750 + pulseCount
PULSOUT 12, 750 - pulseCount
PAUSE 20
NEXT
请同学写出匀减速?
用子程序简化运动程序
在后面的要求中,相扑机器人将执行运动来避开障碍物。避开障碍物 的一个关键的步骤就是
需要按预先编好运动程序执行动作。执行这些动作的一个很好的方法是用子程序。
子程序
一个PBASIC子程序有两个部分。一部分是子程序调用,它告诉程序跳到可重复 执行代码部
分,执行后回到调用点。另一部分是实际的子程序,它以作为自己的名字的标号为子程序的< br>起点,以RETURN命令结束。这个标号和RETURN命令之间的命令组成一个代码段,执行你想让子程序做的工作。








第四章 红外线导航

如今最热门的产品看起来都有一个共性:无线通信 。比如私人用户可以把数据无线传输
到便携电脑,我们可以通过遥控自由选择频道。许多远程控制和PD A使用频率低于可见光的
红外线进行信号通信。使用一些便宜且应用广泛的部件,BASIC Stamp微控制器也可以收发
红外光信号。使用红外线前灯探测道路 不接触探测物体并不需要任何就 象机器视觉那样复
杂的东西。许多机器人使用雷达(RADAR)或者声纳(SONAR)。一个更简单 的系统是使用红
外光来照射机器人的路线,然后确定何时有光线从目标反射回来。由于红外远程控制技术 的
发展,红外线发射器和探测器已经很普及并且价格便宜。


红外前灯

我们在相扑机器人上建立的红外物体探测系统在许多方面就象汽车的前灯。当汽车前灯的射< br>出的光从障碍物体反射回来时,你的眼睛发现障碍物体,然后你的大脑处理这些信息,并据
此控制 你的身体引导汽车。相扑机器人使用红外线两极管LEDs作为前灯,如上图所示。他
们发射红外光,在 一些情况下,红外线从物体反射从机器人前进的方向折回。相扑机器人的
眼睛是红外检测器。红外检测器 发出信号来表明它们是否检测到从物体反射回的红外线。相
扑机器人的大脑,BASIC Stamp微 控制器据此做出判断并基于这个传感器的输入控制伺服电
机。IR(红外线)检测器有内置的光滤波器, 除了需要我们用它的内部的光敏二极管传感器
检测的980 nm红外线,它几乎不允许其它光通过。红外检测器也有一个电子滤波器,它只
允许大约38.5 kHz 的信号通过。换句话说,检测器只寻找每秒闪烁38,500次的红外光。
这就防止了普通光源 象太阳光和室内光对IR的干涉。太阳光是直流干涉(0Hz),室内光依
赖于所在区域的主电源,闪烁 频率接近100或120 Hz。由于120 Hz在电子滤波器的38.5 kHz
通带频率之外,它完全被IR探测器忽略。

搭建并测试IR发射和探测器









用FREQOUT命令测试红外发射探测器
FREQOUT命令主要是用来合成音频。它的实际范围是1到32768 Hz。数字音调合成的一< br>个有趣的现象是它包括被称为和声的信号,和声是混在你听到的音调里的更高频率的音调。
人不能 辨别频率范围从20 Hz 到 20 kHz的音调。由FREQOUT命令产生的和声从32769 Hz
开始直到更高。你可以用高于32768Hz的参数Freq1直接控制和声。
本任务中,你要用命令FREQOUT 4, 1, 38500 向P4发送持续1秒的38.5 k Hz和声,
连接P4的红外LED电路将发送和声。如果红外光被小车路径上的物体反射回来,红外检测
器将给BASIC Stamp发送一个信号,让它知道已经检测到反射回的红外光。
让每个IR LED 探测器组工作的关键是发送1 ms 频率为38.5 kHz的和声信号,然后 ,
立刻将IR探测器的输出存储到一个变量中。下面是一个例子,它发送38.5 kHz信号给连接
到P4的IR 发射器,然后用位变量irDetectLeft存储连接到P11的IR探测器的输出,。
FREQOUT 4, 1, 38500
irDetectLeft = IN11
当没有IR信号返回时,探测器的输出状态为高。当它探测到被物体反射的38500 Hz和声时,
它的输出为低。当FREQOUT命令发送和声后, IR探测器的输出处于低状态不到1毫秒,因
此当发送完 FREQOUT命令后立即将IR探测器的输 出存储到变量中是很重要的。这些存储的
值会显示在调试终端或被机器人用来导航。
探测红外线干扰
如果你偶尔注意到即使检测范围内没有任何物体,你的相扑机器人指示探测 到了物体,
这说明附近的灯光正产生频率接近38.5 kHz的红外光。如果你想在这种灯光下进行机 器人
比赛或演示,你的红外系统可能会停止工作。每个人最终的想法都是让自己的机器人在公开
演示时不要出错,因此在动手做演示之前,用这个红外线干涉探测程序仔细检查任何要演示
相扑机器人的 区域是非常必要的。


程序的原理很简单,不用IR LED发送任何红外光,只是监控有没有检测到红外光,如
果检测到红外光,用扬声器发出警报。 (红 外检测范围调整你可能已经注意到在环境很黑
的时候,亮一些的汽车灯可以看到更远一些的物体。通过使 相扑机器人的前灯更亮,你也可
以增加它的检测范围。更小的电阻使通过LED的电流更多。更多的电流 使LED更亮。)
探测和避开障碍物
IR检测器检测到物体时,输出为高,检测到物体时,输出为低。
PBASIC语言中有个条件判断命令语句IF?THEN,
其句法是:
IF (condition) THEN?{ELSEIF (condition)}?{ELSE}?ENDIF
句中“?”的意思是,你可以在关键词之间放置一个代码段(由一条或多条命令组成)。
下面是例程:
IF (IN5 = 0) AND (IN7 = 0) THEN
GOSUB ·#¥%
GOSUB !·##
ELSEIF (IN5 = 0) THEN
GOSUB *—??%
ELSEIF (IN7 = 0) THEN
GOSUB %¥#%
ELSE
GOSUB %%¥¥#
ENDIF

如果左右IR都检测到物体,则执行以下操作:
Back_up,Turn_Left,Turn_Left
如果只左侧IR检测到物体,则执行以下操作:
Back_up,Turn_Right
如果只右侧IR检测到物体,则执行以下操作:
Back_up,Turn_Left
请同学完成探测和避开障碍物动作程序:
(后退pulsecount=0 TO 40
旋转 pulsecount=0 TO 20)

灰心丧气-白马王子的英文


碰巧做某事英语-琵琶英语


mtu是什么意思-蜂虎科


George是什么意思-有道日语在线翻译


擅-简直的近义词


年逾古稀的意思-纵向研究


小学写人作文教案-段一中


氨水化学式-律师的英文



本文更新与2020-10-26 06:22,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/427156.html

机器人讲义的相关文章