中学生机器人竞赛培训教材精讲_第1页
中学生机器人竞赛培训教材精讲_第2页
中学生机器人竞赛培训教材精讲_第3页
中学生机器人竞赛培训教材精讲_第4页
中学生机器人竞赛培训教材精讲_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

中学生机器人竞赛

培训教材广州市第四十七中学

机器人兴趣小组

2006年3月广州市第47广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材TOC\o"1-5"\h\z第一章机器人的历史及定义 2第一节机器人的历史 2\o"CurrentDocument"第二节机器人的定义 2\o"CurrentDocument"第三节机器人的种类 3\o"CurrentDocument"第四节 机器人的未来 3\o"CurrentDocument"第五节未来的机器人 4第二章 机器人的运作原理 5第一节机器人的基本机能 5\o"CurrentDocument"第二节机器人的基本特征 6\o"CurrentDocument"第三章 教育机器人的组件 7\o"CurrentDocument"第一节机器人核心一一微型电脑控制器 7\o"CurrentDocument"第二节感觉器官 8\o"CurrentDocument"第三节动作器官 17第四节程序基础知识 27第一节模块的操作 27\o"CurrentDocument"第二节循环结构 29\o"CurrentDocument"第三节分支结构 31\o"CurrentDocument"第四节变 33\o"CurrentDocument"第五节计算模块 35第五章机器人竞赛项目 37第一节 赛事介绍 37\o"CurrentDocument"第二节机器人竞赛项目一一灭火方案 39\o"CurrentDocument"第三节 机器人竞赛项目一一足球比赛 55

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材第一章机器人的历史及定义第一节机器人的历史几千年前人类就渴望制造一种像人一样的机器,以便将人类从繁重的劳动中解脱出来。如古希腊诗人Homeros的长篇叙事诗《伊利亚特》中的冶炼之神瘸腿海倍斯特司,就用黄金铸造出一个美丽聪颖的侍女;希腊神话《阿鲁哥探险船》中的青铜巨人泰洛斯(Taloas);犹太传说中的泥土巨人等等,这些美丽的神话时刻激励着人们一定要把美丽的神话变为现实,早在两千年前就开始出现了自动木人和一些简单的机械偶人。1920年捷克斯洛伐克作家雷尔.卡佩克发表了科幻剧《罗萨姆的万能机器人》。在剧本中,卡佩克把捷克语“Robota”写成Y“Robot",“Robota”是农奴的意思。该剧预告了机器人的发展对人类社会的悲剧性影响,引起了大家的广泛关注,被当成了机器人的起源。剧情是:罗萨姆公司把机器人作为人类生产的工业产品推向市场,让它去充当劳动力。机器人按照其主人的命令默默地工作,没有感觉和感情,以呆板的方式从事繁重的不公平的劳动。后来,罗萨姆公司取得了成功,使机器人具有了感情,导致机器人的应用部门迅速增加。在工厂和家务劳动中,机器人成了必不可少的成员。机器人发觉人类十分的自私和不公正,终于造反了,开始屠杀人类。因为机器人的体能和智能都非常优异,因此消灭的幸存者,但它们不知道如何制造自己。最后,一对感知能力优于其他机器人的男女机器人相爱了。这时机器人进化为人类,世界又起死回生了。1950年,美国作家埃萨克阿西莫夫在他的科幻小说《I,Robot》中首次使用了“Robotics”,即“机器人学”。阿西莫夫提出了“机器人三原则”1、机器人不应伤害人类,且在人类受到伤害时不可袖手旁观;2、机器人应遵守人类的命令,与第一条违背的命令除外;3、机器人应能保护自己,与第一条相抵触者除外。机器人学术界一直将这三原则作为机器人开发的准则,阿西莫夫因此被称为“机器人学之父”。1954年,美国人GeorgeC.Devol提出了第一个工业机器人方案并在1956年获得美国专利。1960年,Conder公司购买专利并制造了样机。1961年,Unimation公司(通用机械公司)成立,生产和销售了第一台工业机器“Unimate”,即万能自动之意。1962年,A.M.F.(机械与铸造)公司,研制出一台数控自动通用机,取名“Versatran”,即多用途搬运之意,并以“IndustrialRobot”为商品广告投入市场。到了近代,机器人一词的出现和世界上第一台工业机器人问世之后,不同功能的机器人也相继出现并且活跃在不同的领域,从天上到地下,从工业拓广到农业、林、牧、渔,甚至进入寻常百姓家。机器人的种类之多,应用之广,影响之深,是我们始料未及的。第二节机器人的定义机器人问世已有几十年,但没有一个统一的意见。原因之一是机器人还在发展,另一原因主要是因为机器人涉及到了人的概念,成为一个难以回答的哲学问题。也许正是由于机器人定义的模糊,才给了人们充分的想象和创造空间。美国机器人协会(RIA):一种用于移动各种材料、零件、工具或专用装置的,通过程序动作来执行各种任务,并具有编程能力的多功能操作机(Manipulator)。美国家标准局:一种能够进行编程并在自动控制下完成某些操作和移动作业任务或动作的机械装置。

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou1987年国际标准化组织(ISO)对工业机器人的定义:工业机器人是一种具有自动控制的操作和移动功能,能完成各种作业的可编程操作机。日本工业标准局:一种机械装置,在自动控制下,能够完成某些操作或者动作功能。英国:貌似人的自动机,具有智力的和顺从于人的但不具有人格的机器。中国科学家对机器人的定义是:机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。尽管各国定义不同,但基本上指明了作为“机器人”所具有的二个共同点:是一种自动机械装置,可以在无人参与下,自动完成多种操作或动作功能,即具有通用性;可以再编程,程序流程可变,即具有柔性(适应性)。第三节机器人的种类机器人集中了机械工程、材料科学、电子技术、计算机技术、自动控制理论及人工智能等多学科的最新研究成果,代表了机电一体化的最高成就,是当代科学技术发展最活跃的领域之一。机器人的分类方法有很多,根据机器人的应用可以分成下面几类:(1)工业机器人。可以分成搬运、焊接、装配、喷漆、检查等机器人,主要用于工厂内,代替人类完成繁重、精密而重复的工作。(2)极限作业机器人。主要应用在人们难以进入的场所和环境,例如在核电站、海底、宇宙空间等进行作业的机器人。也包括建筑、农业机器人等。(3)娱乐机器人。有弹奏乐器的机器人、舞蹈机器人、宠物机器人等,具有某种程度的通用性。也有适应环境而改变行动宠物机器人。止匕外,也还有正在研制开发中的福利机器人、医疗机器人、灾难救援机器人、乒乓球机器人一类机器人。在上述的分类中,工业机器人最早开始普及,极限作业机器人和娱乐机器人多是由工业机器人改进的。近来正在积极开展拟人(类人)机器人的研究和制作。第四节机器人的未来在已经过去的20世纪,机器人的家族逐渐发展、壮大。在科学技术高度发展的今天,你能预测一下21世纪中的机器人会是什么样子呢,对于现有机器人的功能,这个人丁兴旺的大家族又会对人类的文明和社会的进步产生怎样的影响呢?1、机器人会越来越小目前各国的研究现状而言,表明微型机器人大多还处于实验室或原型开发阶段,但可以预见,在21世纪,微型机器人将广泛出现。由德国工程师莱纳尔•格茨恩发明的微型机器人,可直接由针头注射进入人体血管、尿道、胆囊或肾脏。它依靠微型磁铁驱动器前进,由医生通过遥控器指挥,既可用于疾病诊断,也可用于如动脉硬化、胆结石等管腔阻塞类疾病治疗。还能听从医生指挥,将药物直接送达到需要医治的患病器官,以取得更好的治疗效果。当这种微型机器人工作完成后,医生便可以像抽血那样用针头将它抽出来。在21世纪,将会有可以进入人体血液循环系统的功能齐全的医用微型机器人,能进入工业上的小管道甚或裂缝,进行检测与维护的工业用微型机器人,以及各种微型传感器、微型机电产品,如掌上电视等。在军事上,将有小如蝴蝶的飞行器,用于侦察敌情;装有自动

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou驾驶系统,能在海底航行数年的微型潜艇……2、机器人会越来越聪明现在的智能机器人,它的智力最高也只相当于两三岁幼儿的智力水平。在21世纪,高智能的机器人将越来越多,其智力水平也一定会不断提高,慢慢地达到七八岁、十几岁少年甚至青年人的智力水平。20世纪90年代后期,为促进智能机器人的发展,日本、韩国等国家相继发起举行机器人足球世界杯赛,并成立了相应的协会。机器人足球赛涉及多机器人的动作协调、系统控制等前沿的课题。可以说,每一场机器人足球赛实际上都是世界各国机器人发展水平的一场较量。也许在将来的某一天,就如同1996年世界国际象棋冠军卡斯帕罗夫输给了计算机“深蓝”一样,我们会看到世界顶尖级的球员组成的“超级联队”也对付不了的机器人球队,你相信吗?第五节未来的机器人在21世纪,在人的控制下,在改造自然、发展生产的事业和家庭生活中,将会出现更多更好的机器人。会有灭火的机器人,它身行敏捷,不仅在熊熊烈火之中来去自如,而且不管哪里冒烟、起火,它都能及时发现,赶到现场,将火灾隐患消灭。会有检修汽车机器人,只要把车摆上检修台,它用眼一扫,耳朵一听,立即就会查出毛病的部位和原因,进行修理,只需几分钟。会有边防机器人,24小时连续值勤,万无一失。不管白天、黑夜、风雨、冰雪天气,一有敌情,它就能马上采取措施,封锁边境线。同时通知空中、地面报警系统,监视敌人行动,使任何人也不能越境一步。还会有海洋开发机器人,它们能潜入海中勘察、取样、化验,很快制定出开发方案,有条不紊地下海作业,把海底的宝藏献给人类。有科学家预言:生物机器人将在20年后问世;而智能机器人的发展使机器人具有自我学习的功能,它会自己作出判断,发出指令……广州市第47广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材第二章机器人的运作原理第一节机器人的基本机能机器人作为一种具备一定智能的自动化机器,有如下几个基本的机能:(1)对外界产生作用:相当于人的手和脚,可以称之为动作器官。(2)获取外界信息:相当于人的眼、耳、舌头和皮肤,可以称之为感应器官。(3)规划作业:相当于人的大脑,可以称之为思维器官。机器人是机器有人的特点,我们可以从人自身出发就容易理解他的工作原理了,简单的讲就是传感器将得到的信息送到处理器决策执行驱动器的动作。人的动作机器人的动作人的动作机器人的动作我们大多数人都看到过电影或书本里描绘的外形酷似人类的机器人,这是机器人的一种表现形式。可机器人并不一定非得是这样的。事实上,机器人的形状各式各样。实际意义上的机器人,应该是“能自动工作的机器”。有的功能很简单,有的就复杂得多。例如:家里

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou的供暖系统,我们只需做最初设定,接下来它就能自己工作,我们身边的大多数家用电器都是这样。自动温控系统的元器件遍布于整座智能化大楼。第二节机器人的基本特征机器人通常具有三个基本特征,是不是机器人,我们只需看一看它是否具备以下三个特征:.身体:是一种物理状态,具有一定的形态。.大脑:控制机器人的程序。.动作:任何机器人都有一定的动作表现。自动洒水系统是机器人,它包含一个洒水的身体,程序是根据一定的条件,自动开关系统,如在白天洒水。它的动作是成功执行这一程序。电话应答机也是机器人,它有身体(就象一个盒子),程序是应答电话,动作是每天应答和记录信息。Sarcos是机器人,它的身体就象一个人,程序是与对手打乒乓球,它的动作就是打球。我们是怎么让机器人“弄懂”我们想让它做什么的?电话答录系统怎么知道什么时候接电话以及存储信息?当我们走到电动门前时,门会自动打开,原理是什么?它怎么会知道门前有人?还有我们玩的遥控汽车,我们是怎么让它倒退、转向、前进、停止的?答案就是一一大脑。所有的机器人都需要我们告诉它做什么,我们又是怎么实现对机器人的控制呢?主要包括三项内容:.输入:该信息来自机器人的传感器。.程序:你想让机器人遵循的一种规则或指令。.输出:机器人的运动,通常包括马达(运转)、灯和声音。所有的机器人都装有传感器,用于为机器人提供输入。一些传感器很象我们人类的感觉器官,能够“看到”或“感觉到”外界环境的变化。例如,所有用于开、关电器的开关和按钮都是触动传感器,你触动它们时,它们就能“感觉到”并作出反应。机器人身体内,有许多不同的传感器在工作。冰箱内的触动传感器对关门的压力作出反应:关闭冰箱内的灯。电话答录机内有一个电路,可以测量电压变化并显示为电话铃响。烤炉或烤箱则是利用温度传感器来控制加热线圈的加热温度。类似的机器人系统可能会使用不同的传感器完成相似的工作。一些自动控制的灯,如门外楼道的灯,可能会使用运动检测器,当人走近时,就开灯;而有的可能会用光电传感器来感应光线的强弱,天暗时,就开灯。用于控制机器人的程序可以是很简单,只是单纯的机械控制,合上开关,就可开始一系列运动。例如:用微波炉加热食品时,只需按下“加热”按钮一一触动传感器。有时程序也会很复杂,如美国宇航局太空探测器内的全自动照相机控制程序。一个机器人的控制程序主要取决于以下几种因素:使用的传感器类型和数量。传感器的安装位置。可能的外部激励。需达到的活动效果。

