【机械类毕业论文中英文对照文献翻译】使用 LEGO Mindstorms 机器人讲授机器人技术
【机械类毕业论文中英文对照文献翻译】使用 LEGO Mindstorms 机器人讲授机器人技术,机械类毕业论文中英文对照文献翻译,【机械类毕业论文中英文对照文献翻译】使用,LEGO,Mindstorms,机器人讲授机器人技术,机械类,毕业论文,中英文,对照,对比,比照,文献,翻译,使用,机器人,讲授
天津工程师范学院毕业设计 (说明书)英文资料Teaching Robotics Using LegoMindStormsAnthony Hirst, Jeffrey Johnson, Marian Petre, Blaine A. Price, Mike RichardsDepartments of Telematics, Design and Innovation, and ComputingThe Open University, Walton Hall, Milton Keynes, MK7 6AA, UKrobofestaopen.ac.uk Abstract We aim to produce a range of educational materials to teach robotics to a variety of audiences using the LEGO Mindstorms Robotics Invention System(TM). We briefly review the programming environments currently available and consider their appropriate-ness for our candidate audiences. There is the usual trade-off between ease of use and power. It is suggested that no single programming environment is suitable for all audiences. Instead, a progression of environments from microworlds, through graphical programming environments, to textual languages seems to provide the best way to develop our teaching. In this paper we synthesise our thoughts, and present them for constructive criticism by the robotics community. 1. Introduction Robotics has been shown by a number of researchers to be motivating and beneficial in teaching science and technology (Beer et al., 1999). We believe that robots are a powerful way to motivate learning. The construction and programming of robots uses a wide range of scientific and engineering principles key skills in the modern technological economy (Wasserman, 2002). This range of skills necessitates teamwork, planning and record keeping. What are the best environment and language for teaching robotics using Lego MindStorms?Given the depth and breadth of things that we intend to teach using MindStorms, from simple programming to engineering principles and simulation; and given the range of audiences we intend to serve, from young children to mature university students, the language issue is both complex and crucial. Because the large-scale production of good quality teaching materials is expensive, the issue has economic as well as pedagogic ramifications. In this paper, we are not concerned with the division between environment and language, and we give both the terms language and environment a wide interpretation. For example, we treat a drop-and-drag environment for creating code as a languagein the same way a conventional textual language within an editing environment. This paper is a synthesis of our research and analysis to date. We do not attempt to give a definitive answer to the question at this stage, and we invite readers to contribute to the discourse. 2. What are we teaching to whom and why?There is currently a widespread appeal of robotics to adults and children of both sexes. This is evident in the success of television programmes featuring robots, and the growing number of robot competitions. We have broad educational aspirations, and would like to harness the interest and enthusiasm of all groups in this audience for wider educational purposes. The programming environment-language choice must accommodate those we are teaching, what we are trying to teach them, and our deeper educational aims.The breadth of this list complicates the choice of environment and language. Although, we assume that some students will commence our courses as novices to robotics, the assumptions we can make about existing skills, speed of learning, and appropriate conceptual level will differ among groups. The needs of newly literate children are different from those of highly literate university students, which are different again from the needs of mature students returning to education. This suggests that there is no one perfect programming environment. Our goal must be pragmatic: to serve as many students as possible while making the best use of our resources.2.1 What are we trying to teach and why? Our plan is twofold:* to teach robotics per se; * to use robotics as a springboard to further to motivate learning. Robotics itself is multi-disciplinary, encompassing subjects such as mechanical engineering, electronics, control, communication, vision, real-time parallel computing, and systems design. All these are relevant in our teaching. Robotics is also a vehicle for developing key skills (e.g., teamwork, critical thinking, planning, scientific observation and record keeping); for reinforcing skills in elementary physics, mathematics, and numeracy; and for introducing advanced concepts in simulation, Artificial Intelligence (AI), and cognition.Furthermore, robots raise profound questions about our relationship with advanced technologies and their potential that allow us to address ethical and social issues surrounding technology use. 2.2 Using robots to bridge between concept and practice Traditional methods of teaching computing tend to be abstract, and students often have difficulty reasoning about program behaviour and recognising the relevance of their activities. The trouble is that general-purpose languages are complex, in order to afford necessary richness to the programmer. Unfortunately for the novice, this often means:you need to know a lot to do a little. Many languages require the users to type in a large amount of code to produce relatively trivial results. Either students have to learn the syntax before they can write any programs (which is frustrating), or they have to enter code that is effectively meaningless to them. An alternative approach is to use a graphical programming environment.Programming with robots using a tailored environment that provide strong visual cues and supports syntactic correctness: l is concrete: students program things they can handle, to behave in ways they can observe in the physical world l is incremental l is creativel admits many solutionsl allows manipulation within a constrained contextl provides immediate feedbackl has behaviour (and thus encourages anthropomorphisation)l uses a variety of skills allows complete novices to create interesting outcomes (e.g., “go collect a tennis ball” rather than “print Hello, world.)Our experience so far is that programming with robots helps learners to bridge between concept and practice and to derive principles for themselves from their own experience. 2.3 Robots are appealingThe appeal of robots is evident in the success of television programmes featuring robots, such as RobotWars and TechnoGames in the UK, that attract large audiences across a wide range of ages. For over 75 years robots have been a staple of popular culture. Recent films such Steven Spielbergs A.I. have stimulated popular debate about the potential of robotics, and the debut of the Sony AIBO has attracted substantial media attention. Competitions involving robots are popular with participants and audiences alike. Robots are attractive to adults and children of both sexes.3. Choosing a programming environmentOur experience in teaching computing (Griffiths et al., 1999, Woodman et al., 1998), and the current trends in software engineering and AI, give us some general guidance in terms of desirable characteristics for programming environments/languages. An object-based approach would support and integrate with our existing curriculum and is now considered the basis of sound software engineering. Object Oriented programming also makes it easy to represent and present complex behaviours to novices (Griffiths et al., 1999). We emphasise the importance of providing software suitable for novices. Any programming environment for novices must be robust it should behave reliably and consistently, and it must not crash. Errors (if they appear at all), must be meaningful.The human-computer interaction, end-user programming, and visual programming literatures give us some guidance about relevant concepts in language selection, as follows. The sorts of concepts that can be learned from such an environment include: * that algorithms can be used to solve problems * that solutions can be decomposed into relatively small components * that most tasks can be accomplished by using sequence, iteration, choice * object concepts Microworlds have been used on the entry-level Open University course Computing: An Object-Oriented Approach to teach the concepts behind object-oriented (OO) technology. In an early example, the students are able to send messages to an on-screen frog - telling it to hop left, right and up and down, setting its colour, and so on. In later lessons they create subclasses of frogs with some inherited properties and some novel properties particular to the subclass. 3.1 Simulation: separation of control logic from physical control Simulation is a method commonplace in the field of autonomous mobile robots for working out and testing control strategies in isolation from the physical system. Figure 3: Ideally, the same program can driveFigure3 illustrates the ideal in which the same program drives both the simulator and the robots. Although simulations are often different from real systems, simulators allow ideas to be tested, and they are good for detecting bugs when the vagaries of real machines in real environments are not present. This is pertinent to MindStorms where the performance of individual sensors and motors may vary. The effects of physical variation can be addressed when the logic of the program and its implementation are correct. Although a various of RCX simulators are available, we do not feel that they are stable enough for student use at the current time.3.2 Direct manipulationAn important characteristic of the microworlds approach is the direct manipulation of screen objects, without imposition of linguistic devices or explicit syntax. Hutchins, Hollan, and Norman (1986) attribute to direct manipulation that novices can learn basic functionality quickly, experts can work extremely rapidly to achieve complex ends, and users can see immediately if their actions are furthering goals. Hence, direct manipulation is seen as highly desirable, characterised by the provision of rapid, incremental, reversible operations whose impact on the object of interest is immediately evident (Shneiderman, 1982). 4. Criteria for choiceWe derived a list of criteria for language selection. Our primary concern has been an entry-level university course. However, we also wish to re-use materials for use in schools and to support students in competitions such as RoboFesta and RoboCup. Hence, the detailed decisions refer to university level, but the higher level decisions (e.g., OO, layering, multi-mode environments) are meant to generalise across our diverse audience. Relevant criteria for selecting a language nclude:- ease of understanding and use (and suitability for novices) - rapid development - scalability (from simple programs to complex systems)- general-purpose programming - convenient control of physical devices - robustness - support for maintenance - cost - compatibility with existing course and curriculum decisions - ease and cost of updating - longevity 5. ConclusionsWe believe that robotics is a suitable vehicle for teaching a wide range of students, no matter what their age or background. The Lego MindStorms kit is an appropriate low-cost solution. Even though our work comparing programming environments/languages for MindStorms is incomplete, the investigations to date allow us to draw provisional conclusions. First, MindStorms robotics provides an opportunity to offer a microworld that bridges between computing abstractions and real-world activity. Well-designed microworlds and simulations are useful teaching methods, providing a low-risk, controlled environment in which to learn and develop a firm footing for further learning. Using such systems fosters confidence in using skills as well as teaching those skills. More advanced microworlds, in which the user can see genuine program code being constructed and executed, are excellent Second, although a wide range of programming environments has been created for the MindStorms brick, none meets fully our requirements for an introductory course. With the exception of RoboLab, none of the graphical environments is powerful enough for students to continue to advanced work. The minimalist textual environments (text editors and command line compilers) are not robust or supportive enough for novice especially young novice use. Finally, we conclude that we need to take a progressive approach, starting with a custom-built, graphical, microworld-based system and later moving to a more sophisticated programming environment. 译文使用 LEGO Mindstorms 机器人讲授机器人技术作者:Anthony Hirst1, Jeffrey Johnson2, Marian Petre3, Blaine A. Price3, Mike Richards3Departments of Telematics1, Design and Innovation2, and Computing3The Open University, Walton Hall, Milton Keynes, MK7 6AA, UKrobofestaopen.ac.uk 摘要我们打算给出一个使用 “LEGO Mindstorms 机器人开发系统”针对不同的学习者讲授机器人课的一些教育手段。我们简要的回顾了当前可用的编程环境,并且评价了它们对我们所选择的对象的适用性。易用和功能强大之间通常是互斥的,不可能提出一个单一的编程环境适合于所有的学习者,作为一种替代方案,一个从Microworlds开始、经历图形化编程环境、直到文本语言的一个递进的环境似乎是我们开展这方面教育所能提供的最佳方法。在本文中,我们综合了我们的想法并展示给大家,希望得到各机器人社团的建设性的意见。一、引言机器人技术在讲授科学和技术方面是积极而有益的,这个观点已被许多研究人员所证明(Beer 等人,1999)。我们确信:机器人是刺激学习的一种强有力的方法,机器人的构建和编程要使用很广泛的科学和工程原理,以及现代技术经济中的关键技能(Wasserman, 2002),这些技能需要团队合作、周密的计划以及完整的工作记录。假设我们想要用 Mindstorms 所教的内容的深度和广度是:从简单编程到工程原理和仿真,而且我们想要服务的对象范围从小孩到成熟的大学生,语言既要复杂又要是有权威的。因为高质量教育器材的大规模产品是昂贵的,这中间既有经济上的原因,也有教育上的原因。在本文中,我们没有刻意将编程环境和语言分开,而且我们给了术语 语言、编程环境一个宽松的解释。例如,我们把用于创建代码的“拖放”环境视为“语言”,同样的情况,对于常见的文本语言只能视为编辑环境。这篇文章是我们迄今为止研究和分析的总结,我们不期望在这个时候给出这个问题的最终答案,我们希望读者也提出自己的论点。二、我们教什么? 教谁?为什么目的?对于成人和孩子,不论男女,机器人都普遍存在广泛的吸引力,这在机器人主演的电视节目的成功上,不断成长的机器人竞赛中可以明显的感受到。我们有强烈的教育愿望,并且希望抓住所有这些人的兴趣和狂热,使之服务于更广泛的教育目的。编程环境语言的选择必须适应我们的教学对象、我们想要教他们的内容以及我们深层次的教育目标。如此宽泛的群体使得语言环境的选择复杂化,尽管我们假设某些学生将作为机器人技术的初学者开始我们的课程,但是我们所作的假设中关于已有的技能、学习的速度以及基本概念的水平在不同的群体中仍会存在差异,才识字的孩子的需要与较高文化层次的大学生是不同的,而大学生又不同于重新接受教育的成年学生的需要。这说明:不存在一个完美的编程环境,我们的目标必须是现实的:使尽可能多的学生最好的使用我们提供的资源。(一)、我们要教什么?为什么教?我们的计划分两部分: 教机器人技术本身; 用机器人技术作为出发点,进一步激发学习愿望。 机器人技术本身是多学科的,它包含:机械工程、电子、控制、通讯、视觉处理、实时并行计算以及系统设计。所有这些在我们的教学中都要涉及到。机器人技术还是一种很好的载体,可用于培养关键技能(如:团队合作、批判性思维、计划、科学观察、完整的纪录等),还可用于加强物理、数学、计算的基本能力,同时还可以引入仿真、人工智能、人工识别等现代概念。此外,机器人引出了关于我们与现代技术及其潜能之间关系的深层问题,从而允许我们处理围绕技术的使用带来的伦理、社会问题。(二)、 使用机器人在理论和实践之间建立桥梁传统的计算机教学方法往往是抽象的,学生们常常难于推导程序的运行状态并识别它们动作的相互关联。问题是:因为需要提供给编程者足够的功能,通用的语言是复杂的,而这对初学者而言是不幸的,通常意味着:你需要为做很少的事而知道很多。许多语言要求用户键入大量的代码去产生一些相对无价值的结果。任何学生在能写程序之前必须学习语法(这使人有挫折感),或者必须输入一些对他们毫无意义的代码。一种替代的方法是使用图形化的编程环境。使用合适的环境给机器人编程(这个环境提供强大的可视化符号并且支持语法纠正)的优点是:1. 形象化:学生所编程的内容是他们能够处理的,而且能够以他们在现实世界中所观察到的方式去运行; 2. 循序渐进; 3. 可以创新; 4. 可有多种解决方案; 5. 允许处理一些不太合乎逻辑的操作; 6. 提供直接的反馈; 7. 具有习性(因此鼓励个性化); 8. 使用多种技能; 9. 让完全初学者能创造出一个有趣的成果;(例如:“去收集一个网球”一定比“打印 Hello,world”更有趣) 迄今为止,我们的经验是给机器人编程可以帮助学习者建立理论与实践之间的桥梁,从而使他们从自己的亲身体验中得到原理。(三)、 机器人是引人入胜的从以机器人为主角的电视节目的成功上可以明显看出机器人的吸引力,例如:英国的 RoboWar 和 TechnoGames,它们吸引了大量的几乎所有年龄段的观众。机器人诞生75年来已经成为大众文化的主题之一,近期的电影(如斯皮尔伯格的 A.I.) 已经激起了关于机器人潜能的广泛讨论,而 Sony 公司 AIBO的登场也吸引了主要媒体的关注。机器人竞赛受到参与者和观众同样的欢迎。机器人对所有性别的成人和孩子都具有吸引力。三、选择一个编程环境在选择合适的编程环境/语言性能方面,我们教计算机课的经验(Griffiths 等人, 1999,Woodman 等人,1998)以及软件工程和人工智能方面的流行趋势给了我们一些主要的指导,应当支持面向对象的方法,并将它与现在已有的课程整合,现在它已在软件工程基础中得到重视。对于初学者而言,面向对象编程使得产生和描述一个复杂的行为更容易(Griffiths 等, 1999)。我们强调提供给初学者合适的软件的重要性,任何对于初学者的编程环境必须是坚固的 应当连续可靠的运行,不能崩溃。错误(根本不该出现)必须是含义明确的。人机交互、最终用户编程、可视化编程等技术给予我们一些在语言选择概念上的提示,详述如下。能从这样的环境中学到的概念包含:1. 解决问题的算法; 2. 将解决方案分解为相关联的小元素; 3. 通过使用顺序、重复、选择能完成大多数任务; 4. 对象概念; Microworlds 已被用于开放大学的计算机入门课程:一种服务于后续的面向对象技术概念的面向对象方法。在一开始的例子中,学生们可以送一些信息给屏幕上的青蛙,告诉它向左、向右、向上、向下跳,设置它的颜色等等;随后的课程中,学生们创造一些具有某些遗传特征的青蛙子类,同时赋予这些子类特有的一些新特征。(一)、仿真:将控制逻辑从物理控制中分离在自治的移动机器人领域,脱离物理系统设计和测试控制策略,仿真是常用的方法。图1理想化:同样的程序可以驱动图1示意了这个概念,在此,同样的程序既可驱动仿真器又可驱动机器人。尽管仿真通常与真实系统有差别,仿真器可以试验设想,而且,当真实环境中的真实机器的异常现象不出现时,仿真器十分适合于找出 Bug。这也与 Mindstorms 相关,在 Mindstorms 中,分立的传感器和马达的性能可能变化,但当程序逻辑和程序执行正确时,物理变化量的影响是能修正的。尽管有各种各样的RCX仿真器可以使用,但我们觉得现在这些仿真器对学生使用来说还不够稳定。(二)、 直接操纵微世界的一个重要特性是直接操纵屏幕对象,而不需要被迫接受语言或语法,Hutchins、Hollan 和 Norman (1986) 提出,直接操纵可以使:初学者能快速学会基本功能,专家能极快地实现复杂的目的,使用者能直接看到他们的动作能否实现进一步的目标。因此,直接操纵看来是最想要的特性,它提供了这样的特征:可以快速的、递进的、可逆的操作有趣的对象,并直接看到明显的影响。(Shneiderman, 1982)四、选择的标准我们得出了一个语言选择标准的列表,我们最初关注的是大学入门级课程,可是,我们也希望能利用这些资源服务于中学和辅导参加诸如 RoboFesta 和RoboCup 竞赛的学生。因此,细节的选择是根据大学的,但更高级的选择(如:面向对象、分层次,多模式环境)打算归纳各种学习对象的需求。选择语言的相关标准包括: 易于理解和使用(而且适合于初学者) 快速开发; 可量测性(从简单程序到复杂系统); 通用编程; 便于对物理设备的控制; 坚固性; 维护支持; 价格; 与现在的课程及课程目标的相容性; 易于升级而且费用不高; 寿命长; 五、结论我们相信:机器人是教授各种学生的合适载体,不管他们的年龄和背景如何。Lego Mindstorms 套件是一个合适的低成本解决方案,即使我们所做的“比较用于Mindstorms 编程语言环境”工作不十分完美,迄今为止的研究仍允许我们给出一个暂时的结论。首先,Mindstorms 机器人提供给微世界一个机会 可以在计算的抽象和现实世界的行为之间架起桥梁。设计良好的微世界和仿真是有效的教学方法,它提供了一个低风险的、可控的环境,在这个环境中可以为进一步的学习培养牢固的基础。在技能的使用和教学中,使用这类系统可培养信心。先进的微世界是用集成开发环境进行高级计算机编程的极好的启蒙手段,在这里,使用者可以看到组建并执行的真实程序代码。第二,尽管已经有了相当多的 Mindstorms 积木块编程环境,没有一个完全适合我们作为入门课程的需要。除 RoboLab 外,没有一个图形化环境功能强大到满足学生延续到高级工作。而简单的文本环境(文本编辑器加命令行编译器)对初学者 特别是低龄初学者来说 不够坚固或者说支持不够。最后,我们做出结论:我们需要采用递进的方法,从定制的、图形化的、基于系统的微世界开始,而后过渡到更复杂的编程环境。参 考 文 献1. 机械实际材料手册编写组机械设计材料手册M北京:原子能出版社,1979 2. 李春风,潘庆丰工程力学M大连:大连理工大学出版社,20043. 孙鼎伦,程全明机械工程材料力学M上海:同济大学出版社,19924. 郑志祥,徐锦康,张磊机械零件M高等教育出版社19925. 胡家秀简明机械零件设计手册M机械工业出版社19996. 焦永和机械制图M北京:北京理工大学出版社20037. 董怀武,刘传慧画法几何及机械制图M武汉:武汉理工大学出版社20028. 费仁元,张慧慧机器人机械设计和分析M北京:北京工业大学出版社19989. 日森政弘机器人竞赛指南M科学出版社200010. 孙迪生,王炎机器人控制技术M机械工业出版社1997第15页
收藏