管理信息化第四单元赋予机器人智慧

上传人:管****问 文档编号:137667106 上传时间:2020-07-11 格式:DOCX 页数:6 大小:19.48KB
返回 下载 相关 举报
管理信息化第四单元赋予机器人智慧_第1页
第1页 / 共6页
管理信息化第四单元赋予机器人智慧_第2页
第2页 / 共6页
管理信息化第四单元赋予机器人智慧_第3页
第3页 / 共6页
管理信息化第四单元赋予机器人智慧_第4页
第4页 / 共6页
管理信息化第四单元赋予机器人智慧_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《管理信息化第四单元赋予机器人智慧》由会员分享,可在线阅读,更多相关《管理信息化第四单元赋予机器人智慧(6页珍藏版)》请在金锄头文库上搜索。

1、第四单元 赋予机器人“智慧”学习目标:1、 掌握算法的基本概念、基本特征。2、 理解算法来源于生活的道理。3、学会并掌握用流程图表示算法。4、认识程序的三种基本结构(顺序结构、循环结构、选择结构)。5、学会编写简单程序。6、认识诺宝RC软件操作平台。在上一章中,我们已经系统地学习了有关机器人的结构组成和工作原理。现在我们知道,利用传感器,机器人就有了感知能力;有了移动机构,机器人就有了行动能力。有的同学会踢足球,踢球的时候,一定是眼睛先看到球(感知能力),然后跑过去踢(行动能力)。是什么原因让你跑过去的?又是什么原因让你知道应该把球传给同伴,还是把球射进门里的呢?你一定会说是大脑告诉我的。没错

2、,在感知到一个信息后,在做出行动之前,肯定有一个中间环节。这个环节的作用就是分析、判断、决策。最终结果就是你跑过去把球踢向某一个方向。而分析、判断、决策,就是我们在这本书第一章中提到的“智能”。如果要机器人也像你一样,那机器人也就拥有了智能。机器人的智能是怎么来的呢?又是怎样思考和行动的呢?41机器人智慧的来源-计算机程序同学们都知道,你能听懂老师的讲课,是因为老师使用了你能听得懂的语言;同样,要让机器人听懂你的命令,赋予机器人智慧,就需要有专门的机器人能听懂的语言-机器人控制程序,它就是人和机器人交流信息的工具。机器人是计算机和自动机械的结合,而机器人智能的基础就是人们所赋予它的控制程序。例

3、如,用机器人代替人进行工作时,必须预先对机器人发出指示,规定机器人动作的具体内容,这个过程就称为对机器人的计算机编程。对机器人的计算机编程,就是想让机器人实现人们所期望的动作。2005年7月26日,美国“发现号”航天飞机在升空过程中,有一块隔热陶瓷片从机体上脱落,这一重大安全隐患立刻引起了科学家们的高度警惕,27日,他们就使用安装在航天飞机末端15米长的机器人手臂,对航天飞机的机翼和前舱进行彻底检查,以确定“发现号”是否有损坏。很显然,这样的一项工作,就是科学家们预先对机器人进行计算编程,然后靠机器人来完成。下面就和同学们一起来学习机器人控制程序编程,相信你们各个都会成为优秀的机器人设计师。4

4、2计算机程序的核心-算法421什么是算法在学习机器人控制程序编程之前,我们先了解一下一个完整的计算机程序构成,它包括两方面内容:1、 数据2、 操作步骤,也就是算法。数据是算法的基本元素,算法是编写程序的核心,缺一不可。其实,我们在日常生活中,无论大事小事,都会常常用到“数据”和“算法”这两个概念。就拿小学三年级数学中的一道应用问题举个例吧:一架飞机每分钟飞行20千米,问每小时飞行多少米?在这道应用问题中,20千米和每小时是(数据),根据问题我们列出的乘法算式(20千米*60)就是算法,得数1200千米(算法结果)。这道应用问题我们采用了乘法算法,若我们采用加法(20千米+20千米+20千米)

