两个总体算机构自由度计算的时候为什么要把尾数去掉?

扫一扫下载手机客户端
扫描我,关注团购信息,享更多优惠
||网络安全
| | | | | | | | | | | | | | | |
||电子电工
汽车交通| | | | | | | | | |
||投资理财
| | | | | | | | | | | | | | | | |
| | | | | | |
| | | | | | | | | | | | | | | | | | |
| | | | | | |||
||外语考试
| | | | | | | | |
| 视频教程|
高性能科学与工程计算
定价:¥69.00
校园优惠价:¥49.68 (72折)
促销活动:
商品已成功飞到您的手机啦!快登录手机站看看吧!
下载客户端
> 微信关注“互动出版网”,便捷查询订单,更多惊喜天天有
原书名:Introduction to High Performance Computing for Scientists and Engineers
原出版社:
ISBN:9上架时间:出版日期:2014 年7月开本:16开页码:239版次:1-1
所属分类:
《高性能科学与工程计算》主要面向科学家、研究者和工程师,采取一种循序渐进的方式介绍高性能计算的基础知识,即使不熟悉计算科学的读者也非常容易理解。本书主要覆盖了当代处理器体系结构基础知识、各种基本的程序串行优化策略和基本并行模式。此外,在并行编程模型方面,还包括基于OpenMP的共享并行和基于MPI的分布式并行编程,并包含大量Fortran代码实例,方便读者学习理解。总之,本书以一种独特的视角介绍高性能计算知识,适合各应用领域的专家和学生研读。
《高性能科学与工程计算》
出版者的话
第1章 当代处理器
1.1 存储程序的计算机体系结构
1.2 基于高速缓存的通用微处理器体系结构
1.2.1 性能指标和基准测试
1.2.2 晶体管:摩尔定律
1.2.3 流水线
1.2.4 超标量
1.2.5 SIMD
1.3 存储层次
1.3.1 高速缓存
1.3.2 高速缓存映射
1.3.3 预取
1.4 多核处理器
1.5 多线程处理器
  以高性能计算为核心的计算科学,已经广泛应用于科学研究和工程设计的各个层面,成为继理论研究和实验研究之外的第三种科学研究方法。美国总统信息技术顾问委员会在2005年发表题为“计算科学:确保美国竞争力”的报告中认为计算科学是21世纪最重要的技术领域之一,它对于整个社会的进步是不可或缺的,并建议美国政府制定规划,对计算科学进行长期资助。
  高性能计算追求程序执行效率,因此并行程序的实现与优化成为计算机科学家的两大研究主题。本书也以并行编程模型和并行优化为主要内容,对程序串行优化、数据优化和并行性优化做了深入介绍,还对多处理器导致的NUMA问题以及多核环境下的进程亲缘性进行了深入讲解。在并行编程模型方面,OpenMP和MPI分别是共享存储系统和分布式存储系统两大并行计算机体系架构上的事实标准。本书不仅详细介绍了这两种编程语言,并且还单独设立章节讲解了相应的关键优化技术。此外,本书配备大量程序和命令实例,方便读者掌握相关技巧。总之,本书作者通过自己多年的高性能计算领域编程和优化的实践经验,选取最为关键的基本知识和优化技术进行讲解,可供相关领域科学家作为参考。
  本书作者Georg Hager和Gerhard Wellein均为物理学家,长期在Erlangen Regional Computing Center (RRZE)高性能计算组从事高性能计算研究,Gerhard Wellein目前还担任该小组主任,主要研究兴趣包括现代微处理器的体系结构相关优化方法、处理器和系统层次的性能模型,以及异构系统优化。两位作者在高性能计算领域都有丰富的全方位用户支持和教学经验,例如讲座、报告、培训、代码并行化、代码分析和优化以及新颖计算机体系结构和工具的评估,其教学对象包括计算科学和工程编程领域的学生和科学家。
  由于时间仓促,加上书中某些术语目前没有统一译法,所以我们对一些术语采取了保留其英文名称的方法。对书中翻译方面的错误和不妥之处,恳请广大读者不吝批评指正。
  当1941年构建世界上第一台全自动可编程并具备二进制浮点运算能力的计算机时[H129],Konrad Zuse成功地预见了这种革命性设备不仅只应用于科学和工程领域,还将对生活的各个方面产生深远影响[H130]。计算机的高效运算、可视化和数据处理能力,允许我们自动执行大量任务并实现无延迟通信,这使得Zuse的预言成为现实,计算已经彻底地改变了我们的生活方式和科研手段。
  科学和工程研究从另一种特别的角度受益于计算能力的增长。早期的科研人员已经意识到计算机可以通过虚拟实验代替现实中那些太过复杂、昂贵或极端危险的真实实验,或者进行以前无法手工完成的计算,计算流体力学(Computational Fluid Dynamics,CFD),即模拟任意几何形状的流体就是一个这样典型的应用。飞机、汽车、高速列车以及涡轮设备的设计都离不开流体力学分析。以前的风洞和木质实体模型属于实验研究,而在包括流体力学在内的几乎所有科学研究领域,计算已成为理论分析和实验设计之外的第三种科学研究方法。近几年药物设计已成为高性能计算的新兴研究方向,化学家可以利用软件(只需点击鼠标)快速发现化学反应机制,模拟影响生命运行机制的大分子间的复杂动力学。理论固体物理通过在量子级别对组成成分、原子核和电子的相互作用进行建模来在微观级别研究物质结构[A79],需要的大量自由度使其无法在理论层次上进行分析,而只能借助大规模计算资源实现。其他同样需要大规模计算的学科包括量子化学、物质科学、结构力学和医学图像处理等。
  计算机模拟已成为学术和工业界大多数研究领域中不可或缺的标准工具,虽然科研人员可以利用个人计算机处理许多计算任务,但是仍有一些任务需要个人计算机无法满足的大规模存储、内存以及计算速度,而这正是高性能并行计算机系统的用武之地。
  利用高性能计算(High Performance Computing,HPC)作为科研工具至少需要了解相关硬件和软件知识,即使利用具有良好界面可直接运行的软件也是如此,当需要编写代码时掌握这些知识就显得更为必要。但是我们与科学家和工程师多年的合作经验表明,很难在不同研究组中建立和维护充足、完整的相关知识。陡峭的高性能计算学习曲线使得新的博士生难以独自快速掌握相关知识。虽然高性能计算具有基础性、难以掌握且极为昂贵等特点,但是高性能计算毕竟只是一个工具,而推进科学研究的进展才是终极目标。技术的进步使得高性能计算从院系级别扩展到了桌面级别,在当前单处理器发展停滞以及通过增加并行性来提高性能的趋势下,大量科学家和工程师必须关注性能和可扩展性,这也是本书的主题。我们编写此书的目的为保持这些知识的新颖性。
  事实上,目前已经出版了多种计算机体系结构、优化和高性能计算方面的书籍[S1,R34,S2,S3,S4],虽然基本原理是一致的,但是由于向量处理器的衰落、无处不在的SIMD处理能力、多核处理器的出现、ccNUMA存储结构的发展以及高效能高性能网络互连系统的出现,这些书中的许多内容都已过时。发展最为迅猛的要数运行Linux操作系统的基于x86结构的Intel或AMD处理器商业集群。最新的出版物更关注某个特定方面,因此不适合作为学生教材或者相关科学家参考。本书的目标是从性能角度介绍体系结构和高性能计算编程的基础知识。我们的经验表明,大多数用户经常无法定位性能因素以及是否需要考虑优化。本书的读者可以掌握如何确定性能限制因素等基础知识,这为他们学习更为专业的技巧奠定了基础。因此本书也提供了一个详尽的参考书目列表,可以在本书的网页中(http://www.hpc.rrze.uni-erlangen.de/HPC4SE)找到相应的具有超链接和附加评论的版本。
  本书读者
  在科学计算中心的多年工作经验使我们熟知用户和并行计算机厂商的需求,因此从事与高性能计算相关工作的人员都会从本书中获益。计算机科学、计算工程或更广泛的关心模拟领域的教师和学生可将本书作为教材。对于希望快速了解高性能计算基础知识的科学家和工程师,本书可以作为入门级参考书。最后,集群系统构建师可以利用本书的内容优化机器,为用户提供更好的服务。读者需要具有一定的编程和高级计算机体系结构知识。需要强调的是,本书只是一本入门级教材而不是一本详尽的参考书,因为到目前还没有一本高性能计算百科全书。
  本书内容
  高性能计算涉及给定算法(或者称为程序代码)的实现以及所运行的硬件平台。我们假定希望利用高性能计算资源的用户已经充分了解他们想要解决的问题的不同算法,因此我们并不全面介绍它们。本书中我们选取某些特定实例进行讲解,但是可能存在其他更为合适的算法,读者需要理解本书实例中的策略。
  虽然我们努力保持本书的精简性,但是不可避免地包含了过多的内容。由于技术发展极为迅猛,我们忽略了一些近期的研究成果,例如现代加速技术(GPGPU、FPGA、Cell处理器),因为这些内容很快将会变得过时。有些人认为高性能输入、输出技术应该包含在高性能计算书籍中,但是我们认为高效并行I/O技术是一个高级并且与硬件系统相关的课题,所以最好单独介绍。在软件方面,我们介绍了基本的程序串行优化策略和基本并行模式:基于OpenMP的共享存储并行化、基于MPI的分布式存储并行编程。其他一些模式,包括Unified Parallel C(UPC语言)、Co-Array Fortran(CAF语言)和其他一些现代编程方法,仍然需要检验其高效性,就像被广泛接受的MPI和OpenMP语言一样。
  虽然我们不能忽视商业系统的统治性地位,但本书中许多概念都在与特定的体系结构无关的层次上进行介绍,因此当我们应用实例介绍并展示实际性能数值时,都是基于x86集群系统标准网络连接。几乎所有的代码都用Fortran编写,仅当需要与外界环境相关的特性时我们才用C或者C++代码。本书中一些用来测试的代码可以在本书官方网站上下载:http://www.hpc.rrze.unierlangen.de/HPC4SE。
  本书按下述方式组织:第1章介绍现代基于高速缓存的微处理器体系结构,并讨论其内在性能瓶颈,对最新的发展(例如多核芯片和同时多线程(SMT))也进行了介绍。虽然向量处理器已不再在高性能计算市场中应用,但是我们还是对其进行了简要介绍。第2章和第3章讲解了基于高速缓存体系结构的串行程序的一般优化方法,介绍了用来寻找循环程序最优性能的一些简单的模型,还展示了如何通过代码变换来改进其性能限制。实际上,我们认为在不同计算机系统层次上建立应用程序的性能模型是最为重要的工作,也是高性能计算领域中的引导性原理。
  第4章介绍共享存储和分布式存储两种类型的并行计算机体系结构,以及相关网络拓扑结构。第5章在理论层次上介绍并行计算概念,首先介绍一些重要的并行编程模式,然后介绍能够解释并行可扩展性限制的性能模型,因此回答了利用低速处理器构建大规模并行计算机系统的原因和方式。第6章对OpenMP进行了介绍,OpenMP是在共享存储系统上编写科学计算应用的主流语言。第7章介绍了几种典型的与OpenMP相关的程序性能问题并给出了相应的避免或减轻问题的方法。由于缓存一致的非一致内存访问(ccNUMA)系统已经大规模应用在高性能计算的市场中(这也是被忽视的事实,甚至一些高性能计算专家也将其忽视),相应的优化技术在第8章介绍。第9章和第10章介绍分布式系统上的消息传递接口语言(Message Passing Interface,MPI)以及如何编写高效MPI代码。最后,第11章介绍MPI和OpenMP混合编程方法。每章最后都配备相应的习题,我们推荐读者认真研究,这些习题包括一些书中未介绍的零碎知识或者一些特定的主题。附录B提供了相应的答案。
  我们建议读者从头到尾认真阅读本书,因为本书的主题都极为重要。但是只想了解OpenMP和MPI的读者可以只从第6章和第9章开始阅读,并从第7章、第8章和第10章中学习相应的优化技术。本书自引用比较多,所以如果忽略了某些部分,也可以在其他地方找到相关材料。
  本书起源于为Springer出版社“Lecture Notes in Physics”卷编写的两章内容,也即2006年计算多粒子物理夏季讨论班的内容[A79]。我们感谢讨论班的组织者,特别是Holger Fehske、Ralf Schneider和Alexander Weisse,使得我们有机会将自己在高性能计算领域的经验总结成文,虽然本书增加了很多其他材料,但是没有最初的两章内容我们就无法开始本书的撰写。
  本书包括与用户、学生、算法、代码和工具一起工作的十几年经验,因此许多人都直接或者间接(甚至没有意识到)为本书做出了贡献。我们特别要感谢Erlangen Regional Computing Center (RRZE)高性能计算服务中心的员工,特别是Thomas Zeiser、Jan Treibig、Michael Meier、Markus Wittmann、Johannes Habich、Gerald Schubert和Holger Stengel,在与他们的讨论中得到了十分有用的知识。在十年中我们小组从“Competence Network for Scientific High Performance Computing in Bavaria”(KONWIHR) 和弗里德里希C亚历山大C埃尔兰根C纽伦堡大学获得了极大的资助。
  我们还要感谢Uwe Küster (HLRS Stuttgart)、Matthias Müller (ZIH Dresden)、Reinhold Bader和Matthias Brehm (LRZ München),感谢他们在服务中心与我们的高效合作。还要特别感谢Darren Kerbyson (PNNL)的鼓励和对我们工作的建议。最后我们要感谢Rolf Rabenseifner (HLRS)和Gabriele Jost (TACC)与我们在混合编程方面的合作,本书第11章就是我们一起合作的成果。
  一些公司的第一手技术支持及一些合作(即使没有利润)也值得我们感谢,Intel (Andrey Semin和Herbert Cornelius)、SGI (Reiner Vogelsang和Rüdiger Wolff)、NEC (Thomas Sch?nemeyer)、Sun Microsystems (Rick Hetherington、Ram Kunda和Constantin Gonzalez)、IBM (Klaus Gottschalk)以及 Cray (Wilfried Oed)。
  我们还要感谢CRC员工的支持,特别是Ari Silver、Karen Simon、Katy Smith和Kevin Craig。最后,如果没有Horst Simon (LBNL/NERSC) 和 Randi Cohen(Taylor & Francis)的鼓励,本书将不可能顺利完成,他们使我们有动力开始撰写本书。
  Introduction to High Performance Computing for Scientists and Engineers
  Georg Hager和Gerhard Wellein在本书中为科学家和工程师循序渐进地介绍了高性能计算知识。本书的风格和讲解方法十分易读并容易理解。
  二十多年前提出的计算建模和模拟的概念已经成为理论研究和实验研究之外的第三种科学研究方法,软件、数学模型和算法是科学计算领域的关键核心。并行硬件的发展十分迅猛,特别是以指数速度增长的处理器性能以及处理器体系结构和超级计算机系统设计的研究。当计算建模和模拟成为科学研究的第三种方法后,复杂软件及其生态系统将会处于本研究领域的核心地位。
  在应用层,科学必须展现为数学模型,并进一步表达为算法和对应的软件代码。相应地,大部分科学基金也在转向这样的项目,即需要领域科学家、计算机科学家及应用数学家协同合作,从原始科学构想到最终可执行软件的研究。这样的项目也需要数学库、协议和系统软件等这些需要花费数年开发并需要持久维护的大规模底层架构的支持,这些软件通常比最初设计的硬件平台甚至是设计和开发人员存活更长时间。
  本书覆盖了当代处理器体系结构的基础知识,以及为科学计算程序有效地利用硬件特性进行串行优化的基本技术。作者讨论了数据移动中的关键问题并辅以实例,并以简单易读的方式介绍了高性能计算中的重要问题。书中还讨论了共享存储、非一致访问以及分布式存储的并行化方法。除此之外,还重点介绍了常用的并行编程模型,例如OpenMP、MPI以及混合编程方法。
  我们生活在一个高效利用超级计算机系统进行大规模高性能计算的时代。本书对并行理论、优化技术、体系结构和现代高性能计算系统软件等方面进行了介绍,特别是对科学和工程问题的关注使得本书成为一本独特的教材,因此我强烈向科学家和工程师推荐此书,本书可以作为一本优秀的参考书,我相信本书会令大多数读者受益。
  Jack Dongarra
  美国田纳西大学
  Introduction to High Performance Computing for Scientists and Engineers
  当代处理器
  在年的“旧时代”的科学计算时期,先进的高性能系统是专门为HPC市场设计的,主要的厂商有Cray、CDC、NEC、Fujitsu和Thinking Machines等。在性能和价格方面,这些系统远远超越了标准的“商品”电脑。20世纪70年代初发明的单芯片通用微处理器,是20世纪80年代末唯一足够成熟、可以打入HPC市场的技术。直到20世纪90年代末,标准的工作站集群甚至基于PC的硬件至少在理论峰值性能上才具备相应的竞争力。如今,情况已经发生了很大变化。HPC世界被低成本、现成的处理器系统占领,这些系统并不是主要为科学计算而设计的。一些传统的超级计算机厂商在这个有利可图的市场上活动,他们提供在单CPU水平上的高应用性能以及高度并行工作负载的系统。因此,科学家和工程师很可能遇到这样的“商品模式”,即随着需求的增长推动硬件向更为专业的方向发展。因此,本章将主要关注基于标准的高速缓存微处理器的系统。向量机(vector computer)支持不同的编程方式,这种编程方式在很多方面更接近科学计算的要求,但是目前向量机已非常罕见。然而如果没有它们,对超级计算机体系结构的讨论将不完整,1.6节对此提供了相关的概述。
  1.1存储程序的计算机体系结构
  当讨论计算机系统时,我们的脑海中总是有一个清楚的体系结构概念,即1936年由图灵提出并由Eckert和Mauchly实现的第一个真正的计算机EDVAC [C129,C131]。图1-1显示了存储程序数字计算机的简图,将指令作为数据存储在内存,这是它不同于早期设计的最大特征。指令由控制单元读取并执行,一个独立的算术逻辑单元根据指令来负责实际的计算并操作内存中的数据。通过I/O设备可以与用户通信。中央处理单元(CPU)包括控制单元、算术逻辑单元、适合的内存接口和I/O接口。在存储程序计算机上编程意味着修改内存中的指令,原则上这可以由另一个程序完成。编译器就是一个典型的例子,因为它将C或Fortran等高级语言翻译成能够在内存中存储并能被计算机执行的指令。
  这个简图是现今所有主流的计算机系统的基础,但仍然存在一些固有问题:
  必须连续不断地向控制和算术逻辑单元提供数据,因此内存接口速度成为计算性能的瓶颈,这通常称为冯?诺依曼瓶颈。在接下来的章节中,我们将展示如何利用体系结构优化和编程技术减弱这个瓶颈导致的不利影响。尽管如此,这个瓶颈仍然是最严重的性能限制因素。
  这种体系结构存在内在顺序性,一条指令可能处理来自内存的一个或一组操作数。SISD(单指令单数据,Single Instruction Single Data)即为这种概念。如何修改和扩展使得它能够以多种不同方式支持并行,以及这样一个并行机如何能够有效运用,同样是这本书的主题。
  尽管存在着这些缺陷,但没有其他的体系结构概念能在将近70年的电子数字计算机中如此广泛地使用。
  1.2基于高速缓存的通用微处理器体系结构
  微处理器可能是人类发明的最复杂的机器。然而,就像前面章节中描述的那样,它们都基于存储程序数字计算机的概念。对于科学家而言,理解CPU所有内部工作细节是不可能的,也是不必要的,尽管把握其高级特性对于了解潜在的性能瓶颈是有帮助的。图1-2展示了现代基于高速缓存的通用微处理器的简图。对于一个运行的程序,真正执行计算的部分是仅占芯片一小部分的浮点型(FP)和整型(INT)计算单元。其他逻辑控制单元用来向计算单元提供操作数。一般将CPU寄存器区分为浮点数和整数两种类型,CPU寄存器能够存放指令访问所需操作数,这样在数据访问时没有明显的延时。在一些体系结构中,所有算术运算的操作数都必须存放在寄存器中。如今,主流CPU有16到128个两种类型的寄存器。Store(ST)和Load(LD)单元执行寄存器存取指令,待执行指令被保存到多个队列中,这些指令可能会被乱序执行。最后,高速缓存保存即将执行的指令和数据。而芯片的主要部分就是高速缓存。
  图1-2典型的基于高速缓存的微处理器(单核)的简单框图。同一芯片上的其他核能够共享高速缓存和内存接口等资源。与科学计算性能相关的功能模块和数据通路在图中突出显示了
  许多额外逻辑,包括分支预测、缓冲区重排、数据旁路、事务队列等,已经应用到现代微处理器中,在此我们不进行讨论。供应商提供了许多文档描述这些技术细节 [V104,V105,V106]。在过去十年中,多核处理器已经取代了传统单核处理器设计模式。在多核芯片上,多个处理器(“核”)同时执行代码。它们能够像存储器接口或高速缓存一样,在不同程度上共享资源,详细内容见1.4节。
  1.2.1性能指标和基准测试
  峰值性能是CPU核心所有组件同时执行时的最高性能。一个特定的应用程序能否达到峰值取决于许多因素(详见第3章内容)。这里,我们介绍一些衡量CPU利用率的基本性能指标。科学计算通常使用“双精度”(DP)浮点数运算,FP单元的性能测量标准是每秒执行多少次浮点乘法和加法运算(Flop/s,浮点数运算次数/秒)。由于更复杂运算(除法、平方根、三角函数等)与乘法及加法共享计算资源,并且执行效率很低,对于实际性能衡量没有意义(见第2章),因此高性能软件应该尽量避免调用这样的操作。在本书写作时,标准商用微处理器通常在每个时钟周期最多完成两个或四个双精度浮点计算。在时钟频率为2~3 GHz时,峰值为每核4~12GFlop/s。
  如上所述,向运算单元提供操作数是一项复杂的工作。从程序员的角度看,最重要的数据通路是从高速缓存到主存。性能指标用数据带宽即GB/s来衡量。GFlop/s和GB/s通常是衡量微处理器性能的主要指标。因此,如图1-3所示,从一个关注性能的程序员角度看,一个基于高速缓存的微处理器是以数据为中心的,计算或某种算法通常由数据项的操作决定。然而,算法的具体实现受到硬件数据通路的性能限制,特别是主存。
  图1-3左图是一个基于高速缓存的微处理器的存储层次结构简图(在所有的体系结构中不能直接从寄存器到内存进行数据传输),通常有一个单独的L1 高速缓存存储指令。右图中的“DRAM gap”展示了主存与高速缓存之间带宽的巨大差异。这个模型必须映射为具体应用的访存模式
  通常用低级别的基准测试衡量处理器或者系统的性能特征,即只测量系统中某些特征的程序,比如峰值性能或存储带宽等。一个突出的例子是由Sch?nauer提出的三维向量算法[S5]。它包括一个嵌套循环,循环内执行一个三维向量的复合乘法,并将结果保存在第四个向量中(见代码清单1-1中的10~15行)。该基准测试的目的是衡量处理器的内存和运算单元之间的数据传输性能。在内循环中,3个load流B、C和D以及一个store流A是活跃的,根据N的不同,该循环的时间可能非常短而难以衡量。外部循环再重复R次,以使执行时间变得足够长而能被精确测量。实际中,人们往往会根据N而选择R,从而使得总体的执行时间保持不变。
  代码清单1-1三维向量算法基准测试的简单代码,包括性能评估
770)this.width=770;' />
系列图书推荐 ¥99.00¥71.28
同类热销商品¥30.00¥21.60
订单处理配送
北京奥维博世图书发行有限公司 china-pub,All Rights Reserved机构自由度的计算例子
机构自由度的计算是机构的结构分析的重要内容。任何一个机构设计好以后,需要做的第一件事情就是计算机构的自由度。
&& 机构自由度的计算公式是
公式本身简单,只需要数出活动构件的数目n,低副的数目pl,高副的数目ph,则自由度就很容易计算了。
使用该公式有一个前提,就是要先判断出一些特殊情况:复合铰链,局部自由度和虚约束,在把这些情况都弄清楚后,再用上述公式计算,才可以得到正确的结果。
下面举一个例子,说明机构自由度的计算方法。计算图示机构的自由度,并判断该机构是否具有确定运动。如有复合铰链、局部自由度、虚约束,请直接在题图中标出。
拿到该机构以后,第一步就是找到凸轮M,发现推杆DB尖端有一个滚子,此滚子就是局部自由度。局部自由度几乎永远出现在滚子推杆的凸轮机构中。对于该局部自由度,处理方法是把该滚子B与BD杆焊接在一起,成为一个整体。
接着考察虚约束。虚约束中最常见的就是某一个构件和机架之间有导路重合或者平行的移动副。这里FH构件就在F,G,H三个地方有三个移动副与机架相联,而这三个移动副导路重合。此时只有一个起作用,其它的就是虚约束。对于虚约束,只保留其中一个,其它的全部拿掉。
最后考虑复合铰链。复合铰链出现在转动副的地方,如果在转动副处有2个以上的构件相联,则该铰链就是复合铰链。从上图可以看出,J点有三个构件IJ,KJ,JL相连,所以J是复合铰链。对于复合铰链,在计算转动副的数目时,在此处留心即可,注意这里的转动副数目等于相连的构件数目减1.
综上所述,把局部自由度,虚约束,复合铰链表示出来的结果见下图
这样,把滚子B和BD焊接在一起,从而去掉局部自由度;而去掉G,H这两个虚约束;J点有两个转动副。
&& 下面进入公式的计算。
活动构件:齿轮A,齿轮M,连杆IJ,连杆KJ,连杆JL,滑块L,连杆BD(焊接了滚子B),连杆DE,连杆FH。共计9个。
&& 低副:A, M, I, K, J(2),L(2),
C, D, E, F.
共计12个.{注意,这里L处一个转动副,1个移动副,不能算成复合铰链,所谓铰链是指转动副,复合意味着着多个转动副}
高副:齿轮A和齿轮B之间1个,B和凸轮之间1个,共计2个。
&& 由于该机构有一个原动件,原动件的数目 =
自由度的数目,所以该机构有确定的运动。
&& 下面再看一个例子。
同样,先判断局部自由度。它总是出现自凸轮机构处,如果从动件有滚子,那么滚子就是局部自由度。所以这里B处是局部自由度。
&& 接着判断虚约束。同样先看导路重合的移动副。这里H, I
处时杆件HJ与机架之间的两个移动副,其中一个是虚约束。
除此以外,关注在凸轮边上的一个式子,这个式子给出了与铰链K连接的几条线段的几何关系。机构运动简图本来只应该有图形的,如果出现了一些异常的等式,一定要高度警惕,这几乎就意味着一种特殊虚约束的出现。从这个等式可以发现,即便没有LK,滑块M的运动不会改变。所以,连杆LK以及转动副L和K都是虚约束,要拿掉。
最后关注复合铰链。它总是出现在杆件云集的转动副处。从图中可以看出,铰链E点连接3根杆件,所以它是复合铰链。
综上所述,标识局部自由度,复合铰链,虚约束后的机构运动简图如下。
这样,把滚子B和BD焊接在一起,从而处理了局部自由度;去掉移动副H,去掉LK及铰链L和铰链K,从而消除虚约束;至于E点,注意计算的时候是2个转动副。
&& 下面开始使用公式计算自由度。
&& 活动构件:凸轮A,连杆BD(焊接了滚子B),连杆EC,
连杆EF,连杆EG,连杆HJ,连杆JM,滑块M。共计8个。
低副:A,C,D,E(2),F,G,I,J,M(2).共计算11个。
&& 高副:滚子B与凸轮A之间1个。
&& 再看最后一个例子。
显然,B处---局部自由度;G,H中有一个是虚约束,而D处是复合铰链。标志如下图。
把滚子B和BC杆焊接在一起,则此处BD和BC是一个铰链连接,有一个转动副;去掉H处的移动副以消除虚约束;D点有2个转动副。
&& 活动构件:凸轮A&
连杆CB& 连杆BD&&
连杆DE& 连杆 DF&
连杆GH& 。共计6个。
&& 低副: A&
C& B& D(2)&
&& 高副: 凸轮A和滚子B之间1个。
&& 另外,一般机构自由度计算的结果都会是1,有时候是2.
而出现3以上的数字情况不多见。如果计算的结果是自由度为2以上的数字,一般要仔细检查,看是否有遗漏或者误判。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 机构自由度计算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信