首页 > 文章中心 > 科学计算器

科学计算器

科学计算器

科学计算器范文第1篇

1、按住win键和R键,输入”calc”,调用电脑自身的计算器软件;

2、进入到计算器自带计算器软件,按住alt键和1,alt键和2,alt键和3软件分别进入到标准模式,科学计算模式,程序计算模式;

3、在科学模式下,例如计算8的开立方,可以分别按8,按下图中开立方的键,按左括号键,再按“1”,按“除法符号”,按“3”,按右括号,回车就能得到结果2,这是开立方的计算。

(来源:文章屋网 )

科学计算器范文第2篇

基于自主研发的新颖异构多核工程科学计算加速协处理器(ESCA)体系结构,实现了图像Laplace变换算法。针对ESCA架构特点,采用子字并行计算和访存延迟隐藏等机制,进行了一系列并行算法优化,并在四核ESCA处理器原型上对图像Laplace变换算法的进行了性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。

关键词:异构多核;协处理器;计算密集型;Laplace变换;并行计算

中图分类号: TN492

文献标志码:A

Implementation of Laplace transform on heterogeneous multi-core

engineering and scientific computation accelerator coprocessor

Abstract:

Engineering and Scientific Computation Accelerator (ESCA) is a heterogeneous multi-core architecture to accelerate computation-intensive parallel computing in scientific and engineering applications. This paper described an implementation of Laplace transform on the hybrid system based on ESCA coprocessor, and the performance of Laplace transform on the quad-core prototype ESCA was exploited. The experimental results show that the ESCA can accelerate program of compute-intensive applications fairly well.

Key words:

heterogeneous multicore; coprocessor; compute-intensive; Laplace transform; parallel computing

0 引言

高性能计算(High Performance Computing, HPC)广泛应用于金融、制药、交通、银行、证券、医疗、教育以及科学计算及信息化服务等领域[1],已成为衡量一个国家核心竞争力的关键指标。近年来受应用需求和系统实现技术的驱动,高性能计算机的核心评价指标已经从高性能计算转向高效能计算[2],即每瓦特能耗下所能实现的性能(Performance-per-Watt,Flops/W)。“主处理器+协处理器”的混合计算体系结构[3-4]以其独特的效能优势[5],已经成为高性能计算机系统体系结构研究的主要趋势之一。同时,片上多核处理器作为摩尔定律的一种新的延续形式,已经成为处理器性能持续增长的必然途径[6]。对此,文献[7-8]面向科学计算、数字信号处理和多媒体处理等科学与工程计算应用领域,提出了一种自主研发的异构多核处理器——工程科学计算加速协处理器(Engineering and Scientific Computation Accelerator,ESCA)体系结构。

ESCA处理器是一个具有强大计算性能的协处理器,采用经典存储器接口方式,与商用主流的通用微处理器(如Intel CPU、IBM Power PC等)或嵌入式微处理器(如ARM、 SPARC等)有效协同,实现基于混合计算体系结构的高性能计算机系统。其中,主处理器上运行操作系统,主要负责执行系统任务和控制任务(如响应中断、操作外设等),并根据应用特点将并行计算任务分配到协处理器计算节点上;ESCA处理器负责对具体的计算任务进行加速。这种“主处理器加协处理器”的混合异构多核架构可以提供强大的计算能力,广泛应用于计算密集型的科学与工程计算应用领域[9]。

图像信息处理是一种典型的计算密集型应用,而Laplace变换在图像处理中的应用非常广泛。本文深入分析了ESCA体系结构的特点,基于ESCA架构实现了图像Laplace变换算法,并进行了一系列并行算法优化。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。

1 ESCA体系结构

ESCA处理器主要包括计算阵列、控制内核、指令高速缓存、总线接口单元以及直接存储访问引擎几大部分,体系架构如图1 所示。其中,计算阵列集成多个计算内核(Processing Element,PE),以单指令多数据流(Single Instruction Multiple Data, SIMD)模式并行执行以提供高计算能力;控制内核负责ESCA处理器与外部的通信,同时取指令发送给PE计算阵列进行运算操作,控制程序的正确执行并收集程序执行过程中的各种状态(异常、中断等)。指令高速缓存用于存储近期可能用到的ESCA计算任务程序,为控制内核提供快速的取指响应。总线接口单元则主要用于进行片内外数据通信,匹配外部Local Bus接口时序和Local Memory接口时序,控制数据通路,根据不同的位宽比例进行数据拆包和打包工作,并且产生相应的控制信号。

