资源描述
山东建筑大学毕业设计外文文献及译文FEM Optimization for Robot StructureWang Shijun, Zhao Jinjuan*Department of Mechanical Engineering, Xian University of TechnologyShaanxi Province, Peoples Republic of ChinaInstitute of Printing and Packing Engineering, Xian University of TechnologyAbstractIn optimal design for robot structures, design models need to he modified and computed repeatedly. Because modifying usually can not automatically be run, it consumes a lot of time. This paper gives a method that uses APDL language of ANSYS 5.5 software to generate an optimal control program, which mike optimal procedure run automatically and optimal efficiency be improved. 1) IntroductionIndustrial robot is a kind of machine, which is controlled by computers. Because efficiency and maneuverability are higher than traditional machines, industrial robot is used extensively in industry. For the sake of efficiency and maneuverability, reducing mass and increasing stiffness is more important than traditional machines, in structure design of industrial robot.A lot of methods are used in optimization design of structure. Finite element method is a much effective method. In general, modeling and modifying are manual, which is feasible when model is simple. When model is complicated, optimization time is longer. In the longer optimization time, calculation time is usually very little, a majority of time is used for modeling and modifying. It is key of improving efficiency of structure optimization how to reduce modeling and modifying time.APDL language is an interactive development tool, which is based on ANSYS and is offered to program users. APDL language has typical function of some large computer languages. For example, parameter definition similar to constant and variable definition, branch and loop control, and macro call similar to function and subroutine call, etc. Besides these, it possesses powerful capability of mathematical calculation. The capability of mathematical calculation includes arithmetic calculation, comparison, rounding, and trigonometric function, exponential function and hyperbola function of standard FORTRAN language, etc. By means of APDL language, the data can be read and then calculated, which is in database of ANSYS program, and running process of ANSYS program can be controlled. Fig. 1 shows the main framework of a parallel robot with three bars. When the length of three bars are changed, conjunct end of three bars can follow a given track, where robot hand is installed. Core of top beam is triangle, owing to three bars used in the design, which is showed in Fig.2. Use of three bars makes top beam nonsymmetrical along the plane that is defined by two columns. According to a qualitative analysis from Fig.1, Stiffness values along z-axis are different at three joint locations on the top beam and stiffness at the location between bar 1 and top beam is lowest, which is confirmed by computing results of finite element, too. According to design goal, stiffness difference at three joint locations must he within a given tolerance. In consistent of stiffness will have influence on the motion accuracy of the manipulator under high load, so it is necessary to find the accurate location of top beam along x-axis.To the questions presented above, the general solution is to change the location of the top beam many times, compare the results and eventually find a proper position, The model will be modified according to the last calculating result each time. It is difficult to avoid mistakes if the iterative process is controlled manually and the iterative time is too long. The outer wall and inner rib shapes of the top beam will be changed after the model is modified. To find the appropriate location of top beam, the model needs to be modified repetitiously.Fig. 1 Solution of Original Design This paper gives an optimization solution to the position optimization question of the top beam by APDL language of ANSYS program. After the analysis model first founded, the optimization control program can be formed by means of modeling instruction in the log file. The later iterative optimization process can be finished by the optimization control program and do not need manual control. The time spent in modifying the model can be decreased to the ignorable extent. The efficiency of the optimization process is greatly improved. 2)Construction of model for analysisThe structure shown in Fig. 1 consists of three parts: two columns, one beam and three driving bars. The columns and beam are joined by the bolts on the first horizontal rib located on top of the columns as shown in Fig.1. Because the driving bars are substituted by equivalent forces on the joint positions, their structure is ignored in the model. The core of the top beam is three joints and a hole with special purpose, which can not be changed. The other parts of the beam may be changed if needed. For the convenience of modeling, the core of the beam is formed into one component. In the process of optimization, only the core position of beam along x axis is changed, that is to say, shape of beam core is not changed. It should be noticed that, in the rest of beam, only shape is changed but the topology is not changed and which can automatically be performed by the control program. Fig.1, six bolts join the beam and two columns. The joint surface can not bear the pull stress in the non-bolt joint positions, in which it is better to set contact elements. When the model includes contact elements, nonlinear iterative calculation will be needed in the process of solution and the computing time will quickly increase. The trial computing result not including contact element shows that the outside of beam bears pulling stress and the inner of beam bears the press stress. Considering the primary analysis object is the joint position stiffness between the top beam and the three driving bars, contact elements may not used, hut constructs the geometry model of joint surface as Fig.2 showing. The upper surface and the undersurface share one key point in bolt-joint positions and the upper surface and the under surface separately possess own key points in no bolt positions. When meshed, one node will be created at shared key point, where columns and beam are joined, and two nodes will be created at non shared key point, where column and beam are separated. On right surface of left column and left surface of right column, according to trial computing result, the structure bears press stress. Therefore, the columns and beam will share all key points, not but at bolts. This can not only omit contact element but also show the characteristic of bolt joining. The joining between the bottoms of the columns and the base are treated as full constraint. Because the main aim of analysis is the stiffness of the top beam, it can be assumed that the joint positions hear the same as load between beam and the three driving bars. The structure is the thin wall cast and simulated by shell element . The thickness of the outside wall of the structure and the rib are not equal, so two groups of real constant should he set. For the convenience of modeling, the two columns are also set into another component. The components can create an assembly. In this way, the joint positions between the beam core and columns could he easily selected, in the modifying the model and modifying process can automatically be performed. Analysis model is showed Fig.1. Because model and load are symmetric, computing model is only half. So the total of elements is decreased to 8927 and the total of nodes is decreased to 4341. All elements are triangle.3.)Optimization solutionThe optimization process is essentially a computing and modifying process. The original design is used as initial condition of the iterative process. The ending condition of the process is that stiffness differences of the joint locations between three driving bars and top beam are less than given tolerance or iterative times exceed expected value. Considering the speciality of the question, it is foreseen that the location is existent where stiffness values are equal. If iterative is not convergent, the cause cannot be otherwise than inappropriate displacement increment or deficient iterative times. In order to make the iterative process convergent quickly and efficiently, this paper uses the bisection searching method changing step length to modify the top beam displacement. This method is a little complex but the requirement on the initial condition is relatively mild.The flow chart of optimization as follows:1. Read the beam model data in initial position from backup file;2. Modify the position of beam;3. Solve;4. Read the deform of nodes where beam and three bars are joined;5. Check whether the convergent conditions are satisfied, if not, then continue to modify the beam displacement and return to 3, otherwise, exit the iteration procedure.6. Save the results and then exit.The programs primary control codes and their function commentaries are given in it, of which the detailed modeling instructions are omitted. For the convenience of comparing with the control flow, the necessary notes are added.the flag of the batch file in ANSYSBATCH RESUME, robbak.db, 0read original data from the backup file robbak,.db/PREP7 enter preprocessor delete the joint part between beam core and columns move the core of the beam by one :step lengthapply load and constraint on the geometry meshing the joint position between beam core and columnsFINISH exit the preprocessorISOLU enter solverSOLVE solveFINISH exit the solverPOST1 enter the postprocessor*GET ,front,NODE,2013,U,Z read the deformation of first joint node on beam *GET,back,NODE, 1441 ,U,Z read the deformation of second joint node on beam into parameter hacklastdif-1 the absolute of initial difference between front and hack last timeflag=- 1 the feasibility flag of the optimization step=0.05 the initial displacement from initial position to the current position*D0,1,1,10,1 the iteration procedure begin, the cycle variable is I and its value range is 1-10 and step length is 1dif=abs(front-back) the absolute of the difference between front and hack in the current result*IF,dif,LE,l .OE-6,THEN check whether the absolute difference dif satisfies the request or noflag=l yes, set flag equal to 1*EXIT exit the iterative calculation*ELSEIF,dif,GE,lastdif,THEN check whether the dif value becomes great or not flag=2 yes, set flag 2 modify step length by bisection method perform the next iterative calculation, use the last position as the current position and modified last step length as the current step length ELSE if the absolute of difference value is not less than expected value and become small gradually, continue to move top beam read the initial condition from back up file enter the preprocessorMEN, ,P51X, , , step, , ,1 move the core of the beam by one step length modify the joint positions between beam core and column apply load and constraint meshingFINISH exit preprocessorISOLU enter solverSOLVE solveFINISH exit the solver/POST1 exit the postprocessor*GET,front,NODE,201 3,U,Z read the deformation of first joint node to parameter front*GET,back,NODE, 144 1 ,U,Z read the deformation of second joint node to parameter back lastdif-dif update the value of last dif*ENDIF the end of the if-else*ENDDO the end of the DO cycleMost of the control program above is copied from log file, which is long. The total of lines is up to about 1000 lines. Many codes such as modeling and post-process codes are used repeatedly. To make the program construct clear, these instructions can he made into macros, which are called by main program. This can efficiently reduce the length of the main program. In addition, modeling instructions from log file includes lots of special instructions that are only used under graphic mode but useless under hatch mode. Deleting and modifying these instructions when under batch mode in ANSYS can reduce the length of the file, too.In the program above, the deformation at given position is read from node deformation. In meshing, in order to avoid generating had elements, triangle mesh is used. In optimization, the shape of joint position between columns and beam continually is changed. This makes total of elements different after meshing each time and then element numbering different, too. Data read from database according to node numbering might not he data to want. Therefore, beam core first needs to he meshed, then saved. When read next time, its numbering is the same as last time. Evaluating whether the final result is a feasible result or not needs to check the flag value. If only the flag value is I, the result is feasible, otherwise the most proper position is not found. The total displacement of top beam is saved in parameter step. If the result is feasible, the step value is the distance from initial position to the most proper position. The sum of iterative is saved in parameter 1. According to the final value of I, feasibility of analysis result and correctness of initial condition can he evaluated.4) Optimization resultsThe sum of iterative in optimization is seven, and it takes about 2 hour and 37 minutes to find optimal position. Fig.3 shows the deformation contour of the half-construct. In Fig.3, the deformations in three joints between beam and the three driving bars is the same as level, and the corresponding deformation range is between -0.133E-04 and -0.1 15E-O4m, the requirement of the same stiffness is reached. At this time, the position of beam core along x-axis as shown in Fig. 1 has moved -0.71E-01m compared with the original designed positionBecause the speed of computer reading instruction is much faster than modifying model manually, the time modifying model can be ignored. The time necessary foroptimization mostly depends on the time of solution. Compared with the optimization procedure manually modifying model, the efficiency is improved and mistake operating in modeling is avoided.5) ConclusionThe analyzing result reveals that the optimization method given in this paper is effective and reaches the expected goal. The first advantage of this method is that manual mistakes do not easily occur in optimization procedure. Secondly, it is pretty universal and the control codes given in this paper may he transplanted to use in similar structure optimization design without large modification. The disadvantage is that the topology structure of the optimization object can not be changed. The more the workload of modifying the model, the more the advantages of this method are shown. In addition, the topology optimization function provided in ANSYS is used to solve the optimization problem that needs to change the topology structure.The better optimization results can he achieved if the method in this paper combined with it.中文译文:机器人机构优化设计有限元分析王世军 赵金娟西安大学机电工程系中国 陕西西安大学出版社摘要机器人结构最优化设计,设计模型需要反复的修正和计算。应为修改后的模型通常不能自动运行,需要大量的时间进行调试。本论文给出一种采用有限元分析软件ANSYS 5.5参数化设计语言生成一种最优化控制的方法,这种方法能给出最优自动运行过程和提高效率。1)简介工业机器人是一种用电脑控制的机械机构。因为效率和可操作性比传统机械要高,因此工业机器人广泛的用于工业生产中。相对传统机械来说,在工业机器人的结构设计中,为了达到高效率和可操作性的目的,减少重量和增加刚度显得更加重要。在结构设计中有很多的方法,一般而言,有限元法是最有效的方法之一。当所需模型比较简单时,建模和修改采用手工操作是可行的。当模型复杂时,优化时间是比较长的。在相当长的优化时间内,计算时间是非常少的,大多数时间是用来建模和修改模型的。如何减少结构优化过程中的建模和修改模型所用时间是提高效率的关键所在。ANSYS参数化设计语言是一种基于有限元分析的交互式开发工具,通常被程序设计人员使用。ANSYS参数化设计语言具有一个典型功能及它包含多数大型计算机语言,例如,定义参数像定义常量和变量,条件转移和循环控制,以及宏调用像调用函数和子程序等。除此之外,它具有强大的数学计算控制能力。这种数学计算能力包括算法,计算,对比,凑整和三角函数功能,指数函数功能和标准福传语言的双曲线功能等。依靠ANSYS参数化设计语言,数据能够在ANSYS数据库中被阅读和计算,并且在ANSYS程序运行过程中受到控制。图1表示三连杆平行机器人的主要框架。沿Z轴的刚性值在顶部梁的三个连接处是不一样的。在连杆1和顶部梁连接处得刚性是最小的,这也是通过有限元分析计算结果来确定的。根据设计目的,在三个连接点的不同的刚性必须要有给定的公差。当机械手在进行高强度工作时,一致的刚性会对它的运行精度产生影响,因此在沿X轴设置一个精确的位置是非常有必要的。 根据上面提出的问题,一般的解决方法经常是改变顶部梁连接点的位置,对比结果,然后找到一个合适的位置,模型每次都要根据最后的计算结果进行修改。如果采用人工的控制这个重复的过程且重复时间过长,这样就难免出现错误。当模型被修改时,顶部梁外壁和内部肋板的形状也随之发生改变。模型需要重复的去修改才能找出恰当的位置。 图1 初始设计方案 本论文通过ANSYS程序的参数化设计语言给出一个寻找最优位置问题的最佳解决方法。经过对事先建立的模型进行分析,通过建模系统指令在新的文件里形成一个最佳的控制程序,通过这个最佳的控制程序可以完成以后的重复最优化过程,而且不需要手工控制。在修改模型上消耗的时间可以减少到被忽略的程度。最优化步骤的效率得到很大提高。2)建筑模型分析图1所示结构包括了三个部分:两个支柱,一个顶部梁和三个操作连杆。支柱和横梁通过位于支柱上面的水平肋板连接在一起,如图1所示。因为操作连杆被连接位置的等效构件代替,所以在模型中它们的结构被忽略了。顶部横梁的核心是三个连接处和一个特殊作用的孔,这些都是固定不变的。其他部件可以根据需求进行修改。为了建模的方便,横梁的核心被制成一个零件。在进行最优化的过程中,只有沿着X轴的横梁中心位置是变化的,也就是说,横梁核心的形状是不变的.应该注意的是,横梁的其余部分只有形状变化而拓扑是固定的,可以通过控制程序自动执行.图2 顶部横梁核心图1.六个螺栓连接横梁和支柱。在没有螺栓连接的位置,其结合面不能承受拉应力,最好在该位置设置接触件。当模型中包括接触件,非线性元件时,在解决方案过程中重复计算是必要的,并且计算时间会快速增加。不包括接触件的实验计算结果显示横梁外部承受拉伸应力,横梁内部承受压应力。考虑到主要的分析对象是顶部横梁和三个连杆连接位置的刚性,接触件可能不使用,房屋建设的几何模型的结合面如图2所示。在螺栓连接中,上表面和下表面共享一个关键位置;在没有螺栓连接时,上表面和下表面各自分别拥有一个关键位置。配合的时候,在共享的关键点会产生一个节点,当支柱和横梁连接,在支柱和横梁分开处,没有共享的关键点会产生两个节点。在左侧支柱的右表面和右侧支柱的左表面,根据实验计算结果,结构承受压应力。因此支柱和横梁将分享所有的节点不仅是螺栓。这不仅是忽略连接件而且展示了螺栓连接的特征。在支柱底部和底架之间连接是完整约束。因为主要的分析目的是顶部横梁的刚性,可以假设顶部横梁和三个连杆的连接位置承受同样的载荷。结构是薄壁件和壳件模型。机构外壁厚度和肋板厚度是不相同的。因此两组实常数是要设定的。为了建模的方便,两个支柱可是设置成其它组件。这个组件可以设成一个集合。这样横梁核心和支柱连接位置可以很容易的分辨出来。在修改过程中,建模和修改可以自动执行。分析模型如图1所示。因为模型和负载是对称的,模型计算可以节省一半时间。因此基础组件可以减少到8927,而且总的节点可以减少到4341.所有的组件都是三角形的。3)最优化解决方案最优化过程是计算和修改过程的本质。初始设计被用来做重复计算过程的初始条件。计算过程的结束条件是三个连杆和顶部横梁连接位置的刚性偏差小于给定公差或者重复计算时间超出期望值。考虑到问题的特性,可以猜想,刚性值相同的位置是存在的。如果迭代不是收敛的,原因不可能是不相称偏转增大或者是计算时间不足。为了使迭代过程快速高效收敛,本论文采用等分搜索的方法改变步长去修改顶梁束位移。这种方法有点复杂但是在初始条件上的要求不苛刻。以下是最优化生产的流程图:1 在备份文件中确定横梁初始位置的模型基准2 修改横梁位置3解决4 确定横梁和三个连杆连接处的节点变形5 检查收敛条件是否合适,如果不合适,那么继续去修改束位移并且返回到步骤3,否则退出迭代程序。6 保存数据然后退出程序的主要控制代码和功能评注要保存一起,详细的建模指令被忽略。为了比较的方便,要添加必要的注释。BATCH RESUME, robbak.db, 0 从备份文件中读取原始资料/PREP7 预处理程序 删除横梁核心和支柱连接部分 以一个步长移动横梁核心 应用载荷和约束 横梁核心和支柱啮合FINISH 退出预处理程序ISOLU 进入计算器SOLVE 解答FINISH 退出解答 POST1 进入后处理程序*GET ,front,NODE,2013,U,Z 读取横梁第一个节点的变形*GET,back,NODE, 1441 ,U,Z 读取横梁第二个节点的变形 lastdif-1 前后时间差计算flag=- 1 最优化可行性标志step=0.05 计算 从初始位置到当前位置的位移*D0,1,1,10,1 迭代过程开始,循环变量I,变化范围从1到10,步长为1dif=abs(front-back) 前后结果的绝对值*IF,dif,LE,l .OE-6,THEN 检查绝对值是否满足要求flag=l 如果满足要求,设置标志位1*EXIT 退出迭代过程*ELSEIF,dif,GE,lastdif,THEN 检查离差值是否变大或者flag=2 如果是,设置标志位2,用差分法修改步长,执行下一个迭代计算,用最后位置作为当前位置,修改步长为当前步长ELSE 如果绝对值离差值不少于期望值,逐步的变小,继续移动横梁核心去确定初始位置从备份文件中进入预处理程序MEN, ,P51X, , , step, , ,1 以一个步长来移动横梁核心,修改支柱和横梁连接位置提供载荷和约束FINISH 退出预处理程序ISOLU 进入计算器SOLVE 解答FINISH 退出求解器/POST1 退出后处理程序*GET,front,NODE,201 3,U,Z 确定前后节点的变形*GET,back,NODE, 144 1 ,U,Z 确定第二个节点的变形lastdif-dif 校正最终离差值*ENDIF 结束if else*ENDDO 结束Do循环上面的较长控制程序大多数的是从记录文件中复制下来的,总的程序指令能达到1000多条,许多代码像建模和处理代码都是重复使用,为了使程序结构清晰,这些指令通常被制成称作主程序宏指令,这样可以有
展开阅读全文