5、加60次,也可以得出1200千米的结果。但显然加法的算法不好。如用减法或除法那就是错误的算法了。根据这个例子,我们不难看出,算法是程序的灵魂与核心,一个算法的优劣就决定着程序的好坏及是否正确。算法除数学中有,生活中更多,它就在我们身边。例如,今天的晚餐要做一盘红烧肉。第一步,要确定的就是做菜的各种原料(数据),需要什么部位的猪肉、什么样的姜葱(数据类型),一斤还是半斤猪肉、多少姜葱(数据变量)?准备好这些数据之后,第二步,就可以按照菜谱(算法),完成一道菜的制作(运行程序),最后一盘可口美味的红烧肉就展现在你的面前(程序运行结果)。根据这个例子,我们能看得出来,在做任何事情时都有一定的步骤,这

6、就是算法。再例如,你想过马路,首先要看是否有人行横道线,然后再看红绿灯是否为绿灯,看到绿灯后才能通行。你要买MP3,先要选好产品,然后交钱,取货等等,举不胜举。实际上,在日常生活中,由于已养成习惯,所以人们并不意识到每件事情都需要事先设计出“行动步骤”,但意识不到,并不说明没有。例如吃饭、上学、打球、做作业等,事实上都是按照一定的规律(算法)进行的,只是人们没有考虑它而已。如果同学们进一步想一想,可以发现,步骤的安排也有不同的方式,主要是以下三种:1、 顺序模式很容易理解,顺序模式就是一步一步来,做完一步再做下一步,这就像你上体育课跑步一样,一步接一步,最后到达终点。生活中,这样的例子太多了,

7、比方说,你和同学去看电影,第一步是要有买票的钱,第二步是买票,第三步是检票,第四步是进去之后找到座位坐下,等待电影开始,这就是按照顺序来。在计算机的“算法”里,也要用到这种思维方式,编写程序的时候,就是表示为执行完一个步骤,再按顺序执行下一个步骤。其程序结构为顺序结构。行直例如我们需要编辑一个机器人行走三角形的程序,那么我们先要规范一下编程思路,第一步让机器人直行,第二步让机器人转120度,然后再直行,再转向,直到机器人走完一个正三角形。每一个步骤都必须有顺序的完成,一步走错机器人就不能正确的完成任务。(图形案例程序如下)向转行直行直向转行直行直向转行直结束2、 选择模式选择,就是在不同的结果

8、里确定一个,然后执行下一步的操作。不同的选择,会导致不同的操作。前面说到的过马路要看红绿灯的例子,不就是这样吗?再举个例子,小明同学的家离学校步行要20分钟,坐车要5分钟,今天早上他起床晚了,等到要吃早饭的时候,离上课时间只有20分钟了,但吃饭就需要15分钟。这时,为了不迟到,他有两种选择,就是吃早饭,或者不吃早饭。如果选择不吃早饭,下一步的操作就是步行到学校;如果选择吃早饭,下步的操作就是坐车到学校。同学们在学习计算机编程的时候,也常常会碰到这一类的情况,比方你想让一个机器人在行走时看见障碍可以转弯躲避,就要采用这种选择模式。先别急着往下看,想一想,你该怎么设计这条命令呢?其实在编辑一个机器

9、人躲避障碍物程序时,我们首先要考虑用什么传感器能让机器人看到前方的物体,然后用“条件判断”模块,对传感器返回的信号进行判断,并发出命令。当前方有物体时,让机器人左转,再直行。如果没有,就可以让机器人一直直行。这样一个机器人躲避障碍物的程序就编辑完成了。(图形程序如下)这样的程序结构为选择结构。 主程序避障 条件判断 是 否直行转向 结束3、循环模式循环模式,就是不断地重复一个动作,直到完成最初计划好的重复次数为止。你刚一开始学习写字的时候,比如老师要求你把“学习”的“学”字写十遍,你从第一个字写到第十个,就是完成了这一个重复的过程。运动会上,万米长跑的运动员,需要围着400米长的跑道25圈;你