广州市第47广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材第三章教育机器人的组件机器人的构成是复杂无比的,有些精密的机器人甚至比得上人类组织器官的复杂度。而且机器人也是一种比较精密、先进的高科技产物,一般人是很难见到的,就更不必说亲手组装、研究它了。但是,机器人科学技术又是当今最先进的科学技术之一,了解这门技术也是很必要的。因此,我们就通过拼装式的教育机器人套件来初步认识机器人的神秘,亲自尝试搭建自己心目中的机器人。国内有几家有实力的机器人企业,一直致力于研发、生产、销售适合我们国情的教育机器人产品,并推动机器人教育进入学校与开展各式各样的机器人活动。使学生在组装机器人的过程中动手、动脑,提高协作能力和创造能力,成为素质教育下全面发展的新一代。拼装式的机器人是用各种拼装零件组合而成的,所以它没有固定的外形和功能,是由我们的创意和设计决定的。而且当我们觉得拼装套件提供的零件不能满足设计要求时,我们还可以利用身边所能得到的材料自己动手制作所需的零件。机器人有很多动作器官、感觉器官、思维器官等硬件,只有熟悉了这些硬件器官,我们才能轻而易举的搭建出自己心目中的机器人,给机器人添加各种功能。下面,我们一起来了解一下教育机器人的一些基本组件。思维器官:是整个机器人的核心模块,也就是中央控制器,在教育机器人中也称之为微型电脑控制器。动作器官:可以让机器人唱歌的发音模块;可以装饰和指示的发光模块;速度可以调节的马达模块等。感觉器官:可以分辨黑白甚至是不同颜色的灰度测量模块;可以检测碰撞的触碰检测模块等。第一节机器人核心一一微型电脑控制器7内置氨据茶靠理序 内■长电虱量维用.开机到句占已明关财记录*鸣百的常色,石使用户时可业或坤盛"总行**发音校顺——4--曲・疆油槽吠液晶显示椅斑广马达专用瑞口7内置氨据茶靠理序 内■长电虱量维用.开机到句占已明关财记录*鸣百的常色,石使用户时可业或坤盛"总行**发音校顺——4--曲・疆油槽吠液晶显示椅斑广马达专用瑞口「聿富壑子接口 ans.3*丹宝-日循事典qn.imeyaci,花凡由中功牡电・左支内■力.薛辛衍皿忖忘晶片示41m.Sias附心制A串蝇加弱人应讯疆-0/ 电/用耳口电翼指示灯 屋山悔电JEMt活■通讯指示灯 h!z!B示德见题办h中二年一 口正在不装依序广电源插座 「通讯嵯口 1耳图U可以的正修口口手口物科也厚M财扑■见[广州市第[广州市第47中学the47thmiddleschoolofguangzhou微型电脑控制器,在中鸣机器人或乐高机器人系列中也叫RCU或RCX,它是机器人系统的中枢,让你能够搭建一个机器人控制系统,机器人要实现各种功能都是靠它来指挥。微型电脑控制器是机械人不可缺少的大脑,控制机器人的所有行为,它有复杂的硬件结构和独立的操作系统。微型电脑控制器通过外部传感器(包括:触动、光电、角度、温度以及RCX本身的红外接收器)采集高精度的电压、温度、湿度、pH值、声音、角度、压力等环境信号,微型电脑控制器对采集到的环境信息进行分析和处理,与事先编好的程序进行对照,执行与环境信息相符合的子程序,控制相应的马达等动作模块做出相应的动作。微型电脑控制器可以将采集的数据保存到它自己的内存,也可上传数据到计算机上显示,并进行分析与处理。通过红外线接口,微型电脑控制器还可以与其它红外设备通信,它们之间也可以互相通信或远程控制,让用户制作大型的控制系统。微型电脑控制器的程序可用简单的图形化编程语言在计算机上进行编写,然后,用红外发射仪将编写好的机器人系统程序指令从计算机下载到微型电脑控制器的内存。这样,微型电脑控制器就可控制输出一一光电、声音、附着在机械部件上的机器人马达,并可向其他红外设备发送红外信号。因为控制器本身就是一个微型电脑,所以,你的机器人系统可以脱离计算机独立运作。你可以组建任何机器人,无论是智能化住宅内的光敏防盗报警器,还是可以沿轨道运动的机器人或会投篮的机器人。一般的,教育用的机器人核心一一微型电脑控制器具备多路输入各种传感器信号的通信接口,多路输出马达、灯等信号的通信接口;能够使用独立的电池或者变压器交流供电;配有一定容量的内存储器,能够储存数个独立的程序,并且内存储器能够擦写,方便更换不同程序;能够通过数据线或者红外线与计算机进行通信,方便通过计算机分析采集到的信息或者是将在计算机编写的程序传递到微型电脑控制器的内存储器上;为了能够让搭建的机器人具有更加灵活的动作,微型电脑控制器一般都能够进行多任务处理,具有模拟/数字信号转换、数据采样和计数器的功能。第二节感觉器官在教育机器人套件中,该类模块的种类是最多的,这些模块是机器人与外界取得联系,使之能够根据环境的改变而执行不同动作的不可或缺的重要组成,也是机器人智能化表现的由来。我们应该熟悉掌握各种感觉器官模块的特性,在设计机器人时灵活的使用,创造出功能强大、高智能化的机器人。一、触碰模块触碰模块,是一个利用接触片实现检测触碰功能的电子部件。如图所示,是中鸣机器人广州市第47中学the47thmiddleschoolofguangzhou广州市第47中学the47thmiddleschoolofguangzhou二、音量测量模块机器人竞赛培训教材的触碰模块,有三条接口线:黑色线是地线,红色线是电源线(+5V),黄色线是信号线。触碰模块主要用于检测外界触碰情况。例如:行进时,用于检测障碍物;走迷宫时,用于检测墙壁,等等。触碰模块是一种只有一条检测信号线的数字式的电子部件,它只有两种状态表示,分别是“1”表示触碰,“0”表示未触碰。因此,触碰模块应该接到微型电脑控制器的数字信号输入/输出端口。音量测量模块,是能够测量音量强弱的电子部件。如图所示,是中鸣机器人的音量测量模块,有三条接口线:黑色线是地线,红色线是电源线(+5V),黄色线是信号线。音量测量模块主要用于测量外界音量的强弱。例如:根据音量的强弱,机器人自动启动或停止;通过识别有一定梯度的音量,机器人调节自己的转动方向,等等。音量测量模块是一种只有一条检测信号线的模拟式的电子部件,应接到微型电脑控制器的模拟信号输入/输出端口。三、温度测量模块三、温度测量模块温度测量模块,是能够测量温度强弱的电子部件。如图所示,是中鸣机器人的温度测量模块,有三条接口线:黑色线是地线,红色线是电源线(+5V),黄色线是信号线。温度测量模块主要用于测量温度的强弱。例如:根据温度的强弱,机器人自动开关风扇;通过识别有一定梯度的外届温度,机器人慢慢从调节风扇强弱,等等。温度测量模块是一种只有一条检测信号线的模拟式的电子部件,应将它接到微型电脑控广州市第47广州市第47中学,the47thmiddleschoolofguangzhou机器人竞赛培训教材制器的模拟信号输入/输出端口。四、火焰模块四、火焰模块火焰模块,是能够测量可见光、红外光强弱的电子部件。如图所示,是中鸣机器人的火焰模块,有四条接口线:黑色线是地线;红色线是电源线(+5V);黄色线是信号线,用于测量红外光值;棕色线也是信号线,用于测量可见光值。火焰模块主要用于测量环境光的强弱。例如:灭火比赛时用于测量火焰值;足球比赛时,用于确定足球的方向,等等。火焰模块是一种只有两条检测信号线的模拟式的电子部件,应将它接到微型电脑控制器的模拟信号输入/输出端口。五、环境光模块五、环境光模块环境光模块,是能够测量可见光强弱电子部件。如图所示,是中鸣机器人的环境光模块,有三条接口线:黑色线是地线,红色线是电源线(+5V),黄色线是信号线。环境光模块主要用于测量环境光的强弱。例如:根据光线的强弱,机器人自动开关窗帘;通过识别有一定梯度的环境光,机器人慢慢从暗处走到亮处,等等。环境光模块是一种只有一条检测信号线的模拟式的电子部件,应将它接到微型电脑控制器的模拟信号输入/输出端口。六、红外检测模块10

机器人竞赛培训教材广州市第47中学the47thmiddleschoolofguangzhou红外检测模块,是一个能够实现红外检测功能的电子部件。如图所示,是中鸣机器人的红外检测模块,有三条接口线:黑色线是地线,红色线是电源线+5V广州市第47中学the47thmiddleschoolofguangzhou七、红外发射模块红外发射模块与红外接收模块通常配合使用,用于检测障碍物。例如,灭火比赛中检测家具障碍物。七、红外发射模块红外发射模块,是一个能够实现红外发射功能的电子部件。如图所示,是中鸣机器人的红外发射模块,有三条接口线:黑色线是地线,红色线是电源线+5V),黄色线是信号线。红外发射模块与红外接收模块通常配合使用,用于检测障碍物。八、灰度测量模块11

机器人竞赛培训教材广州市第47中学the47thmiddleschoolofguangzhou灰度测量模块,是一种能够区分出不同颜色的的电子部件。如图所示,是中鸣机器人的灰度测量模块,有三条接口线:黑色线是地线,红色线是电源线+5V广州市第47中学the47thmiddleschoolofguangzhou灰度测量模块主要用于区分不同的颜色。例如:沿着黑色轨迹线行走,不偏离黑色轨迹线;沿着桌面边沿行走,不掉到地上;足球比赛时,识别场地中灰度不同的地面,以便于进行定位,等等。九、超声测距模块灰度测量模块是一种只有一条检测信号线的模拟式的电子部件,应将它接到微型电脑控制器的模拟信号输入/输出端口。九、超声测距模块超声测距模块的工作原理是发射超声波,检测被测物体反射回波接收后的时差来测量距离的模块,是一种非接触式测量工具(也避免发出光线,影响其他机器人)。如图所示,是中鸣机器人的超声测距模块,它的组成部件如下:编号说明①②超声波接收探头超声波发射探头12

③接线端口,由四条线组成黑色线:地线红色线:电源线(+5V〜+8V)黄色线:信号线(SCL)棕色线:信号线(SDA)I广州市第47I广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材超声测距模块测定物位距离时不接触被测物体,测量精度高;测量范围3-100厘米。在测距中应注意模块的安装,以确保超声波垂直发射到被测物体表面,这样测量结果会更加精确。十、抗干扰光感模块当我们使用普通光感对物体(如地面)的灰度进行测量时,经常受到环境光变化的影响。而通过采用光载波技术和编码技术的抗干扰光感(十、抗干扰光感模块当我们使用普通光感对物体(如地面)的灰度进行测量时,经常受到环境光变化的影响。而通过采用光载波技术和编码技术的抗干扰光感(Light-proofgreyscalesensor)模块,在测量点的环境光线变化时(例如有窗户的斜照日光,室内照明光线变化等),仍能稳定地读出被测物体表面的灰度值,且其读数与环境光照的强度无关。实物图如下:抗干扰光感模块能够直接测量物体表面的灰度数值,且度数不受环境光的照度影响;方便机器人轨迹赛、足球赛等的参赛者更注重于程序的逻辑思维而非繁琐的光感阀值调整。抗干扰光感模块使用时应注意与被测物体的表面距离应保持在1-1.5cm左右,过高或过低的距离会影响读数的准确性。另外抗干扰光感模块是一种只有一条检测信号线的模拟式的电子部件,应将它接到微型电脑控制器的模拟信号输入/输出端口。十一、复眼模块也叫红外复眼(ommateum,compoundeye)模块、飞眼,顾名思义是由若干个红外感光单元构成的、能够同时多方位测量红外光强弱的电子部件,如图所示,是中鸣机器人的复眼模块。13广州市第47广州市第47中学’the47thmiddleschoolofguangzhou机器人竞赛培训教材编号说明①绿色指示灯:测量值最大时该方位指示灯亮②接口线由四条线组成:黑色线一地线;红色线一电源线(+5V);黄色线一数据信号线;棕色线一时钟信号线。③红外光敏管:可以测量环境红外光值。复眼模块主要用于测量环境光的强弱,测出的数据我们称为光值。复眼应用广泛,例如:在灭火比赛中用于测量火焰;在足球比赛中用于确定足球的方向。复眼中由一个中央处理器和七个光敏二极管。中央处理器时刻检测安装在不同方位的光敏二极管的强度,并找出最强的一个;当中央处理器接收到机器人控制器发出的命令时,将检测到的光值返回给机器人控制器。中鸣机器人中可将复眼模块接到微型电脑控制器的任一自由端口,注意黑线靠边;安装复眼时,7个光敏二极管朝下(PCB板下面)安装。在机器人快车中有一个模块图标是用来控制复眼模块的,在模块图标的属性中有一"command”栏,在此栏中输入不同的控制命令,便可以控制复眼了。各控制命令的含义如下表:控制命令返回值含义功能分类描述1第一个通道测量到」的光值能在180度范围内任意读取7个方向中的任一个感光值。2第二个通道测量到」的光值3第三个通道测量到」的光值4第四个通道测量到」的光值5第五个通道测量到」的光值6第六个通道测量到」的光值7第七个通道测量到」的光值8最大光值所在的通道号能即时读取7个方向中的最强的感光值及其方位。9最大光值10最小光值所在的通道号能即时读取7个方向中的最弱的感14

11最小光值光值及其方位。127个通道测出的平均光值能即时读取7个方向的平均感光值。广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材十二、指南针模块BN.Cal.HI,Com机器人竞赛培训教材十二、指南针模块BN.Cal.HI,Com如图所示,是中鸣机器人的指南针模块,它各部分的名称与功能如下:①接线端口:把接线埠直接连接到微型电脑控制器自由端口。②正北校正按钮:指南针执行正北校正程序,将当前指南针的方向假定为正北方向。同时按住②、④两个按键无效。③指南针方向:表示当前指南针所指的方向。④硬铁补偿按钮:指南针执行硬铁补偿程序,将当前指南针的方向假定为正北方向。降低附近的铁物质等产生的磁场引起的失真。注意:此功能使用不当,可能导致读取角度紊乱、不断重复出现某个特定的值或者是角度偏差非常大等,慎用!!同时按住②、④两个按键无效。⑤硬铁补偿旋转示意:提示执行硬铁补偿时,模块必须水平旋转一圈以上。⑥工作状态指示灯:表示当前指南针模块的工作状态。亮灯表示有电源供电;绿色表示指南针可以正常读取数据;红色表示执行特定功能程序,读取数据无效;红、绿灯交替闪动15

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou时表示模块出错或者是模块复位。⑦指南针模块编号:指南针模块的编号,方便查找应用文档以及疑难解答。⑧磁场方向指示:没有使用“正北校正”功能前,指南针返回的数据是0或者360度,此标示的各个方向与地球磁场一致。如果使用了“正北校正”功能,那正北方0(或者是360)度就表示您新认定的方向,此标示就会以新的北方为参考,不再表示自然的磁场方向。使用前水平地固定好模块,防止使用时模块转动,保证测量准确。安装时指南针要远离电子部件(包括主控板、其它模块、电池、马达、液晶等等)至少15厘米,避免磁场干扰。和其它测量模块一样,指南针模块可以把测量到的角度返回给微型电脑控制器。把接线端口直接连接到中鸣机器人微型电脑控制器自由端口,定义好硬件信息,然后用《机器人快车》软件里的“B型指南针模块”=>“读取角度数据图标”进行读取当前数据即可。由于指南针模块的各种控制功能可以使用按键来执行,所以只需要通过一个图标直接读取数据,免除了编程上的麻烦。下图的就是循环读取指南针的角度,然后显示在液晶屏上的例子:指南针返回的数据是角度值,范围在0〜360之间,单位是“度”。没有使用“正北校正”前,返回角度表示指南针方向与地球磁场正北方向的顺时针方向夹角;如果使用了“正北校正”功能,那正北方0(或者是360)度就表示您新认定的方向,其余角度就是指南针方向与这个新北方的顺时针夹角。正北方向数值上表示为0度(或360度)。顺时针转动模块,角度增大;逆时针转动模块,角度减小。高级功能:1、正北校正:功能:将模块当前的方向设置为正北方向。使用方法:当用户需要对正北的方向进行重新设置时,把指南针模块水平指向用户认为的正北方,按下正北校正按钮并放开。注意:按键按下时模块指示灯会变为红色,此时读取数据无效。放开按键时刻,模块认定当前方向为新的正北方。完成后指示灯会恢复绿色,可以正常读取数据。校正的结果即使模块断电也会保存下来。所以在同一个地点可以只进行一次校正。不同地点则按需要进行校正。每次执行正北校正都会取消上一次的校正结果,并以最新这次的结果取代。“硬铁补偿”功能或者“模块复位”功能会取消正北校正信息,使模块指向恢复与地球磁场方向一致。所以在需要时,执行了“硬铁补偿”或者“模块复位”后要再次进行正北校正。2、硬铁补偿:功能:指南针是以读取地球磁场方向来辨认地理方向的。附近的铁物质等产生的磁场可能会引起角度偏差。消除该偏差,使读出的方向角更精确,这就是硬铁补偿。使用方法:首先把指南针模块放在尽量水平的位置。然后按下硬铁补偿按钮,此时模块指示灯会变为红色,放开按键后就可以开始硬铁补偿了。这时把指南针模块水平地旋转一圈以上。整个硬铁补偿过程大约持续10秒钟,完成后红灯会恢复为绿灯,完成硬铁补偿。16

机器人竞赛培训教材:广州市第47:广州市第47中学the47thmiddleschoolofguangzhou键按下时模块指示灯会变为红色,此时开始读取数据无效。直至模块完成补偿,指示灯会恢复绿色后,才可以正常读取数据。补偿的结果在模块断电后也会保存下来。所以在同一个地点可以只进行一次补偿。不同地点则因为环境不同,干扰磁场也不相同,用户可以按需要进行补偿。每次执行硬铁补偿都会取消上一次的补偿结果,并以最新这次的结果取代。“硬铁补偿”功能会取消正北校正信息,使模块指向恢复与地球磁场方向一致。所以在需要时,执行了“硬铁补偿”后要再次进行正北校正。此功能使用不当,可能导致读取角度紊乱、不断重复出现某个特定的值或者是角度偏差非常大等。除非环境特别恶劣,否则本模块在不使用硬铁补偿时读取的角度数据已经比较准确。本功能要慎用!!如果不确定,可以使用液晶模块来查看指南针的角度数据。必要时可以使用“硬铁补偿”功能或者“模块复位”功能来纠正。3、模块复位功能:将模块恢复为出厂时候的状态(无校正、补偿信息)。此功能将清除“正北校正”、“硬铁补偿”等信息,主要是让用户在不能正确(或时间不足够)使用硬铁补偿,或是希望取消原来的校正、补偿信息等情况下使用。使用方法:首先按下硬铁补偿按钮,此时模块指示灯会变为红色。放开补偿按键后在亮红灯的期间按住正北校正按钮不放(约2秒钟),直至指示灯红绿交替闪动,表示完成模块复位。此时松开所有按键,指示灯恢复绿色,模块恢复为出厂状态,可以正常使用。注意:亮红灯或者红、绿灯交替闪动时读取数据无效。直至模块完成复位,指示灯恢复绿色后,才可以正常读取数据。在使用指南针模块时可能碰到的问题:1、读取不到模块的数据(角度值一直是“999”)首先检查电源是否接触良好,电池电力是否充足,确保双方有足够电力进行通讯。然后检查连接线是否完全插入插座里面。如果是偶尔接收数据有错误,有可能是使用中旋转模块、机器人受到撞击等影响接线的接触,请做好机器人的防撞、防震动措施。2、在读取角度的过程中,无论当前方向在哪里,都是不断重复出现某个特定的数值时(例如180),或者是角度偏差非常大。这是由于“硬铁补偿”操作过程不当引起的,请按上面“硬铁补偿”的说明,重新进行硬铁补偿;或者使用“模块复位”来取消硬铁补偿。3、在读取角度的过程中,在某个局部区域角度偏差大。这是由于模块受到交大的磁场干扰所致(例如紧贴着电池、马达之类模块安装)。请重新安装模块,指南针要远离电子部件至少15厘米,并且是有按键的一面朝上,水平安装。第三节动作器官动作器官也可以称之为动作模块,动作模块使机器人能够模仿人类或动物的某些动作,或者完成某些制定的动作。17

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou一、发光模块一个能够实现发光功能的电子部件,可亮可灭。如图所示,是中鸣机器人的发光模块。①是发光二极管;②是标签BE-1500BE:表示积木机器人的电子部分,15:表示发光^型,00:表示红光;③是接口线,由三条线组成。黑色线一地线,红色线一电源线(+5V),黄色线一信号线。发光模块主要用作指示用途。例如,在走轨迹的过程中,当检测到黑线的时候,使发光模块亮,否则灭;在灭火的过程中,当检测到火焰的时候,使发光模块亮,否则灭,等等。二、发音模块发音模块,是一个能够实现发音功能的电子部件,音频高低可以调节。如图所示,是中鸣机器人的发音模块。①是标签,BE表示积木机器人的电子部分,22表示发音^型,00表示普通发音模块;②是接口线,由三条线组成。黑色线一地线,红色线一电源线(+5V),黄色线一信号线;应用范围:发音模块主要用于发音。例如:唱一段小星星的槃谱;当遇到一种特定的情况时,发出一种特定频率的声音,等等。三、马达模块18

18广州市第47广州市第47中学the47thmiddleschoolofguangzhou马达模块,是一个驱动部件,能够实现转动功能,可以带动物体转动,有前转或后转选择,从静止到最高速的运动过程中可调节速度。马达模块是机器人的动力输出模块,动力从输出轴以圆周运动的方式输出。为了便于输出轴驱动其它构件,可以采用转翰轴进行过渡。条形马达模块可以通过四个角的螺栓孔与其它零件紧固。四、伺服马达控制套件在制作人型机器人或其它仿生机器人时,通常会使用多个微型伺服马达作为其肢体的转动部件。中鸣机器人的24路微型伺服马达控制套件(JMC-CB-1302)正是一套用于控制多达24个伺服马达协调动作的软件和硬件系统。JMP-CB-1302微型伺服马达不但能实时地控制多达24个微型伺服电机,精确定义伺服马达运动范围,纠正每个伺服马达的运动偏差,具有两千步的运行记录功能,还可以配合其他模块实现无线控制、传感器响应控制等等。伺服马达控制软件,用于在微软windows系统下实时地控制24路伺服电机,设置控制板参数,下载控制数据表等。伺服马达控制板是一块完整组装好的、通用型的24路伺服马达控制板。该板可根据通讯接口的指令进行实时受控操作,具有离线控制功能的板还可以根据下载动作表,执行多达几千步的伺服马达操作。使用JMP-CB-1302套装内的路伺服马达控制板,通过通讯接口与PC或其它控制系统的RS232电平的串口相连接(包括真实串口、USB转换线、无线模块等等)。用户可通过简单的串口编程,对微型伺服马达进行实时运动控制、参数设置、运动表下载等等。19机器人竞赛培训教材广州市第47中学the47thmiddleschoolofguangzhou控制板在上电后,等待上位机发送过来的数据,然后根据当前的通讯指令来进行实时在线控制。机器人竞赛培训教材广州市第47中学the47thmiddleschoolofguangzhou控制板在上电后,等待上位机发送过来的数据,然后根据当前的通讯指令来进行实时在线控制。在离线控制方式中的控制板套装还可以:在上述的方式完成后,把控制数据下载到控制板内,然后脱机运行。伺服马达控制软件MiniServoExplorer简介:伺服马达控制软件MiniServoExplorer简介:JM-MiniServoExplorer是实现伺服马达控制器通讯协议PC机上的专用WINDOWS控20广州市第47中学the47thmiddleschoolofguangzhou广州市第47中学the47thmiddleschoolofguangzhou制软件,本软件集合了可视化、易学易用、操作控制方便且灵活于一身。操作灵活、简单易用是它最大的特点,其功能简介如下:机器人竞赛培训教材1、可以根据各个马达的参数或外界条件的不同而独立设定伺服马达行程上限和下限的功能。2、可以独立地控制系统中的任意一个马达,让多个马达各自独立地工作或者协调工作。21广州市第47中学the47thmiddleschoolofguangzhou广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材3、可以让马达以最高的速度运动到指定的位置,或者通过设置运动因子来实现平滑过渡。4、可以通过输入马达运动位置点,或者通过界面上的滚动条的拖放,来实现相应马达的控制。5、软件操作简单易学,界面一目了然,所提供各项操作功能非常丰富。6、可以一边演示,一边修改不满意的动作,也可以脱离伺服马达控制器而直接编辑完动作后再系统地执行编辑好的动作。7、修改动作方便,可以把已经编辑的动作保存待以后再使用。也可以把多个编辑好的动作串连起来,组合成一套完整的运动动作。8、功能强大,有多种演示效果可以选择,甚至和音乐同步控制,演示效果形象生动。8、功能强大,有多种演示效果可以选择,甚至和音乐同步控制,演示效果形象生动。伺服马达控制板的接口①伺服马达接插端口②电源端口③电源开关④运行按钮⑤外部指示灯端口⑥扩展通讯端口⑦复位按钮⑧标准通讯端口22

广州市第47中学the47thmiddleschoolofguangzhou广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材伺服马达接插端口①此端口用于接插国际标准接口的伺服马达,包括模拟式的以及数字式的伺服马达。端口正前方有1〜24号的标注,表示本列(按照上页标示图,纵向为“列”)端口是受哪一个通道信号控制的伺服马达。每一列可以接插一个伺服马达。整行端口侧面有G/V/X的标注,表示本行(按照上页标示图,行向为“行”)的接插的是什么引线。其中“G”表示接插伺服马达的地线(一般为黑色);“V”表示接插伺服马达的电源线(一般为红色);“X”表示接插伺服马达的控制信号线(一般为黄色)等等。引脚输出参数如下:支持伺服马达型号如VIGOR.FUTABA、HITEC等标准微型旧服马达输出脉冲T=20ms,VH=0.5-2.5ms(0" )控制转角精度0.72*/步控制信号5V,20mA(最大)电源端口②此端口用于接插整套系统的供电电源。按照上页标示图,上侧带钩的一侧应当连接电源的地线(0V),下侧应当连接电源的正极(5〜6V)。此电源接口可以接插中鸣标准接口的伺服系列电池,方便脱机运行或者是无线遥控运行。为了方便长时间调试,也可以用套件内提供的的电源转接线,接插符合下面表格指定的合适外置电源适配器(注意电源极性!)来使用。注意:伺服马达控制板的供电电源包括控制系统的供电和驱动伺服马达的供电,既要保证供电稳定,又要注意消耗电流较大。所以请尽量选择质量优秀的开关电源,而且必须是电压恒定,纹波较小,功率充足的电源。否则容易损坏控制板和伺服马达,甚至引起电源发热、烧毁!23

最小值最大值银氢充电电池(每节L2V)511J6节交流适配器输入电压5.0V6.0V交流适配器接口DC5.0内接正极,外接负极电源纹波不大f-100mV输入电流每连接一个伺版马达.不少于LA(注1)广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材注1:由于不同型号的伺服马达的耗电不同,而且运行状态不同时,耗电也不同,所以请以实际使用为准。一般上,伺服马达启动和满负载的时候耗电达1A〜1.5A,而没有负载时候只有约150mA耗电,所以请均衡考虑,设计里面有多少同时运动的伺服马达,来考虑电源的功率选择。为防止意外,请确保不要使用功率小于设计里面一半数目的马达满功率运行时功耗的电源。电源功率不够会导致控制板频繁重新启动,系统运行不稳定,甚至引起电源发热、控制板烧毁!机器人竞赛培训教材五、微型伺服马达运行方式。控制板的运行模式分为脱机运行方式和实时控制方式两种。控制板在接通电源后,或者是按下“复位按钮⑦”后,首先执行软启动,使用用户设定的时间间隔,逐个启动每个伺服马达。然后进入等待状态。如果此时,等待上位机发送正确的伺服马达实时控制指令,控制板就会进入实时控制状态。如果没有上位机发送正确的伺服马达实时控制指令,而“运行按钮④”被按下,控制板则进入脱机运行状态,顺序执行上一次下载到机器人中的动作表。在脱机运行状态中,一旦控制板接受到上位机的数据,并且是符合正确的正确的伺服马达实时控制协议,就会马上切换到实时控制模式,等待上位机的控制。五、微型伺服马达微型的伺服马达在无线电业余爱好者的航模活动中使用已有很长一段历史,而且应用最为广泛,国内亦称之为“舵机”,含义为:“掌舵人操纵的机器”。可见,微型伺服马达主要用作运动方向的控制部件。伺服马达本质上是可定位的马达。当伺服马达接受到一个位置指令,它就会运动到指定的位置。因此,个人机器人模型中也常用到它作为可控的运动关节,这些活动关节我们也常称它为自由度。微型伺服马达有着如下的优点:大扭力、控制简单、装配灵活、相对经济,但它亦有着先天的不足:首先它是一个精细的机械部件,超出它承受范围的外力会导致其损坏,其次它内藏电子控制线路,不正确的电子连接也会对它造成损毁,因此,很有必要在使用前先了解伺服马达的工作原理,以免造成不必要的损失。微型伺服马达内部结构。一个微型伺服马达内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的24广州市第47中学the47thmiddleschoolofguangzhou广州市第47中学the47thmiddleschoolofguangzhou输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低。机器人竞赛培训教材微型伺服马达的工作原理。一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示:控制脉冲-控制电路一峰一露]->意, 马达 齿轮组 电位器比例电压 .减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。标准的微型伺服马达有三条引线,黄色线是控制线,接到控制芯片上;中间的红色线是伺服马达工作电源线,一般工作电源是5V;黑色线是地线。电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。甚至小伺服马达在大负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1-2ms之间,而低电平时间应在5-20ms之间,并不很严格,下表表示出一个典型的20ms周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系:25

广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材输入正脉冲宽度(周期为Mms)伺服马达输出臂位置广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材输入正脉冲宽度(周期为Mms)伺服马达输出臂位置0.5ms1.5ms.2.0ms1.0ms伺服马达的运动速度。伺服马达的瞬时运动速度是由其内部的直流马达和变速齿轮组的配合决定的,在恒定的电压驱动下,其数值唯一。但其平均运动速度可通过分段停顿的控制方式来改变,例如,我们可把动作幅度为90°的转动细分为128个停顿点,通过控制每个停顿点的时间长短来实现0°—90°变化的平均速度。对于多数伺服马达来说,速度的单位由“度数/秒”来决定。使用伺服马达的注意事项。除非你使用的是数码式的伺服马达,否则以上的伺服马达输出臂位置只是一个不准确的大约数。普通的模拟微型伺服马达不是一个精确的定位器件,即使是使用同一品牌型号的微型伺服马达产品,他们之间的差别也是非常大的,在同一脉冲驱动时,不同的伺服马达存在±5°的偏差也是可能的。要特别注意,绝不可加载让伺服马达输出位置超过0°-180。的脉冲信号,否则会损坏伺服马达的输出限位机构或齿轮组等机械部件。由于伺服马达的输出位置角度与控制信号脉冲宽度没有明显统一的标准,而且其行程的总量对于不同的厂家来说也有很大差别,所以控制软件必须具备有依据不同伺服马达进行单独设置的功能。26

>广州市第>广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材节程序基础知识第一节模块的操作在教育机器人制作中,我们所使用的编程软件基本上都是使用C语言环境下的图形界面的编程软件,比传统的文本编程更加高级。一般来说,这类软件易学、易用、易^、易懂,都非常适合于编程思维的培养,采用基于图形化、模块化编程语言,全部功能模块使用图标表示,遵循自顶向下的编程逻辑思维过程。读者只需简单地拖放各中模块图标,绘制出流程图,在属性设置菜单中设置好相关参数,软件就能自动生成可视化C语言源代码,帮助你轻松完成编程,快速掌握如何控制机器人。二程序界面下面以中鸣机器人的编程软件一一机器人快车为例,了解一下这类软件的基本操作。上图便是机器人快车的应用程序编辑界面。拖放图标是机器人快车可视化编程的基础,我们的编程思想就是通过流程图来表现。而流程图主要表现为图标、图标间的连线和参数设置。我们可以从模块库中拖动各类图标到编程区,然后用线把编程区里的图标按照一定的逻辑顺序连起来,以此实现自己的编程思想。代码区将显示与编程区中已连线图标对应的C语言代码,如下图所示:27

机器人竞赛培训教材广州市第47中学机器人竞赛培训教材广州市第47中学the47thmiddleschoolofguangzhou二、模块的操作包括拖放模块图标,移动模块图标,复制模块图标,删除模块图标,模块的调用,添加模块^明。1、拖放模块图标拖放图标是机器人快车可视化编程的基础,我们的编程思想就是通过流程图来表现。拖放图标主要涉及到两个区域,第一个是模块库区,第二个是编程区。我们可以从模块库中拖动各类图标到编程区,然后用线把编程区的图标按照一定的逻辑顺序连起来,以此实现自己的编程思想。具体的操作步骤如下:先在模块库中选中需要的模块图标,并按住鼠标左键不放,把其拖到编程区后再放开鼠标左键,即完成图标的拖放操作。2、移动模块图标在编程区中的图标,可以随便改变其位置。在编程区中移动模块图标的方法如下:如果要改变位置的图标只是一个,可以用鼠标左键按住该图标不放,把其拖到编程区其它位置后放开鼠标左键。如果要改变位置的图标不止一个,可以先选定多个图标然后用鼠标左键按住其中一个被选定的图标不放,拖到编程区其它位置后放开鼠标左键。多个图标同时拖动后,其相连的线也会跟随移动。3、复制模块图标机器人快车提供了复制图标的功能。由于新复制的图标保持了原图标的设置,所以我们可以通过该功能来快捷地添加相同设置的图标。在机器人快车中,复制图标的步骤如下:1)选定一个或多个图标。选定方法与在Windows操作系统中选定文件的方法相同。2)用鼠标右键点击其中一个被选定的图标,然后在弹出的右键菜单中点击“复制”菜单。3)用鼠标右键点击编程区的空白区域,然后在弹出的右键菜单中点击“粘贴”菜单。4)这样,相同的图标就会被添加到编程区中了。4、删除模块图标机器人快车提供删除图标的功能。你可以通过该功能来删除编程区中的图标。删除图标的步骤如下:28

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou1)选定一个或多个图标。选定方法与Windows操作系统中选定文件的方法相同。2)用鼠标右键点击其中一个被选定的图标,然后在弹出的右键菜单中点击“删除”菜单。3)这样,选中的图标就会被删除掉。5、模块的调用在机器人快车中,一个特定功能的程序段落可以编辑成为一个模块。所谓模块调用,其实就是模块的使用。在这一节中所说的模块,不包括流程控制模块。简单来^,把模块图标从模块库拖动到编程区中,然后将图标通过线连接到程序中,这样的过程就是一个调用模块的过程。但实际上,模块调用并不是这么简单而已。不同的模块图标都有其各自不同的数据需要设置,只有完成数据参数设置的,才是一个完整的模块的调用。6、添加模块说明在使用机器人快车的过程中,可能会有多个相同的图标出现在编程区中。为了能更方便地阅读程序和更清晰地理解程序,我们有必要为其中一些模块图标添加^明文字。为模块图标添加^明的方法如下:1)在编程区中,用鼠标右键点击任一图标,然后在弹出的菜单中点击“说明”菜单。2)在弹出的“说明”对话框中输入模块图标的说明文字。3)如果想让模块图标的说明文字显示在编程区中,请在“显示说明文字”前打勾。第二节循环结构一、循环结构简述在日常生活中,我们经常要周期性反复地做着同样的事情。例如:张三早上8:00吃早餐;中午12:00吃午餐;晚上7:00吃晚餐,他几乎每天都如此,我们可以把他的三餐时间安排看作是一个循环,这种循环是永无止境的,不会被中断或终止。如图1所示:但事实上绝大多数情况下,我们都会在某种特定的条件下才会重复做某些事。例如,张三只有在周一至周五的工作日时间内才会这样安排三餐,周六、周日他都较迟起床,一般到8:30才吃早餐,这样,张三的三餐安排便变为带条件判断的循环结构,如图2所示。29

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou同样,在程序设计中,很多时候我们也需要程序做某些周期性重复的工作。因此,大多数程序语言都提供了循环结构的程序设计方法。循环结构是结构化程序设计方法的三种基本结构之一。C语言程序的循环结构有两种形式:“当型”循环和“直到型”循环。1、“当型”循环首先判断循环控制表达式是否为“真”。若为“真”,则反复执行循环体;若为“假”,则结束循环。“真”用Y表示,“假”用N表示。如下图所示。在C语言中,while语句和for语句可以实现“当型”循环。2、“直到型”循环首先执行循环体,然后才判断循环控制表达式。若为“真”,则反复执行循环体;直到循环控制表达式为“假”时结束循环。如上图所示。在C语言中,do-while语句可以实现“直到型”循环。二、循环结构的嵌套循环结构是可以嵌套的,而且必须是层层内嵌,不能交错嵌套。正确的嵌套方式如图1所示,错误的嵌套方式如图2所示。想了解更多关于“循环结构的嵌套”的知识,请留亍参阅其它书籍。错误嵌套正确嵌套错误嵌套谑环人开始循环B开始循环B开始循环A姑束循环B绪束循环循环B绪束图1三、While模块的应用机器人快车的While模块具有循环功能,它能够实现循环结构中的“当型”循环,它被用来控制机器人反复做某个或某些动作。在实际编程应用中,我们可以用While模块来控制30

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou机器人反复执行我们所规定的动作。例如:要让机器人不断检测转轮触碰检测模块的状态,就要用到While模块。在机器人快车中,把While模块从模块库拖动到编程区,编程区中就会自动添加一个While图标和一个EndWhile图标。使用原理如下图所示。第三节分支结构一、分支结构简述在日常生活中,经常会经过不同的道路回家。例如:赵六每天下午放学后自己步行回家,他可以走王子路回家,也可以走公主路回家。如果每天放学的时间早于7点,他就走王子路回家,否则他就走公主路回家,如图所示。同样,在程序设计中,很多时候我们也需要程序像回家一样依据限定条件做出选择。因此,大多数程序语言都提供了分支结构的程序设计方法。分支结构是结构化程序设计方法的三种基本结构之一。二、分支结构首先判断程序流入到P时,程序会依据条件表达式做出一个判断,当条件成立时,执行A部分,当条件不成立时,执行B部分,如下图所示。在C语言中,IfElse语句可实现分支结构。31广州市第47广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材三、IfElse模块的应用IfElse是由两个英文单词If和else组成的。If在中文中是“如果”的意思,else在中文中是“否则”的意思。机器人快车的IfElse模块具有判断功能,它被用来实现“如果判断条件成立,则做某事;否则做其它事?在实际编程中,我们可以使用IfElse模块来判断某个条件是否成立,从而决定是否做某件事或做其它事。例如:要判断机器人是否碰撞到墙壁,就要使用IfElse模块。只要把IfElse模块从模块库拖动到编程区,编程区中就会自动添加一个If图标和一个EndIf图标。使用IfElse模块时,If图标右边与EndIf图标左边之间的连线所通过的图标,就是条件成立时所要做的事情;If图标下边与EndIf图标下边之间的连线所通过的图标,就是条件不成立时所要做的事情。如图所示。人口(条件成立)•一人口(条件成立)•一►{~^•—►出口else人口(条件不成立)*—二-人口一•e麻r出口(条件成立)・出口【条件不成立)在下图中,IfElse模块的判断条件成立时就执行发光模块图标,IfElse模块的判断条件不成立时就执行马达模块图标。四、IfElse模块的判断条件当没有定义IfElse模块的判断条件时,机器人快车默认判断条件成立。要定义IfElse模块的判断条件,只需双击If图标,然后在弹出的对话框中进行编辑。如图所示。32

