机器人实训指导书.doc_第1页
机器人实训指导书.doc_第2页
机器人实训指导书.doc_第3页
机器人实训指导书.doc_第4页
机器人实训指导书.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人实训指导书 机器人实训指导书孙丽华主编长春工业大学工程训练中心目录第1章机器人概述(让机器人动起来)1.1机器人的产生、发展及应用1.2MT-UROBOT的内部结构1.3各种传感器(碰撞传感器、红外传感器、遥控传感器等)第2章编制程序(赋予机器人智慧)2.1流程图程序(走直线、转弯、音乐等)2.2走出规则轨迹(走正方形、拔河比赛)第3章利用传感器设计机器人项目(任务分析准备活动方案设计编制程序运行调试)3.1麦克风应用3.2红外传感器应用3.3遥控传感器应用第4章机器人项目系统训练4.1:机器人速度控制4.2:机器人的自主避开障碍4.3:机器人寻迹4.4:趋光机器人4.5:机器人间的无线通信4.7:声控机器人4.8:跟人走机器人第5章让学生独立设计项目(机器人灭火等各类比赛)第1章机器人概述11机器人的产生、发展及应用。 (简述)12MT-UROBOT的内部结构 (1)、MT-UROBOT的内部结构参见图1-1。 图1-1MT-UROBOT结构简图 (2)、MT-UROBOT的控制按键部分看见MT-UROBOT背后的控制按键部分了吗?其结构如图1-2。 在这个部分有2个小灯,它们指示MT-UROBOT所处的状态。 图1-2控制按键部分开关按钮控制MT-UROBOT电源开关的按钮,按此按钮可以打开或关闭机器人电源。 “电源”指示灯按下MT-UROBOT的开关后,这个灯会发绿光,这时可以与机器人进行交流了!“充电”指示灯当你给机器人充电时,“充电”指示灯发红光。 “充电口”将充电器的相应端插入此口,再将另一端插到电源上即可对机器人充电。 具体使用方法见“MT-UROBOT的充电”。 “下载口”“充电口”旁边的“下载口”用于下载程序到机器人主板上,使用时只需将串口连接线的相应端插入下载口,另一端与计算机连接好,这样机器人与计算机就连接起来了。 “复位/MTOS”按钮这是个复合按钮,用于下载操作系统和复位。 当串口通信线接插在下载口上时,按击此按钮,机器人系统默认为此操作为下载操作系统;如果你想使用其复位功能则需要将通信线拔下,按击此按钮,机器人系统认为此操作为系统复位。 “运行”键打开电源后,按击“运行”键,机器人就可以运行内部已存储的程序,按照你的“指令”行动。 “通信”指示灯“通信”指示灯位于机器人主板的前方,在给MT-UROBOT下载程序时,这个黄灯会闪烁,这样就表明下载正常,程序正在进入机器人的“大脑”即CPU。 (3)、MT-UROBOT的系统结构概述MT-UROBOT的系统结构可以概括为控制部分、传感器部分以及执行部分。 主要结构如图1-3所示图1-3MT-UROBOT总体构成图MT-UROBOT控制部分控制部分是MT-UROBOT机器人的核心组成部分,集成在一个主板盒里面,主板盒外观见图1-4。 图1-4MT-UROBOT主板盒示意图主板位于MT-UROBOT“心脏”部位的控制部件是MT-UROBOT的大脑主板,它被安装在主板盒里面,由很多电子元器件组成,跟人的大脑一样,主要完成接收信息、处理信息、发出指令等一系列过程。 MT-UROBOT的大脑有记忆功能,这主要由主板上的内存来实现,至于“大脑”的分析、判断、决断功能则由主板上的众多芯片共同完成。 位于主板盒上得众多控制按键,是机器人运行控制部件,它的组成和主要的控制功能在前面我已做了介绍,这里就不再重复。 (4)、扩展接口电路板位于MT-UROBOT前端的扩展接口电路板提供了心脏(主板盒)与眼睛(各种传感器)及手脚(各种执行机构)之间的信息传达桥梁,并给执行机构及各种传感器提供动力。 MT-UROBOT可以根据用户不同的创新设计安装不同的扩展接口电路板,机械连接甚至在理论上可以无限扩展。 图1-5所示为扩展三块电路板的安装方式。 图1-5MT-UROBOT扩展电路板安装示意图13传感器部分MT-UROBOT机器人的传感器,如图1-6,主要几种传感器传感器安装示意图光电耦合器码盘光电编码器碰撞开关红外发射、接收传感器光敏传感器灰度传感器图1-6MT-UROBOT感官部分碰撞传感器MT-UROBOT MT-UROBOT机器人的下部放置了一个碰撞系统,保证MT-UROBOT机器人的正常活动。 MT-UROBOT机器人的碰撞机构能够检测到前后各120范围内物体的碰撞,使MT-UROBOT机器人遭遇到不同方向的碰撞后,能够转弯避开并保持正常活动。 前后的碰撞系统分别由一个被弹性固定到机器人主体上的半环状金属片和三个碰撞开关组成。 不同方向的碰撞将使不同的碰撞开关闭合,从而可以判断出障碍物的方向。 图1-3中可以看出前后碰撞环的安装位置。 红外传感器MT-UROBOT机器人的红外传感器共包含两种器件红外发射管和红外接收管,看图1-3或者图1-7就可以发现红外接收管可以安装于MT-UROBOT机器人的正前方,两只红外发射管安装于红外接收管的两侧;同时红外发射管也可以安装于MT-UROBOT机器人的正前方,两只红外接受管安装于红外发射管两侧。 而且他们也可以安装到灭火风扇支架上面,因而可以说MT-UROBOT机器人提供给了用户更多的发挥自主创新的空间。 红外发射管可以发出红外线,红外线在遇到障碍后被反射回来,红外接收管接收到被反射回来的红外线以后,通过A/D转换送入CPU进行处理。 MT-UROBOT机器人的红外传感器能够看到前方10cm?80cm,90范围内的比210mmx150mm面积大的障碍物,如果障碍物太小太细、或者在它的可视范围以外,它可就没法看到了。 在MT-UROBOT机器人的可视范围内,它的可视距离是可以调整的,具体参见后面传感器部分。 光敏传感器光敏传感器是由两个光敏电阻组成,它可以安装于机器人的传感器支架、灭火风扇支架上的任意位置。 光敏传感器能够探测光线,不过在这里我们是让它看见特定的颜色。 我们在MT-UROBOT机器人的光敏传感器罩上了一层滤光纸,通过它的颜色来决定MT-UROBOT机器人能探测什么颜色的光线。 大学版机器人智能机器人上有2个光敏传感器(见图1-7,它可以检测到光线的强弱。 图1-7光敏传感器图1-8敏电阻的电极图案光敏传感器其实是一个光敏电阻,它的阻值受照射在它上面的光线强弱的影响。 大学版机器人智能机器人所用的光敏电阻的阻值在很暗的环境下为75,室内照度下几,阳光或强光下几十。 安装光敏传感器是一个可变的电阻,它的接插方式没有方向性,在扩展板上的位置如图1-9图1-9光敏传感器插针位置图应用如果我们要在流程图环境中,编写一个光敏检测程序,可以参照远红外传感器流程图程序的方法。 话筒MT-UROBOT机器人的话筒的功能很强,它可以感受到声音的强弱。 我们知道我们自己的耳朵并不是所有声音都可以听见的,我们听见的声音在一定的频率范围内,MT-UROBOT的“耳朵”也是这样,它能听见的声音频率范围跟人能听到的范围大致是一样的,大约是16Hz?20000Hz的机械波。 MT-UROBOT机器人在听到你的声音命令后,会根据你的指示(由程序事先输入)采取行动。 MT-UROBOT机器人话筒也就是麦克风,在主板盒上面的右上方。 如图2-2所示。 光电编码器在MT-UROBOT机器人里有码盘和光耦(光电编码器)。 光电编码器主要作为控制的反馈信号。 光耦通过测定随轮轴一起转动的码盘的转动角度,得出轮子所转动的圈数,从而测定距离。 实物如图1-7所示。 地面灰度传感器地面灰度传感器也叫寻迹传感器,它由一个红外光发射管和一个红外接受管组成,由于地面的灰度不同,经过反射,接收管接收到的信号也会发生相应的变化,从而可以得到地面上灰度的信息。 金属接近开关金属接近开关为一种反射式接近传感器,可以探测到一定距离内的金属物体。 其他传感器大学版机器人还能集成很多其他的传感器,插在MTBus上即可使用。 下面作简单介绍。 热释电传感器热释电传感器对移动的人体热源敏感,可以探测几米外的人体。 大学版机器人装上1个或几个热释电传感器后,你可以让他一看见你,就向你迎过来,让他跟着你走。 超声传感器超声传感器是机器人测距的专业传感器,测量距离一般为20cm-6m,测量精度为1%,是测量声波发射与收到回波之间的时间差来测量距离的。 运用大学版机器人本体上带的传感器在房间里找到门不容易,但运用声纳对房间扫描一周后,就能较方便找到房门。 数字指南针自主机器人的导航至今仍是世界性难题,借助数字指南针,可以使大学版机器人辨别方向。 温度传感器想让机器人动态告诉你气温吗?加一个温度传感器是个好方法。 无线视觉传感器用大学版智能机器人来作移动的监视平台。 你可以在大学版机器人上安装无线摄像头,把视频信号发射出来,用PC机接收后进行图象处理。 第2章编制程序图形化交互式C语言(简称流程图)是用于MT-UROBOT的专用开发系统。 流程图环境运行在Windows95/98和Windows NT4.0以上版本的操作系统上。 流程图是由图形化编程界面和C语言代码编程界面组成的。 双击桌面上的流程图图标,进入流程图程序编程界面(如图2-1)可以看到流程图的图形化编程界面是由这样几个部分组成菜单栏、工具栏、模块库(包括执行器、传感器、控制、程序模块库)、垃圾箱、流程图生成区、C语言代码显示区。 通过点击图形化编程界面工具栏中“切换”按钮就可以切换到C语言代码编程界面(如图2-2)图2-1图形化编程界面图2-2C语言代码编程界面可以看到流程图的C语言代码编程界面是由这样几个部分组成菜单栏、工具栏、窗口、C语言信息窗口。 通过点击C语言代码编程界面工具栏中的“切换”按钮就可以切换到图形化编程界面。 首先我们先看看图形化编程界面新建程序采用模块搭建流程图的形式进行编程。 要编写流程图程序,可以在点击桌面上流程图图标之后出现的初始界面中选择新建“流程图“,这样就进入了一个图形化界面。 如果过之后,还想再新建一个程序,那么可以选择菜单栏中“文件”“新建”,也可以利用工具栏里的“新建”快捷按钮,直接新建一个新程序,见图2-3图2-3新建程序菜单、图标打开程序可以选菜单上“文件”“打开”(或点击工具栏中的“打开“按钮),来查看或以前保存的程序。 下载程序写好的应用程序必须下载到MT-UROBOT上运行。 可以选择菜单栏中“工具”“下载当前程序”来下载当前窗口里的应用程序(或点击工具栏中的“下载“按钮)。 如图2-4图2-4并下载当前程序菜单下面再看看C语言代码编程界面新建程序在流程图的C语言代码编程界面中我们采用C语言语言进行编程。 同样的方法,可以在点击桌面上流程图图标之后出现的初始界面中选择新建“C语言程序“,这样就进入了一个C语言代码界面。 如果你还想再新建一个新的程序,那么可以选择菜单栏中“文件”“新建”,然后在新建的窗口里编写程序。 见图2-3打开程序可以选菜单上“文件”“打开”,来查看或以前保存的程序。 下载程序写好的应用程序必须下载到大学版机器人智能机器人上进行。 可以选择工具栏里按钮下载当前窗口里的应用程序。 流程图会在C语言信息窗口中显示应用程序的编译下载过程。 下载过程中,你可以看到控制板前面的黄灯在闪动,表示数据工具栏在传送。 调试程序所编写的C语言程序如果有语法错误,那么在编译下载时就会在C语言信息窗口中显示程序的语法错误,提示错误可能在程序的第几行(用括号注明),并提示可能的错误原因。 这样你可以使用编译中的“转到”,就会出现跳转对话框,将出错的行数写入此对话框,光标就会自动跳转到该错误行,那么你就可以找出错误,并修改它,再次编译下载,直到没有编译错误下载成功为止。 可以加快调试过程。 在实际应用中两种编程界面切换是经常用到的,现将编程界面切换方法总结如下图形化编程界面切换到C语言代码编程界面的途径点击工具栏中“切换”快捷按钮新建打开文件时选择“*.C语言”文件C语言代码编程界面切换到图形化编程界面的途径点击工具栏中“切换”快捷按钮新建打开文件时选择“*.flw”文件流程图程序双击mtu文件夹中的可执行文件Robot.exe图标,进入了机器人编程界面如图2-5所示。 它支持流程图语言、汇编ASM和C语言程序。 图2-5新建或打开文件2.1用流程图语言实现机器人直线行走在图2-5中选择流程图语言,点击确定按钮,进入图2-6界面图2-6初始界面流程图模块包括五个部分执行模块、数字信号输入、数字信号输出、模拟信号输入、控制逻辑。 执行模块可实现直行、转弯、停止、显示、等待、清屏、音乐、手臂控制等功能。 直行函数为move(int SPEEDL,int SPEEDR,int EXSPEED);参数分别为左轮速、右轮速、扩展电机的速度,速度范围在-20002000内。 将鼠标移到执行模块中的直行图标处,按住鼠标左键将直行图标拖到START下面,当START下面下面的黑色小正方形变成红色时松开鼠标,点击鼠标左键可以修改直行的属性值,这时在右边的Code区可以看到直行相对应的c代码。 接着将等待图标按相同方法拖到直行的下面,点击鼠标右键修改让机器人运动多长时间停止的延迟时间(单位为毫秒)。 最后将停止图标拖到等待的下面。 界面如图2-7所示。 图2-7直线行走a)点击编译按钮b)将机器人与计算机连接起来(用串口连接线,一端接计算机的九针串口,一端接机器人后面控制面板上的下载口)。 c)将机器人的“开关”按钮打开,使机器人处于开机的状态。 d)机器人液晶屏上出现上出现运行或下载时,通过机器人左面的按钮调到下载,按下0k按钮,接着按下黄色下载按钮,此时屏幕上会显示下载等待。 e)按流程图界面中的按钮,待看到“下载成功!”字样时,取下串口连接线,将机器人放在平稳的地方,按复位按钮,选择液晶屏上运行-ok,按机器人上的绿色“运行”按钮,此时机器人就以左右轮都为200的速度运动3秒钟之后停止。 2.1用C语言实现直线行走在图2-5中选择ASM/C语言,点击Ok按钮,在出现的界面上编写C语言程序,如图2-8所示。 图2-8c语言界面?main是主函数,每一个C语言程序总是从main函数开始执行的;main函数的开始和结尾分别有个“”和“”?viod可以理解为“不带返回值”;所以第一句就可以理解为一个程序的“开头”。 ?move(200,200,0)函数参数分别为机器人的左轮速、右轮速、扩展电机的速度。 ?sleep (3000)表示延迟3秒钟。 ?stop()表示停止显示。 ?程序中每一句结尾都要加“;”这是C语句结束的标志。 如果你把上面这段程序下载到机器人中去,机器人就会如2-5中的效果一样。 每个流程图的图形模块都代表一组C语言代码。 2.2机器人走出规则轨迹 1、走圆#include#include“ingenious.h”void main()move(200,150,0); 2、先让机器人以速度200前进3秒,再让机器人以速度-200后退5秒,再在原地以速度200旋转1秒后停止。 流程图如2-9所示图2-9流程图 3、走正方形先以200速度走3秒钟,停止,以速度200右转0.85秒钟,停止,以速度200走3秒钟,停止,接下来与前相同,代码如下图2-10流程图进门比赛编程序控制机器人从墙外走进门内,看谁的机器人先进门,见图2-11。 图2-11机器人进门大家见过自动化工厂中的自动导引小车(一种运货机器人)吗?工程师为自动导引小车编程,使自动导引小车能自动从一个工位运货至另一个工位。 机器人进门这个活动,是模拟这个现代化工厂的情景,原理和工程师为自动导引小车编程差不多。 活动准备活动准备有两个目的,一是明确活动内容和要求,二是准备好活动器材和场地。 活动内容是运用图形化交互式C语言给大学版机器人智能机器人设计程序,控制机器人从墙外走进墙内,比赛谁的机器人先进门。 需要准备的活动器材如下大学版机器人智能机器人一台;装有流程图的PC机一台;面积为2平方米的比赛场地;粉笔及抹布。 方案设计首先画出机器人进门的路径图,并标出运动的步骤,见图2-12。 图2-12进门的运动步骤图2-13所示流程控制机器人前进,调整“移动”模块对话框中的移动时间来改变机器人移动的距离,多试几次,就能走准你所要的距离。 首先实验取得如下参数前进:前进110cm,耗时秒;前进65cm,耗时秒;前进40cm,耗时秒;右转右转90度,耗时秒。 方案设计清楚后,就可以方便地设计出程序。 程序设计按图2-12所示的路径图,设计出程序。 图2-13是参考程序图2-13机器人进门参考程序参考步骤:a)双击打开桌面上的流程图图标;b)单击模块库中“移动”模块,将鼠标移至流程图生成区中,在“主程序”模块下单击鼠标;c)右击移动模块,输入机器人前进110cm的速度。 d)单击模块库中“转向”模块,将鼠标移至流程图生成区中,在“移动”模块下单击鼠标;图2-14设置移动模块e)右击转向模块,输入机器人转向速度与时间,使机器人原地转90度,见图2-15;图2-15设置转向模块f)拖入移动模块,设置前进65cm的速度;又有怎样的代码在C语言代码显示区自动生成?g)拖入转向模块,设置输入机器人转向速度与时间,使机器人原地转90度;h)拖入移动模块,设置前进40cm的速度与时间。 大学版机器人智能机器人中的单片计算机只懂特定的机器语言,刚才的运用流程图设计的程序经过图2-16所示过程翻译为机器语言,下载到大学版机器人智能机器人中去就可以运行了。 机器人的操作void main()move(100,100,)stop();10110101001111001110110111010111流程图程序C语言程序机器语言很便于用户开发程序不便于计算机执行很便于用户开发程序不便于计算机执行不便于用户开发程序便于计算机执行图2-16程序翻译过程机器人的操作程序设计完后,按以下步骤下载到大学版机器人机器人中运行a)用串口连接线将机器人与计算机连接起来;b)打开机器人背面的触摸开关;c)选择流程图菜单栏中“工具”,单击“下载当前程序”,程序将自动下载到机器人中;d)拔掉通信线,按一下机器人后面的复位键,大学版机器人就会自动运行。 仔细观察运行结果,分析程序的什么地方需要修改完善,修改后再运行测试。 拔河比赛拔河比赛(只是作为完成速度快的学生的延伸)任务分析编制程序,熟练编程的过程和程序的调试。 活动准备活动准备有两个目的,一是明确活动内容和要求,二是准备好活动器材和场地。 活动内容是运用图形化交互式C语言给大学版机器人智能机器人设计程序,控制机器人向后拉,比赛谁的机器人胜利。 需要准备的活动器材如下大学版机器人智能机器人两台;装有流程图的PC机一台;面积为2平方米的比赛场地;粉笔、抹布和绳子。 方案设计胜方机器人采用曲线后退的方法,败方机器人采用直接向后拉的方法。 根据做功的原理,同样的力,位移大的做功多些,所以,在同样条件下,采用曲线后退的机器人就会胜利编制程序Victor#include#includeingenious.hvoid main()while (1)move(-50,-500,0);sleep (200);move(-500,-50,0);sleep (200);Fall#include#includeingenious.hvoid main()while (1)move(-300,-300,0);程序调试调整双方后退的速度和方向,看怎么样才能使机器人更快的胜利。 看哪一组的同学比赛胜利的时间最短第3章利用传感器设计机器人项目(任务分析准备活动方案设计编制程序运行调试)3.1麦克风的运用麦克风的运用任务采用声控的方式,对机器人进行控制,走直线,弧线,停止,倒退等等硬件资料MT-UROBOT机器人的话筒的功能很强,它可以感受到声音的强弱。 我们知道我们自己的耳朵并不是所有声音都可以听见的,我们听见的声音在一定的频率范围内,MT-UROBOT的“耳朵”也是这样,它能听见的声音频率范围跟人能听到的范围大致是一样的,大约是16Hz?20000Hz的机械波。 MT-UROBOT机器人在听到你的声音命令后,会根据你的指示(由程序事先输入)采取行动。 MT-UROBOT机器人话筒也就是麦克风,在主板盒上面的右上方。 活动准备活动准备有两个目的,一是明确活动内容和要求,二是准备好活动器材和场地。 活动内容是运用图形化交互式C语言给大学版机器人智能机器人设计程序,控制机器人向后拉,比赛谁的机器人胜利。 需要准备的活动器材如下大学版机器人智能机器人两台;装有流程图的PC机一台;面积为2平方米的比赛场地;粉笔、抹布和绳子。 程序设计麦克使用说明大学版智能机器人上的麦克风是能够识别声音声强大小的声音传感器,输出信号接至MIC(AD9)上,返回值为0-1023。 程序如下#include#includeingenious.hint AD_9=0;void main()while (1)AD_9=AD (9);while(AD_9300)AD_9=AD (9);move(200,200,0);sleep (2000);AD_9=AD (9);while(AD_9=300)move(-200,-200,0);sleep (1000);move(200,-200,0);sleep (300);move(200,200,0);elsemove(200,200,0);/程序中AD_7=300,300为一个域值,单位为毫米。 蔽障程序如下#include#includeingenious.hint AD_8=0;int AD_7=0;void main()while (1)AD_8=AD (8);AD_7=AD (7);if(AD_7200&AD_8400&AD_8260)move(100,300,0);sleep (200);elseif(AD_7400)move(300,100,0);sleep (200);elsemove(-300,-300,0);sleep (200);move(300,100,0);sleep (200);3.3遥控传感器应用遥控机器人及机器人之间串口的通信,比如机器人跳舞发射器和接收器任务能够运用遥控器控制一个机器人做出各种动作,同时通过这个机器人向其他机器人发出信号,来对另外的机器人进行控制,比如使两个机器人的运动方向相反。 活动准备活动准备有两个目的,一是明确活动内容和要求,二是准备好活动器材和场地。 需要准备的活动器材如下大学版机器人智能机器人一台;装有流程图的PC机一台;面积为2平方米的比赛场地;测障传感器每组两个,风扇每组一个。 粉笔及抹布。 方案设计程序设计遥控机器人程序#include#includeingenious.hint DI_1=0;int DI_2=0;int DI_3=0;int DI_4=0;void main()while (1)DI_1=DI (1);DI_2=DI (2);DI_3=DI (3);DI_4=DI (4);if(DI_4=1)move(300,300,0);elseif(DI_3=1)move(300,-300,0);elseif(DI_2=1)move(-300,300,0);elseif(DI_1=1)move(-300,-300,0);else机器人之间的串口通讯首先将无线通讯模块接到2,把rece.c和send.c分别下载到两台机器人上,先让接收端机器人处于运行状态,再让发送端机器人运行,这时两台机器人将同时运行。 先看一下程序send.c。 #include#includeingenious.hunsigned intreceivedata=0;void main()serial_send(2,0x0011);while (1)receivedata=serial_receive (2);if(receivedata=0x0012)move(200,200,0);serial_send(2,0x0011);表示向串口2发送数据,发送完等待接收接收端发送的数据0x0012,如果接收到这个数据,就执行move(200,200,0);再来看rece.c程序#include#includeingenious.hunsigned intreceivedata=0;void main()while(receivedata!=0x0011)receivedata=serial_receive (2);serial_send(2,0x0012);if(receivedata)move(200,200,0);while循环表示如果接收的数据不等于0x0011就一直循环下去,接收到这个数据后立即向串口2发送数据0x0012,然后执行move(200,200,0);这样实现了两台机器人间的通讯。 Receive第4章机器人项目系统训练4.1机器人速度控制目标功能写一程序实现机器人的运动速度逐渐加快到某一速度后停下 一、实验目的1.熟悉编程环境2.学会使用大学版机器人下载程序3.掌握如何控制机器人运动速度和方向 二、实验设备1.带串口计算机一台2.大学版智能机器人一台 三、实验步骤及内容 (1)调速原理直流电机的速度控制一般采用PWM(Pulse WidthModulation,脉冲调宽信号)波来实现,其基本原理是,在一定频率下,调节脉冲宽度等效改变施加于直流电机的平均电压,从而改变电机的转动速度。 (a)(b)图1.1如图1.1(a)是占空比是50的pwm波,把它加在直流电机两端相当于加在5v电压如图1.1(b)。 直流电机转动方向改变电源正负极。 在头文件库ingenious.h中,有一对电机速度和方向控制函数move(100,100,0);三个参数分别表示左轮速度,右轮速度,和扩展电机速度。 参数变化范围为(01000),如果参数为负的表示向相反的方向。 (2)实验步骤a.打开随机光盘将文件夹mtu拷贝到c盘中,打开文件mtu.ini如图PORT指的是下载时所用的口的端口后,下载时所用的是哪各串口就改成相应的端口号就可以。 BAUD通信的波特率不用修改。 WORK_PATH文件路径,如果mtu文件拷贝在C盘下后面的路径改成C:mtuprojects即可。 b.打开Robot.exe选择图形化界面或者C语言界面,开始编写程序。 c.程序的编写可以参照第五部分的源代码d.程序写完编译通过,即可下载。 将下载线九DB9接线头与计算机串口相连,一端与机器人下载口连接。 打开机器人电源,通过上下键选择下载,点OK,再按黄色的下载键,进入下载等待,后迅速点窗口中下载开始下载。 四、实践题尝试做一下以下几个实验1.实现机器人速度逐步加快的原地转圈。 2.实现机器人走圆。 五、参考源代码/*/*函数说明move(100,100,0),运动控制函数Sleep (50),延时函数*/*/#include#includeingenious.hvoid main()int i,j;for(i=200;i800;i+)j=i;move(i,j,0);sleep (50);stop();4.2机器人的自主避开障碍 一、实验目的1.了解红外避障原理2.熟悉红外避障传感器的使用 二、实验设备1.带串口计算机一台2.大学版智能机器人一台 三、实验步骤及内容 (1)红外传感器实现避障碍原理在大学版机器人上有很多的避障传感器,有碰撞传感器,光敏传感器,红外传感器。 这里就单独的红外避障传感器来实现机器人的自主避障。 红外传感器通常时具有一对红外信号发射与接收二极管,发射管发射一定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物(反射面)时,红外信号反射回来被接收管接收,经过处理之后,通过传感器接口返回到机器人主机,机器人即可利用红外波的返回信号来识别周围环境的变化。 大学版机器人上红外传感器的位置如图三个红外发射传感器依次发射红外光。 如果在1发射时接收管接收到红外信号,判断障碍物方向在右边。 在每个传感器的后面有一个可变电阻,调节可变电阻,可以改变传感器的灵敏度。 (2)程序编写在ingenious.h库中,有封装好的函数可以调用,IR_CONTROL(6,1);传递的参数6表示红外接收端接口在DI口的第6个接口,1表示红外发射1。 在有障碍物时函数返回值为0,否则为1。 避开障碍物的策略时左边有障碍向右转,右边有障碍往左转,前面有障碍转180度。 实验例程采用的是这个比较简单策略,没有完全考虑所有情况。 四、参考源代码#include#includeingenious.hint obstacle1=0;int obstacle2=0;int obstacle3=0;void main()while (1)obstacle1=IR_CONTROL(6,1);obstacle2=IR_CONTROL(6,2);obstacle3=IR_CONTROL(6,3);Mprintf(3,obs1=%d,obstacle1);Mprintf(5,obs2=%d,obstacle2);Mprintf(7,obs3=%d,obstacle3);if(obstacle1&obstacle2&obstacle3)move(200,200,0);elseif(!obstacle1)红外发射2红外发射1红外发射2红外接收move(-200,200,0);elsemove(200,-200,0);4.3机器人寻迹 一、实验目的1.掌握寻迹传感器原理及使用2.掌握寻迹的基本原理3.学会调试、安装寻迹传感器 二、实验设备1.大学版机器人本体1台2.寻迹传感器2个3.带串口计算机1台4.下载线1根 三、实验步骤及内容 (1)基本原理本实验是在白色的地面上贴一条黑色的曲线,机器人沿着黑色线的轨迹运动。 寻迹传感器是一对红外发射接收管,红外光在白色和黑色面上反光度不一样,接收管接收到的光强不一样产生不一样的电压,机器人通过采集到不同电压值来判断黑线的位置从而实现寻迹运动。 (2)实验步骤1.传感器安装,合理的安装传感器,根据黑线宽度来确定两个传感器之间的距离,传感器的最佳距离为正好等于或者大于黑线的宽度。 一般安装位置如图2.传感器的校准,两个传感器对相同颜色测量出来的数值要基本一致,调节可变电阻实现。 3.编写程序,参考源程序。 基本策略是左边传感器检测到黑线右转,右边检测到往左转,当没有检测到黑线直走。 4.将机器人放在线上,寻迹传感器正好在黑线的两侧。 四、实践题1.以上采用的是两个传感器实现的寻迹,如果用三个呢?是不是效果会更好?尝试一下。 五、参考源代码/*函数说明AD (7),读第七个AD端口数值*/#include#includeingenious.hint AD7=0;int AD8=0;unsigned intreceivedata=0,i=0;void music_play(int i);int j=0;void main()while (1)AD7=AD (7);AD8=AD (8);Mprintf(1,AD7=%d,AD7);Mprintf(3,AD8=%d,AD8);if(AD7500)&(AD8560)stop();sleep (2000);move(100,100,0);sleep (200);if(AD7500)move(160,60,0);elseif(AD8600)move(60,170,0);elsemove(100,110,0);4.4趋光机器人 一、实验目的1.熟悉火焰传感器的使用2.了解机器人趋光原理 二、实验设备1.带串口计算机1台2.机器人本体1台3.下载线1根 三、实验步骤及内容 (1)实验原理在机器人的本体上有两个火焰传感器(远红外传感器),远红外的波长,1.5400微米。 远红外传感器对热光源非常敏感。 本体上红外传感器的位置如图探测火焰的距离可以达到60cm,当火焰越靠近传感器时显示的数值越大。 (2)实验步骤a.首先要校准传感器,对于相同环境下,调节滑动电阻使传感器数值基本相同。 b.测出火焰离传感器不同距离时的数值,并做记录。 c.编写程序,可以通过读入传感器数值来确定离火焰的远近从而确定机器人所要采取的动作。 当火焰很远时机器人朝火焰方向运动,当与火焰靠很近时机器人停止。 当你光源移动时机器人将随光移动。 d编译下载。 四、实践题1.可以尝试一下围着烛光转圈的机器人! 五、本实验比较简单所以没有提供例程序,读者可以自己尝试写一写。 火焰传感器接口使AD (2)和AD (3).远红外远红外4.5机器人间的无线通信 一、实验目的1.熟悉无线传输模块使用2.了解串口通信原理 二、实验设备1.无线数传模块2个2.大学版机器人本体2个3.带串口计算机1台4.下载线1根 三、实验步骤及内容 (1)实验原理在机器人的扩展板上有两个串行接口1,2。 串口通信协议为通信速率为9600,一起始位、8个数据位,一停止位、无校验位。 两机器人间通信为一台机器人向串口发出数据0x0011给无线传输模块,另一个等待接收,当接收到0x0011后,发送数据0x0012,然后向前运动,当第一次发0x0011的机器人接收到0x0012后向前运动。 当两台机器人几乎同时向前运动时表示通信成功。 (2)实验步骤a.将无线通讯模块接到1。 b.rece.c和send.c分别下载到两台机器人上。 c.让接收端机器人处于运行状态,再让发送端机器人运行。 四、实践题1.尝试一下三台机器人间的通信! 五、参考源代码 1、发送端程序send.c。 #include#includeingenious.hunsigned intreceivedata=0;void main()serial_send(1,0x0011);/如果无线通讯模块接到2,则应将serial_send(1,0x0011);改为serial_send(2,0x0011);while (1)receivedata=serial_receive (1);/如果无线通讯模块接到2,则应将serial_receive (1);改为serial_receive (2);if(receivedata=0x0012)move(200,200,0);serial_send(1,0x0011);表示向串口1发送数据0x0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论