控制内核是ESCA处理器的控制中枢,它包含多个控制状态寄存器。这些控制状态寄存器参与全局编址,可供Host访问和查询。而ESCA处理器芯片根据这些控制状态寄存器的设置执行相关操作,如指令高速缓存的预取、计算任务的开始执行、调试模式、DMA传输配置等。此外,控制内核读取指令并进行初步译码,识别该指令是在控制内核处理器核中执行的(如同步指令、Load/Store指令、跳转指令、控制内核级别的简单计算和比较指令等)还是要传递给计算阵列进行的(如用于运算加速的计算指令、网络传输指令等)。计算阵列则是进行并行计算,它支持向量模式及子字并行,同时在计算阵列实现了条件执行和条件中断,以及间接寻址等功能。PE之间的互联网络采用层次化方式构建,具有很高的可扩展性和灵活性。

2 图像Laplace变换算法在ESCA上的实现

2.1 图像Laplace变换基本原理

拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数,定义为:

另外,拉普拉斯算子还可以表示成模板的形式,如图2所示。从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮。因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。

2.2 Laplace变换算法在ESCA上的实现

2.2.1 任务划分

由于ESCA系统是以“主处理器加协处理器” [10]的混合计算模型执行的,主处理器(商用CPU)在处理数据相关性不大的计算类和复杂繁琐的非计算类具有优势,而协处理器(ESCA处理器芯片)则适合用来处理计算性强但逻辑性不强的大量平行数据。所以需要进行合理的任务划分,使二者协同工作,共同完成计算任务,能充分利用各自的架构优势,发挥出强大的计算能力。

ESCA系统中主处理器(Host)与协处理器(ESCA芯片)之间按照offload mode协同完成具体应用:Host端先对原始数据进行预处理,然后创建初始化ESCA处理器芯片线程空间,将相关指令和数据从系统主存下载到ESCA芯片的片外存储器中,之后再启动ESCA芯片执行;ESCA芯片接收到启动控制信号后,由控制核控制内核从初始地址开始取指运行,配置计算阵列对待处理数据的DMA加载过程。当一次批量运算所需的数据都从片外存储器通过DMA方式载入到计算阵列的局部存储器之后,所有PE在SIMD模式下执行并行计算。当计算阵列完成该次计算任务后,由控制内核配置计算阵列的结果数据到片外存储器的DMA下载过程。当ESCA芯片的所有计算任务完成后,控制内核将操作完成的控制信号写入特定状态寄存器,Host查询到该状态,将ESC外存储器的结果数据读回,通过相应处理得到最终结果。ESCA系统执行图像Laplace算法的具体程序流程如图3所示。

2.2.2 分块存储

从式(3)可知,在对图片进行Laplace变换时,每计算一个像素点都会用到原始像素矩阵的3×3的小矩阵,而BMP格式图片的像素点在存储器中是按行存储的,所以在计算时,需要多次访问局部存储器。因此需要将图片像素进行分块存储,使每一块的数据大小为ESCA计算阵列所能处理的大小,就能减少ESCA计算阵列对局部存储器的访问次数,提高访问效率。

ESCA的一个处理单元有16×16个寄存器,在子字并行(Subword)技术[11]下,一个寄存器可以存放4个像素值,除去用作临时变量的16个寄存器,ESCA处理单元一次能批量处理64×15个像素点,在ESCA计算阵列规模为2×2的情况下,ESCA计算阵列一次能批量处理64×60个像素点。因此可以在Host端先对二维BMP图片进行分块,每块大小为64×60个像素点,以块为单位部署到ESCA的局部存储器中。计算时,每次传递一块数据到计算阵列,经计算阵列计算后,结果数据再以块为单位放回到ESCA局部存储器中。最后,由Host端将ESCA局部存储器中的结果数据矩阵还原成Bmp图片。

