为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > VJC1.5仿真版使用教程

VJC1.5仿真版使用教程

2021-06-14 5页 doc 3MB 33阅读

用户头像 个人认证

captmumuma

精通药剂学

举报
VJC1.5仿真版使用教程PAGE\*MERGEFORMAT#TOC\o"1-5"\h\z前言4HYPERLINK\l"bookmark2"\o"CurrentDocument"第1章预备知识5HYPERLINK\l"bookmark4"\o"CurrentDocument"虚拟机器人的结构与功能6身体结构6感觉器官6编程语言8HYPERLINK\l"bookmark6"\o"CurrentDocument"VJC1.5仿真版能做什么9HYPERLINK\l"bookmark8"\o"CurrentDocument"为机...
VJC1.5仿真版使用教程
PAGE\*MERGEFORMAT#TOC\o"1-5"\h\z前言4HYPERLINK\l"bookmark2"\o"CurrentDocument"第1章预备知识5HYPERLINK\l"bookmark4"\o"CurrentDocument"虚拟机器人的结构与功能6身体结构6感觉器官6编程语言8HYPERLINK\l"bookmark6"\o"CurrentDocument"VJC1.5仿真版能做什么9HYPERLINK\l"bookmark8"\o"CurrentDocument"为机器人编写程序9创建环境9仿真运行9HYPERLINK\l"bookmark10"\o"CurrentDocument"光盘的安装与启动10安装10启动10HYPERLINK\l"bookmark12"\o"CurrentDocument"如何使用“帮助”电子文档11HYPERLINK\l"bookmark16"\o"CurrentDocument"第2章初试身手14HYPERLINK\l"bookmark18"\o"CurrentDocument"歌曲15HYPERLINK\l"bookmark26"\o"CurrentDocument"边唱边跳18HYPERLINK\l"bookmark28"\o"CurrentDocument"走正方形19HYPERLINK\l"bookmark30"\o"CurrentDocument"走六边形19HYPERLINK\l"bookmark32"\o"CurrentDocument"走五角星20HYPERLINK\l"bookmark40"\o"CurrentDocument"走圆形24HYPERLINK\l"bookmark42"\o"CurrentDocument"奥运五环25HYPERLINK\l"bookmark44"\o"CurrentDocument"进门比赛26HYPERLINK\l"bookmark46"\o"CurrentDocument"一笔画27HYPERLINK\l"bookmark48"\o"CurrentDocument"求和27HYPERLINK\l"bookmark50"\o"CurrentDocument"四则混合运算29HYPERLINK\l"bookmark58"\o"CurrentDocument"整型数与浮点数29HYPERLINK\l"bookmark62"\o"CurrentDocument"霓虹灯30汽车31HYPERLINK\l"bookmark64"\o"CurrentDocument"迎宾机器人31HYPERLINK\l"bookmark66"\o"CurrentDocument"回廊31动态字符32HYPERLINK\l"bookmark68"\o"CurrentDocument"波浪33HYPERLINK\l"bookmark70"\o"CurrentDocument"落地扇33HYPERLINK\l"bookmark72"\o"CurrentDocument"等比求和34HYPERLINK\l"bookmark74"\o"CurrentDocument"第3章稳步前进35HYPERLINK\l"bookmark76"\o"CurrentDocument"打招呼36HYPERLINK\l"bookmark86"\o"CurrentDocument"叫人起床42HYPERLINK\l"bookmark94"\o"CurrentDocument"彩色地毯45HYPERLINK\l"bookmark96"\o"CurrentDocument"百米赛跑45HYPERLINK\l"bookmark98"\o"CurrentDocument"计算走过的距离46HYPERLINK\l"bookmark111"\o"CurrentDocument"秒表49HYPERLINK\l"bookmark113"\o"CurrentDocument"风扇定时49HYPERLINK\l"bookmark121"\o"CurrentDocument"找房门51醉汉55HYPERLINK\l"bookmark131"\o"CurrentDocument"自由行走56HYPERLINK\l"bookmark133"\o"CurrentDocument"趋光的飞蛾57鼹鼠59HYPERLINK\l"bookmark143"\o"CurrentDocument"沿线走60HYPERLINK\l"bookmark151"\o"CurrentDocument"越障跑64HYPERLINK\l"bookmark153"\o"CurrentDocument"太阳能电池64HYPERLINK\l"bookmark155"\o"CurrentDocument"电子琴65HYPERLINK\l"bookmark157"\o"CurrentDocument"穿越隧道65HYPERLINK\l"bookmark159"\o"CurrentDocument"舞台66HYPERLINK\l"bookmark161"\o"CurrentDocument"哈雷彗星66HYPERLINK\l"bookmark163"\o"CurrentDocument"第4章挑战自我67填字游戏68台球70寻宝73篝火晚会74弹球游戏77随机走78沿墙走79HYPERLINK\l"bookmark181"\o"CurrentDocument"点歌台82HYPERLINK\l"bookmark183"\o"CurrentDocument"回音壁82HYPERLINK\l"bookmark187"\o"CurrentDocument"查找最大值83HYPERLINK\l"bookmark185"\o"CurrentDocument"排序84HYPERLINK\l"bookmark189"\o"CurrentDocument"最大公约数85跳房子游戏89找地雷90第5章我能赢91走迷宫92游北京93长跑比赛94救援95灭火比赛96附录99附录A.子程序99HYPERLINK\l"bookmark223"\o"CurrentDocument"附录B.如何设置机器人型号103HYPERLINK\l"bookmark225"\o"CurrentDocument"附录C.不同型号的虚拟机器人碰撞传感器差异104HYPERLINK\l"bookmark227"\o"CurrentDocument"附录D.真实的能力风暴机器人功能一览表104、人—前言本书介绍了机器人的初步知识,包括机器人的身体结构、感觉系统和思维方式。与一般教科书不同的是:所有这些知识是在一系列的机器人项目中逐步展开的。读者在做机器人项目的过程中,将自主建构机器人的知识体系。建构机器人知识体系的过程是新颖有趣的,给人的印象也会是深刻的。本书还详细讲解了VJC编程语言。VJC编程语言又称为机器人C语言,是一种易学易用的编程语言。读完该书,再去学的C语言程序设计,就易如反掌了。近年来,建构主义的教育理念得到了广泛的认可。大家知道,要在学习知识的过程中应用建构主义的方法,是很需要一番努力的,因为用于建构的素材和情境并非总是那么唾手可得的。本书介绍的智能机器人,由于它的技术先进性、学科综合性、自主体验性、趣味性和不断更新性,可以称得上是实现建构主义教育理念的一个优秀平台。通过做项目来建构机器人的知识体系,可以抛开繁琐的理论书籍,在学中用,又在用中学,一切都将显得那么轻松和自然。本书的读者可以是大中的青少年,也可以是任何年龄的机器人爱好者。中小学的科技老师也可以用它做。第1章预备知识在本章中,我们对能力风暴智能机器人作一个简单介绍,让读者初步了解机器人的结构、传感器和编程语言。本章还讲述了光盘的安装使用方法,并给出了VJC1.5仿真版软件中“帮助”电子文档的详细目录。在读完本章内容之后,相信读者就能方便地使用VJC1.5仿真版了。虚拟机器人的结构与功能身体结构在VJC1.5中,有五种型号的机器人:AS-M、AS-MII、AS-UII、AS-InfoX和AS-InfoM。图1—1是虚拟机器人的外形。虚拟机器人的身体结构跟真实的能力风暴智能机器人是相似的。本书中的范例采用的机器人型号均为AS-Mn。设置机器人型号的方法参见附录BoAS-MII(AS-M/AS-UII)AS-InfoM图1—1虚拟机器人外形AS-InfoX感觉器官能力风暴智能机器人的感觉功能,是由机器人的传感器实现的。能力风暴机器人身上安装的传感器有以下几种:.红外传感器红外传感器由红外发射器和红外接收器两部分组成。一旦程序中发出“红外测障”的指令,红外发射器就开始发射红外线。红外线遇到障碍物会反射回来,被红外接收器接收,从而机器人就能判断出障碍物所在的方位。虚拟机器人能够检测左、右、前三个方向的障碍物,跟真实的能力风暴智能机器人基本相同。发射红外线的虚拟机器人如图1—2所示。图1-2机器人发射红外线示意图.光敏传感器光敏传感器能够检测光线的强度,检测到的值为0〜255之间的整数。光线越亮,检测到的数值越小;光线越暗,检测到的数值越大。此项功能跟真实的能力风暴智能机器人是一样的.碰撞传感器虚拟机器人的碰撞传感器能够检测左、右、前、后四个方向的碰撞,型号为AS-InfoX的机器人只能检测前、左、右三个方向的碰撞。如前所述,虚拟机器人共分五种,它们的的区别主要就体现在碰撞检测功能上。所以读者在打开程序时,无论是例程,还是自己编写保存的程序,如果涉及到“碰撞检测”,必须先设置相应的机器人型号(参见附录B),然后再打开程序、仿真运行。例如:打开例程“自由行走(M).flw”时,由于名称后面带有M,故须先将机器人型号设置为AS-M,然后再打开程序文件、仿真运行。打开例程“自由行走(Info).flw”时,最好先将机器人型号设置为AS-InfoM,然后再打开程序文件、仿真运行。在碰撞检测功能方面,虚拟机器人跟真实的能力风暴智能机器人有较大差别(参见附录C、D)。.声音传感器声音传感器能够检测声强大小,检测到的值为0〜255之间的整数。数值越小,声音越低;数值越大,声音越响。此项功能跟真实的能力风暴智能机器人是一样的。.地面灰度传感器地面灰度传感器能够检测地面的灰度,检测到的值为0〜255之间的整数。地面颜色越深,灰度值越大;地面颜色越浅,灰度值越小。此项功能跟真实的能力风暴智能机器人基本相同。1.1.3编程语百能力风暴智能机器人的编程语言是VJC1.5,由机器人C语言(简称JC)和流程图编程语言两部分组成。读者使用仿真版的时候,可以用流程图编程。在用流程图编程的同时,VJC1.5自动生成JC代码,便于读者观察、解释或修改程序,参见图1—3。在图1—3中,左边是流程图,右边是JC代码。在流程图编辑界面中,点击工具栏上的“JC代码”快捷按钮H,即可看到当前程序的JC代码。idmain()'1!;F主程序drive(wit(5口f()drlViS(wait(stop()drive(wait(2stop()drivefwait(0,1);drive(BO,口);wait(2.0);stop();drive(口.8口);wait(D□1);stop();dnv«(BO,0);wait(2,0);drive(D,8D);wait(D.1);stop();图1—3机器人走正方形的VJC程序VJC1.5仿真版能做什么为机器人编写程序JC代码。但不能在VJC1.5仿真版中,可以用流程图编写机器人程序,同时自动生成直接用JC代码为机器人编写程序。在仿真版中编写的程序对真实的能力风暴机器人也是适用的。创建环境可以自由创建环境,是VJC1.5仿真版的一个突出优点,这往往是使用真实的机器人时所做不到的。在VJC1.5仿真版中,读者可以利用光源、声源、障碍物和彩色图带创建各种环境,如房间、迷宫、排雷场地等。下面的图1-4就是用仿真版创建的一个环境一一“篝火晚会场地”,场地左下方是虚拟机器人。图1—4篝火晚会场地仿真运行仿真运行就是进入仿真环境,让虚拟机器人按照程序指令进行运动。编好程序、创建环境之后,就可以仿真运行了。因此,在仿真版中,读者能够直观地看到机器人运行的效果。光盘的安装与启动安装可通过如下方式安装“VJC1.5仿真版”软件,两种方式任选一种。.放入“VJC1.5仿真版”软件安装光盘,Windows将自动启动“VJC1.5仿真版”安装向导。.打开“我的电脑/光盘”,双击安装光盘中的Setup.exe程序,即可启动安装向导。安装时,读者可根据安装向导的提示一步步操作。安装成功后,图形化交互式C语言开发库以及范例会自动安装到指定目录(缺省路径时,安装在“C:\ProgramFile\VJC1.5仿真版”文件夹中)。1.3.2启动启动“VJC1.5仿真版”软件的方式有如下两种:.双击Windows桌面上的“VJC1.昉真版“图标,进入流程图编辑界面。.点击Windows菜单“开始/程序/VJC1.5仿真版/VJC1.5仿真版”,进入流程图编辑界面。进入流程图编辑界面之后,即可为机器人编写程序。编好程序,可以仿真运行。仿真运行的方法有以下两种:在菜单栏中选择“工具(T)”下的子菜单“仿真当前程序”。在工具栏中点击“仿真”快捷按钮,如图1-5所示。图1—5流程图编辑界面1.4如何使用“帮助”电子文档“VJC1.5仿真版”的帮助电子文档详细介绍了流程图编程和创建环境的方法,是读者学用仿真版的好帮手。进入流程图编辑界面后,选择“帮助”菜单下的“帮助主”即可打开此电子文档。下面的图1—6是“帮助”电子文档的详细目录,读者可以与电子文档对照使用。图形化编程指南团简介系箭要求安装启动,51.-Mj安装和启动国退出a卸载-0流程图编辑界面用菜单栏工具栏力模块库区91流程图程序生成区到垃圾箱-g编程与仿真快速入门D编程思路21编程2侪真QJ流程图编程方法-g模块的基本操作模块的新懵与连接模块的移动模块的删除模块的复制-Ijj|囿形模焕的使用方法+♦执行器模块十♦传感器模块・♦.控制模块+♦程序模块-QJ子程序调用可为什么要用子程序?]系统子程序D自定义子程序-“J变量团变量百宝箱变量赋,百国引用变量变量百宝箱的应用理模块库与机器人型号仿真工具简介3主界面简介D仿真环境进入与退出a程序仿真运行-口环境编辑障碍物句图带和地榜用声源2]光源可清除环境-Uj机器人初始设置显示/不显示轨迹力保留/保智原轨迹2初始角度设置W红外健感器设置□的环境文件管理泛]新建环境文件保存环境文件力加载环境文件a删除环喳文件?导出环境文件可导入环境文件-u例程说明2)如何运行例程+♦典型例程解析囱其它例程简介国注意事项图1—6“帮助”电子文档的目录第2章初试身手本章及以后各章的内容是以机器人项目的形式编排的,既便于初学者入门,也便于已有基础的读者参考。因为智能机器人是一个综合性的知识载体,涉及到机械、电子、软件、仿生学等众多学科,如果要详细介绍,恐非本书的篇幅所能容纳,而且也不适于初学者阅读,所以我们采用了机器人项目的形式供大家学习。读书固能学到知识,走路做事也能心有所得。以智能机器人为伙伴,做做机器人项目,既轻松有趣,又能逐渐揭开机器人的奥秘,在不知不觉中进入智能机器人的科学殿堂。这正是我们撰写本书的期望所在。机器人,顾名思义,就是象人的机器。本章主要介绍了机器人的执行器,即机器人的喇叭、显示屏、运动系统,相当于人的口、语言、腿脚。读者只要边看边做,很快就能熟悉机器人了。2.1歌曲项目内容:找一段乐谱,用流程图编一首歌曲,然后仿真运行。相关模块:发音,或者调用子程序。难度等级:程序设计“歌曲”程序涉及模块较少,只要按照乐谱设置“发音”模块,然后将各模块依次连接起来即可。通过这个项目的学习,可掌握模块的参数设置方法,以及流程图编程方法。下面是编程的步骤:a)在流程图编辑界面中,点击“执行器模块库”中的“发音”模块,将其拖到流程图生成区,连接在主程序的下面(图2—1)。图2—1发音模块b)在“发音”模块上右击鼠标,打开参数设置对话框(图2-2),在其中选择音频和时间。例如:图2—2中选择的音频为:,时间为四分之一音符。在编程时,您也可以选择“自定义”,直接输入音频值和时间值。如果选择了“休止符”,则机器人将不发音。休止的时间可以选择四分之一音符等,也可以选择“自定义”,然后输入时间值。图2—2“发音”模块的参数设置对话框c)编辑完成的歌曲如图2—3所示。仿真运行d)流程图编好后,点击工具栏中的“仿真”快捷按钮(图2—4),进入仿真环境主界面(图2—5)。图2—4工具栏图2—5仿真环境主界面e)在仿真环境主界面中,点击“运行”键,可以得到一个虚拟机器人。将虚拟机器人放到中间的运行区,它就会自动执行程序。在本例中,机器人则将演奏所编的歌曲。调用子程序调用子程序的方法参见附录Ao边唱边跳项目内容:用流程图编程,使得机器人能够一边唱歌,一边跳舞。相关模块:直行、转向、发音。难度等级:2—6),调用子项目解析:本项目可以通过调用系统子程序“边唱边跳”来完成(图程序方法可参见附录A。图2—6边唱边跳不过,我们建议读者最好还是用“直行”、“转向”、“发音”等模块编一个自己风格的“边唱边跳”程序,然后仿真运行。设置“直行”、“转向”模块的参数,只要在模块上右击鼠标,打开参数设置对话框,输入速度和时间就可以了。仿真运行时,选择“显示轨迹”,可以更清楚地看到机器人跳舞的姿态。走正方形项目内容:为机器人编程,使之能走一个正方形。走的时候显示轨迹。图2—7走正方形相关模块:直行、转向。难度等级:项目解析:编写“走正方形”程序可参照图1-1编写,项目的难点在于要反复调整“转向模块”中转向时间和速度,以便机器人正好转90。。“直行”、“转向”模块的参数设置方法可参考“帮助”电子文档一一“执行器模块”。走六边形项目内容:为机器人编程,使之能走一个六边形。走的时候显示轨迹。要求使用“多次循环”模块。相关模块:转向、直行、多次循环。难度等级:项目解析:所有的程序都能用“顺序结构”、“选择结构”以及“循环结构”来表示。本项目中的“循环结构”是程序设计中重要的结构,故须认真掌握。“多次循环”模块在“控制模块库”中。将“多次循环”模块拖到流程图生成区后,在模块上右击鼠标,打开参数设置对话框,即可输入循环次数。另外要注意的是,使用多次循环模块的时候,须将待循环的内容放在循环体内部。走五角星项目内容:为机器人编程,使之能走出一个五角星的形状。走的时候显示轨迹。要求使用“条件循环”模块。图2—8五角星相关模块:直行、转向、条件循环、计算。难度等级:程序设计通过该项目的学习可熟悉VJC1.5仿真版中引用变量、变量百宝箱的概念以及“条件循环”和“计算”模块的使用。“条件循环”模块在“控制模块库”中。从图2—8可以看到,要画出一个五角星,需重复五次“前进、右转”的动作,右转的角度为144%五角星的大小由前进的距离所决定。在本例中,要求使用“条件循环”模块,我们可以将其中的条件表达式设置为整型变量一<5在程序中,让整型变量一从0开始变化,每循环一次,就令整型变量一增加1。当整型变量一等于0、1、2、3、4时,条件表达式都能满足;当整型变量一等于5时,条件表达式不再满足。于是循环将进行5次,然后就跳出循环,程序结束。参见图2-9。济主程序■筵束intji_l=O;voidmain0[却」二0;vhilt(tij<5)1drive(SO,0):*・it(2000000);stop0.200于是当环境光的亮度大于200的时候,条件表达式成立,表明天还黑着,机器人就继续检测。当亮度小于200的时候,表明天亮了,此时条件表达式不再满足,条件循环中止,机器人就转而去执行条件循环后面的指令。由于程序开始时默认“亮度变量一”的初始值等于零,我们在进入条件循环之前先调用一次亮度检测模块,以获取环境光的当前值,并将其赋给“亮度变量一”,可以避免程序错误地跳过条件循环。观察程序的JC代码,可以更清楚地看到这一点。在流程图编辑界面中,点击工具栏上的“JC代码”快捷按钮辽,即可看到当前程序的JC代码。其余模块:略。180,渐变值为30。先将机器人放在仿真运行在机器人运行场地中添加光源,设置光源半径为黑暗的地方,然后再将机器人放在光圈中。观察是否能达到叫人起床的效果。彩色地毯项目内容:机器人在彩色地毯上行走,遇到不同的颜色能发出不同的声音。相关模块:地面检测、直行、转向、发音、永远循环、条件判断。难度等级:创建环境一一彩色地毯。参见帮助电子文档/环境编辑/图带和地毯。项目解析:“地面检测”模块用于对地面的灰度进行检测,检测到的值为。〜255之间的整型数,数值越大,地面颜色越深;数值越小,地面颜色越浅。在正式编程之前,先编写一个地面灰度检测小程序(参见图3-22),检测一下地毯不同部分的灰度。然后再构思本项目的解决。百米赛跑项目内容:开始时,机器人站在跑道的起点处等待起跑。一旦听到发令枪响,就立刻沿着跑道向终点冲过去。在跑的过程中机器人不能越出跑道。图3—15百米赛跑场地相关模块:地面检测、声音检测、条件循环、直行。难度等级:项目解析:在很多比赛中要求声控启动,当机器人听到声音后才能运动。这个项目主要演示在场地中添加声源,具体方法可参见“帮助”电子文档/环境编辑/声源。仿真运行时,先把机器人放在跑道的起点处,然后添加声源。计算走过的距离项目内容:计算机器人走过的距离。相关模块:直行、转向、转角检测、显示。难度等级:程序设计3-16在本例中,我们让机器人先走一段直线,接着走一段弧线,然后再走一段直线。最后,调用两个转角检测模块,分别检测左轮和右轮的转角,并显示出来,例程如图所示。图3—16转角检测例程3—17所示。参数设置“转角检测”模块:打开“转角检测”模块的对话框,如图图3-17转角检测模块的参数设置对话框之一在图3-17对话框中选择“左轮、编码器检测”,就会弹出如下对话框:图3-18转角检测模块的参数设置对话框之二在其中选择“转角变量一",确定。用同样的方法,将第二个“转角检测”模块的参数设置为“右轮、编码器检测、转角变量二”。“显示”模块:选择“引用变量”,在两行中分别显示“转角变量一”和“转角变量二仿真运行仿真运行时,显示轨迹,可以看到机器人走过一条曲线,最后在右上角的显示屏上显示出左右轮的转角数。机器人的轮子转一圈,机器人的光电编码器接收到33个脉冲,转角计数为33。真实的能力风暴机器人轮子的直径d=64mm。您可以根据检测到的左右轮平均转角数,用如下公式计算出机器人走过的平均距离:距离=平均转角数33您还可以在以上例程中添加一段程序,计算机器人走过的距离,并将计算结果显示出来。不过,用上述公式计算出的结果适用于真实的机器人,与仿真界面上的标尺不一定吻合。小知识:光电编码器光电编码器是靠发射与接收红外光来工作的,由码盘和光电编码模块组成。码盘安装在机器人的轮子上,随轮子一起转动。光电编码模块则装在轮子的支架上。码盘上共有66个辐条,黑白相间。光电编码模块同时具有发射与接收红外线的功能,参见图3—19。无返回信号有返回信号图3—19光电编码器的工作原理图从图中可以看出:红外线照射在黑色辐条上时没有反射信号,因为红外光大部分已经被黑色辐条吸收;当红外线照射在白色辐条上时有反射信号,因为红外光在白色辐条上反射强烈。于是,当机器人运动时,光电编码器就能接收到脉冲信号。轮子每转一圈,共产生33个脉冲。光电编码器有计数功能,能累加接收到的脉冲数。秒表项目内容:让机器人在显示屏上显示时间,可以当作秒表来使用(图3—20)。图3—20显示时间相关模块:系统时间、显示、永远循环。难度等级:项目解析:在本书中很多项目可用于机器人比赛,比如走迷宫、灭火。进行机器人比赛,就需要计算所花的时间。VJC1.5仿真版提供了“系统时间”模块,能满足程序设计的需要。风扇定时项目内容:用机器人做成一个电风扇,来回摆动着吹。并且有电风扇的定时功能,吹一段时间就停下来。相关模块:转向、启动电机、停止电机、系统时间、条件循环。难度等级:程序设计要让风扇定时,则须调用“系统时间”模块。在程序中,控制风扇运行的时间可以用条件循环来实现。程序一开始,首先启动扩展电机,然后进入条件循环,条件表达式为:时间变量一<10.0000条件循环的内容为:左转、右转、检测系统时间,并将它在显示屏上显示出来。一旦检测到系统时间超过10秒钟,就跳出条件循环,停止扩展电机,程序结束。参见图3—21。参数设置“启动电机”模块:选择“扩展电机”,而将左右电机的功率均设置为零。“条件循环”模块:条件表达式2时间变量一<10.0000“系统时间”模块:变量选择“时间变量一”。“停止电机”模块:停止扩展电机。仿真运行点击“仿真”快捷按钮,进入仿真环境主界面,点击“运行”键,将虚拟机器人放到运行区就可以了。运行时可以看到右上角显示屏上有时间显示。主程序图3—21风扇定时例程找房门项目内容:把机器人放在一个房间里,机器人能自己找到房门,并从房门走出去。相关模块:红外测障、转向、直行、地面检测。难度等级:创建环境一一单房间场地。墙壁由障碍物构成,门口的标志是一道白色图带,门可以开在任意一边。如图3—25所示。程序设计先编一个地面检测程序,检测一下地面灰度并显示出来。将机器人分别放在黑色的地面和白色的图带上,观察它们的灰度值。参考值为:黑色地面255,白色图带0。“地面检测”模块使用的变量是“地面变量一”,“显示”模块显示的信息为“地面变量一”,延时等待0.1秒。参见图3—22。intvoidmain。3TirfJ-yurfuef):prixtlf(1,stit£I);0.lOODdO):;图3-22地面灰度检测机器人找房门的方式如图3-23所示。机器人一边前进一边进行红外测障,如果发现前方有障碍物,就转向900,继续前进和红外测障。机器人运行的过程表现为“前进、转向、前进、转向,,”的循环。在运行过程中,如果发现了门口的白线,就跳出条件循环,前进一段距离,走出门口,程序结束。机器人无论从什么地方出发,如果前进、转向的动作重复了5次,还没有发现门口的白线,就换一个方向进行搜索。示范程序如图3—24所示。图3—23机器人找房门的方式?除时时4图3—24找房门例程fl前贵0M强件衡升i参数设置主程序:包含“顺时针”子程序、“逆时针”子程序和“前进”模块。“前进”模块的作用是在发现门口的白线后,让机器人向前移动一段距离,走出房门。其参数设置为“速度80,时间1.000秒”。子程序:a)“顺时针”子程序“条件循环”模块:条件表达式为整型变量<5“红外测障”模块:条件表达式为红外变量一==前“地面检测”模块:条件表达式为地面变量一<180“前进”模块:速度50,时间0.1秒。“右转”模块:速度79,时间0.3秒,右转9000如果角度不准确,可调整参数。第一个“计算”模块:计算表达式为整型变量一=整型变量一十1第二个“计算”模块:计算表达式为整型变量=5第三个“计算”模块:计算表达式为整型变量二=5b)“逆时针”子程序“条件循环”模块:条件表达式为整型变量二<5“红外测障”模块:条件表达式^勺红外变量一==前“地面检测”模块:条件表达式为地向变量一<180“前进”模块:“速度50,时间0.1秒”。“左转”模块:速度-79,时间0.3秒,左转900。如果角度不准确,可调整参数。第一个“计算”模块:计算表达式为整型变量二=整型变量二十1第二个“计算”模块:计算表达式々整型变量一'=5第三个“计算”模块:计算表达式为整型变量二=5仿真运行仿真运行时,首先创建一个房间,门可以开在任意一边,门口添加一条白色图带。然后将机器人放在房间中就可以了。参见图3—25。在例程中,机器人先执行“顺时针”子程序,进行顺时针搜索。顺时针搜索时,每当发现前方有障碍物,机器人就右转900,同时第一个计算模块的整型变量一增加1。整型变量一达到5的时候,说明机器人已经顺时针走过一圈以上,这时条件循环表达式不再满足,于是条件循环中止,机器人转而执行“逆时针”子程序。“逆时针”子程序的运行过程与上述过程是类似的。在执行子程序的过程中,一旦机器人检测到了门口的白线,子程序中的第二个“计算”模块、第三个“计算”模块就将整型变量一、整型变量二都赋值为5,这时两个子程序的条件循环表达式均不再满足,于是机器人就跳出或跳过子程序,转而去执行后面的“前进”模块,走出房门。至此,整个程序就完成了。图3—25找房门场地3.9醉汉PAGE\*MERGEFORMAT#项目内容:机器人模仿醉汉的姿态,跌跌撞撞地走。如果碰到人或障碍物,就转过身,继续走。相关模块:直行、转向、碰撞检测。难度等级:创建环境一一设置一个房间,在房间里摆一些障碍物。小知识:碰撞传感器在此,我们简要介绍机器人的碰撞传感器,以型号为AS-MII的真实机器人为例。碰撞传感器是感知碰撞信息的传感器。在能力风暴智能机器人的左前、位设置有四个碰撞开关,它们与碰撞环共同构成了碰撞传感器QQ■11右前、左后、右后部(图3—26)。一n3—27。图3-26碰撞开关及碰撞环碰撞环与机器人底盘柔性连接,在受力后与底盘产生相对位移,触发固连在底盘上的碰撞开关,使之闭合。从而机器人就能感知来自不同方向的碰撞。参见图(见图3—28)。根据接收到的开关信号,机器人能够判别八个方向的碰撞PAGE\*MERGEFORMAT#nr图3—28碰撞方位在VJC1.5仿真版中,虚拟机器人至多只能识别前、后、左、右四个方向的碰撞。3.10自由行走项目内容:机器人在空间漫步,有时候会停下来,欣赏欣赏风景,唱唱歌,然后又继续走。遇到障碍物能自动避开,但不会撞上去。相关模块:转向、直行、红外测障、碰撞检测、条件判断、发音。难度等级:创建环境—自由创意。3.11趋光的飞蛾项目内容:机器人模仿飞蛾,一旦发现光,就会向着光走过去。相关模块:亮度检测、启动电机、延时等待、停止电机、永远循环、条件判断。难度等级:图3—29机器人趋光的方式程序分析问:机器人如何才能朝着光源走过去?答:可以采用比较机器人左右眼的亮度值的方法。如果左眼的亮度值小于右眼的亮度值,说明机器人的左眼接收到的光线较强,离光源较近;而机器人的右眼接收到的光线较弱,离光源较远。这时就让机器人逆时针划一段弧线,目的是让机器人的右眼离光源更近些。类似地,如果右眼的亮度值小于左眼的亮度值,则说明机器人的左眼离光源较远,这时就让机器人顺时针划一段弧线。通过逆时针划弧线和顺时针划弧线的交替,机器人就可以逐步接近光源了。参见图3—29。问:机器人怎样才不会撞上蜡烛?答:如果机器人左眼或右眼的亮度值小于某一个值,比如20,就停止电机。这样,机器人走到蜡烛跟前就会停下来,而不会撞上蜡烛。参见图3-30的例程。参数设置第一个“亮度检测”模块:方式选择“左”,变量选择“亮度变量一”。第二个“亮度检测”模块:方式选择“右”,变量选择“亮度变量二”。第一个“条件判断”模块:条件表达式为条件一:亮度变量一<20。条件二:有效,亮度变量二<20,条件逻辑关系“或”。第二个“条件判断”模块:条件表达式为亮度变量一<亮度变量二。其下的“启动电机”模块:左电机功率20,右电机功率80。第三个“条件判断”模块:条件表达式为亮度变量二<亮度变量一。其下的“启动电机”模块:左电机功率80,右电机功率20。“延时等待”模块:时间设为0.1秒。仿真运行仿真运行时,在运行场地中央添加光源,光源半径设为180,渐变值设为30。然后将虚拟机器人放在光圈的边缘,机器人就会向光源中
/
本文档为【VJC1.5仿真版使用教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索