10、骑自行车,双脚要不断地轮换踩踏板,才会从一个地方到达另一个地方,这些都是循环模式的表现。编写程序的时候,循环模式也会经常被用到,还是拿机器人躲避障碍举例,首先是一个条件判断-前方有没障碍。没有障碍,选择继续前行,再进行观察有没有障碍,没有的话,仍然继续前行,这就形成了一个循环结构程序。那这个循环结构程序到什么时候结束呢?到机器人观察到前方有障碍的时候,这时的指令就是“发现障碍,转弯”了。 主程序 永久循环避障条件判断 是 否直行转向结束通过这个例子我们还可以看到,以上三种不同的模式,通常会被组合起来使用,这样就可以表达各种较为复杂的算法。那么,算法具备哪些特征呢?422算法有哪些特征1、 有限

11、性算法的操作步骤必须是有限的,而不能是无限。就如前面例子,如果一盘菜的制作的步骤需要一个礼拜,那这个菜谱(算法)还是扔掉的好。2、 确定性算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。例如,有一个健身操的动作要领,其中有一个动作是“手举过头顶”。这个步骤就是不确定的,含糊的,到底是双手都举过头?还是左手?或右手?举过头顶多少厘米才算合格?这些都没有明确的规定。对于跳健美操来说,一个不确定的算法,最终导致的结果却可能是灾难的。3、 输出(结果)性算法的目的就是为了结果。一个算法得到的结果就是算法的输出,没有输出的算法是没有意义的。还是拿前面说到的做菜为例,按照菜谱(算法)做菜,

12、最后做不出菜(没有输出结果),那你还要这个菜谱吗?4、 有效性算法中的每一个步骤都应当是可以有效的执行。例如,行人过马路,当看到绿灯亮的时候,沿着斑马线走过去或者跑过去,这是有效的步骤;可谁要是说,沿着斑马线飞过去,这就是无效的步骤,因为这根本不可能执行。算法在程序中应该怎么表示呢?423算法的表示方法我们了解了算法的特征,那么怎样表示一个算法呢?常用的算法表示方法有自然语言、伪代码、流程图等。以下我们简单介绍一下几种常用算法。1、 用自然语言表示算法。自然语言就是人们日常使用的语言,可以是汉语、英语和其他语言。用自然语言表示算法通俗易懂,但自然语言表示的含义往往不严格,要根据上下主文才能判断

13、其正确的含义,否则容易出现误解。假如有这样一句话:“王先生和李先生说他的孩子在用诺宝机器人学习信息技术课”。这里面的“他”,究竟指的是王先生的孩子在用诺宝机器人呢,还是李先生的孩子在用诺宝机器人呢?光从这句话本身很难判断。因此,除了简单的问题之外,一般不用自然语言描述算法。2、 用伪代码表示算法伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章,自上而下地写下来,每一行(或几行)表示一个操作,书写方便,格式紧凑,比较好懂,便于向机器语言(即程序)过渡。但是用伪代码写算法不如流程图直观,可能会出现逻辑上的错误(例如循环或选择结构范围搞错等)。例如,“打印A的绝对值”的算

14、法可以用伪代码表示如下: IF A is positive THEN Print A ELSE PrintA3、 用流程图表示算法。 流程图就是用一些图框来表示各种操作,用流程图表示算法,直观形象,易于理解。美国国家标准化协会ANSI规定了一些常用的流程图符号(如下图),已为世界各国程序工作者普遍采用。 起止框 判断框 处理框 流程线 输入输出框流程图是目前表示算法最好的工具。一个流程图包括以下几部分:1、 表示相应操作的框2、 带箭头的流程线3、 框内有必要的文字说明开始需要提醒的是,流程图一定不要忘记箭头,因为它反映流程的先后顺序,如不画箭头就难以判断每一个框的执行次序。下面我们就将做红烧肉的过程和过马路的过程用框图表示出来: 开始姜、肉等佐料看斑马线等待看红绿灯制作判断是否红绿灯结束 是 否过马路结束看过这两个例子及前面提到的三个例子,同学们自己也就会

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号