考虑到边界元素的影响,原始数据块之间会有部分数据重叠,每个数据块包含的实际像素点为56×52个,这也即结果数据块的大小。所以对于尺寸为W×H的Bmp图片,分块后个数为N,则:

2.2.3 分块计算

在对图像数据完成分块处理后,由ESCA计算阵列对分块数据批量完成Laplace变换。计算阵列是ESCA的计算核心,由多个处理单元组成,构成了一种片上轻量级集群结构,通过片上互联网络进行有效互连,在控制内核的控制下以SIMD方式实现高效并行计算。为了方便管理和控制,处理单元以方阵形式组织,根据应用需求,可以从2×2的规模,方便的扩展到4×4,甚至16×16的规模。

在本文中,计算阵列由2×2共4个处理单元组成。将分块数据的64×60个像素点的块数据按列分成4个64×15个像素的小块,再分配到计算阵列的4个处理单元中去。由于相邻处理单元数据不存在数据相关性,所以4个处理单元可以完全的高速并行进行计算。除去边界元素,每个处理单元一次批量计算出来的像素点为56×13个,计算阵列一次批量计算出来的总的像素点为56×52个。

2.3 性能优化

2.3.1 子字并行机制

为了对性能进行进一步优化,除了在计算阵列的多个处理单元能实现SIMD并行外,还可以在处理单元内通过子字并行(Subword)机制实现SIMD并行。所谓子字并行,是将多个短数据(即子字)打包并封装到一个寄存器中,利用数据并行操作对一个寄存器中的所有子字进行并行处理,是一种低功耗、小规模的SIMD并行。

对于图像Laplace变换这项具体应用,ESCA处理单元的寄存器是64位,而8位BMP图片的1个像素点为8位,考虑到计算的中间结果可能超过8位,故用16位来存储,ESCA的1个寄存器可以存储4个像素点。利用子字并行机制,1条指令能同时对1个寄存器内的4个像素点的数据进行并行处理。

在Host端图片像素是顺序存储的,如图4所示,相邻的点并不在相邻寄存器的对应位置。

为了减轻Host端数据处理的负担,尽量保持数据的原始性,由ESCA的计算阵列通过多媒体数据重排指令来完成这一过程。对于进入ESCA计算阵列的原始数据,通过数据重排由图4到图5;对于ESCA计算阵列计算出来的结果数据,则通过数据重排由图5到图4。

2.3.2 访存延迟隐藏

为了解决存储带宽对ESCA系统性能提升的制约,还可以通过减少访存开销来提高系统性能[12]。通过计算阵列局部存储器实现的双缓冲(dual-buffer)机制,在计算阵列的一块Local Storage进行计算的同时,往另一块Local Storage里灌数据,两块存储器交替进行计算,可以最大限度地隐藏访存延迟,提高效能,具体实现方式如图6所示。

在这个过程中,由于片内外数据传输以流水方式通过DMA控制器进行,在进行大批量数据传输之前,需要先通过

DMA 通道命令进行传输参数配置,并触发DMA控制器通过正确的DMA队列向总线接口发起链路请求,进而向片外存储器控制器发起连续的读写请求。数据传输延迟时间(以时钟周期为单位)的估算公式为:

DMA数据传输时间=DMA命令配置开销+

DMA控制器队列响应及仲裁开销+

DMA传输过程主要包括计算阵列对片上存储器原始数据的读取和将计算阵列结果数据写入片上存储器。通过前面的讨论可知,原始数据的一次批量读取为64×60个像素点,结果数据的一次批量写入为56×52个像素点,其中1个像素点占16位,代入式(5)可以计算得到如表2所示结果。

3 性能评测