I广州市第47中学I广州市第47中学the47thmiddleschoolofguangzhou机器人竞赛培训教材IfElse模块的判断条件将显示在表达式编辑框中。在上图对话框中,比较选择框中有六个项:小于<、小于或等于<=、大于或等于>=、大于>、等于=、不等于!二,逻辑选择框中有两个项:逻辑与&&、逻辑或||。详情下表所示:判怛像件X二V如果x小於y-射判断修件成立:否刖中峥阚匕不成立x>=v如果x大於或等於丫■.即倒新修件成立“潦咿脚修件不成立X&&V如果修件x和y同畤成立,剧」判防像件成立,否即]判断修件不成支XII¥如果修件X和丫任一成立,期判断修件成立,否排烂嘀修件不成立如果你具有一定的C语言编程基础,可以直接在表达式编辑框中输入IfElse模块的判断条件。如果你没有编程基础的话,可以按下述方法编辑IfElse模块的判断条件。先在表达式编辑框中点击插入位置,然后选中变量选择框(或比较选择框,或逻辑选择框,或括号选择框)中的某个项,这样就能在判断条件中插入符号了。先在表达式编辑框中点击插入位置,然后在操作数输入框中输入数字并按回车键(Enter),这样就能在判断条件中插入数字了。先在表达式编辑框选中一串符号,然后点击“删除所选”按钮,这样就能从判断条件中删除选中的符号了。第四节变量一、什么是变量大家一定问变量是什么呢?机器人的大脑中存贮空间是有限的,变量就是在机器人的大脑中划一个用来存取数据的空间。为什么要用变量呢?现在问大家一个问题,大家上学为什么要用书包呢?书包是用来存取书的,同样道理,变量是用来存取数据的。二、数据类型33