本文采用UMC 0.18μm 1P6M CMOS工艺实现了1个片上集成4个计算内核的ESCA处理器原型芯片,其指令宽度128b,目标工作频率250MHz,单精度浮点性能4 GFlops,片上网络带宽8GB/s,存储器采用256-bit的eDRAM。选择的主处理器测试平台为Inter Core2 Duo CPU 9400,工作主频为2.53GHz,1.99GB内存。测试中,分别基于“Intel处理器+四核ESCA芯片”以及独立的Intel CPU处理器2个平台对不同尺寸的8位256色BMP图片执行Laplace变换。其中,前者Intel处理器只执行简单的任务分配,计算加速任务完全由ESCA芯片执行。由于ESCA芯片通过计算阵列片上存储器实现的dual-buffer机制实现了访存延迟隐藏,实际程序运行时间计算公式为:

相比2.5GHz的Intel CPU,工作频率为250MHz 的ESCA芯片通过采用4个计算内核同时执行子字并行计算,并且有效隐藏数据访存传输延迟,可以获得1.10~1.16倍的性能加速比。由于ESCA芯片工作频率远低于Intel CPU,因此体现了ESCA处理器良好的计算加速效果。评测中也发现,图片尺寸ESCA系统加速性能有直接影响。由于ESCA芯片计算阵列一次批量处理的像素点为56×52个,假设图片尺寸为M×N,那么M和N分别为56和52的整数倍时,ESCA的计算整列每次批量运算都为满载运算,计算效率最高。当增加ESCA芯片个数或者计算阵列规模时,计算时间会相应减少,但访存时间会成为制约系统性能提升的瓶颈。

4 结语

ESCA处理器是一款自主研发的新颖异构多核处理器工程科学计算加速协处理器,片上集成多个计算内核工作在SIMD模式,具有高的计算性能,内核之间通过高效的片上网络进行通信,具有高的网络通信带宽,可以针对计算密集型应用进行有效计算加速。本文基于该“主处理器+ESCA协处理器”系统实现了图像Laplace变化算法,进行了一系列并行算法优化,并在四核ESCA处理器原型芯片上进行性能评测。实验结果表明,对于计算密集型计算任务,ESCA处理器具有良好的计算加速效果。如何解决访存时间对系统性能提升的制约问题,将是我们后续研究的重点。

参考文献:

[1] BELL G, GRAY J. Whats next in high-performance computing?[J].Communications of the ACM,2002, 45(2): 91-95.

[2] HOFSTEE H P. Power efficient processor architecture and the cell processor[C]// Proceedings of the 11th International Symposium on High-Performance Computer Architecture. Washington, DC: IEEE Computer Society, 2005:258-262.

[3] BARKER K J, DAVIS K, HOISIE A, et al. Entering the petaflop era: the architecture and performance of Roadrunner [C]// Proceedings of the 2008 ACM/IEEE Conference on Supercomputing. Piscataway: IEEE, 2008:23-33.

[4] KOCH K. Roadrunner and hybrid computing[EB/OL].[2013-02-20].http://lanl.gov/orgs/hpc/salishan2007/koch.pdf

[5] FENG W C.Top500 official website[EB/OL]. [2013-02-20].http:///

[6] KUMAR R, TULLSEN D M. Heterogeneous chip multiprocessors[J]. IEEE Computer Science, 2005, 38(11): 32-38.

[7] WU D, DAI K, ZOU X, et al. A high efficient on-chip interconnection network in SIMD CMPs[C]// Proceedings of the 10th International Conference on Algorithms and Architecture for Parallel Processing. Heidelberg: Springer-Verlag, 2010: 149-162.

[8] WU D, ZOU X, DAI K, et al. Implementation and evaluation of parallel FFT on ESCA architecture[J]. Journal of Zhejiang University: Science C (Computer and Electronics), 2011, 12(12): 976-989.

[9] CHEN P, DAI K, WU D, et al. The parallel algorithm implementation of matrix multiplication based on ESCA[C]// Proceedings of the IEEE Asia Pacific Conference on Circuits and Systems. Piscataway: IEEE, 2010: 1091-1094.

[10] ANDRE R B, CHRISTOPHER D, TROND R H, et al. State-of-the-art in heterogeneous computing[J]. Scientific Programming, 2010, 18(1): 1-33.

科学计算器范文第3篇

小知识:“低调”害死自己

在Windows的各个版本中,一直都带有计算器这个简易工具,因为比较简单,因而人们不指望它能干什么复杂的事情。于是在人们的心目中,它就是那么个简单的玩意儿,甚至直到用上Windows 7、Windows 8的时候,许多人仍然如此认为。从它的界面(如图1所示),一看你就对它没多大指望。就是这样一幅简单的面孔,计算器害得许多人一看就不想多用它,害得它不能声名远扬。但实际上,升级之后的计算器远非老版本可比,其实用功能可谓体贴之至。

生活计算好“帮手”

在日常生活中,我们经常要进行一些单位换算。以往遇到这些问题,我们总是先查手册搞清单位之间的换算关系,然后套公式或用计算器来计算。有了Windows 8计算器,这件事情就简单多了。Windows 8自带的计算器能够很方便地帮我们进行包括功率、角度、面积、能量、时间、时长、速率、体积、温度、压力、质量等多方面的单位转换(图2)。

时间计算看似是一个很简单的问题,但是,由于涉及到大月、小月、闰年等,如果要计算从某个日期到另一个日期的天数,或者计算从某个时点过去若干天之后是哪个日期,没有一点历法知识是算不准的。用Windows 8的计算器可以轻松解决问题。

购房抵押贷款计算、物品租赁计算、汽车油耗和里程计算等,这些生活中常见的问题也曾难倒了不少用户。有了Windows 8计算器,这些计算也是小菜一碟了。我们可以通过“查看工作表”命令,选择自己要计算的类型,到达所需界面,输入基本参数来完成抵押、租赁、油耗等计算任务。

科学家的“小助手”

科学家、工程师、研究人员进行计算,除了用大型计算机外,用计算器也是家常便饭。但他们用的计算器一般都是带有函数功能的科学型计算器。Windows 8计算器也可以满足他们的要求(图9)。

通过“查看科学型”命令(或按Alt+2)即可将计算器变身为一台带有函数功能的科学计算器,满足工程师们的计算要求。

程序“猿”的小贴心

程序员要进行的一项日常工作,就是对数值进行各种进制间的转换。如果有一个现成的计算器来帮忙,就省了他们套公式计算了(图10)。

通过“查看程序员”(或Alt+3)命令即可将计算器变身为一台进制计算器,满足程序员们的数值转换和计算要求。

统计局的座上“客”

计算各种均值、各种方差,是财务分析和各类统计人员的日常工作。不用Excel能行吗?当然可以,Windows 8的计算器还可变身统计型计算器,成为统计专业人员的最爱(图11)。

科学计算器范文第4篇

1946年全球首台计算机埃尼阿克(ENIAC)在美国诞生。埃尼阿克由四位科学家和四位工程师共同开发。埃尼阿克使用了18000个电子管和1500个继电器,其体重多达30吨,占地面积达170平方米,体积达到90立方米,可以想象其是多么的巨大,两间教室才能存放,是一个地地道道的庞然大物。

2计算机

计算机系统由软件和硬件两部分组成,其中硬件包含外部设备、存储器、中央处理器等;软件包含相应的文档和运行程序。计算机可以做许多人难以完成的事情,例如数学上的四色难题、天气预报、数字排列等等。在没有出现计算机以前,这些都需要人工操作,技术的难度和许多的运算是难以想象的。人和计算机的区别在于人开发了计算机。人能有记忆能力和计算能力,计算机有存储器、运算器、控制器;人有听和看的能力,计算机有输入设备;人有写和读的能力,计算机有输入设备。计算机有许多人有的能力,有许多人没有的能力,人也有许多计算机没有的能力。通过以上三类比较,我们通常称计算机为电脑[1]

3计算机系统

3.1计算机硬件

计算机的硬件是光电和机械原件的总称。计算机由外部连接设备和机箱组成,机箱包含电源、连接线、各种扩展卡、光驱、驱动器、主板、内存和CPU。计算机由五个部件组成:输出设备、输入设备、存储器、控制器和运算器。运算器是由寄存器、状态寄存器、累加器、算数逻辑单元组成,基本功能为乘、除、加、减运算和或、与、非逻辑操作,中央处理器分为运算器和控制器;数据和程序存放在存储器里,是计算机的记忆设备;输入设备包含语音输入、游戏杆、手写输入版、光笔、扫描仪、摄像头、鼠标、键盘等,是计算机和用户进行交流的重要设备;数据输出显示、控制设备、声音、打印等成为输出设备,声音、图像、字符、数字通过信息或数据的形式传输到计算机上;计算机的核心且必备的部件是由中央处理器控制器和运算器组成的。