广州市第47广州市第47中学the47thmiddleschoolofguangzhou每个同学的书包有大有小,那么标识大小就是型号。变量也是有型号的,但它不叫型号,而叫数据类型。那么在机器人快车中有那些数据型号呢,下面这个对照表就是所有的数据类型。在机器人快车中原则上是,什么样的数据类型变量,存取什么样数据类型的数据。类型名称数值范围char字符型-128〜127int整型-32768〜32767long长整型-2147483648〜2147483647unsignedchar无符号字符型0〜255unsignedint无符号整型0〜65535unsignedlong无符号长整型0-4294967296double实数型5.0*10--324〜1.7*10-308三、变量的命名每个同学都有一个书包,如果放在一起,怎么识别自己的书包呢?做一个标识就可以了。同样,在程序中,我们会划很多个空间来,那么怎么去标识它呢?给它命一个名来标识它就可以了。下面是机器人快车变量的命名规则:1)所有变量名必须由一个字母(a~z,A~Z)或下划线(_)开头;2)变量名的其它部分可以用字母、下划线或数字(0~9)组成;3)变量名不能以双下划线开头,也不能以单下划线开头并且结尾,如_aa,_aa_是不正确的;4)大小写字母表示不同意义,即代表不同的变量;5)变量长度不能超过32个字符,注意:一个中文字代表两个字符,建议不使用中文;6)机器人快车中的每个模块内及每个应用程序中的变量不能存在同名。四、变量的定义选中当前正在编辑中的应用程序或子程序,然后点击菜单栏中“编辑”主菜单下的“定义变量”子菜单,或者直接点击工具栏上的按键,或者点击右键菜单中的“定义变量”项,弹出的变量设置窗体界面,如下图所示。初始值是什么呢?开始给变量划分空间时,这个空间是空的,但可以在划的时候就给它装入数据,这个数据就是初始值。现在看看变量是怎么定义的呢?首先,在变量类型选择框34

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou中选择所要定义的变量的数据类型;接着,在变量名输入框中填写新的变量名;如果该变量有初始值,就在初始值输入框中填写该变量的初始值;把该变量的注释文字填写在变量说明输入框中;最后,点击“添加变量”按键。这样就成功定义了一个变量。五、变量的删除选中当前正在编辑的应用程序或子程序,然后点击菜单栏中“编辑”主菜单下的“定义变量”子菜单,或者直接点击工具栏上的按键,或者点击右键菜单中的“定义变量”菜单,弹出的变量设置对话框。在对话框的变量列表中选中某个变量,点击“删除变量”按钮,就能够删除选中的变量。注意:如果某个模块正在使用所选的变量,那么该变量是无法被删除的。六、变量的修改选中当前正在编辑的应用程序或子程序,然后点击菜单栏中“编辑”主菜单下的“定义变量”子菜单,或者直接点击工具栏上的按键,或者点击右键菜单中的“定义变量”菜单,弹出的变量设置对话框。在对话框的变量列表中选中某个变量,点击“修改初始值”按钮,然后在弹出的对话框中输入新的初始值,这样就能够修改该变量的初始值。点击“修改变量说明”按钮,然后在弹出的对话框中输入新的变量说明文字,这样就能够修改该变量的说明。第五节计算模块一、算术表达式与赋值表达式由参与运算的数据和算术运算符按一定语法形式组成的符号序列,就是算术表达式。用圆括号括住的算术表达式仍是算术表达式。两个或两个以上的表达式可以通过算术运算符和圆括号连接,组成新的更复杂的算术表达式。算术表达式跟数学上的四则运算十分相似,其求值次序也相同:先计算括号内的表达式,再计算括号外的表达式;先乘除、后加减;从左到右进行计算。例如:variable45a*(b+11)都是合法的算术表达式。程序执行过程中,算术表达式的运算结果有时会是错误的或没有定义的数值。这种特殊情况叫运算异常。这种异常的产生,可能是因为算术运算本身(如除零),也可能是因为计算器的结构(如数据溢出)。将算术表达式的运算结果赋值给某个变量,这样就成了一个赋值表达式。变量的值主要通过赋值运算改变。与数学算式不同,在赋值表达式中,被赋值的变量放在赋值运算符(在C语言中,赋值运算符是“二”)左边,算术表达式放在赋值运算符右边。例如:variable=45variable=a*(b+11)都是合法的赋值表达式。其中variable=a*(b+11)就是将算术表达式a*(b+11)的运算结果赋值给变量variable。—^、算术运算符C语言提供的算术运算符有加(+)、减(-)、乘(*)、除(/)、取模(%)。详情见下表:名称运算符使用明加+a+b计算a加上b的和减 a-b计算a减去b的差35

广州市第47中学广州市第47中学the47thmiddleschoolofguangzhou乘*a*b计算a乘以b的积除/a/b计算a除以b的商取模%a%b计算a除以b的余数C语言算术运算符的使用与通常数学意义下的使用是相同的。如果两个数都是整数,那么“/”表示的是整除的意思,即只保留运算结果的整数部分而舍弃小数部分。例如21/6的结果不是3.5而是3。取模运算符“%”用于计算两个数相除后得到的余数,它只适用于两个整数之间的计算。例如21%6的结果是3,21%7的结果是0。三、Calculate模块的使用在机器人快车中,我们使用Calculate模块来给变量赋值或者是数值运算。把Calculate模块从流程控制库拖动到编程区,然后用线把Calculate图标的左右两边跟其它图标连接起来四、Calculate模块的设置在设置Calculate模块之前,Calculate模块的算术表达式是空的,它对程序没有任何影响。只需双击Calculate图标,然后就能在弹出的对话

温馨提示

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

评论

0/150

提交评论