3.2计算机软件

软件实现硬件和用户之间的交流。社会中无论做什么都有其该有的程序,例如开会,开会要有其正常的流程,就算做一个计算题也要有流程。解决不同的问题其程序是不同的,计算机的程序也是一样的。计算机软件是计算机系统中文档和程序,程序是在计算机内部工作的,文档是阐述资料给人看的。计算机软件分为应用软件和系统软件,应用软件包含管理软件、游戏软件、工具软件等,如我们的QQ、office、浏览器等。系统软件包含Unix、Windows等,驱动硬件运动的程序[2]。

4计算机发展的现状

从全球首台计算机埃尼阿克1946年于美国诞生至今,计算机的发展经过了六十多年。计算机经历了4代变革,集成电路、晶体管、电子管和大规模集成电路,每一次新的突破都给予每一代变革。

4.1计算机的特点

计算机与人比较具有运算精度高、速度快,存储的信息数据较为清晰明确的优点,能够完成一些人完成不了的事情,例如卫星轨道计算等。但是无论计算机如何的高速发展,如何的智能化也代替不了人工智能,计算机的发展只会越来越方便于人类,因为计算机是人类发明的。

4.2应用领域

计算机广泛应用在各行各业,具备逻辑判断和高速运算能力。二十世纪中期,计算机主要用于实时控制,例如石油化工、电力、机械、冶金等行业。计算机的人工智能,如智能搜索、模式识别、专家系统、机器人等先进的前沿科学技术应用于人们日常生活中常见的银行、政府机关等。

5计算机发展的趋向

计算机未来的发展方向主要有两个———巨型计算机和微型计算机,计算机未来无论往哪个方向发展都离不开先进的科学技术。

5.1超级计算机超级计算机是存储量最大、运算速度最快、功能最强的计算机,多用于国家尖端的科研方面,超级计算机对国家的社会经济发展起到至关重要的作用,是一个国家科技的证明,是一个国家综合国力和科技发展的重要标志。

5.2微型计算机微型计算机具有使用方便、价格便宜、灵活性高、体积小的特点,是未来计算机微型化发展的方向。微型计算机具备一部分人脑功能。从埃尼阿克诞生时体积庞大的90立方米到现今小巧灵活的掌上电脑,以及更先进的电脑手表等,计算机越来越小,要求的科技含量越来越高。微型计算机系统内外有三个层次:微处理器、微型计算机、微型计算机系统,但各层次不具备独立工作的能力,保有完整的处理系统才能够正常的运行。微型计算机可通过远程服务器实现网络服务,工作站可随身携带,交换机和路由器可实现无线连接。实现机体一体化,方面携带且性能要求较高,我们日常生活中见到的笔记本电脑、掌上电脑、平板电脑等都属于微型计算机的范畴。计算机经历了三次阶段的改革,都是从处理器着手,处理器性能越好,体积越小,更加实用等。随着每一次计算机的改革,计算机必然向着这方面发展,微型计算机和超级计算机。

6结语

综上所述,我们对计算机系统中的计算机硬件和计算机软件、计算机的发展现状应用领域和计算机的特点都有了深刻的了解,也明确计算机发展趋势向超级计算机和微型计算机两方面发展。通过本文阐述,计算机未来于性能、体积、实用、美观个性等方面均有较大发展空间,希望计算机未来的发展,能够为人们带来更便捷的生活。

作者:罗宇轩 单位:成都七中

参考文献:

科学计算器范文第5篇

关键词 毕业设计 机器人 本体设计 本科生

中图分类号:G642.477 文献标识码:A DOI:10.16400/ki.kjdkz.2017.04.019

Abstract Robots are the hot topic in graduation design of many undergraduates from engineering majors currently. Body is the most important part of a robot, and its design is the basis of other parts of the robot, such as control, vision and touch. In this paper, the common mistakes of graduation design of undergraduates about robot bodies are summarized and the corresponding solutions are provided. This work will help undergraduates to design robot bodies better, and to give some references to the relevant instructor to control the quality of graduation design.

Key words graduation design; robot; body design; undergraduates

0 引言

C器人作为“制造业皇冠顶端的明珠”,其研发、制造、应用是衡量一个国家科技创新和高端制造业水平的重要标志,是中国实现中国制造2025的关键。机器人已成为高校工科专业关心的热门主题,许多工科专业本科生的毕业论文主题与机器人有关。毕业设计是普通高等学校培养人才极为重要的教学环节,旨在煅炼学生综合应用所学的各种理论知识和技能进行全面、系统地解决实际问题的能力。然而,许多本科生在毕业设计中对机器人本体进行设计时,对一些重要的设计方法理解不到位,进行了错误的设计。

1 机器人本体运动学计算分析中的常见错误分析

机器人的运动学分析包含位置正反解、速度正反解和加速度正反解。运动分析是机器人力学分析、工作空间分析和控制系统设计的基础。因此,只要本科生的毕业设计中涉及机器人本体设计,必然包含运动学分析。运动学分析的核心是建立位置正反解、速度正反解、加速度正反解的数学模型。许多本科生在进行机器人的运动学计算分析时常出现如下错误。

1.1 位置分析中运用解析法和数值法的错误分析

位置求解的本质是求解一组有约束方程构成的非线性方程组。解析法是指从约束方程求解出描述机器人的驱动输入角(线)位移与末端执行器输出位姿之间关系的一个严格的函数表达式。这种函数表达式的重要特征是给出任意的自变量就可以求出其因变量。数值法是指在给定驱动输入位移(或末端执行器输出位姿)条件下对约束方程采用某些数学算法,如数值逼近法、插值法等获得一个近似于真实末端执行器输出位姿(或驱动输入位移)的解。一般而言,位置分析更希望得到解析解,因为有了解析解,后续的运动性能分析、力学性能分析和工作空间分析更加方便,但很多时候只能得到位置分析的数值解。

对于机器人位置分析,本科生在毕业设计中常见的错误如下:

(1)误判解析解和数值解。根据机器人中的几何限定关系列出约束方程后,仅仅从方程的形式上很难判断出它们是否能被解析法求解。由于有的解析求解过程较为复杂,许多本科生在求解过程遇到困难时就断定没有解析解,但实际上解析解却存在。

(2)把解析法误认为数值法。有的学生在毕业设计中求解机器人本体的位置正解和反解时,有时把平台参数和杆长参数指定为具体数值,能够方便得到求解结果,却称这是数值解。

(3)乱用数学算法方法求得数值解。对于解析解分析过程太过复杂或用现有的数学手段无法得到解析解时,数值解是必然选择。但数值算法有很多,许多本科生在毕业设计中不知该选择那种算法才有效,大多是凭感觉选择。

对于上述错误,本科生在进行相关的毕业设计时应该掌握的一个一般规律:串联机器人位置反解和并联机器人的位置正解一般很难得到解析解,大多数只能通过数学算法得到数值解。其次,应该注意解析法和数值法的内涵区别,只有用了数值逼近、迭加或搜索等算法才能称为数值法。目前较为有效的数值算法是牛顿-拉夫逊方法,其要点是把非线性方程求解过程变成反复地对相应的线性方程进行求解的过程。

1.2 用求导法建立速度和加速度模型的错误分析

如果求出的位置解表达式不复杂,对其直接求导能得到速度模型,对其求二次导就可以得到加速度模型。但当位置解表达式很复杂导致它的导数不能求出时,只能采用别的方法进行速度和加速度模型。

本科生在毕业设计中一般都采用求导法来分析机器人的速度和加速度。如确实能求导的他们就列出求导后的结果。如本来不能求导的他们就只列出表示求导的式子,只是形式上完成了速度和加速度分析,这种做法实质上是错误的。

对于不能用求导法进行速度和加速度分析的机器人,基于螺旋理论的影响系数法是一个很好的方法。该方法不需要求导,能极简单显示表达出机器人本体的正反速度和加速度模型。

2 仿真分析中的错误分析

为了证明已建立的机器人的运动学数学模型是否正确,往往需要用计算机软件建立机器人的仿真模型进行分析验证。常用来建立机器人仿真模型的软件有Solidworks、UG、Matlab、Adams、Ansys等。只有当仿真结果与计算结果一致时,数学模型才能被认为是正确的。进一步才能将数学模型用于控制算法中,或用来分析机器人的性能。只有在正确的数学模型上所开展的研究才是有意义的。

但是关于仿真分析,一些本科生在进行毕业设计中出现了如下错误:

(1)将Matlab计算结果误认为是仿真结果。由于运动学分析中涉及的约束方程一般需要借助Matlab 软件编程求解。在程序中给定输入值可以得到输出值,进一步根据这些值可以绘制出曲线。一些本科生在毕业设计中误认为这些值和曲线就是Matlab仿真得到的。

(2)缺少计算值与仿真值的对比。一些本科生在毕业设计中虽然完成了仿真分析并列出了仿真结果,却没有和计算分析的结果进行对比。

(3)误认为毫米级误差就可以算正确。一些本科生在毕业设计中虽然进行了仿真结果和计算结果的对比,但有的出现了毫米级的误差,就认为这样的误差是可以忽略的,认为建立的数学模型是正确的。

τ谏鲜龃砦螅本科生在进行相关的毕业设计中应该正确认识用Matlab软件进行计算和仿真的区别:编写程序求解约束方程是计算而非仿真,Matlab软件中用于机器人本体仿真的模块是SimMechanics。仅仅列出仿真结果和计算结果,而不进行对比分析,那么仿真是没有意义的。由于计算机软件的计算和仿真默认的数值精度是10~8毫米,考虑到截断误差和累积误差,计算结果和仿真结果的误差一般是微米级。出现毫米级误差说明计算结果和仿结果是不一致的,需要重新检查数学模型和仿真模型,直到误差很小。

3 基于雅克比矩阵进行性能评价的错误分析

早期,关于机器人的研究主要集中在串联机器人。雅克比矩阵的条件数被用来评价串联机器人的灵活性和可操作性。近几十年,并联机器人取得了蓬勃发展。许多本科生在毕业设计中进行并联机器人的本体设计时,也用雅克比矩阵的条件数来评价其性能。然而, 2006年法国著名机器人专家Merlet 教授论证了不能用条件数来评价含有转动和移动输出的并联机器人。究其原因是有混合输出的并联机构的雅可比矩阵量纲不一致,将导致条件数没有明确的物理意义。

2006年后,许多并联机器人的专家开始了新的性能评价指标研究,主要集中在基于螺旋理论的力传递指标与运动传递指标。近些年机器人领域的国际和国内权威期刊上的论文基本没有用条件数来评价有转动和移动输出的并联机器人。因此,对于毕业设计中涉及有转动和移动输出的并联机器人,用雅克比矩阵的条件数来评价其性能是错误的,建议从力传递性能和运动传递性能指标来进行评价。

4 结论

机器人已成为高校工科专业师生研究的热门主题,许多大学生毕业论文大多涉及机器人本体设计。本文对本科生毕业设计中涉及机器人本体运动学计算分析,仿真分析和性能评价中的常见错误进行了分析,并提供了解决办法。本文的工作有助于本科生正确地进行机器人本体设计,提高毕业设计的质量。

参考文献

[1] 张付祥,李文忠.现代设计方法在机械学科本科毕业设计中的应用[J].中国现代教学装备,2011(11).

[2] 薛彩霞.本科毕业设计(论文)存在问题及质量控制措施[J].高教论坛,2011(11).

[3] 熊有伦,丁汉,刘恩沧.机器人学[M].北京:机械工业出版社,1993.

[4] 黄真,赵铁石,赵永生.高等空间机构学[M].北京:高等教学出版社,2006.